Вчера днем я оставил свой Arduino работающим на новой щелочной батарее 9V (+ подключен к Vin, - подключен к GND). Сегодня утром (16 часов спустя) ЖК-дисплей больше не был виден, и когда я измерил напряжение, я обнаружил, что батарея разрядилась к моему удивлению - ее напряжение в режиме ожидания составляло всего 7 В.
Мое устройство - Arduino Uno с ЖК-дисплеем 2x16 с подсветкой ЖК-дисплея и 2 датчиками DS18B20. Это нормально для такого устройства, чтобы разряжать батарею 9 В так быстро?
Я прочитал ответ на вопрос о том, что (или как я могу использовать) варианты энергосбережения Arduino для продления срока службы батареи? вопрос, и я думаю, что я вижу, может быть связано с этим, однако я не уверен. Если да, есть ли общие схемы, как эффективно подключить Arduino к аккумулятору?
Ответы:
Потребляемая мощность
Платы Arduino потребляют немало энергии по сравнению с другими встроенными системами с аналогичными функциями.
Есть три основных фактора:
NCP1117 ( техническое описание ) 5V линейный регулятор в Arduino UNO R3 ( схематическом ) имеет ток покоя около 6 мА.
ATmega328P ( техническое описание ) привлекает около 5м @ 8MHz и 5В, и , вероятно , более чем вдвое больше, чем на 16МГц.
user2973: ATMega16U2, используемый для связи через USB, также потребляет около 13 мА.
Светодиоды и другие периферийные устройства также потребляют ток. В вашей схеме подсветка ЖКД, вероятно, также потребляет 4 мА.
При падении напряжения от 9 В до 5 В через линейный регулятор, почти половина мощности теряется регулятором из-за падения напряжения на 4 В. Дункан комментирует, что это почти вдвое увеличивает потребляемую мощность с 9 В, а также мощность, необходимую для каждого мА, равную 5 В, поскольку 4/9-ая часть мощности теряется в виде тепла регулятором напряжения. Эффективный импульсный регулятор подавал бы 5 В с небольшой потерей энергии, эффективно уменьшая потребление тока, видимое батареей, на 4/9.
Батарейку Duracell 9V ( техническое описание ) падает от 9В до 7В примерно 7,5 часов с потреблением тока 50 мА. Таким образом, приблизительное предположение состоит в том, что ваша схема потребляет около 25 мА, что звучит примерно так, исходя из описания вашей схемы.
Обратите внимание, что срок службы щелочных батарей нелинейный по отношению к току. При очень малых токах (<1 мА) срок службы щелочной батареи приближается к сроку службы литиевой батареи.
Снижение тока
Вот несколько советов по снижению потребления тока:
Регулятор: замените регулятор регулятором с низким током покоя или, что еще лучше, переключающим регулятором (также с низким током покоя). Импульсный регулятор использует «импульсы» тока и некоторые внешние катушки индуктивности и конденсаторы, чтобы обеспечить приемлемое постоянное выходное напряжение. Он не тратит энергию, как при падении напряжения линейного регулятора, а КПД в высоких 90% возможен.
ATMega328P: Вместо того, чтобы использовать
delay
время и вращаться вloop
бесконечном ожидании того, что что-то произойдет, переписать свой код так, чтобы он засыпал между чтениями датчика и т. Д. Есть несколько библиотек с низким энергопотреблением , которые используют сторожевой таймер для периодические пробуждения от сна, которые удобны. Вы можете получить потребление тока ATMega328P ниже 0,1 мА во время сна.ЖК-дисплей: выключите подсветку или даже весь ЖК-дисплей. Добавьте кнопку к дизайну, которую пользователь может нажать, чтобы активировать ЖК-дисплей и отключить его после заданного периода бездействия.
Периферийные устройства. Большинство периферийных чипов также имеют спящий режим, который значительно снижает их энергопотребление. Снимите светодиоды питания и другие ненужные индикаторы.
ATMegu16U2: комментарии пользователя user2973 Похоже, этот чип довольно энергоемкий ( user2973 ). Его можно убрать, чтобы сэкономить энергию и просто использовать вместо него UART, но это кажется излишним. Существуют платы Arduino Pro, которые представляют собой просто Arduino без интерфейса USB, который можно использовать вместо UNO.
Аккумуляторы: другие щелочные элементы имеют гораздо большую емкость. Например, 1,5 В AA имеет более 2000 мАч для низких токов. Использование элементов AA и повышающего преобразователя может увеличить время до замены батареи. Используйте D-клетки (16000 мАч), и он будет работать довольно долго. : D
Резюме
С соответствующим источником питания и кодированием вы можете получить разумный срок службы батареи. Используя вышеупомянутые принципы, я создал производную плату Arduino, которая измеряет несколько датчиков и сохраняет показания на SD-карту каждые полсекунды. Он может длиться около 4 месяцев на 2 батарейках АА, поэтому вполне возможно иметь низкое энергопотребление и оставаться в экосистеме Arduino.
Чип, который я использовал для низкого энергопотребления в моей плате, является LTC3525-3.3V. Он принимает входное напряжение всего 0,8 В и повышает до 3,3 В, также доступна версия на 5 В. Я разработал печатную плату для этого чипа, так как не было готового прорыва, и в техническом описании есть эталонные конструкции. Основным критерием выбора этого чипа было то, что он все еще имел высокую эффективность при очень низких токах. Некоторые другие преобразователи нуждаются в небольшом минимальном потреблении тока.
Самым крупным потребителем энергии на плате оказалась карта micro SD. Он может варьироваться от 0,1 мА до 1,5 мА тока холостого хода в зависимости от производителя. Я нашел карты Verbatim и Lexar, которые потребляют наименьшее количество энергии. Я задам этот вопрос EE.SE в соответствии с результатами тестов энергопотребления моей карты micro SD.
источник
Я думаю, что Arduino Uno не подходит для таких проектов. Некоторые компоненты на плате потребляют слишком много ампер, как правильно указывает @geometrikal. Если вы готовы принять вызов, я бы посоветовал вам поднять свой проект на другой уровень и пойти по карьерной лестнице.
В Sparkfun есть хорошая статья о том, как увеличить время автономной работы с помощью ATmega328, которую вы также используете на Arduino Uno: https://www.sparkfun.com/tutorials/309
Ищите способы создания схемы только с теми компонентами, которые вам действительно нужны, и дайте микроконтроллеру как можно больше спать.
источник
Другим вариантом является поиск аппаратного обеспечения (Arduino Clone), которое было разработано для этого, например, этой платы: https://bitbucket.org/talk2/whisper-node-avr/overview
Комбинируя такое оборудование с методами энергосберегающего кода, вы сможете довольно долго запускать проекты на батарейках!
источник