Автономные часы ATmega с непрерывным сроком службы
Здесь я создал автономные часы ATmega328P без какого-либо модуля RTC, используя макет ATmega328P, ЖК-дисплей I2C и некоторые кнопки, которые я хотел бы включить как минимум на год (предполагается, что без каких-либо сбросов или прерываний питания).
Я подключаю свой ATmega к старому мобильному зарядному устройству (5 В, 500 мА) старого сломанного Android.
Однако я не использую никакой millis() или что-то подобное в коде синхронизации,
Итак, как долго будут работать мои часы, если они должны быть онлайн 24/7
Должен ли я иногда сбрасывать его? Если да, то когда и через сколько дней я должен его сбросить?
И нужна ли мне для этого система охлаждения? (Я думаю, что нет)
Спасибо за ваше драгоценное время .
1 ответ
Лучший ответ:
Итак, как долго будут работать мои часы, если они должны быть онлайн 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
- Как преобразовать мою настройку Arduino в настройку PIC?
- DIY Arduino технические трудности
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
- Печать string and integer LCD
- Запрограммировать ATMega328P и использовать его без платы Arduino.
- Как отобразить символ º на ЖК-дисплее?
- Не удается снова загрузиться после смены платы
- Отправка значения с одного Arduino на другой
Мне нравится включать сторожевой таймер внутри ATmega328, так что, если мой код когда-нибудь зависнет, mcu сбросит себя., @Gerben
@Gerben, не могли бы вы, пожалуйста, дать мне ссылку менеджера платы для загрузки внутренних часов 8 МГц в Atmega328p u, @Subha Jeet Sikdar
Вы можете использовать загрузчик, используемый для Arduino Pro mini 8 МГц 3,3 В, но измените настройки предохранителя, чтобы он использовал внутренний генератор, а не кристалл. Я надеюсь, что это помогло. В противном случае создайте новый вопрос, чтобы все могли помочь вам, а не только я., @Gerben