Не отступай и не сдавайся !!!
Ардуино, ESP32, ESP8266, LoRa. Обучение. Моделирование. Программирование под заказ.
Измерение и контроль параметров: температура, влажность, освещённость, давление, наличие напряжения, датчик движения, тревожная кнопка (дача, квартира, дом, цех, теплица, офис). Выдача измеренных параметров на персональную страницу в Интернете, на планшет, в смартфон. В случае выхода параметров за заданные границы - оповещение по электронной почте, sms.

ESP32. Общие сведения о системе ESP32. Плата DevKit V1 (30pin).

Еще в 2015 году компания-разработчик микроконтроллера ES8266 выпустила новое устройство также ориентированное на работу с беспроводными технологиями – серию микроконтроллеров ESP32. От предшественника новые устройства отличаются невообразимыми параметрами и функциональными возможностями. Они являются идеальными элементами для создания устройств, поддерживающих IoT технологии (Интернет Вещей), т.е. подключение всего к Интернету

В настоящее время контроллеры ESP32 стали вполне доступными. Отладочную двухъядерную плату на АлиЭкспресс можно купить всего за 350 руб.

Времени мало, но я не могу пройти мимо такой перспективной темы. По мере возможности, по остаточному принципу буду писать уроки ESP32. Речь идет о программировании не в среде Ардуино, а с помощью программных средств компании-производителя ESP32. Информации на эту тему очень мало.

Общие сведения

ESP32 – это серия недорогих высокопроизводительных микроконтроллеров с низким энергопотреблением и интегрированными интерфейсами Wi-Fi и Bluetooth.

Серия разработана компанией Espressif Systems.  В ней используется процессорное ядро Tensilica Xtensa LX6 в одноядерном и двухъядерном вариантах.

Микроконтроллеры ESP32 обладают настолько широкими функциональными возможностями, таким количеством периферийных интерфейсов, что обычно к ним применяется терминология ”система ESP32”.

Можно бесконечно расхваливать возможности ESP32, перечислять его интерфейсы, удивляться степени интеграции. Я сразу перейду к конкретному устройству.

В уроках буду использовать плату ESP DevKit V1 (аналог ESP32 DevKitC V4). Я купил эту плату на АлиЭкспресс всего за 340 руб вместе с доставкой. И это за плату. Модуль стоит еще дешевле.

Иерархия аппаратных узлов

Поясню, чем отличаются аппаратные, конструктивно законченные элементы, с которыми мы будем работать.

Есть микроконтроллер (микросхема), например ESP32-D0WDQ6. Он обеспечивает большую часть функциональных возможностей системы, но для применения требует дополнительных компонентов.

Микроконтроллер ESP32-D0WDQ6

Добавили к нему FLASH-память, генератор, блокировочные конденсаторы и прочие внешние компоненты. Установили их на маленькую печатную плату, прикрыли крышкой – получился модуль. В нашем случае модуль ESP-WROOM-32.

Модуль ESP-WROOM-32
Модуль ESP-WROOM-32

На модуль достаточно подать питание и уже можно использовать WiFi или Bluetooth. Если подключить внешние сигналы, то уже будет готовая система.

Еще удобнее использовать плату. У меня это ESP DevKit V1.

ESP DevKit V1. 30pin.

Примерно как на платах Ардуино добавились следующие функциональные и конструктивные возможности.

  • Конвертер USB/UART CP210X, позволяющий подключаться к стандартному USB компьютера.
  • Аппаратные цепи, обеспечивающие загрузку FLASH микроконтроллера от компьютера в автоматическом режиме.
  • Стабилизатор напряжения питания модуля.
  • Кнопки сброса и загрузки.
  • Светодиоды.
  • Внешние сигналы микроконтроллеры выведены на края платы.

Т.е. в минимальном варианте достаточно подключить плату ESP32 к USB компьютера. Через него плата получает питание, загружается резидентная программа, производится отладка.

ESP DevKit V1. 30pin.

Т.е. в минимальном варианте достаточно подключить плату ESP32 к USB компьютера. Через него плата получает питание, загружается резидентная программа, производится отладка.

Плата ESP DevKit V1

В плате установлен модуль ESP-WROOM-32.

В модуле используется микроконтроллер ESP32-D0WDQ6.

Эти элементы определяют функциональные возможности и параметры платы.

  • Процессорная часть:
    • ядро Tensilica Xtensa LX6;
      • два ядра;
      • 32 разряда;
      • производительность до 600 MIPS (миллионов инструкций в сек);
    • сопроцессор с ультранизким энергопотреблением.
  • Память:
    • 448 KB ROM для загрузчика и функций ядра;
    • 520 KB SRAM для данных и команд;
    • 16 KB SRAM в RTC (квази энергонезависимая память);
    • 4 MB  FLASH - память программы.
  • Беспроводные интерфейсы:
    • Wi-Fi: 802.11 b/g /N;
    • Bluetooth: v4.2 BR/EDR и BLE.
  • Часы и таймеры:
    • внутренний генератор 8 мГц;
    • внутренний RC-генератор;
    • внешний генератор 40 мГц;
    • внешний генератор 32 кГц для RTC;
    • 2 группы таймеров, включая 2x64 бит таймеры и сторожевой таймер в каждой группе;
    • RTC таймер (часы реального времени);
    • RTC сторожевой таймер.
  • Периферийные интерфейсы:
    • 34 программируемых универсальных портов ввода/вывода;
    • 12ти разрядный АЦП, до 18 каналов;
    • 2 x 8 битных ЦАП;
    • 10 портов для подключения емкостных датчиков;
    • 4 x SPI;
    • 2 x I2S;
    • 2 x I2C;
    • 3 x UART;
    • 1 хост контроллер SD/eMMC/SDIO;
    • 1 слейв контроллер SDIO/SPI;
    • Ethernet MAC interface с выделенным DMA и IEEE 1588 поддержкой;
    • CAN 2.0;
    • ИК порт;
    • ШИМ для двигателей;
    • ШИМ для светодиодов до 16ти каналов;
    • датчик Холла.
  • Безопасность:
    • безопасная загрузка;
    • шифрование FLASH;
    • 1024-битный ключ, до 768 бит для клиентов;
    • криптографическое аппаратное ускорение:
      • AES;
      • хеширование SHA-2;
      • RSA;
      • ECC;
      • генератор случайных чисел (RNG).

Функциональная схема микроконтроллера выглядит так.

Функциональная схема ESP32.

Применение ESP32

В технической документации ESP32 есть глава “Применение (не полный список)”.

Действительно, микроконтроллер с такими потрясающими возможностями и такой низкой ценой может быть использован где угодно. Но производитель – компания Espressif Systems, прежде всего, выделяет предназначение ESP32 для создания IoT устройств.

IoT (Internet of Things), в переводе  “Интернет Вещей” – это концепция подключения всего к интернету, что позволит управлять этим всем через интернет. Действительно, наличие интегрированных интерфейсов WiFi и Bluetooth, высокая производительность и низкая цена делают ESP32 идеальными контроллерами для IoT технологий.

Высокая производительность позволяет использовать ESP32 в системах обработки изображений и речи в реальном времени. Домашняя автоматика, умный дом, контроль здоровья, сельское хозяйство, промышленность, робототехника, игрушки … Всего не перечислить.

Распиновка и элементы платы

Назначение выводов платы показано на этой схеме.

Функциональная схема ESP32.

А здесь показано назначение элементов платы.

Функциональная схема ESP32.

Электрические характеристики ESP32

Мы собираемся создавать реальные устройства. А значит подключать к микроконтроллеру какие-то сигналы, подавать на него питание, эксплуатировать устройства в определенных климатических условиях. Значит важно знать минимальный набор электрических характеристик контроллера. Я посчитал, что на первом этапе необходимо знать следующие параметры.

Питание

Напряжение питания модуля (VDD) – 3,3 В, но на плате установлен стабилизатор AMS1117-3.3. В документации на плату DevKit все время фигурирует напряжение внешнего питания 5 В. Я не понимаю, почему нельзя подавать большее напряжение. AMS1117-3.3 допускает питание до 20 В,  но надо еще учитывать мощность рассеивания на стабилизаторе.

Питание USB развязано от внешнего питания платы диодом Шоттки. Значит можно запитывать плату от внешнего источника и одновременно подключать к USB.

Средний потребляемый ток – 80 мА, но источник питания должен допускать пиковые нагрузки до 0,5 А.

Температура окружающей среды -40 ... +85 °C. Это для платы. У микроконтроллера -40 ... +125 °C.

Параметры входов/выходов

Обозначение Параметр Мин.
значение
Типовое
значение
Макс.
значение
Ед.
изм.
VIH Входное напряжение высокого уровня 0,75*VDD - VDD+0,3 В
VIL Входное напряжение низкого уровня - 0,3 - 0,25*VDD В
IIH, IIH Входной ток высокого и низкого уровня - - 50 нА
VOH Выходное напряжение высокого уровня 0,8*VDD - - В
VOL Выходное напряжение низкого уровня - - 0,1*VDD В
IOH Выходной ток высокого уровня - 40 - мА
IOL Выходной ток низкого уровня - 28 - мА
RPU, RPD Сопротивление подтягивающего резистора - 45 - кОм

Отметим, что

  • нельзя на входы подавать напряжение выше 3,3.
  • Нагрузочная способность выходов микроконтроллера довольно высокая для подобных устройств (40мА).

Документацию по аппаратной части ESP2 можно посмотреть  по этой ссылке.

Там же есть принципиальная схема платы DevKitC.

 


Похожие запросы по теме:

© 2000-2023 - 29/1/22 8:38
Хостинг нашего сайта осуществляется узлом www.cherepovets-city.ru