Бюджетный квадрокоптер на базе ESP32 своими руками

в 9:01, , рубрики: DIY, esp32, mpu6050, ruvds_перевод, дроны, квадрокоптеры, электроника

За последние годы дроны стремительно переросли из нишевых хобби-девайсов в гибкие инструменты, применяемые для множества всевозможных задач — от фотографии до сельского хозяйства и даже военной сферы. В зависимости от назначения, характеристик и способности нести полезную нагрузку подобные устройства могут стоить от нескольких тысяч до миллионов.

И хотя основной принцип, лежащий в их основе, может казаться простым, для правильного функционирования дронов и реализации ими нужных задач применяются сложные технологии и вычислительные системы. Например, для сохранения стабильности в полёте необходимы прецизионные датчики вроде гироскопа, а также эффективная обработка считываемых ими данных. Нашим же проектом станет сборка небольшого дрона, управляемого с помощью смартфона.

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

Характеристики нашего будущего WiFi-дрона:

  • Управление по WiFi с помощью смартфона.
  • MPU6050 IMU для контроля стабильности полёта.
  • Всё на одной печатной плате: конструировать на 3D-принтере ничего не придётся.
  • Простота будущего апгрейда: можно будет расширить возможности дрона внешними модулями, например, добавить функцию удержания конкретной высоты или позиции.
  • Небольшой размер и вес.
  • Встроенное зарядное устройство.
  • Встроенный USB-интерфейс для программирования и отладки.
  • Поддержка приложений Android и iOS.
  • Открытый исходный код.

Бюджетный квадрокоптер на базе ESP32 своими руками - 1

▍ Схема дрона

Вся схема нашего WiFi-дрона:

Бюджетный квадрокоптер на базе ESP32 своими руками - 2

Порт USB-C служит для зарядки и программирования. Его контроллер мощности на базе P-канального МОП-транзистора U2 и диода D1 позволяет легко переключаться между питанием от USB-источника и батареи. За регуляцию напряжения при этом отвечает LDO-стабилизатор MIC5219 3.3 В от Microchip. Движковый выключатель активирует тепловизор, а контроллер TP4056 управляет зарядкой батареи. Контроль напряжения облегчается за счёт классической схемы делителя. Модуль CP2102 вкупе с двойным МОП-транзистором упрощает сброс ESP32. Сам ESP32 при этом имеет стандартную обвязку. Гироскоп MPU6050, подключённый к ESP32 через контакты ввода/вывода, помогает стабилизировать полёт и контролировать перемещение дрона. Наконец, для управления электродвигателем в его схеме применяется N-канальный МОП-транзистор SI2302, дополненный защитными диодами и резисторами. Помимо индикаторов зарядки и питания, функциональный мониторинг дополняют отладочные светодиоды, включая синий для калибровки, зелёный для обнаружения подключения и красный для индикации низкого заряда батареи.

Более подробное описание и прочие детали описаны на странице проекта.

▍ Печатная плата

Для этого проекта мы решили собрать кастомную печатную плату. Это позволит сделать конечный продукт максимально компактным, а также упростит его сборку и использование. Причём мы специально включили в схему лапы коптера, чтобы их можно было через неё отключать. Вот верхний и нижний слои платы:

Бюджетный квадрокоптер на базе ESP32 своими руками - 3

Вот сама плата:

Бюджетный квадрокоптер на базе ESP32 своими руками - 4

А вот весь коптер в сборе:

Бюджетный квадрокоптер на базе ESP32 своими руками - 5

▍ Направление пропеллеров

Установите пропеллеры А и В в соответствии с рисунком ниже. Во время самотестирования при включении проверьте, вращаются ли пропеллеры должным образом и в правильном направлении.

Бюджетный квадрокоптер на базе ESP32 своими руками - 6

▍ Прошивка коптера

Программное обеспечение для нашего малыша основано на прошивке ESP-дрона от Espressif. Код написан на фреймворке ESP-IDF и скомпилирован под его версией 4.4.5. Для установки и настройки ESP32 IDF 4.4.5 пройдите по ссылке. Можете либо собрать прошивку с нуля, используя код из указанного далее репозитория проекта, либо просто залить бинарник, лежащий там же в репозитории. Используйте код именно с указанного ресурса GitHub, так как есть много его модификаций, подходящих под дизайн нашей платы.

▍ Заливка прошивки

Залить ПО на коптер можно тремя способами.

▍ Способ 1: сборка из исходного кода с помощью ESP-IDF

  • Для начала установки и настройки ESP-IDF, следуя подробной инструкции от Espressif. Вам понадобится версия ESP-IDF 4.4.х.
  • После установки ESP-IDF клонируйте репозиторий прошивки дрона с помощью Git и перейдите в её каталог.

git clone https://github.com/Circuit-Digest/ESP-Drone.git cd ESP-Drone/Firmware/esp-drone

  • Изменять конфигурацию прошивки можно с помощью menuconfig. Но для нашего случая вполне подойдут её текущие настройки.

idf.py menuconfig

  • Теперь для сборки и заливки прошивки используйте показанную ниже команду flash, заменив PORT на имя последовательного порта вашего ESP32-S2. Эта команда автоматически соберёт и зальёт программу на плату.

idf.py -p PORT flash

▍ Способ 2: использование ESPTOOL

Для использования ESPTool у вас должен быть установлен ESP-IDF. Соответствующие инструкции есть в предыдущем видео. После установки и настройки перейдите в терминале в каталог образа прошивки и залейте её с помощью следующей команды:

esptool.py write_flash --flash_size detect 0x0 ESPDrone.bin

▍ Способ 3: использование ESP32 Flash Download Tool

  • Скачайте ESP32 Flash Download Tool.
  • Распакуйте его и запустите двойным кликом по файлу .exe. В окне выбора типа микросхемы отметьте ESP32 и кликните «ОК».
  • Выберите файл прошивки с ESPDrone.bin и добавьте этот адрес в 0x00. Выберите нужный порт и кликните по Erase. По завершении стирания прошивки кликните START для заливки новой.
  • На этом всё — ваш самодельный коптер готов к полёту.

▍ Использование коптера

Расположите четырёхкрылого на плоской поверхности и включите. После включения полётный контроллер создаст точку WiFi. Подключитесь к ней с паролем 12345678 и откройте приложение. Версия для iOS доступна в App Store — ищите ESP-Drone APP. Для Android приложение можно скачать по этой ссылке. Помните, что оно разработано и распространяется сторонними лицами, так что устанавливайте по своему усмотрению. Интерфейс приложения выглядит так:

Бюджетный квадрокоптер на базе ESP32 своими руками - 7

Для установки связи с коптером кликните по кнопке «Connect». После успешной установки подключения его светодиод замигает зелёным. Кнопка «Turn Lock» позволяет переключать левый контроллер в режим только «Up»/«Down». Левый стик служит для подъёма и посадки коптера, а правый — для управления его движением. Если коптер отключится от приложения или уйдёт в перезагрузку при попытке посадки, это сигнал о низком заряде батареи. Мы установили в него аккумулятор 1300 мАч 30C, вы же можете использовать аналог с более высокой токоотдачей.

▍ Предполётная проверка

  • Располагайте коптер фронтальной частью вперёд (задняя часть определяется по антенне).
  • Устойчиво расположите коптер на возвышенной поверхности и включите.
  • После установки соединения, убедитесь, что зелёный светодиод мигает.
  • Мигающий красный светодиод сигнализирует о необходимости зарядки батареи.
  • Слегка сдвиньте вперёд контроллер «Thrust», чтобы проверить, реагирует ли коптер на команду.
  • Используйте правый контроллер для проверки команд направления.

Более подробное описание и прочие детали доступны на странице проекта.

Автор: Bright_Translate

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js