SLEEP. WakeUP и Reset
- Войдите на сайт для отправки комментариев
Чт, 05/01/2017 - 21:20
С Новым Годом, уважаемый ALL! Прошу помощи!
Есть простой проект : Радио -реле на atmega328p. Управляться должно от кнопки или радио сигналом (заведены на INT0 и INT1 соответственно) которые будят его из SLEEP_MODE_PWR_DOWN. Так же из этого режима он просыпается от WDT через каждые 60 сек если не было внешнего прерывания и посылает свои данные радио сигналом. Необходимо сделать то же самое, но освободить WDT для использования защиты от зависания. Можно как то организовать другой режим энергосохранения до 1-2 мА но использовать другие внутренние прерывания от других счетчиков? Режим сохранения энергии нужен для маломощного источника питания.
Внешний вочдог на экономичной версии 555 таймера не вариант?
Нет, кроме атмеги нет ничего! Плата уже сделана. Да и у самого контроллера есть целых 3 таймера, 2 из которых можно задействовать, я только не знаю как. Нет опыта. Но статьи встречались.
Если хотите покопать в сторону таймеров, то посмотрите внимательно на второй. В отличие от 1-го и 0-го, второй умеет работать в режимах «Power-Save» и «Extended Standby».
А вообще, по экономии энергии есть очень хорошая статья - http://gammon.com.au/power Там много всяких трюков с замерами что сколько жрёт.
1.А по подробнее "....В отличие от 1-го и 0-го, второй умеет работать в режимах «Power-Save» и «Extended Standby»."
2. Статья хорошая и известная. Но не про это. Как ввести в эти режимы понятно, а как разбудить таймером кроме WDT не понятно.
To, во-первых ваша фраза "просыпается от WDT через каждые 60 сек" крайне некорректа, т.к. wdt в меге328 не может считать дольше 8 сек. Значит всё таки просыпается, и уходит в очередной цикл сна. Во вторых почему вы решили что wdt не может работать в двух назначениях -как таймер от зависания и как таймер для выхода из сна? Элементарная манипуляция настройками до и после выхода из режимов сна.
Dimax, конечно же просыпается в цикле. Имелось ввиду, что WDT уже задействован на пробуждение. 60 сек относилось к " если не было внешнего прерывания посылает свои данные радио сигналом". Предложение составлено не верно. Насчет его перепрограмирования Вашу мысль не понял - если во время сна данные в мозгах "поедут", то никакого "перепрограмирования" не получится. Именно от этого и хочу застраховаться ресетом. Эсли это не так, то пожалуйста скажите как?
Все, вопрос снимается! Нашел как это делается.
Если застраховаться, то надо делать как на спутниках