|
Контроль разряда батареи, В AVR, при использовании спящего режима |
|
|
|
Mar 4 2010, 16:45
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183

|
Имеется устройство на AVR, выполняющее определенные функции, инициируемые внешними прерываниями, после чего следует переход в спящий режим Power Down, для экономии энергопотребления от аккумулятора. Хотелось бы возложить на МК также, контроль разряда батареи, не применяя внешний компаратор. Т. к. период перехода в активный режим весьма случаен - от десятков секунд, до нескольких часов и более, то попутный контроль - при рабочем режиме - отпадает, т. к. в период долгой пассивности, не будет ни контроля, ни информации о текущем состоянии батареи. Первое, что приходит в голову, использовать сброс по сторожевому таймеру, измеряя затем напряжение батареи и выдавая импульс на индикатор, в случае разряда. Затем снова в спящий режим. Прошу опытных проектировщиков подсказать альтернативные варианты.
|
|
|
|
|
Mar 4 2010, 18:04
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Цитата(ValBag @ Mar 4 2010, 19:45)  Первое, что приходит в голову, использовать сброс по сторожевому таймеру, измеряя затем напряжение батареи и выдавая импульс на индикатор, в случае разряда. Если нет других путей по доставке информации до "заинтересованных лиц", и минимизации аппаратных затрат, то как говорится "при всем богатстве выбора альтернативы нет", или почти нет (поскольку к расмотрению предложен только МК и АБ).
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
Mar 5 2010, 06:39
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 29-01-09
Пользователь №: 44 106

|
Однажды решил такую проблему с помощью супервизора MCP111, подключенного к одному из PCINT'ов ATTiny2313. Все про все - один корпус SOT23-3 и 100нА потребления.
|
|
|
|
|
Mar 5 2010, 09:51
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183

|
Цитата(yarunt @ Mar 5 2010, 02:27)  Можно по таймеру в асинхронном режиме работающем на часовом кварце 32768. Пробуждение можно настроить на каждые 8 секунд.2-х солевых батареек хватало на 8 месяцев . Да, спасибо, я тоже попозже рассмотрел этот вариант. Только тогда придется обойтись, для основного режима, встроенным калиброванным генератором, т. к. в подходящих мне МК, выводы "XTAL" и "TOSC" - совмещенные. Добавка по току от таймера 2, наверное будет небольшая в таком режиме ? В принципе, возможен еще один вариант: Если "отловить", при очередном активном режиме, разряд батареи, то в основной программе, только с этого момента запускать сторожевой таймер, который периодически выводит из спящего режима, с выдачей затем импульса на индикацию о состоянии батареи. Цитата(stells @ Mar 5 2010, 13:51)  а встроенный компаратор не работает случайно в режиме Power Down? он же вроде как является асинхронным модулем? В спящем режиме он, к сожалению, не работает (насколько мне известно).
Сообщение отредактировал ValBag - Mar 5 2010, 09:52
|
|
|
|
|
Mar 5 2010, 10:03
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(ValBag @ Mar 5 2010, 12:51)  В спящем режиме он, к сожалению, не работает (насколько мне известно). проверить бы это... в спящем режиме отключаются все модули, работающие в синхронном режиме, т.е. те, которые тактируются. но компаратору такт не нужен, поэтому не исключено, что он может сгенерить прерывание, если только само прерывание не формируется каким-нибудь D-триггером вроде бы не видно на схеме ни клоков, ни триггеров:
|
|
|
|
|
Mar 5 2010, 10:08
|

Частый гость
 
Группа: Свой
Сообщений: 162
Регистрация: 12-01-09
Из: Харьков
Пользователь №: 43 270

|
Код проверить бы это... в спящем режиме отключаются все модули, работающие в синхронном режиме, т.е. те, которые тактируются. но компаратору такт не нужен, поэтому не исключено, что он может сгенерить прерывание, если только само прерывание не формируется каким-нибудь D-триггером С режима Power Down возможен выход только по NT0, INT1 and р in Change USI Start Condition иWDT по крайнер мере для ATtiny2313
|
|
|
|
|
Mar 5 2010, 10:15
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183

|
Цитата(stells @ Mar 5 2010, 16:57)  проверить бы это... в спящем режиме отключаются все модули, работающие в синхронном режиме, т.е. те, которые тактируются. но компаратору такт не нужен, поэтому не исключено, что он может сгенерить прерывание, если только само прерывание не формируется каким-нибудь D-триггером Проверить можно, но вот что написано в датшите: Перед входом в режим холостого хода аналоговый компаратор необходимо выключить, если он не используется. Перед входом в режим уменьшения шумов АЦП аналоговый компаратор должен быть отключен. При входе в другие режимы сна аналоговый компаратор отключается автоматически. Однако, если к неинвертирующему входу аналогового компаратора выбрано подключение встроенного источника опорного напряжения, то перед входом в любой режим сна аналоговый компаратор необходимо отключать. В противном случае встроенный источник опорного напряжения останется включенным независимо от режима снаА как он себя дальше поведет - неизвестно. Раз отключаются порты, тем более входные шунтируются на землю, то наверное работа компаратора в этом режиме не состоится. Но вообще, ...можно проверить.
|
|
|
|
|
Mar 5 2010, 11:06
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183

|
Цитата(stells @ Mar 5 2010, 17:23)  порты не отключаются, иначе подсистема обработки внешних прерываний не будет работать Не отключаются только внешние: Сигнал SLEEP игнорируется по входам внешних прерываний. Если запросы на внешнее прерывание отключены, то SLEEP действует и на эти выводы.Остальные шунтируются сигналом SLEEP: в режимах (Power-down), экономичный режим, дежурный режим и расширенный дежурный режим.
|
|
|
|
|
Mar 5 2010, 11:45
|
Местный
  
Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410

|
Цитата(stells @ Mar 5 2010, 17:37)  так это тоже самое, что и сторожевой таймер ну не совсем, WD кушает ~8uA ибо внтренняя частота у него ~1МГц, а тут можно значительно меньше сделать наверное, надо посчитать. Цитата кстати, а если на INT0 завести сигнал с делителя напряжения АКБ? если надо нанотоки, то делитель надо делать строго подключаемым на время измерения.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|