Предыдущие подборки: Подбор компонентов, Введение
Полётный контроллер – "мозг" квадрокоптера. По сути это маленький компьютер. Можно писать и запускать на нём программы, и в общем-то даже необязательно для квадрокоптера. Как и все компьютеры, он универсален и может служить для любой цели.
Полётным контроллером его делает периферия, размещённая вместе с процессором на одной плате.
1. Акселерометр и гироскоп
Акселерометр может измерять ускорение движения в любом направлении, а гироскоп – вращение. Эти две микросхемы жизненно необходимы для того, чтобы коптер мог управлять своим положением в воздухе.
2. Порты UART
Это обычные COM-порты (последовательные порты), работающие по стандартному протоколу. Они нужны для присоединения внешнего оборудования: приёмников, модулей GPS, видеопередатчиков...
3. Шина I2C
Это специальная шина данных для периферийных устройств, таких как барометр или магнитометр. Она может отсутствовать. Но барометр может быть встроенным.
4. Датчики напряжения и силы тока
Обычно датчик напряжения присутствует всегда, а силы тока – не всегда.
5. OSD
Микросхема вывода информации на экран (On-Screen Display) – работает с видеосигналом от камеры, накладывая поверх него показания приборов. В современных контроллерах есть всегда, а в старых её часто не было, и тогда требовалась внешняя схема OSD.
6. Преобразователь напряжения
Как правило, полётный контроллер имеет как минимум один преобразователь напряжения на 5 вольт, от которого можно питать периферию (приёмник, камеру, видеопередатчик, GPS, барометр, магнитометр). Может присутствовать также преобразователь на 9, 10 или 12 вольт.
В принципе, это всё, что входит в обычный набор полётного контроллера.
Далее, полётные контроллеры различаются по следующим параметрам:
- Тип процессора и прошивки
- Количество доступных портов
- Наличие I2C
- Все остальные пункты, которые в принципе уже не очень важны
Посмотрим, какие полётные контроллеры доступны на сегодняшний день.
DJI NAZA M V2
Один из древнейших контроллеров от DJI, который до сих пор летает.
Плюсы:
- Простая сборка и настройка
- Стабильно летает
Минусы:
- Закрытая прошивка
- Ограниченный функционал
- Работает только с компонентами DJI
- Модульная система, тяжёлая, очень громоздкая.
- Все компоненты дорогие
APM 2.8
Контроллер на базе процессора Arduino.
Плюсы:
- Открытая прошивка Arducopter
- Развитые возможности навигации
- Поддержка большого количества периферии (UART, I2C)
Минусы:
- Большой, тяжёлый*
- Сложный в настройке
- Морально устаревшие компоненты*
- Нет встроенной OSD
*Прошивку теоретически можно залить на другой контроллер
Pixhawk
Практически брат APM-а, только на базе более крутого процессора STM32 и со своей, тоже открытой, прошивкой PX4 Autopilot. Плюсы и минусы те же самые. И ещё он дороже.
STM32 ***
Здесь речь не о каком-то конкретном контроллере, а о целом зоопарке контроллеров на базе процессора STM32, выполненных в виде бескорпусной электронной платы с разведёнными контактами питания и портов.
Нас будут интересовать именно они, как де-факто стандарт в области FPV.
Они шьются прошивками с открытым исходным кодом Betaflight и INAV.
Betaflight предназначен чисто для FPV, в то время как INAV сочетает возможности FPV с GPS-навигацией.
Контроллеры STM32 делятся по поколениям: F1, F3, F4 и F7.
Про F1 можете сразу забыть, они слишком сраты старые. F3 ещё кое-где летает, но также считается безнадёжно устаревшим, и новые версии прошивок под него уже не выпускаются. Актуально поколение F4, а F7 это запас на будущее, но также имеет некоторые улучшения и удобства прямо сейчас.
Кроме того, контроллеры бывают в полной и урезанной версии.
Полные версии это F405 и F745, а урезанные F411 и F722.
Урезанные отличаются меньшим объёмом памяти и меньшим количеством портов.
Не слишком ли всё сложно?
Нет.
Вашей задачей будет просто найти подходящий полётный контроллер и присоединить к нему периферию. Для каждого периферийного устройства известен его интерфейс (UART или I2C).
Какой бы контроллер вы ни взяли, у него есть схема подключений, а зачастую контакты обозначены прямо на контроллере. У них всегда одни и те же обозначения, поэтому если вы разобрались в одном контроллере, то разберётесь во всех.
Посмотрим для примера случайный контроллер F405:
Хорошо, что всё подписано, поэтому схему смотреть даже не нужно:
- G или GND – земля, "минусовой" провод.
- VBAT или VCC – напряжение от батареи, "плюсовой" провод.
- 3V3, 4V5, 5V, 9V – выходы с преобразователей напряжения на 3.3 вольта, 4.5 вольт, 5 вольт, 9 вольт.
- TX1...TX6 – передающие каналы портов UART1...UART6
- RX1...RX6 – принимающие каналы портов UART1...UART6
- SCL, SDA – контакты шины I2C (Clock и Data)
- SBUS – вход для приёмника с протоколом SBUS
- S1...S10 – выходы управляющих сигналов на регуляторы моторов
- VTX, VID или VO (Video Out) – выход сигнала для видеопередатчика
- C, CAM или VI (Video In) – вход сигнала с камеры
- LED – управление светодиодом
- BZ или BUZ – управление пищалкой (buzzer)
- CUR (Current) – вход внешнего датчика тока
Этого пока хватит. Вы можете промотать страницу наверх и посмотреть на картинку предыдущего контроллера. Там вы можете уже самостоятельно определить, какой контакт для чего, и убедиться, что это несложно.
Далее в действие вступает простая логика.
Если ваша камера питается от 5-25 вольт, вы можете припаять её питание к любой из площадок 5V, 10V или VBAT. Если же она питается только от 5 вольт, тогда только к площадке 5V. Видеовыход камеры вы припаиваете к CAM или VI.
И всё, камеру вы уже подключили.
Точно так же с остальными компонентами: находите для них подходящее питание и нужный порт или интерфейс, припаиваете и готово.
Ничего сложного, если просто следовать обозначениям на контроллере и на присоединяемом компоненте.
Ещё для примера, можете самостоятельно выяснить, как припаять внешний барометр BMP280 к полётному контроллеру с шиной I2C:
На барометре есть обозначения VCC (это его питание), GND, SCL, SDA.
VCC мы должны припаять к 5 вольт, потому что рабочее напряжение барометра это 5 вольт. GND это "земля" и паяется к любой "земле". А SCL/SDA паяются соответственно к таким же контактам на контроллере. Всё, барометр работает.
Оставшиеся два контакта на барометре CSB и SDO не используются и припаивать их никуда не надо. Конечно, вас это могло бы сбить с толку, но лишь поначалу.
Запитывать сам контроллер мы будем аналогично. Найдём контакты VBAT/VCC и GND и припаяем к ним провода от батареи. Готово. Правда, нужно знать, какое рабочее напряжение у контроллера. Это есть в его спецификации.
Например, 2-4S означает, что он работает с батареями от 2S (8.4 вольта) до 4S (16.8 вольта). А больше нельзя – сгорит. Меньше тоже нельзя – не заведётся.
Если вы присоедините батарею 2S, то на всех контактах VBAT у контроллера появится напряжение 8.4 вольта. Если 4S – то 16.8 вольта. Учитывайте это, когда паяете к этим контактам периферию.
Читайте дальше: