Прерывание при отключении питания Arduino

Знает ли кто-нибудь способ вызвать прерывание, когда Arduino теряет питание, чтобы он очень быстро выполнил небольшую функцию?

Это будет быстрая запись одной переменной в EEPROM.

Я знаю, что можно использовать прерывания на определенных контактах, когда на них подается низкий уровень, но я не уверен, возможно ли это на контакте питания.

Или если бы в контроллере все еще было достаточно мощности для завершения этой функции.

У меня есть плата Node MCU, но она запрограммирована на Arduino C++.

, 👍0


1 ответ


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

3

Не напрямую, нет. Когда Arduino или ESP8266 теряет питание, оно теряется. Вам нужна внешняя схема, чтобы продолжать подавать питание после того, как вход питания был отключен, и оповещать целевой чип об отключении питания.

схема

C1 хочет быть массивным. ESP8266, из-за интерфейса WiFi в нем, потребляет много энергии. Кроме того, запись в EEPROM или Flash (которая у ESP8266 вместо EEPROM) требует дополнительной энергии.

В идеале C1 должен быть небольшим Super-Cap, чтобы сохранить небольшой физический размер. Для ESP8266 речь, вероятно, идет о тысячах мкФ.

Альтернативой является использование микросхемы EERAM 47L16 (или аналогичной), которая предназначена для сохранения содержимого своей внутренней памяти SRAM во внутреннюю память EEPROM при отключении питания с использованием собственного выделенного конденсаторного резервуара питания.

,