Как буферизовать ATMEGA для прерывания питания на миллисекундном уровне без странного поведения?

8

У меня есть ATMEGA328p-pu Arduino со светодиодной схемой + схема сдвигового регистра, подключенной через SPI. Когда он включается, он увеличивает переменную в EEPROM для продвижения в режиме отображения.

  • У нас установлен детектор отключения питания на уровень 1 (2,7 В).
  • Конденсатор емкостью 1500 мкФ, подключенный параллельно к силовым проводам, позволяет надеяться, что Arduino не будет менять режимы при физическом воздействии, поскольку клеммы аккумулятора могут слегка отсоединяться в течение миллисекунды (?) Или около того.
  • На положительном выводе колпачка имеется диод, который предотвращает разрядку колпачка на светодиоды, поэтому он только буферизует Arduino.
  • Кроме того, через колпачок параллельно подключен резистор сопротивлением 1000 Ом, поскольку он удерживал напряжение, что, как мы полагаем, было причиной проблемы, когда микросхема не загоралась светодиодной цепью иногда при загрузке.
  • Arduino pro mini и полоса рассчитаны на 5 В, но мы обычно запускаем их на 3,7 В, чтобы они могли питаться от одного литий-ионного аккумулятора.

Иногда после сидения в течение 10 или 15 секунд цепь не загорается. Иногда после отключения аккумулятора и повторного подключения несколько раз подряд он загорается.

Кто-нибудь может порекомендовать лучший способ обеспечить буфер мощности для ATMEGA (но не для светодиодной ленты)? Правильно ли мы делаем это по большей части?

Диаграмма (извините, если она грязная, я могу сделать так, чтобы мой друг переделал ее в Illustrator, если неясно, это может занять несколько часов): Принципиальная электрическая схема

blkmage
источник
2
Можете ли вы нарисовать принципиальную схему ситуации с AVR, блоком питания, резистором, конденсатором, диодом, ...
Jippie
Является ли единственной причиной, по которой вам нужен этот «буфер», потому что клеммы аккумулятора могут слегка отсоединиться при столкновении? Если это так, вы должны просто удалить разъем и припаять провода непосредственно к плате.
Гаррет Фогерли
Чтобы повторить Джиппи, вы начали с хорошего письменного описания, добавление схемы очень поможет. Если у вас возникли проблемы с публикацией, доступна помощь.
заполнитель
2
Резистор для прокачки находится на малой стороне и потребляет значительную мощность по сравнению с обычными потребностями в режиме ожидания. Если вы можете обнаружить отключение в программном обеспечении, настройте программу, которая «рассчитывает» на выход UART, начиная с отключения, и следите за ним, когда вытягиваете источник питания, и смотрите, как долго он работает, рассчитывая обратно через скорость передачи данных. Также остерегайтесь возможности непреднамеренного питания периферийных устройств через линии передачи данных.
Крис Страттон
1
Может быть, вы можете попытаться дать Arduino какой-нибудь независимый выход (последовательный, его собственные дискретные светодиоды), чтобы вы могли сделать небольшую отладочную индикацию там, где Arduino перезагрузился, в отличие от его успеха в общении со светодиодной полосой. Я предполагаю, что светодиодная лента даже не имеет сброса, в отличие от обычной последовательности ее состояний при каждом доступе к ней?
Крис Страттон

Ответы:

3

Вы можете использовать суперконденсатор (1F / 5,5 В) после диода, подключив его напрямую к VCC и GND. Это поможет вам в буферизации силы.

Четан Бхаргава
источник