В этой статье мы рассмотрим как запитать плату разработки ESP32 от солнечных панелей, литиевой батареи 18650 и модуля зарядного устройства TP4056. Схема, которую мы построим, также совместима с платой ESP8266 или любым микроконтроллером, работающим от 3,3 В.
Когда вы питаете свой ESP32/ESP8266 от солнечных панелей, может быть полезно использовать их возможности глубокого сна для экономии энергии. Работу с режимом глубокого сна в данных модулях мы уже рассматривали ранее на нашем сайте:
Необходимые компоненты
- Модуль ESP32 (купить на AliExpress) или NodeMCU ESP8266 (купить на AliExpress).
- 2xМини-солнечные панели (5/6 В 1,2 Вт).
- Литий-ионный аккумулятор 18650.
- Держатель батареи.
- Зарядное устройство (опционально).
- Модуль зарядного устройства литиевых аккумуляторов TP4056 (купить на AliExpress).
- Регулятор напряжения: стабилизатор с малым падением напряжения или LDO (MCP1700-3302E) + электролитический конденсатор 100 мкФ + Керамический конденсатор 100нФ.
- Дополнительно – делитель напряжения для контроля батареи: резисторы 27 кОм и 100 кОм (купить на AliExpress).
Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158
Схема проекта
Схема питания ESP32/ESP8266 с помощью солнечных панелей представлена на следующем рисунке.
- Солнечные панели выдают напряжение от 5 В до 6 В при прямом солнечном свете.
- Солнечные панели заряжают литиевую батарею через модуль зарядного устройства TP4056. Этот модуль отвечает за зарядку батареи и предотвращает перезарядку.
- Литиевая батарея выдает 4,2 В при полной зарядке.
- Вам необходимо использовать схему стабилизатора напряжения с малым падением напряжения (MCP1700-3302E ) чтобы получить 3,3 В с выхода аккумулятора.
- Выходной сигнал регулятора напряжения будет питать ESP32 через контакт 3,3 В.
Солнечные панели
Солнечные панели, которые мы используем, имеют выходное напряжение от 5 В до 6 В. Если вы хотите, чтобы ваша батарея заряжалась быстрее, вы можете использовать несколько солнечных панелей параллельно. В этом примере мы используем две мини-солнечные панели, как показано на следующем рисунке.
Для параллельного соединения солнечных панелей припаяйте клемму (+) одной солнечной панели к клемме (+) другой солнечной панели. Сделайте то же самое для клемм (-). Возможно, вам поможет следующий рисунок.
При параллельном подключении солнечных панелей вы получите то же выходное напряжение и удвоенный ток (для идентичных солнечных панелей). Как вы можете видеть на следующем рисунке, солнечные панели выдают примерно 6 В.
Модуль зарядного устройства TP4056
Модуль зарядного устройства литиевых аккумуляторов TP4056 оснащен защитой цепи и предотвращает перенапряжение аккумулятора и подключение с обратной полярностью.
Модуль TP4056 загорается красным светодиодом при зарядке аккумулятора и синим светодиодом, когда аккумулятор полностью заряжен.
Подключите солнечные панели к модулю зарядного устройства литиевых батарей TP4056, как показано на принципиальной схеме ниже. Подключите положительные клеммы к контактной площадке, обозначенной В+, а отрицательные клеммы к площадке, обозначенной В-.
Затем подключите положительный вывод держателя батареи к колодке В+, а отрицательный вывод держателя батареи - к колодке Б-.
Контакты OUT+ и OUT- это выходы батареи. Эти литиевые батареи выдают до 4,2 В при полной зарядке (хотя на этикетке указано 3,7 В).
Для питания ESP32 через его контакт 3,3 В нам понадобится схема регулятора напряжения, чтобы получить 3,3 В с выхода батареи.
Регулятор напряжения
Использование типичного линейного регулятора напряжения для понижения напряжения с 4,2 В до 3,3 В не является хорошей идеей, поскольку при разряде аккумулятора, например, до 3,7 В ваш регулятор напряжения перестанет работать, поскольку у него высокое напряжение отсечки.
Чтобы эффективно понижать напряжение с выхода аккумуляторов, необходимо использовать стабилизатор с малым падением напряжения (LDO), который может регулировать выходное напряжение.
После исследования LDO, MCP1700-3302E является лучшим для того, что мы хотим сделать. Также есть хорошая альтернатива, такая как HT7333-A.
Любой LDO, имеющий схожие характеристики с этими двумя, также является хорошей альтернативой. Ваш LDO должен иметь схожие характеристики, когда дело касается выходного напряжения, тока покоя, выходного тока и низкого падающего напряжения. Взгляните на таблицу данных ниже.
Вот распиновка MCP1700-3302E: контакты GND, VIN и VOUT.
LDO должны иметь керамический конденсатор и электролитический конденсатор, подключенные параллельно к GND и Vout, чтобы сгладить пики напряжения. Здесь мы используем электролитический конденсатор емкостью 100 мкФ и керамический конденсатор емкостью 100 нФ .
Следуйте следующей принципиальной схеме, чтобы добавить схему регулятора напряжения к предыдущей схеме.
Внимание: электролитические конденсаторы имеют полярность! Провод с белой/серой полосой должен быть подключен к GND.
Вывод Vout регулятора напряжения должен выдавать 3,3 В. Это вывод, который будет питать ESP32 или ESP8266.
Наконец, убедившись, что вы получаете правильное напряжение на выводе Vout регулятора напряжения, вы можете включить ESP32. Подключите вывод Vout к выводу 3,3 В ESP32, а GND к GND.
Если вы используете ESP8266, вы можете использовать ту же схему. Подключите выход MCP1700-3302E к контакту 3,3 В ESP8266, а GND к GND.
Схема контроля уровня напряжения аккумуляторной батареи
Если ваш ESP32 питается от батарей или солнечной энергии, как в этом случае, может быть очень полезно контролировать уровень заряда батареи. Один из способов сделать это — считывать выходное напряжение батареи с помощью аналогового контакта ESP32.
Однако батарея, которую мы здесь используем, выдает максимум 4,2 В при полной зарядке, но GPIO ESP32 работают при 3,3 В. Поэтому нам нужно добавить делитель напряжения, чтобы мы могли считывать напряжение с батареи.
Формула делителя напряжения выглядит следующим образом:
Vout = (Vin*R2)/(R1+R2)
Итак, если мы используем R1=27 кОм и R2=100 кОм, то получим:
Vout = (4.2*100k)/(27k + 100k) = 3.3V
Таким образом, когда аккумулятор полностью заряжен, на выходе Vout появляется напряжение 3,3 В, которое мы можем считать с помощью ESP32 GPIO.
Добавьте два резистора в вашу цепь, как показано на следующей принципиальной схеме.
В этом случае мы отслеживаем уровень заряда батареи через GPIO33, но вы можете использовать любой другой подходящий GPIO.
Наконец, чтобы узнать уровень заряда батареи, вы можете просто прочитать напряжение на GPIO33 используя функцию analogRead() в вашем коде (если вы используете Arduino IDE).
1 |
analogRead(33); |
Вы также можете использовать функцию map() для преобразования аналоговых значений в проценты:
1 |
float batteryLevel = map(analogRead(33), 0.0f, 4095.0f, 0, 100); |
Если вы используете ESP8266, он поддерживает считывание аналоговых значения только на контакте А0. Итак, вам нужно подключить цепь следующим образом:
Для считывания аналогового значения с помощью ESP8266 используйте:
1 |
analogRead(0); |
Подведение итогов
В этой статье мы показали как питать ESP32 или ESP8266 с помощью солнечных панелей, литиевой батареи и модуля зарядного устройства TP4056. Схему, которую мы рассмотрели, можно также использовать для питания других микроконтроллеров, которым для работы требуется 3,3 В.
При питании ESP32 от солнечных панелей или аккумуляторов важно экономить электроэнергию. Для этого можно использовать возможности глубокого сна ESP32 .
Теперь вы можете использовать эту схему, чтобы добавить в ваши проекты питание от солнечной энергии.
26 просмотров