Модуль автономного бесперебойного питания Arduino Power Shield
- Рабочее напряжение: 5 вольт
- Ток заряда: 1000 мА
- Ток разряда: до 1000 мА
- Емкость аккумулятора: 2750 мАч
- Тип аккумулятора: литий-полимерный (Li-Pol), 3.7 вольт
- Разъём питания: микро-USB
- Контроллер: TP4056
- Размеры: 69 х 53 х 22 мм
Задумывались ли вы над тем, как упростить создание системы автономного питания вашего проекта, собранного на основе микроконтроллерной платы Arduino? Согласитесь, не всегда удобно использовать в качестве внешнего источника стационарные блоки питания или адаптеры, особенно в подвижных или переносных конструкциях. В качестве примера можно привести проекты, непрерывная работа базового функционала которых напрямую зависит от постоянного бесперебойного напряжения. Это могут быть как несложные сигнализации, так и отдельные элементы контроля и информирования, или даже система управления умного дома в целом.
Чаще всего, независимое питание платы достигается установкой в конструкцию всевозможных разнотипных аккумуляторов. Можно, конечно, воспользоваться самыми простыми батарейками. В таком случае автономной энергии хватит совсем не надолго. Чем больше потребляемая мощность проекта, тем быстрее истощение доступного питания. Любые батарейки относятся к одноразовым источникам питания, их ресурс в дальнейшем не восполняем. Заряжать повторно батарейки ни в коем случае нельзя.
Аккумуляторы же, наоборот, допускается заряжать достаточно большое количество раз. Остаётся только придумать, как конструктивно решить вопрос, связанный с необходимостью подпитывать аккумулятор без применения внешних источников. Одним из вариантов решения станет установка одной или нескольких небольших солнечных панелей. Параллельно с этим, потребуется самостоятельная разработка дополнительной схемы выравнивания исходящего напряжения аккумуляторной сборки до определённого уровня, в которой, вполне вероятно, будут задействованы модули контроля заряда-разряда и защиты аккумулятора.
Модуль автономного питания Arduino Power Shield значительно облегчает весь процесс автоматизации питания плат Arduino UNO, Mega2560, Leonardo, Duemilanove и других полноразмерных совместимых плат на основе Arduino c напряжением логики 5 вольт. Arduino Power Shield может быть использован в качестве основного или второстепенного источника питания для подключаемых расширений. Универсальные двухсторонние контакты, расположенные по длинным сторонам, позволяют подключать модуль к Arduino-платам с лицевой или с тыльной стороны.
Обзор платы
- Цифровые I/O выводы 0-7 – не задействованы в модуле. Они предназначены для упрощения монтажа (с сохранением электрической проводимости контактов) для плат расширения, установленных поверх модуля;
- Цифровые I/O выводы 8-13 – точно также, как и выводы 0-7, не задействованы в модуле, и оставлены для удобства;
- Аналоговые выводы А0-А5 – задействован только единственный аналоговый контакт А5. На плате рядом расположен разъём из двух дополнительных выводов «BAT-TST». Соединение обоих контактов перемычкой или джампером активирует возможность замерять текущее напряжение аккумулятора, позволяя реализовать то или иное событие в зависимости от полученного значения напряжения;
- Разъём ICSP – также ни один из выводов не задействован;
- Разъём из двух контактов 5V и GND – используются в качестве дополнительных выводов питания от модуля;
- Силовые выводы – соединяются с силовыми контактами платы Arduino. Модуль использует не все выводы, а только 5V и GND;
- Разъём XH 2.54мм – предназначен для присоединения съёмного сменного литий-полимерного аккумулятора. Подключение строго в соответствии с соблюдением полярности;
- USB-порт – предназначен для подключения внешнего источника напряжения;
- Переключатель ON/OFF – включает/выключает функционал модуля.
Питание, заряд/разряд аккумулятора
В качестве внешнего источника для модуля автономного питания Arduino Power Shield могут быть использованы блоки питания, сетевые адаптеры от мобильных устройств, солнечные панели.
Конструктивно, модуль представляет из себя контроллер заряда/разряда аккумулятора на микросхеме TP4056 с интегрированной защитой от: повышенного (более 4.2 В) и пониженного (менее 3.0 В) напряжения, от повышенных токов (более 1 А) и токов короткого замыкания. Потребляемый ток заряда составляет 1 А. Также, в схему включен повышающий DC-DC преобразователь, поднимающий и выравнивающий рабочее напряжение аккумулятора до постоянных 5 вольт с максимальным исходящим током до 1 А.
Примечание. Обратите внимание на выводы исходящего напряжения, реализованные в модуле – это контакты 5V и GND, расположенные в группе силовых выводов. Такой способ подключения минует встроенные в микроконтроллерную Arduino-плату базовые регуляторы.
Arduino Power Shield имеет свой собственный независимый USB-разъём, через который осуществляется основное питание всей конструкции. Модуль не будет функционировать, если внешнее питание подключается только к микроконтроллерной плате Arduino или к другому надстроенному расширению. Без установленного съёмного аккумулятора шилд будет функционировать некорректно. В случае неисправности или отсутствии аккумулятора, прямой линии питания между входом и выходом напряжения у модуля нет.
В процессе заряда микросхема контроллера TP4056 может нагревается – это нормально. На тыльной стороне модуля, под чипом и под разъёмом USB предусмотрены наполненные оловом площадки, помогающие рассеивать тепло в окружающую среду.
Большинство USB-портов, установленных на персональных компьютерах, имеют защиту от перегрузки по току не более 900мА. Для достижения максимальной эффективности заряда аккумулятора рекомендуется использовать адаптеры (например, от смартфона) с рабочим током не менее 1А.
Индикация событий
В модуль Arduino Power Shield встроены светодиодные индикаторы заряда, отображающие текущее состояние аккумулятора. Жёлтый говорит о том, что аккумулятор находится в режиме подзаряда. Расположенный рядом зелёный сигнализирует о полном заряде батареи.
Рядом с разъёмом подключения аккумулятора установлен ещё один светодиод зелёного цвета. Он постоянно светиться, когда к плате подключен исправный рабочий аккумулятор.
Солнечная панель
Модуль Arduino Power Shield совместим с солнечными батареями. Максимальное напряжение солнечной панели не должно превышать более 8 вольт, иначе микросхема контроля заряда/разряда TP4056 может попросту сгореть.
Характеристики напряжения и тока у солнечных батарей от разных производителей могут различаться. Например, одной панели с напряжением 6 вольт и током 520 мА будет явно недостаточно. Следовательно, для достижения полноценного заряда встроенного аккумулятора, конструкцию проекта понадобиться дополнить ещё 1-2 такими панелями.
Arduino Power Shield не имеет собственной функции MPPT (Maximum Power Point Tracker - алгоритм слежения за точкой максимальной мощности солнечной панели). Ввиду этого стоит учитывать погодные условия в течении светового дня (температура, освещённость), а также режимы работы модуля.
Программирование
Пример скетча, позволяющий получать информацию с аналогового вывода А5 о текущем напряжении аккумулятора, и передавать значение через последовательный порт.
const int analogInPin = A5;
float voltage; // Переменная напряжения
int A5Value = 0;
//Открываем последовательный порт на скорости 9600
void setup() {
Serial.begin(9600);
}
void loop() {
//Считываем показания вывода А5 в переменную A5Value
A5Value = analogRead(analogInPin);
//Преобразовываем значение, считаное с АЦП, в значение напряжения,
//разделив показатель на 1023.
//И умножая на 5.1, потому что модуль питается примерно от 5.1 вольта
voltage = float(A5Value5.1/1023);
// Выводим полученное значение напряжения в последовательный порт
Serial.print("Battery Voltage = ");
Serial.print(voltage);
Serial.print("V ");
delay(2000);
}