CopterCat_cm4
CopterHack-2022, команда CopterCat.
Информация о команде
Состав команды:
- Лапин Матвей (https://t.me/l_motya), инженер/программист.
- Коновалов Евгений (https://t.me/egnknvlv), инженер/друг.
- Скандаков Егор (https://t.me/hjbaa), друг.
- Джалилов Эмиль, друг.
Описание проекта
Разработка современной платы под прошивку PX4 FMUv6U, разерами 55x40 мм и дополнительным модулем WiFi для реализации классных штук, например, распределённой сети.
Идея проекта
Полётник на stm32h7 с местом для RPi CM4 и встроенной ESP32 для создания распределённой сети.
Планируемые результаты
Плата полётного контроллера FMUv6U и API для взаимодействия с распределённой сетью через RPi.
Использование платформы "Клевер"
На этапе проекта: отладка и демонстрация возможностей. После: использования CopterCat в качестве основного.
Спецификация
FMU
- STM32H753IIK6 480Mhz Cortex-M7
- 2Mb + 256Kb FLASH
- 1Mb RAM
- ICM20602, ICM42605, BMI088, BMP388, BMM150
- Полностью совместима со стандартом FMU-v6u
Raspberry Pi
- Поддержка платы RPi CM4.
- Слот для SD-карты.
- Возможность прошивки встроенной eMMC.
- CAT24C256 EEPROM.
- Поддержка 2-х камер (CAM0-две линия, CAM1-четыре линии).
- Поддержка USB-OTG.
ESP32
- 16MB внешней FLASH (W25Q128JVS).
- 8MB внешней PSRAM (LY68L6400SLIT).
- Встроенная антенна.
- USB-TTL конвертор.
Остальное
- USB-HUB USB2514B.
- USB-PD с физическим переключением.
- Связь ESP32 и STM32 через UART.
- 3 варианта питания.
- 4 универсальных GPIO от ESP32.
- USB Type-C.
- Размеры 40x55 мм, плата 4 слоя.
Разъёмы и перемычки
- GPIO ESP32 4 порта ввода вывода для подключения внешнего оборудования.
- Коннекторы RPi CM4.
- Выводы ESC 8 шт.
- Контакты программирования и отладки JTAG STM32.
- Коннекторы камер (шлейф 22 контакта с 0.5 мм расстояния между проводниками).
- Контакт подключения адресной ленты.
- Контакты основного питания 5В.
- JST-6 стандартного шлейфа питания PX4.
- JST-6 GPS+компас+5В.
- JST-4 I2C+5В.
- USB Type-C.
- JST-4 UART7+5В.
- JST-4 I2C RPi+3.3B для подключения дальномера.
- JST-4 UART5+5В.
- JST-5 Стандартный разъём для подключения приёмника управления.
- Слот SD карты (для RPi).
- Джампер BOOT для STM32.
- Джампер RPIBOOT для прошивки eMMC модуля RPi CM4.
- Джампер переключения режима работы USB разъёма (при замкнутой перемычке, USB работает как вход HUB и при подключении к компьютеру будут отображаться STM32, ESP32 и RPi CM4 в режиме OTG; при разомкнутой перемычке, USB будет работать для подключения внешних устройств к RPi, например стереокамеры).
Загрузка прошивки
FMU
При первом запуске, в микроконтроллер придётся загрузить PX4-bootloader через порт JTAG. Подробная инструкция здесь.
Для подключения к компьютеру:
- Замкните перемычку 19.
- Подключите USB Type-C к компьютеру.
- Устройство должно появиться в QGC.
Также прошивку можно произвести через RPi:
- Установите RPi CM4 в коннектор на плате.
- Разомкните перемычку 19.
- Устройство появиться в папке
/dev
на RPi.
ESP32
Написать программу можно либо в Arduino IDE, либо в VS Code с плагином esp-idf. Далее скомпилировать и загрузить в микроконтроллер. Загрузить можно двумя способами.
С компьютера:
- Замкните перемычку 19
- В подключённых устройствах появиться CP2104
- Загрузите прошивку в соответствии с инструкцией к выбранной IDE
С RPi CM4:
- Установите RPi CM4 в коннектор на плате.
- Разомкните перемычку 19.
- Скомпилируйте ваш код в .bin формат.
- Загрузите полученный файл на RPi.
- Загрузите прошивку в микроконтроллер с помощью esptool.py (описание+установка).
RPi CM4
Слот SD карты работает как на стандартной RPi. Для плат с eMMC порядок загрузки операционной системы не отличается от CM4 IO Board (инструкция).