roboforum.ru

Технический форум по робототехнике.

Самовыключение микроконтроллера

Самовыключение микроконтроллера

NEOSoftWare » 04 сен 2011, 03:52

Подскажи пожалуйста как правильно сделать, чтобы мк смог обрубить себе питание. побывал в разрез +5 ставить транзистор, если базу транзистора подключить к +5 то мк не работает, если подтянуть к земле, то мк выключается, вроде все как надо, подключаю базу к ножке транзистора и транзистор работает всегда, хотя ножку поочередно дергаю то 1 то 0. побывал между базой и ножкой поставить диод, мк не работает самостоятельно (только тогда, когда кратковремен подтягиваю базу к земле, для открытия транзистора, но сразу же закрывается, не смотря на то что мк на ножке дает логический 0). как можно еще реализовать?

Re: Самовыключение микроконтроллера

avr123.nm.ru » 04 сен 2011, 09:09

P-полевик в питании.

Re: Самовыключение микроконтроллера

HarryStar » 04 сен 2011, 10:52

А слипа не достаточно? Энергопотреблением во сне можно пренебречь.

Re: Самовыключение микроконтроллера

NEOSoftWare » 04 сен 2011, 13:07

HarryStar писал(а):А слипа не достаточно? Энергопотреблением во сне можно пренебречь.

нет, нужно иммено выключить питание. т.к. в таком состоянии он может несколько недель находиться.

avr123.nm.ru писал(а):P-полевик в питании.

Image1.png
Image1.png (8.43 КиБ) Просмотров: 2283

Замыкаю S1 все работает, отпускаю, мк выключается.
Код: Выделить всёРазвернуть
DDRD=0xff;
PORTD.4=1;

пин всегда подтянут к VCC;

Re: Самовыключение микроконтроллера

Michael_K » 04 сен 2011, 13:36

нарисована какая-то ерунда.
А написанное эту ерунду жестко усугубляет.

Re: Самовыключение микроконтроллера

Radist » 04 сен 2011, 13:43

Полевик подключен неправильно. Исток надо на плюс, сток к МК, затвор подтянуть к плюсу. Кнопка включения параллельно сток-исток. Нажали кнопку - МК выдал в затвор ноль, кнопку можно отпускать, МК будет работать. Надоело МК работать - делает на затворе третье состояние - резистор подтяжки сам закроет полевик. Может быть кондер по питанию еще понадобится.

Re: Самовыключение микроконтроллера

avr123.nm.ru » 04 сен 2011, 13:44

S1 надо на землю и код

DDRD.4=1;
PORTD.4=0;

Re: Самовыключение микроконтроллера

Michael_K » 04 сен 2011, 13:48

Radist, +1
Только я бы кнопку тоже в затвор ставил.

Re: Самовыключение микроконтроллера

NEOSoftWare » 04 сен 2011, 14:42

Radist писал(а):Полевик подключен неправильно. Исток надо на плюс, сток к МК, затвор подтянуть к плюсу. Кнопка включения параллельно сток-исток. Нажали кнопку - МК выдал в затвор ноль, кнопку можно отпускать, МК будет работать. Надоело МК работать - делает на затворе третье состояние - резистор подтяжки сам закроет полевик. Может быть кондер по питанию еще понадобится.

Image3.png

Код: Выделить всёРазвернуть
i=0;
DDRB.0 =1;
PORTB.0=0;

DDRD = 0xff;
PORTD.7 =1;
PORTD.4 = 1;

while (1)
      {
        PORTB.0 = ~PORTB.0;
        delay_ms(500);
       
        i++;
       
        if (i == 5){
            DDRD.4 =0;
            PORTD.4 =0;   
        }
      }

замыкаю ключ, светодиод повешенный на PB0 начинает мигать, отпускаю ключ, не мигает. пробовал в место PORTD.4 = 1; ставить PORTD.4 = 0; тоже самое

Re: Самовыключение микроконтроллера

avr123.nm.ru » 04 сен 2011, 15:09

Затвор на землю замкните - если будет работать значит МК не дает "0" на затвор.

Конденсатор примерно на 100-200 ИМХО лучше. И код включения в начало проги поставьте.

Re: Самовыключение микроконтроллера

Michael_K » 04 сен 2011, 15:11

Подтяните затвор ко входу питания.
Разберитесь в логике работы.

Re: Самовыключение микроконтроллера

blindman » 04 сен 2011, 15:51

Michael_K писал(а):Подтяните затвор ко входу питания.

Можно получить паразитное питание

Re: Самовыключение микроконтроллера

NEOSoftWare » 04 сен 2011, 16:16

avr123.nm.ru писал(а):Затвор на землю замкните - если будет работать значит МК не дает "0" на затвор.

Конденсатор примерно на 100-200 ИМХО лучше. И код включения в начало проги поставьте.

Что то я с выводами полевого транзистора напутал,поправил, но теперь если замкнуть затвор на землю мк работает, замкнуть на +5 не работает, но это только так пока на PD4 установлен в 0 (DDRD.4 в 1), как только PD4 устанавливает в 1 (т.е. по коду это через 2.5 сек) сам мк не выключается и затвором его не выключить (замыкаю на +5).
Код: Выделить всёРазвернуть
DDRD = 0xff;
PORTD.4 = 0;

........

while (1)
      {
        PORTB.0 = ~PORTB.0;
        delay_ms(500);
       
        i++;
       
        if (i == 5){
            PORTD.4 =1;   
        }
      }

Re: Самовыключение микроконтроллера

HarryStar » 04 сен 2011, 16:19

NEOSoftWare писал(а):нет, нужно иммено выключить питание. т.к. в таком состоянии он может несколько недель находиться.

Выдержка из даташита на мега32 (для примера) :
Active: 1.1 mA
Idle: 0.35 mA
Power-down Mode: <1 mkA

Сдается мне, что в последнем состоянии на ЛЮБОМ источнике питания потребляемый ток будет меньше тока саморазряда батареи/аккумулятора и задача с само-выключением очень надумана.
За год израсходуется 1 мкА * 24 * 365 = 9 мАч - если у вас не часовая батарейка размером со спичечную головку, то подобными токами можно легко пренебречь.

Если можно, скажите что за устройство и какой там источник питания.

Re: Самовыключение микроконтроллера

Michael_K » 04 сен 2011, 16:25

blindman писал(а):Можно получить паразитное питание
Да, правда.

Добавлено спустя 4 минуты 24 секунды:
HarryStar писал(а):...задача с само-выключением очень надумана...

Harrystar, вы часто видели схему, где кроме МК больше ничего бы не было?
Такая схема - действительно "очень надумана", а задача самовыключения - вполне нормальная.


Rambler\'s Top100 Mail.ru counter