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


8

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

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

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

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

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


2
Можете ли вы нарисовать принципиальную схему ситуации с AVR, блоком питания, резистором, конденсатором, диодом, ...
— Jippie

Является ли единственной причиной, по которой вам нужен этот «буфер», потому что клеммы аккумулятора могут слегка отсоединиться при столкновении? Если это так, вы должны просто удалить разъем и припаять провода непосредственно к плате.
— Гаррет Фогерли

Чтобы повторить Джиппи, вы начали с хорошего письменного описания, добавление схемы очень поможет. Если у вас возникли проблемы с публикацией, доступна помощь.
— заполнитель

2
Резистор для прокачки находится на малой стороне и потребляет значительную мощность по сравнению с обычными потребностями в режиме ожидания. Если вы можете обнаружить отключение в программном обеспечении, настройте программу, которая «рассчитывает» на выход UART, начиная с отключения, и следите за ним, когда вытягиваете источник питания, и смотрите, как долго он работает, рассчитывая обратно через скорость передачи данных. Также остерегайтесь возможности непреднамеренного питания периферийных устройств через линии передачи данных.
— Крис Страттон

1
Может быть, вы можете попытаться дать Arduino какой-нибудь независимый выход (последовательный, его собственные дискретные светодиоды), чтобы вы могли сделать небольшую отладочную индикацию там, где Arduino перезагрузился, в отличие от его успеха в общении со светодиодной полосой. Я предполагаю, что светодиодная лента даже не имеет сброса, в отличие от обычной последовательности ее состояний при каждом доступе к ней?
— Крис Страттон

Ответы:


3

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.