Автономные часы ATmega с непрерывным сроком службы

Здесь я создал автономные часы ATmega328P без какого-либо модуля RTC, используя макет ATmega328P, ЖК-дисплей I2C и некоторые кнопки, которые я хотел бы включить как минимум на год (предполагается, что без каких-либо сбросов или прерываний питания).

Я подключаю свой ATmega к старому мобильному зарядному устройству (5 В, 500 мА) старого сломанного Android.

Однако я не использую никакой millis() или что-то подобное в коде синхронизации,

Итак, как долго будут работать мои часы, если они должны быть онлайн 24/7

Должен ли я иногда сбрасывать его? Если да, то когда и через сколько дней я должен его сбросить?

И нужна ли мне для этого система охлаждения? (Я думаю, что нет)

Спасибо за ваше драгоценное время .

, 👍1

Обсуждение

Мне нравится включать сторожевой таймер внутри ATmega328, так что, если мой код когда-нибудь зависнет, mcu сбросит себя., @Gerben

@Gerben, не могли бы вы, пожалуйста, дать мне ссылку менеджера платы для загрузки внутренних часов 8 МГц в Atmega328p u, @Subha Jeet Sikdar

Вы можете использовать загрузчик, используемый для Arduino Pro mini 8 МГц 3,3 В, но измените настройки предохранителя, чтобы он использовал внутренний генератор, а не кристалл. Я надеюсь, что это помогло. В противном случае создайте новый вопрос, чтобы все могли помочь вам, а не только я., @Gerben


1 ответ


Лучший ответ:

3

Итак, как долго будут работать мои часы, если они должны быть онлайн 24/7

Пока вы не выключите его, или случайное нейтрино не повредит флэш-память, или флэш-память не придет в негодность (20-100 лет или около того, в зависимости от температуры).

Должен ли я иногда сбрасывать его? Если да, то когда и через сколько дней я должен его сбросить?

Нет.

И нужна ли мне для этого система охлаждения? (Я думаю, что нет)

Нет. Нет, если только он не находится в герметичном контейнере без вентиляции и в жаркой среде.

Однако

Ваши "часы" без RTC, вероятно, не будут особенно точными, если только у вас нет какого-либо внешнего источника времени (NTP, GPS и т. Д.), Поскольку внутренняя синхронизация Arduino не очень точна, а построенная на макете, она еще меньше из-за избыточной паразитной емкости.

,

Мои автономные часы ATmega работают на 1 минуту медленнее, чем оригинальные часы (пока), я использовал 5 кнопок для их фиксации вручную. Если я не буду прикасаться к нему в течение 5-7 дней, будет ли время ATmega работать медленнее или в будущем сохранится эта разница в 1 минуту от RTC?, @Subha Jeet Sikdar

ДА. Он сделает один из них. Это настолько точно, насколько я могу быть. Только время покажет., @Majenko

Что вы подразумеваете под одним из них? Пожалуйста, объясните мне это, @Subha Jeet Sikdar

Я не могу выразиться ясно. Ответа нет. Часы будут либо работать быстро (выиграть время), либо работать медленно (потерять время), либо работать одинаково (сохранить время). Невозможно узнать, что именно, пока вы на самом деле не запустите часы и не измерите время. Гораздо более вероятно, что со временем он будет дрейфовать, чем в реальном времени, но будет ли он идти быстро или медленно? Это невозможно узнать, не измерив его., @Majenko

Спасибо вам за ваш любезный ответ :), @Subha Jeet Sikdar

Интересно. Микроконтроллеры ATmega на базе флэш-памяти Atmel обычно обеспечивают срок хранения 20 лет при температуре 85 ° C (185 ° F) и 100 лет при температуре 25 ° C (77 ° F). Я этого не знал., @Gerben

Два дополнительных момента, если позволите. Во-первых, не ожидайте, что два Arduino будут работать с одинаковой скоростью, особенно если они синхронизированы резонатором, а не кристаллом. Во-вторых, избегайте любого динамического выделения памяти, поскольку, если вы не будете тщательно организованы, у вас в конечном итоге будет фрагментированная куча, и все больше не будет работать так, как вы предполагаете., @Mark Morgan Lloyd