- ESP32
- Контакты
- Пины питания
- Питание
- Digitrode
- цифровая электроника вычислительная техника встраиваемые системы
- Питаем ESP32 или ESP8266 от солнечной панели
- ESP32 WROOM DevKit v1: распиновка, схема подключения и программирование
- Программирование на C++
- Примеры работы для Arduino
- Пример WebClient
- Пример Analog WebServer
- Пример blink WebServer
- Программирование на JavaScript
- Элементы платы
- Мозг платформы
- Чип ESP32-D0WDQ6
- Модуль ESP32-WROOM
- USB-UART преобразователь
- Разъём micro-USB
- Светодиодная индикация
- Кнопка EN
- Кнопка BOOT
- Регулятор напряжения
- Распиновка
- Пины питания
- Порты ввода/вывода
- Интерфейсы
ESP32
Домашняя страница для платы ESP32 под Arduino на GitHub — github.com/espressif/arduino-esp32
Свой образец покупал на AliExpress
Аппаратная часть IoT-платформы выполнена на модуле ESP-WROOM-32 с однокристальной системой ESP32-D0WDQ6 производства компании Espressif.
Чип ESP32-D0WDQ6 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле).
ESP32-WROOM — модуль с чипом ESP32-D0WDQ6, Flash-памятью на 4 МБ и всей необходимой обвязкой, которые спрятаны под металлическим кожухом. Рядом с кожухом расположена миниатюрная антенна из дорожки на верхнем слое печатной платы. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.
Кристалл включает в себя 2-ядерный 32-разрядный процессор Tensilica Xtensa LX6, 520 Кб памяти SRAM и 448 Кб флеш-памяти, 4 Мб внешней флеш-памяти. Тактовая частота выставляется до 240 МГц в зависимости от режима энергопотребления.
Имеются встроенный температурный датчик, датчик Холла, инфракрасный контроллер на приём и на передачу, контроллер сенсорных кнопок, Bluetooth (BLE v4.2 BR/EDR), Wi-Fi (стандарты связи Wi-Fi 802.11 b/g/n (2,4 ГГц)).
Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP32-WROOM с USB-портом компьютера. При подключении к ПК — платформа ESP32 DevKit определяется как виртуальный COM-порт.
Разъём micro-USB предназначен для прошивки и питания платформы ESP32 DevKit с помощью компьютера.
Контакты
C двух сторон платы расположены контактные гребёнки по 15 пинов с шагом 2,54 мм (модификация на 30 пинов).
Доступны 25 пинов общего назначения. Все контакты поддерживают прерывания. Максимальный ток на пинах: 12 мА/
- Цифровые 21 контакт ввода-вывода (GPIO): 1–5, 12–19, 21–23, 25–27, 32 и 33. Контакты общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. Все выводы ввода-вывода могут работать как ШИМ, что позволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16
- цифровые 4 контакта ввода (GPI): 34, 35, 36 и 39. Могут быть настроены только на вход.
- 15 аналоговых входов с АЦП (12 бит): 2, 4, 12–15, 25–27, 32–36 и 39. Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит
- 2 аналоговых выхода с ЦАП (8 бит): 25 (DAC1) и 26 (DAC2). Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения. Выводы могут использоваться для аудио-выхода.
- 10 контактов ёмкостного сенсора
На пинах ввода-вывода можно сконфигурировать аппаратные интерфейсы:
Для экспериментов используйте выводы 2, 4, 12, 13, 14, 18, 19, 21, 22, 23, 25, 26, 27.
Сводная таблица выводов для использования в проектах
GPIO | Input | Output | Notes |
0 | pulled up | OK | outputs PWM signal at boot |
1 | TX pin | OK | debug output at boot |
2 | OK | OK | connected to on-board LED |
3 | OK | RX pin | HIGH at boot |
4 | OK | OK | |
5 | OK | OK | outputs PWM signal at boot |
6 | x | x | connected to the integrated SPI flash |
7 | x | x | connected to the integrated SPI flash |
8 | x | x | connected to the integrated SPI flash |
9 | x | x | connected to the integrated SPI flash |
10 | x | x | connected to the integrated SPI flash |
11 | x | x | connected to the integrated SPI flash |
12 | OK | OK | boot fail if pulled high |
13 | OK | OK | |
14 | OK | OK | outputs PWM signal at boot |
15 | OK | OK | outputs PWM signal at boot |
16 | OK | OK | |
17 | OK | OK | |
18 | OK | OK | |
19 | OK | OK | |
21 | OK | OK | |
22 | OK | OK | |
23 | OK | OK | |
25 | OK | OK | |
26 | OK | OK | |
27 | OK | OK | |
32 | OK | OK | |
33 | OK | OK | |
34 | OK | input only | |
35 | OK | input only | |
36 | OK | input only | |
39 | OK | input only |
Пины питания
- VIN: Пин для подключения внешнего источника напряжения в диапазоне от 5 до 14 вольт (рядом с GND)
- 3V3: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 1 А. Регулятор обеспечивает питание модуля ESP32-WROOM (рядом с GND)
- GND: Выводы земли (два контакта, по одному на каждой стороне)
На отладочном модуле расположены две тактовые кнопки. Кнопка EN предназначена для ручного перезапуска платы — аналог кнопки RESET обычного компьютера.
Кнопка Boot служит для ручного запуска режима прошивки модуля. Алгоритм следующий: Зажмите кнопку BOOT; Нажмите и отпустите кнопку EN; Отпустите кнопку BOOT.
Также на плате находится светодиод питания и индикаторный светодиод, подключённый к цифровому пину 2 (вместо 13 как у стандартных Arduino).
Питание
Линейный понижающий регулятор напряжения AMS1117-3.3 обеспечивает питание микроконтроллера. Выходное напряжение 3,3 вольта с максимальным током 1 А.
Питание подаётся через разъём micro-USB или контакт Vin. Источник определяется автоматически.
При питании через USB используйте зарядник на 5В совместно с кабелем Micro USB. В случае питания через Vin рекомендуется входное напряжение от 5 до 14 В. Преобразователь питания на плате выровняет входное напряжение до необходимых 3,3 В.
Как и в случае с платами Arduino, платы ESP32 также бывают от разных производителей с разным числом выводов и разной обвязкой. Также появляются модификации и конкретной платы. Например, плата ESP32 DEVKIT DOIT бывает с 30 и 36 пинами.
Источник
Digitrode
цифровая электроника вычислительная техника встраиваемые системы
Питаем ESP32 или ESP8266 от солнечной панели
Из этого руководства вы узнаете пошагово, как питать плату ESP32 с помощью солнечной батареи с использованием литиевого аккумулятора 18650 и модуля зарядного устройства TP4056. Схема, которую мы создадим, также совместима с ESP8266 или любым микроконтроллером, который питается от 3,3 В.
Следующая схема подключения показывает, как работает схема для питания ESP32 от солнечных батарей.
Мощность солнечных панелей составляет от 5 до 6 В под прямыми солнечными лучами. Солнечные батареи заряжают литиевую батарею через модуль зарядного устройства TP4056. Этот модуль отвечает за зарядку аккумулятора и предотвращает перезарядку. Литиевая батарея выдает 4,2 В при полной зарядке. Вам необходимо использовать схему стабилизатора с низким падением напряжения (MCP1700-3302E), чтобы получить 3,3 В от выхода батареи. Выход регулятора напряжения будет питать ESP32 через контакт 3.3В.
Солнечные панели, которые мы используем, имеют выходное напряжение от 5 до 6 В. Если вы хотите, чтобы ваша батарея заряжалась быстрее, вы можете использовать несколько солнечных панелей параллельно. В этом примере мы используем две мини солнечные панели, как показано на следующем рисунке.
Для параллельного подключения солнечных панелей припаяйте клемму (+) одной солнечной панели к клемме (+) другой солнечной панели. Сделайте то же самое для клемм (-). Это может выглядеть следующим образом.
При параллельном подключении солнечных панелей вы получите одинаковое выходное напряжение и удвоите ток (для идентичных солнечных панелей). Как вы можете видеть на следующем рисунке, солнечные панели выдают примерно 6 В.
Модуль зарядного устройства для литиевых батарей TP4056 поставляется с защитой цепи и предотвращает перенапряжение батареи и подключение с обратной полярностью.
Модуль TP4056 загорается красным светодиодом, когда он заряжает аккумулятор, и загорается синим светодиодом, когда аккумулятор полностью заряжен. Подключите солнечные панели к модулю зарядного устройства литиевой батареи TP4056, как показано на принципиальной схеме ниже. Подключите положительные клеммы к контакту, помеченному IN+, а отрицательные клеммы к контакту, помеченному IN-.
Затем подключите положительную клемму держателя батареи к контакту B+, а отрицательную клемму держателя батареи к контакту B-.
OUT+ и OUT- являются выходами батареи. Эти литиевые аккумуляторные батареи выдают до 4,2 В при полной зарядке (хотя на этикетке указано 3,7 В).
Для питания ESP32 через его контакт 3,3 В, нам нужна схема стабилизатора напряжения, чтобы получить 3,3 В от выхода батареи. Использование обычного линейного регулятора напряжения для сброса напряжения с 4,2 В до 3,3 В не очень хорошая идея, потому что при разряде батареи, например, до 3,7 В, ваш регулятор напряжения перестанет работать, потому что у него высокое напряжение отсечки. Для эффективного снижения напряжения, вам нужно использовать регулятор с малым падением напряжения или 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.
Если у вас ESP32 работает от аккумулятора или от солнечной батареи, как в этом случае, может быть очень полезно контролировать уровень заряда батареи. Одним из способов сделать это является считывание выходного напряжения батареи с использованием аналогового контакта ESP32. Тем не менее, батарея, которую мы здесь используем, выдает максимум 4,2 В при полной зарядке, но линии GPIO ESP32 работают при 3,3 В. Итак, нам нужно добавить делитель напряжения, чтобы мы могли считать напряжение от батареи.
Формула делителя напряжения выглядит следующим образом: Vout = (Vin*R2)/(R1+R2). Итак, если мы используем R1 = 27 кОм, а R2 = 100 кОм, мы получим 3,3 В. Таким образом, когда батарея полностью заряжена, на выходе Vout будет 3,3 В, что мы можем прочитать с помощью линий GPIO ESP32. Добавьте два резистора в вашу схему, как показано на следующей принципиальной схеме.
В этом случае мы отслеживаем уровень заряда батареи через GPIO33, но вы можете использовать любой другой подходящий GPIO. Наконец, чтобы получить уровень заряда батареи, вы можете просто прочитать напряжение на GPIO33, используя функцию analogRead() в своем коде (если вы используете Arduino IDE).
Источник
ESP32 WROOM DevKit v1: распиновка, схема подключения и программирование
ESP32 DevKit — это универсальная платформа для разработки IoT-решений.
Программирование на C++
После выполненных действий плата ESP32 DevKit готова к программированию через Arduino IDE.
Подробности о функциях и методах работы ESP32 на языке C++ читайте на ESP32 Arduino Core’s.
Примеры работы для Arduino
ESP32 может подключиться к Wi-Fi сети, создать собственную точку доступа, представляться сервером и клиентом, формировать GET и POST запросы. Также микроконтроллер имеет два АЦП и датчик Хола.
Пример WebClient
После подключения к Wi-Fi микроконтроллер напишет в COM порт ответ от сервера.
Пример Analog WebServer
ESP32 имеет 15 аналоговых пинов. Выведем через веб-интерфейс значения с 36, 39 и 34 пина.
Когда микроконтроллер подключится к Wi-Fi сети, в монитор порта будет выведен IP-адрес веб-страницы с данными. Получить к ней доступ можно из локальной сети, перейдя по указанному IP-адресу. Скопируйте IP-адрес из монитора порта и вставьте в адресную строку браузера. Если вы подключены к той же локальной сети, что и ESP32, то вы увидите веб-интерфейс.
Пример blink WebServer
Создадим WEB-сервер на порту 80. С помощью веб-интерфейса будем мигать светодиодами на 16 и 17 пинах.
При переходе по IP-адресу из монитора порта, выводится веб-страница с кнопками.
Программирование на JavaScript
Подробнее о функциях и методах работы ESP32 на языке JavaScript читайте документацию на Espruino.
Элементы платы
Мозг платформы
Платформа для разработки ESP32 DevKit основана на модуле ESP32-WROOM с чипом ESP32-D0WDQ6 от Espressif.
Чип ESP32-D0WDQ6
Чип ESP32-D0WDQ6 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле), в которую входит 2-ядерный 32-битный процессор Tensilica Xtensa LX6 с блоками памяти ROM на 448 КБ и SRAM на 520 КБ. В кристалле также расположены беспроводные технологии Wi-Fi/Bluetooth, радио-модуль, датчик Холла и сенсор температуры.
Для работы с чипом необходима внешняя Flash-память и другая электронная обвязка. Кристалл ESP32-D0WDQ6 является основой на базе которой выпускаются модули с необходимой периферией: например ESP32-WROOM или ESP32-WROVER .
Модуль ESP32-WROOM
ESP32-WROOM — модуль с чипом ESP32-D0WDQ6, Flash-памятью на 4 МБ и всей необходимой обвязкой, которые спрятаны под металлическим кожухом. Pins SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 and SCS/CMD, namely, GPIO6 to GPIO11 are connected to the integrated SPI flash integrated on the module and are not recommended for other uses.
Рядом с кожухом расположена миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.
Модуль является основной, на которой выполняются промышленные устройства или отладочные платы, например: ESP32 DevKit или ESP32-Sense Kit .
USB-UART преобразователь
Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP32-WROOM с USB-портом компьютера. При подключении к ПК — платформа ESP32 DevKit определяется как виртуальный COM-порт.
Разъём micro-USB
Разъём micro-USB предназначен для прошивки и питания платформы ESP32 DevKit с помощью компьютера.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
ON | Индикатор питания платформы. |
LED | Пользовательский светодиод на 2 пине микроконтроллера. При задании значения «высокого уровня» светодиод включается, при «низком» – выключается. |
Кнопка EN
Кнопка предназначена для ручного сброса программы — аналог кнопки RESET обычного компьютера.
Кнопка BOOT
Кнопка служит для ручного перевода модуля в режим прошивки:
Регулятор напряжения
Линейный понижающий регулятор напряжение AMS1117-3.3 обеспечивает питание микроконтроллера. Выходное напряжение 3,3 вольта с максимальным током 1 А.
Распиновка
Пины питания
Порты ввода/вывода
В отличие от большинства плат Arduino, родным напряжением ESP32 DevKit является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Более высокое напряжение может повредить микроконтроллер!
Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.
Интерфейсы
Каждый пин ввода-вывода платформы поддерживает аппаратные интерфейсы.
Источник