Конденсаторы, Arduino и сохранение данных
Короче говоря, я запрограммировал и подключил спидометр/одометр, и все работает хорошо. Однако мне нужно сохранять данные с компонентов/датчиков после нажатия кнопки питания, что привело меня к конденсаторам, которые, похоже, являются решением моей проблемы. Чтение информации о конденсаторах в Интернете завело меня в тупик, и мне нужна помощь, чтобы понять, правильно ли я думаю.
Я приложил явно очень грубую схему, и мне нужно, чтобы кто-то подтвердил, что я правильно ее понял. Если это важно, вся система работала на 5 В, питаясь от 9-вольтовой батареи. Является ли конденсатор на 5 В правильным выбором, учитывая, что большинство компонентов не будут активны в момент отключения питания?
СТАРОЕ ИЗОБРАЖЕНИЕ: https://i.sstatic.net/aXhRi.jpg НОВОЕ ИЗОБРАЖЕНИЕ: https://imgur.com/a/aHRpzE4
Только что попытался загрузить приложение, но по какой-то причине этого не произошло, так что придется использовать ссылку (отредактированную), извините.
@user4163554, 👍0
1 ответ
Лучший ответ:
Простое подключение случайного конденсатора к источнику питания не сработает. Все гораздо сложнее.
Да, конденсатор используется для хранения заряда, но вам нужно правильно управлять этим зарядом, иначе у вас не будет возможности что-либо с ним сделать.
Вам необходимо:
- Убедитесь, что напряжение разряда остается достаточно высоким, чтобы обеспечить работу микросхемы достаточно долго для сохранения данных (Примечание: запись в EEPROM приводит к увеличению тока)
- Изолируйте конденсатор от остальной части схемы, чтобы он питал только основную микросхему
- Следите за входящей мощностью, чтобы знать, когда следует экономить.
Блок-схема вашей установки может выглядеть примерно так:
На этой схеме R1 и R2 образуют делитель напряжения, чтобы вы могли контролировать напряжение батареи. C1 — это большой конденсатор. Мы говорим о суперконденсаторе. Номинальное напряжение — 9 В минимум. Регулятор на Arduino игнорируется. Вы не хотите его использовать. Два внешних регулятора теперь используются для питания вашего проекта — один напрямую от батареи для питания макетной платы и других внешних компонентов (которые потеряют питание сразу после отключения питания батареи), а другой — для питания основного микроконтроллера и ничего больше. Второй регулятор изолирован от остальной части схемы с помощью D1, и заряд конденсатора затем может проходить только через этот регулятор для питания основного микроконтроллера.
Этот регулятор для микроконтроллера должен быть импульсным регулятором (DC-DC, "понижающим" регулятором). Если вы используете линейный ("LDO") регулятор, вы будете тратить энергию впустую, и ваш конденсатор должен быть в два или три раза больше, чем в противном случае. Еще лучше было бы иметь "понижающе-повышающий" регулятор, который будет повышать напряжение до 5 В, когда входное напряжение падает ниже 5 В, тем самым давая вам еще больше жизни от конденсатора.
Альтернативой всему этому является использование микросхемы 47C16 (5 В) или 47L16 (3,3 В) для хранения данных. Это микросхема "EERAM" - EEPROM с буфером RAM и автоматическим сохранением в EEPROM при отключении питания. Она работает через I2C и требует конденсатора, подключенного к ней напрямую, чтобы обеспечить резервное питание, пока она сохраняет данные в EEPROM.
- Как рассчитать требуемую силу тока нескольких двигателей?
- Узнать статус, подключен ли коммутатор к arduino или нет?
- Пульсирование 3в в конденсаторе для создания произвольных напряжений
- Библиотека DHT.h не импортируется
- Определение того, была ли нажата и отпущена кнопка
- Как вывести истинное аналоговое напряжение на выходной контакт
- Хорошая кнопка debouncing/Библиотека StateChange
- Напряжение меняется, но цифровой поток всегда HIGH