SLEEP. WakeUP и Reset

To
Offline
Зарегистрирован: 21.02.2015

С Новым Годом, уважаемый ALL! Прошу помощи!

Есть простой проект : Радио -реле на atmega328p. Управляться должно от кнопки или радио сигналом (заведены на INT0 и INT1 соответственно) которые будят его из  SLEEP_MODE_PWR_DOWN. Так же из этого режима он просыпается от WDT через каждые 60 сек если не было внешнего прерывания и посылает свои данные радио сигналом. Необходимо сделать то же самое, но освободить WDT для использования защиты от зависания. Можно как то организовать другой режим энергосохранения до 1-2 мА но использовать другие внутренние прерывания от других счетчиков? Режим сохранения энергии нужен для маломощного источника питания.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Внешний вочдог на экономичной версии 555 таймера не вариант?

To
Offline
Зарегистрирован: 21.02.2015

Нет, кроме атмеги нет ничего! Плата уже сделана. Да и у самого контроллера есть целых 3 таймера, 2 из которых можно задействовать, я только не знаю как. Нет опыта. Но статьи встречались.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Если хотите покопать в сторону таймеров, то посмотрите внимательно на второй. В отличие от 1-го и 0-го, второй умеет работать в режимах «Power-Save» и «Extended Standby».

А вообще, по экономии энергии есть очень хорошая статья - http://gammon.com.au/power Там много всяких трюков с замерами что сколько жрёт.

To
Offline
Зарегистрирован: 21.02.2015

 1.А по подробнее "....В отличие от 1-го и 0-го, второй умеет работать в режимах «Power-Save» и «Extended Standby»."

2. Статья хорошая и известная. Но не про это. Как ввести в эти режимы понятно, а как разбудить таймером кроме WDT не понятно.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

To, во-первых ваша фраза "просыпается от WDT через каждые 60 сек" крайне некорректа, т.к. wdt в меге328  не может считать дольше 8 сек.  Значит всё таки просыпается, и уходит в очередной цикл сна.  Во вторых почему вы решили что wdt не может работать в двух назначениях -как таймер от зависания и как таймер для выхода из сна? Элементарная манипуляция настройками до и после выхода из режимов сна.

To
Offline
Зарегистрирован: 21.02.2015

Dimax, конечно же просыпается в цикле. Имелось ввиду, что WDT уже задействован на пробуждение. 60 сек относилось к " если не было внешнего прерывания посылает свои данные радио сигналом". Предложение составлено не верно. Насчет его перепрограмирования Вашу мысль не понял - если во время сна данные в мозгах "поедут", то никакого "перепрограмирования" не получится. Именно от этого и хочу застраховаться ресетом. Эсли это не так, то пожалуйста скажите как?

To
Offline
Зарегистрирован: 21.02.2015

Все, вопрос снимается! Нашел как это делается.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Если застраховаться, то надо делать как на спутниках