roboforum.ru

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

Uno + RTC DS1302 + прерывания

Uno + RTC DS1302 + прерывания

NAO3133 » 10 янв 2017, 17:53

Задача - выполнять действие каждые n часов, экономя энергию в простое.
Считать время взялся при помощи RTC DS1302. Для экономия энергии решил использовать прерывание от WD каждые 8 сек (макс.)., не заходя в RESET при помощи утсановки бита WDIE.
Проблема - после такого прерывания часам сносит крышу, и они начинают выводить неадекват.
Вот я думаю, может быть есть RTC, которые можно настроить на вывод в пин по таймеру, а сам пин кинуть на внешнее прерывание ардуины?
В идеале - в начале работы считывать пользовательскую настройку режима девайса (скажем, 4 часа), засыпать на 4 часа, по истечении просыпаться по прерыванию, исполнять своё предназначение, установит новое время в таймер (+4 часа), засыпать. Если есть, то какие?
Или же, возможно есть более изящное решение?
Спасибо.

Re: Uno + RTC DS1302 + прерывания

Madf » 10 янв 2017, 19:46

1. если у вас при выходе из спячки модулю/чипу часов становится дурно, то вас это не спасёт от более редкого выхода из сна, явно на лицо: неправильное питание/помехи или инициализация/обвязка чипа (часов).
2. есть например DS1386, этих DS-ок как грязи, на разные случаи...

Re: Uno + RTC DS1302 + прерывания

Romikgy » 10 янв 2017, 19:55

имхо .... DS1305 , DS3231 ... любые у кого есть alarm
DS1305 - макс 1 секундный вывод...
PS можно попробовать настроить наверное таймер или вотчдог(хотя период у него маловат для часов) на просыпание из экономного режима


Rambler\'s Top100 Mail.ru counter