что такое полетный контроллер
Летательная болезнь — Полётный контроллер.
Итак, я определился с размером, и рамой. Самое время поговорить о выборе полётного контроллера.
Казалось бы, чего проще! Ан нет. Сложность, как всегда, в выборе 🙂
Оказалось что в полётных контроллерах есть даже своя специализация, куча нюансов, и прочего.
Я не особо углублялся в эту тему ибо сразу купил полётный контроллер не думая и не выбирая. Поэтому получилось быстро и безболезненно. А если вдуматься …
Короче если начинать думать о контроллерах то выходит примерно следующее.
Там вроде в третьей серии уже ультрозвуковые датчики — чтобы летать по замкнутым пространствам и не натыкаться на стены. Оптические датчики, чтобы зависать на одном месте, датчики посадки — которые могут определить неровности на земле, типа человека, и увести квадру наверх, для принятия решения. Ну и так далее.
Думаю такое навороченное мне пока не надо, да и куда это на мою 250-ю раму 🙂
Дальше идут контроллеры типа ardupilot mega.
Ну и мелкие контроллеры типа openpilot (плата CC3D).
Это немного порезанные по сравнению с ardu pilot mega контроллеры. Зато они маленькие, удобные, и легкие. Они в оригинале не умеют летать по точкам, хотя к ним и можно подключить GPS. Всё остальное в ручном режиме. И поверьте — это совсем не страшно 🙂 Кстати сюда бы я отнёс и такие контроллеры как Naze32.
Из форумов вычитал, что тот же Naze32 почти тоже самое. Вроде легче настраивается на полет. Хотя если пользоваться предоставленными в CC3D темплейтами всё тоже очень просто. Ну по крайней мере для начала.
Ну и напоследок пару советов. Если вы купили CC3D обязательно крепите его к раме плотно, двухсторонним скотчем. Этот контроллер предназначен именно для жёсткого крепежа, а если вы выбрали Ardupilot Mega, то крепите его на специальной демпфирующей платформе. Этот контроллер боится вибраций.
Ну это так, из наблюдений 😉 Далее, если вы купили CC3D поставьте его на квадру повернув на 90 гр. Так, чтобы разъем USB смотрел вбок. Удобнее будет подключать провод. Ориентацию контроллера можно будет потом задать в установках.
Обратите внимание, что команда OpenPilot разделилась на 2 части. Одна, по слухам, ушла в спорт контроллеры, а вторая продолжает развивать обычные CC3D. Они теперь называются LibrePilot. Они так-же выпустили и поддерживают новые платы контроллеров OpenPilot Revolution, OpenPilot Revo Nano и ещё чего-то там. Но я пока это в руках не крутил.
А про настройку наверно позже напишу, хотя не уверен надо ли. Описаний куча в интернете.
Полетный контроллер, для чего он нужен
Полетные контроллеры делятся на 3 группы:
Каждый контроллер имеет свое программное обеспечение, которое управляет всем оборудованием. Самые популярные контроллеры можно прошивать и гибко настраивать с помощью специальных программ, таких как CleanFlight, Betaflight и Raceflight.
Какие бывают полетные контроллеры?
Ниже рассмотрим вопрос — какие бывают полетные контроллеры, а точнее, для каких целей.
Гоночные полетные контроллеры
Naze32, также на базе этого контроллера есть SP Racing F3:
На нем присутствуют все стандартные датчики – гироскоп и акселерометр, а в расширенной версии DELUXE также есть барометр и компас.
Гироскоп и акселерометр определяют текущее расположение дрона в пространстве. Барометр определяет высоту по давлению (чтобы удерживать высоту, например), компас для удержания направления полета.
На сегодня, полетные контроллеры серии F4 являются самыми популярными полетными контроллерами для мини и гоночных квадрокоптеров, так как прекрасно работают с такими программами, как CleanFlight, Betaflight и Raceflight. На их смену уже выходит серия F7, становясь все более популярной.
Разработка прошивок для полетного контроллера F3 уже прекратилась из-за ограничения ресурсов, поэтому выбирайте для покупки F4 или F7:
Также еще два популярных контроллера:
KISS – прошивать своей прошивкой нельзя. Имеет графический интерфейс с минимумом настроек.
LUX – такой же гибкий, как Naze32, но все же уступает ему. Прошивать можно.
Контроллеры для съемки видео и фото с дрона
Поддерживает весь набор датчиков (GPS, телеметрию, OSD и т.д.)
ArduPilot AMP поддерживает GPS и автономный полет по заданным координатам. Тоже достаточно популярный контроллер, но стоит дороже обычных из-за наличия более важных датчиков.
Vector Flight Controller- профессиональный полетный контроллер с встроенной системой Eagle Tree.
Новичок тоже сможет на таком летать. Эти контроллеры стоят дорого, а вес и размер стремятся к идеалу для аэросъемки.
Контроллеры для автономных полетов
3DR Pixhawk — самый популярный контроллер для автономных полетов. На его борту есть резервная система, а также он поддерживает все известные датчики для дронов.
MultiWii Pro — дешевый и доступный, позволяет отлично стабилизировать коптер, также на нем есть барометр, магнитометр и GPS.
Теперь, после краткого обзора типов полетных контроллеров, перейдем к полному описанию.
Прошивки полетного контроллера, их виды
Полетные контроллеры отличаются не только по типу компонентов, из которых они состоят, но и по прошивкам, на которых они работают, то есть программным обеспечением, на котором работает полетный контроллер.
Как уже написано выше, на сегодня самыми популярными прошивками являются:
Что из себя представляет программное обеспечение полетного контроллера — прошивка? Это набор правил и алгоритмов, которые обрабатывает процессор.
А теперь ответ на вопрос, как прошить полетный контроллер? Конкретно для каждой прошивки разработан свой конфигуратор — это специальная программа, которая загружает в полетный контроллер программное обеспечение, а зачем конфигуратор работает в роли графического интерфейса прошивки — чтобы вам было наглядно и удобно настраивать свой квадрокоптер.
С помощью графического интерфейса можно вносить различные настройки в прошивку, например, менять параметры PID, включать и редактировать фильтры, включать или отключать датчики, настраивать начальные и максимальные обороты двигателей и так далее. Но стоит отметить, что в зависимости от прошивки у них будет разный интерфейс, критичных отличий, конечно, не будет, но все же.
Процессор полетного контроллера
От процессора будет зависеть то, насколько быстро будут обрабатываться поступающие к нему данные. Процессоры делятся по поколениям: F1, F3, F4, F6. Вот такие странные поколения, где пропущены 2-е и 6-е поколения. Отличаются они частотой работы и архитектурой:
Сейчас все новые полетные контроллеры поставляются с процессором 7-го поколения, так как обрабатывать фильтры и PID становится все труднее, прогресс шагает километровыми шагами в этой сфере. Но у многих пилотов ПК на процессорах 3-го поколения, так как F3 был самым (да и остается) массовым поколением со стабильной работой.
Гироскоп и акселерометр полетного контроллера
Гироскоп и акселерометр — очень важные датчики, они определяют положение квадрокоптера в пространстве, а также движется ли он, посылают эти данные процессору, а тот уже решает, какому двигателю поддать газа, а какому наоборот, снизить обороты.
Акселерометр выполняет роль стабилизатора в пространстве, есть даже такой режим полета — «Режим стабилизации», при котором квадрокоптер невозможно будет перевернуть в воздухе и он всегда будет держаться параллельно земле (если просто отпустить стики на пульте). Опытные пилоты почти всегда летают в режиме АКРО, поэтому они отключают акселерометр или используют его крайне редко.
Гироскоп же выполняет роль определения положения квадрокоптера в пространстве.
Какие самые популярные гироскопы используются в полетных контроллерах? Смотрим таблицу ниже:
Гироскоп | Протокол коммуникации (BUS) | Макс. частота работы гироскопа |
MPU6000 | SPI, i2c | 8K |
MPU6050 | i2c | 4K |
MPU6500 | SPI, i2c | 32K |
MPU9150* | i2c | 4K |
MPU9250* | SPI, i2c | 32K |
ICM20602 | SPI, i2c | 32K |
ICM20608 | SPI, i2c | 32K |
ICM20689 | SPI, i2c | 32K |
MPU9150 — это MPU6050 со встроенным магнитометром AK8975, а MPU9250 — это MPU6500 и тоже с магнитометром.
Номер и название гироскопа можно найти на самом чипе, например это — MPU-6000:
Выбор гироскопа: частота опроса и шумы
Есть два критерия, которые нужно учитывать при выборе полетного контроллера с конкретным гироскопом, это частота работы и чувствительность к шумам (электро- и механическим).
На сегодня самыми популярными и надежными считаются гироскопы MPU6000, у них частота работы 8KHz, а также они достаточно не чувствительны к шумам. Советуем не покупать полетные контроллеры с гироскопами MPU6500 и MPU9250, у них хоть и частота выше, но они больше подвержены воздействию шумов.
Серия гироскопов ICM работает лучше и плавнее, чем MPU6000 на 32KHz, но из-за шумных двигателей и регуляторов оборотов производительность ICM будет ниже, чем MPU6000. Например, ICM20602 на Raceflight Revolt V2 или ICM20689 на Kakute F4, оба этих гироскопа могут работать на частоте 32KHz, но с регуляторами оборотов, которые генерируют много шума, они работать будут хуже, чем MPU6000. По этой причине на полетные контроллеры устанавливают сетевые фильтры для частичного удаления шумов.
Чтобы частично убрать механические шумы (вибрацию), полетный контроллер следует устанавливать на резиновые подушки или любой другой пористый материал, который сможет гасить вибрацию, например кусок резины или вспененного материала.
i2c и SPI
Порт UART в полетном контроллере
Аббревиатура UART с английского расшифровывается как (Universal Asynchronous Receiver/Transmitter) — универсальный асинхронный приемник/передатчик.
К порту UART подключаются различные периферийные устройства, такие как, приемник, различная телеметрия и так далее. У порта есть два контакта для обмена данными — прием и передача.
На фото ниже вы можете увидеть пример UART порта и их настройки в Betaflight, точнее, вы можете назначить в этой вкладке порту любое устройство, которое поддерживает обмен данными:
Сколько бывает портов UART на полетном контроллере?
UART портов много не бывает — чем больше, тем более гибко можно будет настраивать ваш квадрокоптер, а также они будут дублировать друг друг в случае поломки.
Но само количество портов зависит от размеров платы полетного контроллера и от того, как расположены на ней компоненты, а также от типа процессора, который использует ПК. 3-е и 4-е поколение полетных контроллеров (F3-F4) имеют от 3 до 5 UART, а 7-е поколение — 7 и более. Оно и понятно, слабый процессор не сможет физически обрабатывать столько периферии.
F1 | F3 | F4 | F7 |
2 UART | 3-5 UART | 3-6 UART | 7+ UART |
Инвентированный сигнал и UART
Инвентированный сигнал поддерживают полетные контроллеры 3-го и 7-го поколения, а вот 1-е и 4-е поколения не могут.
Передатчики FrSky с протоколом работы SBUS и SmartPort на выходе инвертируют свой сигнал, и их могут обработать только процессоры нового поколения, такие установлены на 7-м и 3-м поколении (F3 и F7), так как у них уже есть встроенный инвертор.
А вот для устаревших поколений (F1 и F4) нужно перед портом UART устанавливать инвертор, который будет обрабатывать и преобразовывать сигнал и передавать его уже в UART. Хотя в некоторых полетных контроллерах F4 производители сразу устанавливают инверторы для SBUS и SmartPort, пилоту можно сразу подключать приемник к ПК.
Если у вас закончились UART порты, то можно воспользоваться функцией в Betaflight «soft-serial», благодаря которой можно создавать виртуальные UART. С помощью ПО Betaflight создается эмуляция этого порта, как будто он есть физически, но на самом деле его нет. Также стоит отметить, что такой порт будет работать значительно медленнее, чем физический и он не подойдет для подключения приемника, например, так как такое замедление критично. Процессор тоже будет работать с повышенной нагрузкой.
Размеры платы полетного контроллера
Монтажная схема полетного контроллера — это расстояние между отверстиями для крепления ПК к раме дрона. В этом вопросе есть стандарт, который состоит из 3 схем:
Размер платы соответствует размеру дрона, который вы будете собирать, например, 30,5 х 30,5 мм устанавливаются в рамы размером от 200 мм и больше, а на меньшие рамы устанавливаются последующие размеры полетных контроллеров.
Какие есть дополнительные функции в полетном контроллере?
OSD — это очень важная и нужная функция. OSD накладывает на видеопоток дополнительную информацию с различных датчиков квадрокоптера, например, напряжение аккумулятора, высота, скорость и так далее. Любой, кто сталкивался с minimOSD, знает, какая трудность — подключить и настроить эту плату, да и мало подключить, ее еще нужно программатором прошить, и только после этого плату OSD можно будет настраивать в Betaflight.
Поэтому делайте выбор в пользу полетных контроллеров с встроенным OSD, это сбережет вам нервы и время.
Плата разводки питания (PDB)
К плате разводки питания подключаются аккумулятор и двигатели с регуляторами оборотов, а также полетный контроллер и прочая периферия. У некоторых ПК такая плата уже есть, они совмещены. Это, конечно, плюс, но где плюсы, там и минусы — в такой компоновке будет мало места, и в случае поломки ее будет сложнее устранять.
Датчик тока (Current Sensor)
На плате разводки обычно есть контакты VBAT, куда подключаются контакты полетного контроллера и ПК снимает данные о текущем напряжении, но свой собственный датчик тока эффективнее.
Регуляторы оборотов (ESC)
Наверняка вы уже слышали или видели регуляторы оборотов 4 в 1, такая квадратная плата вместо 4 плат. Инженеры решили интегрировать регуляторы сразу в полетный контроллер и теперь, если вы купите такой ПК, вам можно будет припаять двигатели напрямую к ПК. О целесообразности такого выбора решать только вам.
Черный ящик (Blackbox)
Черный ящик нужен для записи логов работы квадрокоптера, туда записываются всевозможные данные, которые обрабатывает полетный контроллер. Есть два места, куда можно вести запись логов, это флеш-память полетного контроллера и SD-карта (флешка).
Плюсы встроенной флеш-памяти:
Минусы встроенной флеш-памяти:
Плюсы SD-карты:
Минусы SD-карты:
Типы коннекторов
Это, конечно, не функция, но не рассказать об этом нельзя. На полетном контроллере есть 3 типа соединений между периферией:
Пластиковые коннекторы в основном используются для подключения периферии, которую иногда нужно отключать и снимать, в этом их плюс — быстро снять/подключить. Они не очень прочные, но удобные.
Контактные площадки для припаивания удобны в использовании, но если контакт сильно нагреется во время использования, то есть вероятность, что он оторвется. То же самое и в вопросе о разрыве при сильном натяжении.
Отверстия для припаивания удобны тем, что провод гораздо прочнее будет «сидеть» в пазу. Также можно использовать угловые штифты для более удобного подключения периферии.
Регулятор напряжения (BEC)
На современных (да и не только) ПК есть отдельные контакты для подключения источника потребления на 5V и на 12V, иногда встречаются даже на 9. Хоть сейчас почти все FPV-компоненты рассчитаны на ток в широком диапазоне и их можно подключать даже к аккумулятору, мы все же рекомендуем подключать их к отдельному входу на полетном контроллере, где ток подается стабильным, тогда как в аккумуляторе он будет постоянно «скакать» от нагрузки.
Светодиод состояния
Удобная функция, которая отображает текущее состояние полетного контроллера. Обычно у светодиода есть 2 цвета — красный и синий. В зависимости от того, каким и сколько раз мигает ПК — пилот понимает, все ли в порядке. Эта спецификация всегда указывается с конкретным контроллером.
Кнопка для перехода в режим прошивки
Без такой кнопки не обойтись ни одному полетному контроллеру. Для прошивки замыкают 2 контакта, затем подключают к компьютеру и запускают Betaflight конфигуратор или любой другой. Есть два типа:
С кнопкой удобнее — нажал отверткой и все, а вот для контактов нужно использовать пинцет или скрепку, чтобы закоротить их.
Какие еще бывают функции в полетном контроллере?
Заключение
Как вы заметили, полетный контроллер — это очень важный узел в квадрокоптере и занимает очень много места в теории. И на вопрос, как правильно выбрать полетный контроллер, у вас не должно оставаться этих самых вопросов, а если остались, вы должны понять, для чего вам нужен квадрокоптер, для каких нужд. Если для гонок и драйва, то одни контроллеры, если для съемки, то другие. Также стоит учитывать ваши навыки, если вы новичок, то не стоит брать дорогие контроллеры с кучей датчиков или наоборот те, в которых абсолютно ничего не настроено и даже нет прошивки.
Также стоит учитывать бюджет, который вы можете потратить, так как цены очень сильно разнятся. Например, SP Racing F7 с OSD для гоночных дронов стоит от 1600 до 2500 рублей, а вот DJI A3 для профессиональной фото- и видеосъемки стоит 50 000 – 60 000 тысяч рублей.
Подведем итоги:
Выбирать полетный контроллер следует из ваших потребностей – для гонок, для съемки или для автономных полетов, а также, а также, на основе статьи, что написана выше.
Полетный контроллер¶
Беспилотники мультироторного типа, аэродинамически неустойчивы и требуют постоянной стабилизации в полете. Так как человек не способен одновременно контролировать скорость вращения трех и более двигателей достаточно точно, чтобы сохранять баланс беспилотного летательного аппарата в воздухе. Появление достаточно быстродействующих микроконтроллеров и интегральных датчиков ускорения и угловой скорости на основе микроэлектромеханических систем (МЭМС), позволили решить эту задачу, и стимулировать развитие высокопроизводительных полетных контроллеров (автопилотов), алгоритмы которых в свою очередь раскрывают новые возможности управления полетом.
Полетный контроллер – электронное устройство, представляющее из себя вычислительную систему, работающую по сложным алгоритмам, и управляющая полетом беспилотного летательного аппарата. Функции полетного контроллера могут определяться установленной на борту мультикоптера дополнительной периферией (GPS, модем, OSD, подвес для фото/видеокамеры, датчики тока и напряжения, поисковые средства и тд.).
Основные задачи выполняемые полетным контроллеров:
Сбор и обработка информации с инерциального измерительного блок (IMU), датчиков ускорений и угловой скорости, обеспечивая аэродинамическую устойчивость аппарата в горизонтальной плоскости. Некоторые IMU включают в себя магнитометры позволяя стабилизировать ориентацию аппарата относительно магнитного меридиана и удержания направления движения.
Сбор и обработка информации с барометрических, ультразвуковых, инфракрасных сенсоров или радиотехнических высотомеров, датчики рассчитывают высоту и обеспечивают стабилизацию аппарата в вертикальной плоскости. Возможность привязки позиции коптера на заданной высоте и в заданной точке при помощи модулей GPS/ГЛОНАСС.
Выполнение заранее построенного маршрута полетного задания созданным в специальном программном обеспечении с постоянным или переменным соблюдением телеметрических данных заданными оператором, и осуществлять автоматический возврат в точку старта при помощи модуля GPS/ГЛОНАСС.
Остановка перед препятствиями и их преодоление, по средству набора сенсоров, определяющих расстояние до объекта. В случае оснащения системой технического зрения, полетный контроллер должен обладать высокой вычислительной способностью, который в реальном времени будет аккумулировать и обрабатывать данные с сенсоров, постоянно сканирующих окружающую среду. Состав системы может отличаться типом и количеством датчиков, соответственно у разных коптеров различается, как принцип, так и математические алгоритмы работы и взаимодействия между этими датчиками.
Система технического зрения может включает набор следующих сенсоров: стереоскопические (датчик изображения), инфракрасные или ультразвуковые дальномеры, двумерные лидары, 3D-лидары (Flash-LiDAR Time-of-Flight). Последние с алгоритмами одновременной навигации и построения карты (SLAM) позволяют строить 3D-модель окружающего пространства и планировать в нем безопасный маршрут, предотвращая столкновения с препятствиями.
Сбор и обработка данных с внешних источников данных (GPS/ГЛОНАСС, датчики тока, напряжения, температуры) и штатных (барометр, акселерометр, магнитометр) с последующей передачей потока данных на модуль OSD (On-Screen Data – будет рассмотрен далее), которые на земле отображаются на FPV-очках или дисплее. Данные телеметрии так же могут передаваться непосредственно с полетного контроллера при помощи радиомодема, который обеспечивает двухстороннюю связь по протоколу UART (универсальный асинхронный приемопередатчик) через радиоканал.
Инерциальный измерительный блок (IMU)¶
Полетный контроллер оснащен набором миниатюрных измерительных устройств (датчиков), которые лежат в основе инерциального измерительного блока.
Инерциальный измерительный блок или система инерциальной навигации (от англ. IMU – Inertial Measurement Unit) – это система, которая определяет своё положение в пространстве используя свойства инерции тел, то есть определяет на какой угол и по какой оси она была повернута и была смещена относительно начальной точки. Измерительный блок включает в себя датчики линейного ускорения (акселерометр) и угловой скорости (гироскоп). Основной задачей датчиков на полетном контроллере является непрерывное получение навигационных данных для математических расчетов микроконтроллером (микропроцессором), который устанавливает положение беспилотника относительно горизонта и обнаруживает изменения углов ориентации, относительно его предыдущего положения в пространстве, затем направляет данные в электронные регуляторы оборотов двигателей (ESC). Вычисленные данные микроконтроллером позволяют обеспечивать полет мультикоптером, управляя газом, углами крена, тангажа и рысканья (throttle, pitch, roll, yaw).
Современные датчики положения и ускорений используемые при управления беспилотными летательными аппаратами основаны на технологии микроэлектромеханических систем (МЭМС).
МЭМС (MEMS) или микроэлектромеханические системы представляет собой технологию, которая позволяет миниатюризировать механические структуры и полностью интегрировать их с электрическими схема, что приводит к одному физическому устройству, где механические и электрические компоненты работают для реализации желаемой функциональности. Таким образом, МЭМС-устройство представляет собой микро (т.е. очень маленький) чип, в котором одновременно находятся электрическая система, отвечающая за обработку сигналов и движущаяся механическая система. Физические размеры МЭМС-устройств могут варьироваться от одного микрона до нескольких миллиметров, а также от относительно простых структур практически без движущихся элементов до очень сложных электромеханических систем.
Принцип работы интегрального гироскопа¶
Гироскоп (от греч. «gyros» – круг и «skopeo» – смотрю, наблюдаю) – это устройство, которые способно реагировать на изменение углов ориентации объекта, относительно инерциальной системы отсчета и определять его положение в пространстве. Схема показана на рисунке 1.
Рисунок 1 – Устройство интегрального гироскопа
Чувствительным элементом интегрального гироскопа являются две подвижные массы (грузики), которые находятся в непрерывном движении на упругом подвесе в противоположенных направлениях. Источником колебаний подвижной массы является гребенчатые электростатические двигатели. Подвижная масса, вместе с электродами, расположенная на подложке, образуют конденсаторы, входящие в состав дифференциальной схемы, вырабатывающей сигнал, пропорциональный разности емкостей конденсатора. Линейное ускорение одинаково воздействует на обе подвижные массы и подложку, поэтому сигнал на выходе дифференциальной схемы не появляется. Как только произойдет изменение угловой скорости относительно оси вращения, то на подвижные массы начинает действовать сила Кориолиса, отклоняя подвижные массы в противоположных направлениях. Соответственно, емкость одного конденсатора увеличивается, а другого уменьшается, что порождает разностный сигнал, пропорциональный величине углового ускорения. Таким образом, осуществляется преобразование угловой скорости гироскопа в электрический параметр, величина которого детектируется специальным датчиком.
Для того, чтобы мультикоптер определял положение в пространстве относительно трех ортогональных направлений х, y, и z, внутри одного корпуса микросхемы располагаются три датчика перпендикулярно осям. От сюда происходит название – трех осевой гироскоп.
Принцип работы интегрального акселерометра¶
Акселерометр (от лат. «accelero» – ускоряю и греч. «metreo» – измеряю) – это устройство, которое измеряет кажущееся ускорение (разность между истинным ускорением объекта и гравитационным ускорением). В состав интегрального акселерометра входят высокоточный чувствительный элемент (движущийся) для определения ускорений и электронная часть, осуществляющая обработку сигнала (рисунок 2).
1 – Поликремниевые пружины; 2 – Фиксированные пластины (контакты); 3 – Кремниевая подложка (корпус); 4 – Подвижная масса с проводниками; 5 – Изменение емкости.
Рисунок 2 – Устройство интегрального акселерометра
На статическом корпусе (не подвижном) параллельно размещены тонкие фиксированные пластины (контакты), снимающие показания, а источником данных является подвижная масса закрепленная на упругих поликремниевых пружинах и выполнения в виде тонкой рамки с отведенными в стороны проводниками и допускающая перемещение в определенных пределах, когда к определенной оси применятся ускорение.
Отведенные в сторону проводники подвижной массы располагаются между фиксированными пластинами (контактами), через которые снимаются показания перемещения проводников. Объектом измерения выступает изменяющаяся емкость между фиксированными пластинами и проводниками подвижной массы, где изменение емкости пропорционально ускорению оси относительно который происходит движение.
Датчик обрабатывает это изменение емкости и преобразует его в аналоговое выходное напряжение, где специальный чип, интегрированный в корпус МЭМС-устройства, его измеряет. С учетом этих данных и заранее известных массы и параметров подвижного элемента, чип выдает итоговое значение ускорения по одному из трех ортогональных направлений x, y, и z. Это значение используется микроконтроллером для автоматического выравнивания полета мультикоптера.
Интегральные акселерометры, как и гироскопы в мультикоптерах являются трехосевыми, с тремя датчика расположены внутри одного корпуса микросхемы перпендикулярно осям х, у и z.
В современных МЭМС микросхемах трехосевые акселерометры и трехосевые гироскопы часто объединяют в одном корпусе, в этом же корпусе располагается электронная часть для предварительной обработки сигналов, с внешними протоколом обмена I 2 C или SPI. Ниже на рисунке 3 приведены наиболее популярные IMU, объединяющие акселерометр и гироскоп, используемые в полетных контроллерах.
*MPU9150 – это MPU6050 со встроенным магнитометром АК8975;
*MPU9250 – это MPU6500 с тем же магнитометром.
Рисунок 3 – Модели IMU и способы подключения
У IMU есть две основные характеристики, это частота работы или частота сэмплирования и чувствительность к шумам (механическим вибрациям и электрическим помехам). Чтобы частично решить проблему с возникающими механическими вибрациями, на полетный контроллер устанавливаются демпферы или пористый материал, который сможет гасить вибрацию.
I 2 C и SPI – это протоколы связи (BUS) между микроконтроллером и IMU. В зависимости от того, какой протокол будет выбран, будут зависеть ограничения в скорости работы IMU. При использовании SPI, появляется возможность работать с большими частотами 32KHz, в то время как с протоколом I 2 C лимит ограничен в 4KHz. Поэтому большинство современных полетных контроллеров используют протокол SPI.
Типы полетных контроллер (ПК)¶
Сегодня разрабатывается огромное количество различных типов полетных контроллеров для конкретных задач и видов беспилотников. Рассмотрим некоторые из них, используемых в мультироторных системах.
ПК MultiWii – один из первых и широко известных полетных контроллеров для беспилотных летательных аппаратов (рисунок 4). Имеет открытые исходные коды, так же имеет базовую инерциальную навигационную систему (трехосевой гироскоп и трехосевой акселерометр), которая может запрограммирована определенным требованиям. Имеет встроенные датчики давления (барометр) для определения высоты и магнитометр для стабилизации курса. Поддерживает прямое подключение модуля GPS, за счет чего реализуется точное позиционирование и возможностью полного программирования автономного полета. Подходит для аэрофото/видеосъемке, возможно подключение Bluetooth или радиомодема.
ПК PixHawk – один из наиболее функциональных полетных контроллеров с открытым исходным кодом и архитектурой (рисунок 4). Построен на современной элементной базе, прежде всего 32-битном микроконтроллере STM32 на основе ядра ARM7 [10]. Базовая инерциальная навигационная система включает в себя трехосевой гироскоп и трехосевой акселерометр, так же высокоточной барометр и магнитометр. Полетный контроллер оснащен дополнительным микроконтроллером (резервной системой) работающая на отдельной цепи питания, предусмотренный на случай отказа основного. Возможность подключения дополнительной периферии через протоколы обмена данных (UART, CAN, I 2 C, SPI). Модуль GPS для автономных полетов по заданным координатам и поддержка MicroSD (черный ящик) для записи полетной информации.
Рисунок 5 – Контроллер PixHawk
ПК XRacer F3 – полетный контроллер основан на поколении микропроцессоров серии F3, и разработан специально для FPV гонок, что предоставляет больше возможностей по гибкой настройке полетных параметров (рисунок 6). Имеет минимум расширенных функций, гироскоп и акселерометр, барометр и магнитометр не используются при FPV гонках. Два последовательных порта UART 1 и 2 и один отдельный порт SBUS (он же UART3), восемь контактных площадок для моторов, установленный чип памяти на 16МБ для настройки ПИД коэффициентов и отдельная кнопка для прошивки загрузчика.
Рисунок 6 – XRacer F3
Процессор полетного контроллера¶
Процессор или правильней называть его микроконтроллером отвечает за все вычислительные операции системы и от него зависит насколько быстро будут обрабатываться поступающие к нему данные. Микроконтроллеры (процессоры) делятся на поколения: F1, F3, F4, F7. Серия поколений микроконтроллеров основаны на базе семейства 32-битных микроконтроллерных интегральных схемах STM32.
Основные отличия в работе этих поколений заключается в размере памяти и вычислительных мощностях (тактовая частота). Таблица с отличительными техническими характеристиками микроконтроллеров различных поколений приведена ниже.
*под флеш-памятью понимается встроенная память для хранения прошивки.
Примечание: тактовая частота микроконтроллера – это количество тактов в секунду которые выполняет микроконтроллер, чем больше тактовая частота, тем большее количество операций за 1 секунду может выполнить микроконтроллер, то есть это величина, которая определяет скорость его работы. К примеру, тактовая частота в 72 МГц микроконтроллера F1 означает, что он может выполнить 72000000 миллиона различных операций за 1 секунду.
Серия процессора F1 является самой медленной из всех рассматриваемых, некоторые программные обеспечения его уже не поддерживают из-за ограниченных вычислительных возможностей, но работа полетного контроллера не ограничена полностью, а лишь в добавлении новых ресурсоемких функций. Несмотря на то, что процессоры F1 и F3 имеют одинаковую максимальную тактовую частоту в 72 МГц, F3 выполняет операции быстрее благодаря дополнительному математическому сопроцессору. Модели полетных контроллеров на F3 имеют больше функциональных возможностей по сравнению с F1 благодаря расширенному количеству UART портов.
Микроконтроллер F4 имеет тактовую частоту выше более, чем в 2 раза по сравнению с моделью F3, что повышает его вычислительные возможности. При этом так же имеет дополнительный сопроцессор.
Новые полетные контроллеры оснащаются микроконтроллеров F7, так как потребность в производительности современных мультикоптеров возрастает и обрабатывать данные становится все труднее. У микроконтроллера 7-ого поколения еще выше тактовая частота 216 МГц, и он имеет встроенный цифровой сигнальный процессор (от англ. Digital Signal Processor, DSP), специализированный процессор, предназначенный для обработки оцифрованных сигналов в режиме реального времени. Цифровой сигнальный процессор является узкоспециализированным, его единственная задача заключается в приеме на вход предварительно оцифрованных физических сигналов, к примеру видеоизображение, показания температуры, давления и положения, и производить над ними математические манипуляции. Структура DSP разрабатывается таким образом, чтобы они могли быстро выполнять арифметические функции, как сложение, вычитание, умножение и деление. Это позволяет улучшить и оптимизировать алгоритмы работы полетных контроллеров.
Последовательный порт UART¶
UART (с англ. Universal asynchronous receiver/transmitter) или УАПП (универсальный асинхронный приемопередатчик) – физический протокол передачи данных. Протокол называется последовательным, так как данные через него передаются по одному биту, последовательно бит за битом. Последовательный интерфейс позволяет подключать различную внешнюю периферию (устройства) к полетному контроллеру. Как например камеры, телеметрия и OSD, приемник и тд.
Рисунок 7 – Пример UART порта и их настройка в Betaflight конфигураторе
Чем больше UART портом имеет полетный контроллер, тем более гибко можно настраивать мультикоптер, и тем больше необходима производительность микроконтроллера, так как слабый микроконтроллер физически не сможет обрабатывать большое количество внешней периферии.
Основные рабочие линии у последовательного порта: RXD и TXD, или просто RX и TX. Передающая линия (для передачи данных) – TXD (Transmitted Data), RXD (Received Data) – принимающая (для приема данных). TXD на периферийном устройстве подключается к RXD на полетном контроллере и наоборот.
Данные черного ящика (BlackBox)¶
Полетные данные черного ящика используются при настройке PID и диагностике различных проблем, связанных с производительностью или летными характеристиками, которые могут возникнуть у мультикоптера.
Существуют несколько способов хранения данных черного ящика в зависимости от используемого полетного контроллера:
Первый способ представляет собой встроенную флэш-память в виде чипа на плате полетного контроллера. Она как правило имеет небольшую емкость и хранить относительно не много данных, имеет малую скорость обмена данными (скачивание логов), но при этом экономится место и не нужный отдельный разъем. В таблице 1 указаны объемы встроенной памяти в зависимости от модели микроконтроллера.
Рисунок 8 – Полетный контроллер со слотом для MicroSD
Второй способ реализуется по средству внешнего регистратора данных, то есть со встроенным слотом для MicroSD карты (рисунок 8), которая позволяет осуществлять запись и хранение полетных данных в намного больших объемах, с высокой скоростью обмена данными и без необходимости очистки свободного места.
Типы коннекторов¶
На полетном контроллере существует три типа соединений между периферией (рисунок 9). Пластиковые разъемы используются в основном для подключения внешней периферии, которую иногда необходимо отключать и снимать, не очень прочные, но достаточно удобные. Контактные площадки для пайки проводов, достаточно крепки, но есть риск их перегреть при пайке, что придет к отслоению от основной платы, то же самое может вызвать сильное напряжение. Отверстия для припаивания более универсальны и удобны тем, что провод будет гораздо прочнее находиться в пазе.
1 – пластиковый разъем (типа JST); 2 – контактные площадки; 3 – сквозные отверстия.
Рисунок 9 – Основные типы соединений на полетном контроллере
Программное обеспечение¶
Отличие полетных контроллеров заключается не только в типах используемых компонентов, из которых они состоят, но и в устанавливаемом программном обеспечение (прошивках). Прошивка, на которой работает полетный контроллер – это специальный набор правил и алгоритмов, которые обрабатывает микроконтроллер и без нее мультикоптер не включится и не взлетит. Для каждой прошивки разрабатывается свой поддерживаемый конфигуратор.
Конфигуратор (Configurator) – это программа с графическим интерфейсом, с помощью которой настраивается (включаются и отключаются датчики, меняются параметры PID, подключается внешняя периферия, задаются начальные и максимальные обороты двигателя и тд.) и загружаются прошивка в полетный контроллер. Хранится прошивка на интегрированном чипе флэш-памяти, который был рассмотрен ранее.
Одними из самых популярных конфигураторов, с помощью которых можно прошивать и гибко настраивать мультикоптер:
Существенных отличий в работе между ними нет, за исключением разного интерфейса и поддерживаемых полетных контроллеров (рисунок 10).
1 – Betaflight Configurator); 2 – CleanFlight Configurator; 3 – Raceflight Configurator.
Рисунок 10 – Основные виды конфигураторов для настройки мультикоптера
Вопросы для самопроверки¶
Материалы для самостоятельного изучения¶
МЭМС микросхема с трехосевым акселерометром и трехосевым гироскоп на примере MPU-6050.¶
Принцип работы полетного контроллера, виды микроконтроллеров (процессоров) и их принципиальные отличия.¶
Знакомство с одним из видов конфигураторов и основными параметрами полетного контроллера в Betaflight.¶
Назначение черного ящика (Blackbox), использование данных (логов) для диагностики и настройки мультикоптера.¶
Список использованных источников¶
Система инерциальной навигации imu-u1
Принцип работы интегрального магнитометра
Как работает акселерометр? Взаимодействие ADXL335 с Arduino
«Когда меньше – лучше». Какие бывают и для чего используются микроэлектромеханические системы?
Выбираем полетный контроллер для квадрокоптера.
Полетный контроллер MultiWii.
Полетный контроллер KK 2.1.5 LCD и MultiWii Pro+GPS.
Полетный контроллер MultiWii.
Полетный контроллер Pixhawk PX4 Autopilot 2.4.8
Обзор полетного контроллера XRacer-F3 FPVModel
STM32 microcontroller integrated circuits.
Полетный контроллер на чипах STM32 серии F1, F2, F3 и т.д.
UART и с чем его едят?