Проблемы с запуском проекта Arduino от 9-вольтовой батареи
Я уже некоторое время работаю над проектом Arduin Uno Rev2. Я разрабатывал, используя свой MacBook, загружая код через USB-разъем, запуская его, отслеживая последовательный вывод на моем MacBook и т. д.
Arduino питается от моего MacBook через USB-разъем, который также передает последовательный выход обратно на MacBook.
Но теперь я хочу сделать этот проект переносимым. IE: вместо того, чтобы питать его от провода от моего Macbook, я хочу отключить его от батареи. Поэтому я выполнил эти инструкции №4 и подключил 9-вольтовую батарею к ВИН пин.
Поначалу казалось, что это работает. Но очень скоро начал замечать большую нестабильность. Есть много серьезных проблем, которые мне нужно решить, отработав эту батарею:
- Как только я подключаю аккумулятор, я теряю соединение с последовательным монитором (хотя USB-кабель все еще подключен). Поэтому я больше не могу видеть, что происходит внутри Arduino, для целей отладки. Почему? Как я могу продолжать видеть последовательный монитор? Есть ли способ увидеть последовательный вывод из другого места, кроме USB-разъема?
- По индикаторам на плате и по поведению выходов я могу сказать, что программное обеспечение работает со сбоями. Но я не могу точно сказать, почему (из-за № 1). Почему смена источника питания может вызвать это?
- Я знаю, что контакт VIN требует 7-12 вольт. Аккумулятор, который я подключил, - это новый аккумулятор на 9 В. Но что происходит, когда он изнашивается? Он по-прежнему выдает 9 вольт? Или напряжение падает? Могу ли я заставить Arduino прекратить работу, если напряжение упадет ниже допустимого уровня? Потому что полное прекращение работы лучше, чем неисправность.
- Я читал, что мне нужно убедиться, что ток от батареи остается около 500 мА. Но как я могу измерить это в аппаратном/программном обеспечении? Это связано с вопросом № 3.
@Saqib Ali, 👍1
Обсуждение1 ответ
Лучший ответ:
Как только я подключаю аккумулятор, я теряю соединение с последовательным монитором (хотя USB-кабель все еще подключен). Поэтому я больше не могу видеть, что происходит внутри Arduino, для целей отладки. Почему? Как я могу продолжать видеть последовательный монитор? Есть ли способ увидеть последовательный вывод откуда-то еще, кроме USB-разъема?
Возможно, потому что, несмотря на то, что напряжение достаточно высокое, чтобы отключить питание от USB-порта, его недостаточно для правильной работы основного микроконтроллера.
По индикаторам на плате и по поведению выходов я могу сказать, что программное обеспечение работает со сбоями. Но я не могу точно сказать, почему (из-за № 1). Почему смена источника питания может вызвать это?
Потому что батареи 9 В не могут обеспечить достаточный ток.
Я знаю, что контакт VIN требует 7-12 вольт. Аккумулятор, который я подключил, - это новый аккумулятор на 9 В. Но что происходит, когда он изнашивается? Он по-прежнему выдает 9 вольт? Или напряжение падает? Могу ли я заставить Arduino прекратить работу, если напряжение упадет ниже допустимого уровня? Потому что полное прекращение работы лучше, чем неисправность.
Нет. Напряжение быстро падает примерно до 8 В, затем все ниже и ниже, пока не станет ниже того, что может регулировать регулятор. Вы можете увидеть эту кривую в любой спецификации аккумулятора.
Я читал, что мне нужно убедиться, что ток от батареи остается около 500 мА. Но как я могу измерить это в аппаратном/программном обеспечении? Это связано с вопросом №3.
Это ерунда. Текущие требования будут такими, какие нужны схеме в любой момент времени. У этого потребления будет верхний предел (определяемый вашей схемой и тем, что вы делаете в любой момент времени — пиковое потребление тока), и ваш источник питания должен обеспечивать при минимум этого количества тока. Если вы попытаетесь потреблять больше тока, чем может выдержать батарея, выходное напряжение упадет до уровня, при котором оно больше не сможет правильно питать схему. Именно в этот момент вы получаете «затухание», и плата случайным образом сбрасывается, и происходят странные непредсказуемые вещи.
Вкратце: никогда не используйте 9-вольтовую батарею для проекта Arduino. Это нормально для операций с низким энергопотреблением, которые требуют тщательного проектирования, но для общего использования держитесь от них подальше. Кроме того, встроенный регулятор Arduino очень неэффективен и будет тратить около 25-40% энергии 9-вольтовой батареи еще до того, как вы начнете. Вместо этого вы должны использовать более эффективный импульсный регулятор для подачи 5 В непосредственно на контакт 5 В (или порт USB) от подходящих аккумуляторов большей емкости (таких как элементы типа АА).
Для сравнения приведем несколько типичных графиков разряда батареи, сравнивающих щелочные аккумуляторы AA и PP3 (9 В). Оба они относятся к Duracell Ultra.
Как вы можете видеть, напряжение на PP3 очень быстро падает даже при небольшой нагрузке. Под «тяжелой» нагрузкой (что для АА считается очень легкой нагрузкой) он практически полностью разваливается в мгновение ока.
Спасибо за это объяснение. Я программист. Новое в мире аппаратного обеспечения и электричества., @Saqib Ali
@SaqibAli Тогда, чтобы дать вам контекст, который вы поймете: спецификации устройств - это API мира оборудования. При программировании нужно знать API. С электроникой вы должны понимать мощность и синхронизацию. Чтение таблицы точно такое же, как чтение документа API библиотеки., @Majenko
Если я заставлю это работать с батареями AA, то как я могу получить последовательный вывод при работе от батареи?, @Saqib Ali
Он должен «просто работать»., @Majenko
Когда я заставлю это работать с батареями AA, могу ли я заставить Arduino просто отключаться, если напряжение слишком низкое, вместо того, чтобы иметь отключения, сбои и другое непредсказуемое поведение?, @Saqib Ali
Если вы построите схему для этого, конечно. Это не то, что Arduino может сделать в одиночку - у Arduino нет концепции «выключения», кроме удержания RESET на низком уровне, что должно быть сделано извне., @Majenko
На самом деле я думал, что обнаружение отключения питания предназначено для удержания Arduino в состоянии сброса до тех пор, пока на нем не появится достаточное напряжение, чтобы предотвратить его сбой. Тогда вам просто нужно настроить его правильно, @chrisl
- Чтение данных I2C из регистра SW6106
- Могу ли я иметь резервное питание для устройства Arduino?
- Энергопотребление esp32
- nrf24l01+ не работает от аккумулятора, или очень ненадежно
- Какой лучший способ питания ESP32 от аккумулятора?
- Arduino Nano и SIM800L при питании от батареи
- Можно ли создать регулируемый источник постоянного тока/напряжения с помощью Arduino?
- Красный индикатор Trinket Pro 5 В мигает при подключении аккумулятора
Uno WiFi Rev 2 потребляет слишком много тока для 9-вольтовой батареи и очень быстро разряжает любую батарею. Я бы попробовал USB powerbank, может быть., @Juraj
Аккумулятор 9v бесполезен. Используйте лучшую батарею., @Majenko
@Majenko какую батарею мне использовать? Банк из 6 батареек АА 1,5 В?, @Saqib Ali
Используйте USB-блок питания., @Dougie
Я хочу питать его от одноразовых неперезаряжаемых батареек, которые можно купить в обычных продуктовых магазинах. Так что я думаю, что это исключает USB-банки питания., @Saqib Ali
Затем обязательно покупайте большое количество батарей и часто меняйте их - проголосуйте за закрытие., @Codebreaker007
Зачем голосовать за закрытие, если никто не ответил на вопросы №1, №3 или №4?, @Saqib Ali
Q3 («Или напряжение падает?» Да, и это происходит, даже когда батарея новая. Все батареи имеют некоторое внутреннее сопротивление, поэтому чем больше потребляемый ток, тем ниже напряжение батареи. 9-вольтовые батареи особенно плохи. в этом отношении - они действительно предназначены для устройств с очень низким током / длительным временем работы, таких как детекторы дыма, и очень плохо справляются с подачей больших токов. Вы сделаете намного лучше с 6 щелочными элементами. Выберите размер батареи, который дает достаточно время работы между заменами., @JRobert