Контроллеры для квадрокоптеров | Купить в интернет-магазине RC-TODAY.RU | Страница 2

Контроллеры для квадрокоптеров | Купить в интернет-магазине RC-TODAY.RU | Страница 2 Квадрокоптеры

Frsky

FrSky производят и продают всем известные Taranis. Я думаю, любой пилот как минимум просто слышал о нем. Когда они вышли на рынок с Таранис, то буквально сдули с арены всех производителей. FrSky зарекомендовали себя как качественная и безотказная аппаратура управления с множеством функций и каналов.

Электроника собрана из качественных компонентов, которые выводят мощность передатчика на высокий уровень. Об этом говорит и поддержка сообщества, ведь Taranis — это самая популярная аппаратура у пилотов авиамоделей. Также как и у FlySky — купить запчасти или приемники — не проблема.

FrSky пошли навстречу пилотам дронов и выпустили версию Taranis QX7 с минимальным набором функций, но зато недорогую. К тому же, эта версия выглядит лучше, чем X9D. Для гоночных дронов мы рекомендуем покупать Taranis QX7 из всей линейки FrSky.

Аппаратура этого бренда отлично подходит для модернизации с помощью RF-модулей.

I2c или spi?

i2c и SPI — это названия шин для подключения гироскопов к процессору. Выбранная шина может ограничить частоты опроса гироскопов и ограничит looptime.

Лучше всего использовать SPI, т.к. она позволяет работать с бОльшими частотами, чем i2c, у которой лимит в 4k.

Гироскоп и акселерометр — очень важные датчики, они определяют положение квадрокоптера в пространстве, а также движется ли он, посылают эти данные процессору, а тот уже решает, какому двигателю поддать газа, а какому наоборот, снизить обороты.

Акселерометр выполняет роль стабилизатора в пространстве, есть даже такой режим полета — «Режим стабилизации», при котором квадрокоптер невозможно будет перевернуть в воздухе и он всегда будет держаться параллельно земле (если просто отпустить стики на пульте). Опытные пилоты почти всегда летают в режиме АКРО, поэтому они отключают акселерометр или используют его крайне редко.

Гироскоп же выполняет роль определения положения квадрокоптера в пространстве.

ГироскопПротокол коммуникации (BUS)Макс. частота работы гироскопа
MPU6000SPI, i2c8K
MPU6050i2c4K
MPU6500SPI, i2c32K
MPU9150*i2c4K
MPU9250*SPI, i2c32K
ICM20602SPI, i2c32K
ICM20608SPI, i2c32K
ICM20689SPI, i2c32K

MPU9150 — это MPU6050 со встроенным магнитометром AK8975, а MPU9250 — это MPU6500 и тоже с магнитометром.

Есть два критерия, которые нужно учитывать при выборе полетного контроллера с конкретным гироскопом, это частота работы и чувствительность к шумам (электро- и механическим).

На сегодня самыми популярными и надежными считаются гироскопы MPU6000, у них частота работы 8KHz, а также они достаточно не чувствительны к шумам. Советуем не покупать полетные контроллеры с гироскопами MPU6500 и MPU9250, у них хоть и частота выше, но они больше подвержены воздействию шумов.

Серия гироскопов ICM работает лучше и плавнее, чем MPU6000 на 32KHz, но из-за шумных двигателей и регуляторов оборотов производительность ICM будет ниже, чем MPU6000. Например, ICM20602 на Raceflight Revolt V2 или ICM20689 на Kakute F4, оба этих гироскопа могут работать на частоте 32KHz, но с регуляторами оборотов, которые генерируют много шума, они работать будут хуже, чем MPU6000. По этой причине на полетные контроллеры устанавливают сетевые фильтры для частичного удаления шумов.

Kiss fc v2

После 2х лет ожидания, Flyduino наконец-то выпустила KISS V2 для замены первой версии ПК. У KISS огромная толпа фанатов, которым нравятся характеристики этих ПК. Когда вы платите $80 за KISS FC V2, то вы платите не только за железо, но и за закрытую прошивку, которая работает только на ПК KISS.

Лично я считаю, что KISS летает плавнее и мягче, чем Betaflight, которая летает более точно (больше похоже на движения робота). Не самое точно описание, но как уж смог.

Это один из первых контроллеров, сделанных в виде буквы «H» и с контактными площадками для подпаивания проводов.

Во второй версии улучшено расположение контактов, теперь регули подключаются по углам платы. Имеющийся разъем также упростит проводку при использовании определенных PDB. Установка и настройка значительно проще, чем Betaflight.

На KISS можно поставить Betaflight, но, по-моему, есть и другие, более удачные ПК для Betaflight. Причина выбора KISS — это их закрытая прошивка.

Купить .

А теперь – о самом полетном контроллере

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

Структурная схема управляющего ПО показана на рисунке

Как видно из рисунка, ПО состоит из двух частей:

  • Veriflight – собственно, верифицированный полетный контроллер с алгоритмами.

  • Veriflight_board – библиотеки поддержи и адаптации для конкретной платы, которая оказалась у нас в наличии – не верифицированная. Но она и не содержит особой логики, кроме управления устройствами микроконтроллера.

Так как тратить много времени не хотелось, то драйвер для USB в STM32 был взят прямо нативный и при помощи Interop был слинкован с оберткой на Ada.

Плата оказалась оснащена минимальным количеством периферийных устройств: 

  • STM32F405 микроконтроллер на 168 МГц (192кб RAM, 1Mб flash)

  • трансивером S.BUS на USART1

  • 6-осевым гиро-акселерометром без магнитного компаса

  • токовыми усилителями PWM

  • USB-интерфейсом, PHY-часть которого реализована на самом микроконтроллере платы.

Полетный контроллер реализован по простой схеме и «крутит» 2 цикла:

  1. внешний

  2. внутренний

Внешний цикл это цикл опроса периферии (CMD task на рисунке) в ожидании команд с радиопередатчика. Если команды нет, он передает признаки «сохраняем высоту, держим горизонт». Если команда с пульта есть, передаем ее – целевой угол наклона, целевую мощность на пропеллеры. Частота внешнего цикла 20 Гц.

Внутренний цикл – цикл опроса гиро-акселерометра и распределения мощности на двигатели. Цикл оборудован 3 PID-регуляторами, и математикой Махони для расчета текущего положения по сигналам с гироскопов. В расчетах внутри используем кватернионы, для генерации управляющего сигнала – углы Эйлера. Частота размыкания внутреннего цикла – 200 Гц. Да, Ада без проблем успевает диспетчеризировать с такой скоростью.

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

Внутренний цикл реализует опрос PID и стабилизацию аппарата:

  • Считали затребованные пилотом углы

  • Запросили у математики расчетные углы положения

  • Нашли расхождение между желаемыми и настоящими

  • Пересчитали текущее положение на основании сигналов с гиро-акселерометров

  • Зарядили PID-регуляторы на новую коррекцию, если пришли новые затребованные углы

  • Запросили у PID-пакетов текущие импульсы коррекции

  • На основании них, а также запрошенной пилотом мощности на двигатели, сформировали необходимое распределение скоростей вращения на двигателях

Забавно, что большинство опен-сорсных реализаций Махони (для Arduino и не только) – на Cи и Wiring оказались содержащими разнообразные баги. Это мешало системе заработать. После того, как было выпито пол-ящика лимонада и съедена корзина круассанов, алгоритм воссоздали с нуля по описанию из [MHN], и система тут же заработала.

Данная схема, как и любая упрощенная модель, испытывает сложности при приближениях параметров к предельным. Здесь это 90 по крену и тангажу – при их превышении для безопасности реализовано отключение двигателей (disarm).

Кроме этого, управление по углу рыскания выполнено сквозным, а PID там используется только для контроля сильных отклонений между выданным и расчетным углами. Это связано с тем, что пилот по скорости, крену и тангажу ожидает реакцию коптера в виде наклона, пропорционального отклонению стиков, а по рысканию — в виде скорости вращения, пропорциональной отклонению.

Но для первого приближения вышло отлично, хотя и совсем не подходит для акробатического квадрокоптера.

Статья получилась неожиданно длинная, поэтому придется разбить ее на две части.  Мы в первой части постарались познакомить вас с инструментами предков, которые на удивление неплохи: по крайней мере, мы сделали выводы, что дальнейшие проекты для эмбеддед хочется делать на Ada, а не на Си.

Итог на текущий момент

Квадрокоптер с прошивкой на Ada/SPARK прошел тесты на подпружиненном стенде и полетах в закрытом помещении, собираются логи, схема стабилизации работает в соответствии с ожиданиями, но в рамках ограничений на углы маневров, как описано выше.

Мы в R&D продолжаем познавать верификацию ПО и с нетерпением ждем схода снега в Москве, чтобы в следующей статье поделиться результатами испытаний, подгонки и видео тестовых полётов ПО в уличных условиях, которое, кажется, статически проверено на то, что не содержит ошибок.

И конечно, на время испытательных полетов все runtime-проверки все равно останутся включены, хотя конечный итоговый результат – проверки не нужны, так как заведомо известно, что они выполняются.

Для себя мы сделали вывод, что для embedded будем стараться писать только на Ada.

Аккумулятор и питание передатчика (пульта)

Пульт управления может получать питание 4 разными способами и от этого тоже зависит удобство использования:

  1. Батарейки типа «АА». Это самый простой и дешевый вариант запитать пульт управления. Как правило, в пульт их нужно 4 штуки. Долговечность — смотря какие вы купите и как много времени будете использовать пульт. Меняются легко, а запасные много места в рюкзаке не занимают. Можно также использовать перезаряжаемые аккумуляторы (тоже пальчиковые).
  2. NiCd или NiMH аккумуляторы. Могут быть разных размеров, так как их обычно стягивают термоусадкой в единую батарею. Недостатком будет малая емкость и эффект памяти — со временем они будут терять емкость и их нужно будет заменять.
  3. LiPo аккумуляторы. В пультах LiPo используют маломощные варианты. У них большая емкость, нет эффекта памяти. Одного заряда будет хватать на долгое время. Плюс к этому, такой аккумулятор прослужит долго благодаря бережной эксплуатации.
  4. Li-ion аккумуляторы или элементы 18650. Некоторые современные пульты используют такие элементы, они компактные, а запас емкости больше, чем у всех остальных.

Выбор приемника

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

  • Размер. Меньше не значит хуже. При выборе радиоприемников следует делать выбор в пользу маленьких и компактных. Это меньший вес и занимаемое пространство, а работать будет также, как и большой. Большие приемники просто не поместятся в большинство сборок мини квадрокоптеров.
  • Поддерживает ли приемник SERIAL протоколы, такие как “SBUS”, “SRXL” и “IBUS”. С такими протоколами гораздо легче и проще выполнить соединение с полетным контроллером.
  • Антенны. Если антенны 2, то это хорошо, так как от этого увеличивается диапазон покрытия и приемник лучше будет принимать сигнал у препятствий.
  • Длина антенн. Чем длиннее, тем лучше. Это связано с тем, что карбон (рама) не пропускает радиоволны, поэтому антенны нужно выносить за пределы рам для лучшего принятия сигнала.
  • Цена. Приемники для некоторых систем неадекватно дорогие.

Гироскопы (gyro), инерциальная навигация (imu)

Цель датчиков на ПК определить ориентацию коптера и его движения. Микросхема с датчиками (IMU) содержит как гироскопы, так и акселерометры, но так как большинство FPV пилотов используют Acro Mode, то акселерометры обычно отключаются. Т.е. под IMU обычно подразумеваются только гироскопы (gyro).

IMUСпособ подключения, шиныМакс. частота сэмплирования
MPU6000SPI, i2c8K
MPU6050i2c4K
MPU6500SPI, i2c32K
MPU9150*i2c4K
MPU9250*SPI, i2c32K
ICM20602SPI, i2c32K
ICM20608SPI, i2c32K
ICM20689SPI, i2c32K

* MPU9150 — это MPU6050 со встроенным магнитометром AK8975, а MPU9250 — это MPU6500 с тем же магнитометром.

Выяснить тип можно взглянув на маркировку микросхемы, вот для примера популярный вариант Invensense MPU-6000.

У IMU есть две основные характеристики: максимальная частота семплирования и насколько полученные данные будут зашумлены (механическими вибрациями и электрическими помехами).

В настоящее время очень часто используют микросхему MPU6000, которая поддерживает частоту опроса до 8k, и обладает (неоднократно проверено) хорошей устойчивостью к разного рода шумам и помехам. Главное стараться избегать MPU6500 и MPU9250, хотя у них больше рабочая частота, но и уровень шумов тоже значительно выше.

Скорость работы гироскопов — это палка о двух концах: если питание чистое, и шумов нет, тогда серия ICM на 32k будет работать лучше, чем MPU6000. Однако, если регуляторы и моторы генерят довольно много помех, а коптер вибрирует, тогда ICM хуже, чем MPU6000.

Например, ICM20602 стоит на Raceflight Revolt V2, а ICM20689 на Kakute F4, оба работают на частоте 32k. Однако, в обзорах часто упоминают, что эти гиры более чувствительны к шумам, чем MPU6000, поэтому вышеупомянутые ПК лучше крепить с демпферами (антивибрационное крепление) и использовать конденсаторы для фильтрации помех по питанию, это поможет снизить шум.

В последнее время появляется всё больше и больше ПК с гироскопами на отдельной плате с антивибрационной развязкой (кусок поролона, чтобы снизить вибрации от моторов).

Иной подход

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

Прежде всего, верификация НЕ является гарантией того, что программа не содержит ошибок, а является только проверкой, что программа гарантирует некоторые свойства. А уже дело программиста таким образом обеспечить контроль свойств, чтобы получить нужные результаты.

В случае с SPARK, верификация базово предоставляет нам гарантии:

  • отсутствия переполнения массивов и переменных

  • отсутствия выхода за границы в типах и диапазонах

  • отсутствия разыменования null-указателей

  • отсутствие выброса исключений.

  • гарантию неприменения инструментов, проверку которых выполнить нельзя.

  • гарантию выполнения всех инвариантов, которые мы опишем. А опишем мы много!

    Круто, да?

Для описания инвариантов в языке SPARK предусмотрены специальные расширяющие конструкции языка, описывающие контракты процедур, структур данных, и даже циклов. Контрактом можно указать, например, что данная функция не может обращаться к глобальным переменным, или модифицировать глобальное состояние.

SPARK также учитывает ограничения на типы, которые описаны в Ada. В случае обычного исполнения ошибка несоответствия типов упадет в Runtime; SPARK же позволяет статически доказать, что ограничения на типы не могут быть нарушены никаким потоком исполнения.

Например:

Или другой пример:

Компилятор и верификатор не дадут создать такой код, который приведет к присвоению значений, нарушающих ограничения и предикаты.

Отдельный плюс SPARK в том, что система позволяет “натягивать” гарантии на программу поэтапно, то есть программа может быть частично верифицированной. То есть часть модулей можно объявить верифицируемыми, а часть – (пока) нет.

Сам SPARK делит верификацию на уровни: от “каменного” (Stone level) через “Бронзовый” и “Серебряный” уровни до “Золотого” (Gold) и “Платинового”. Каждый из уровней усиливает гарантии:

Мы остановились на уровне Gold, потому что наш квадрокоптер все-таки не Boeing 777 MAX. 

Как работает верификация в SPARK: прувер собирает описание контрактов и типов, на их основе генерирует правила и ограничения, и далее передает их в солвер (SMT – Z3), который проверяет выполнимость ограничений. Результат решения прувер привязывает к конкретным строкам, в которых возникает невыполнимость.

Более подробно можно почитать в [SUG]

Иной язык

Несмотря на то, что сейчас “рулят” си-подобные ECMA-языки, мы нормально отнеслись к тому, что от этого придется отказаться. Более того, кажется, что чем больше программа, тем больше вредит укорочение ключевых слов и конструкций. Что касается Rust, то он – субъективно – в отношении минимализма издалека сильно напоминает Perl, к сожалению.

И наоборот, по ощущениям, пространные, многобуквенные конструкции раздражают, когда разум летит вперед, но не мешают, когда во главу угла ставится надежность, понятность, и легкость чтения. В этом смысле Ada (а SPARK это подмножество Ada) вполне хорош. Теперь давайте посмотрим, что же язык Ada может дать embedded-разработчику.

 Профили

Сам язык и стандартная библиотека позволяет определять и использовать так называемые “профили”. Профиль это набор ограничений, выполнение которых контролирует компилятор. Например, можно определить ограничение “нельзя использовать динамическую память”.

Мы используем профиль Ravenscar, специально для embedded-разработки. Он включает пару дюжин ограничений, которые делают вашу разработку для микроконтроллеров более удобной и верифицируемой: нельзя на ходу переназначать приоритеты задач-потоков, переключать обработчики прерываний, сложные объекты из stdlib-ы и такое.

Вот ограничения профиля Ravescar, для примера

 Runtime

Когда в embedded необходимо создать более-менее сложное приложение, там всегда заводится RTOS, и ее выбор и интеграция это отдельная песня. В случае с Ada с этим больше нет сложностей – сама Ada включает в себя минимальную исполняемую среду с вытесняющим планировщиком потоков (в Ada это tasks, задачи), с интегрированными в сам язык средствами синхронизации (семафоры, рандеву, называются entries) и даже средствами избегания дедлоков и инверсии приоритетов. Это оказалось очень удобно для квадрокоптера, как станет понятно ниже.

Для embedded-разработчика доступны на выбор также разные рантаймы:

  • zero-footprint – с минимальными ограничениями и даже без многопоточности; зато минимальная программа не превышает пары килобайт, влезает даже в TO MSP430

  • small footprint – доступна большая часть функций Ada, но и требования побольше, несколько десятков килобайт RAM

  • full ravenscar – доступны все функции в рамках профиля Ravenscar/Extended Ravenscar

Вот пример описания пустой задачи

Хочется обратить внимание, что эти задачи – это по сути легковесные green threads, так как под ними нет никаких настоящих потоков не существует. Поэтому мы не страдаем от отсутствия корутин, ведь задачи не тяжелее них, зато встроены в язык.

Кроме этого, в Ada есть достаточно мощная stdlib для ядра STM32, включая полную реализацию рантайма. Возможно, и для вашей архитектуры она тоже есть.

Почему не “rustRustRUST”!

Когда мы говорим, про гарантии в языках программирования, сразу вспоминается Rust и его гарантии относительно указателей. Почему тут не он? Нам кажется, что Spark мощнее.

Ada не очень любит указатели – там они называются access types, и в большинстве случаев там они не нужны, но если нужны, то – в Spark также есть проверки владения, как в Rust. Если вы аллоцировали объект по указателю, то простое копирование указателя означает передачу владения (которую проконтролирует компилятор/верификатор), а передачу во временное владение (или доступ на чтение) верификатор также понимает и контролирует.

В общем, концепция владения объектом по указателю, и уровень доступа через этот указатель – есть не только в Rust, и его преимуществами можно пользоваться и в других инструментах, в частности, в Ada/SPARK. Подробно можно почитать в [UPS]

Вот пример кода с владением

Почему мы пишем, что в Ada/SPARK не нужны указатели? В отличие от Си, где базовым инструментом является указатель (хочешь ссылку – вот указатель, хочешь адрес в памяти – вот указатель, хочешь массив – вот указатель – ну вы поняли?), в Ada для всего этого есть строгий тип.

Если уже и этого мало, есть интероп с СИ – то есть код можно компилировать совместно, и слинковать на этапе сборки. Но в этом случае гарантии поведения модуля как черного ящика остаются на разработчике. Для интеропа используются атрибуты – вот так, например, мы оборачиваем функцию на Си в доступ для Ada.

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

IDE

Для работы доступна вполне приятная и удобная IDE, но всегда можно использовать и VSCode с плагинами, и другие текстовые редакторы.

О производительности и надежности

Вполне валидным аргументом может быть вопрос с эффективностью ПО. Что касается эффективности, то в интернете доступно свежее исследование [EFF], из которого хочется привести табличку, показывающую, что “старичок» Ada еще огого:

Если говорить о надежности, то SPARK/Ada известен как один из языков с наименьшим количеством ошибок. В планируемом на 21 запуске кубсатов [LIC] полетное ПО планируется реализовывать на Ada, предыдущий спутник BasiLEO тоже на Ada был единственным среди 12, кому удалось приступить к планируемой миссии.

Как работает аппаратура управления авиамоделями?

Вся современная аппаратура управления работает на частоте 2.4GHz. Это общепринятый стандарт, и вам наверняка знакома эта цифра, ведь в данном диапазоне работают Wi-Fi роутеры и блютуз. На практике системы управления в дорогих дронах, например, DJI так и работают — пульт это грубо Wi-Fi роутер, к которому подключается квадрокоптер. На самом деле, DJI обменивается данными пульт-квадрокоптер по технологии Ocusync.

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

Важный момент: если аппаратура не с многопротокольным модулем, то покупать пульт управления и приемник нужно только одной фирмы!

Если вы покупаете пульт FrSky Taranis, то вам необходимо купить приемник этого же производителя, то есть FrSky. С приемниками других производителей он работать не будет. То же самое относится и ко всем другим: Futaba не будет работать с пультом или приемником от Spektrum. Поэтому при покупке будьте внимательны.

Сейчас набирают популярность пульты с многопротокольным модулем. Такая аппаратура управления может подключаться к огромному количеству различных приемников разных брендов, вам нужно в настройках лишь выбрать название бренда и тип приемника. К таким относится, например, Jumper T-Lite. Есть и другая аппаратура.

Какие бывают полетные контроллеры?

Ниже рассмотрим вопрос — какие бывают полетные контроллеры, а точнее, для каких целей.

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

На нем присутствуют все стандартные датчики – гироскоп и акселерометр, а в расширенной версии DELUXE также есть барометр и компас.

Гироскоп и акселерометр определяют текущее расположение дрона в пространстве. Барометр определяет высоту по давлению (чтобы удерживать высоту, например), компас для удержания направления полета.

KISS – прошивать своей прошивкой нельзя. Имеет графический интерфейс с минимумом настроек.

LUX – такой же гибкий, как Naze32, но все же уступает ему. Прошивать можно.

Самым популярным в этом сегменте коптеров является DJI NAZA-M V2: тот самый, что стоит в Фантомах. Идеальный контроллер для фото- и видеосъемки с качественной стабилизацией. На нем спокойно сможет летать новичок, который до этого ни разу не брал пульт в руки.

Поддерживает весь набор датчиков (GPS, телеметрию, OSD  и т.д.)

ArduPilot AMP поддерживает GPS и автономный полет по заданным координатам. Тоже достаточно популярный контроллер, но стоит дороже обычных из-за наличия более важных датчиков.

Vector Flight Controller-  профессиональный полетный контроллер с встроенной системой Eagle Tree.

Новичок тоже сможет на таком летать. Эти контроллеры стоят дорого, а вес и размер стремятся к идеалу для аэросъемки.

3DR Pixhawk — самый популярный контроллер для автономных полетов. На его борту есть резервная система, а также он поддерживает все известные датчики для дронов.

MultiWii Pro — дешевый и доступный, позволяет отлично стабилизировать коптер, также на нем есть барометр, магнитометр и GPS.

Теперь, после краткого обзора типов полетных контроллеров, перейдем к полному описанию.

Поддержка телеметрии

Телеметрия
Телеметрия

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

Но телеметрия не ограничивается приемником, сейчас уже есть много внешних модулей, таких как MinimOSD или MiniOSD, это маленькие платы, которые впаиваются в цепь fpv-камера = полетный контроллер = видеопередатчик и накладывают свои данные на видео в вашем шлеме или очках. Настраиваются такие платы обычно в BetaFlight OSD.

На сегодня у всех современных полетных контроллеров есть встроенное OSD и все передается без каких-либо дополнительных доработок в виде установки модуля MinimOSD. Сейчас разве что RSSI передается только приемником и по отдельному каналу.

Этот пункт можно считать не особо важным в выборе приемника.

Процессор полетного контроллера

В настоящее время есть 4 основных типа процессоров: F1, F3, F4 и F7. Мы рекомендуем брать F3 или F4, т.к. прошивки уже уперлись в возможности F1 и дальше его нормально не поддерживают, а F7 — довольно новый, и требуется время для полной адаптации прошивок.

F1F3F4F7
72 МГц72 МГц168 МГц216 МГц

От процессора будет зависеть то, насколько быстро будут обрабатываться поступающие к нему данные. Процессоры делятся по поколениям: F1, F3, F4, F6. Вот такие странные поколения, где пропущены 2-е и 6-е поколения. Отличаются они частотой работы и архитектурой:

  • F1 — 72MHz;
  • F3 — 72MHz;
  • F4 — 168MHz;
  • F7 — 216MHz.

Сейчас все новые полетные контроллеры поставляются с процессором 7-го поколения, так как обрабатывать фильтры и PID становится все труднее, прогресс шагает километровыми шагами в этой сфере. Но у многих пилотов ПК на процессорах 3-го поколения, так как F3 был самым (да и остается) массовым поколением со стабильной работой.

Прошивки для пк

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

Что из себя представляет программное обеспечение полетного контроллера — прошивка? Это набор правил и алгоритмов, которые обрабатывает процессор.

А теперь ответ на вопрос, как прошить полетный контроллер? Конкретно для каждой прошивки разработан свой конфигуратор — это специальная программа, которая загружает в полетный контроллер программное обеспечение, а зачем конфигуратор работает в роли графического интерфейса прошивки — чтобы вам было наглядно и удобно настраивать свой квадрокоптер.

Помимо различий в железе, имеются различия и в прошивках, а также в программах для компьютера.

Вот список прошивок (и их описание) для миникоптеров. Если вы совсем в этом не разбираетесь, то мой вам совет, используйте Betaflight, Raceflight или KISS. У них отличные летные характеристики.

Современные прошивки для ПК можно настраивать используя специальные программы, установленные на компьютер или смартфон; или даже прямо с пульта управления.

«Тюнинг» — этот термин мы используем, когда меняем ПИД коэффициенты, рейты и некоторые другие настройки. При помощи тюнинга мы можем настроить коптер «под себя».

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

После того, как вы выберите прошивку ищите совместимый с ней полетный контроллер.

Регуляторы скорости

Встроенной PDB недостаточно? Есть ПК со встроенными регуляторами! Это значит, что моторы нужно подключать непосредственно к полетному контроллеру, что ещё больше упрощает сборку.

RacerStar Tattoo F4S FC — первый такой ПК в моих руках.

Данные черного ящика (англ.)

Есть два способа записать и сохранить данные черного ящика: на чип флэш-памяти установленный на плате ПК или на MicroSD карточку, вставленную в слот.

Чип памяти дешевле, но как правило он имеет небольшую емкость и хранит относительно немного данных, обычно 10-15, иногда 20 минут полетного времени (в зависимости от частоты запрашиваемых данных). Кроме того, загрузка данных с этого чипа идет довольно медленно, может уйти до 5 минут времени на загрузку лога длиной всего 1 минуту.

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

На мой взгляд выбирать нужно в зависимости от того, как часто вы планируете использовать черный ящик. Если хотите серьезно изучать полетные данные, тогда точно нужно брать ПК с MicroSD слотом.

Кстати, есть еще третий вариант — можно купить внешний логгер (Open Logger) со слотом для microSD и подключить его через свободный UART к ПК.

Совместимость системы

Когда вы покупаете пульт управления, вы покупаете и систему, на которой все это управляется и «разговаривает» с приемником. Это фундамент для будущего расширения хобби до нескольких авиамоделей. У каждой модели будет свой приемник, и с каждым приемником пульт должен быть совместим, это убережет вас от лишней траты денег.

Например, самая популярная аппаратура управления — это FrSky, и на многих авиамоделях производители ставят приемники именно этого производителя или предлагают выбор из нескольких приемников разных производителей. Если вы решите перейти или поставить приемник другого производителя, то вам придется покупать новый пульт у него же.

На некоторых моделях приемники вообще встроенные и их нельзя менять.

Важно различать и понимать совместимость оборудования. Одни различаются по производителю: FlySky и FrSky — новичку их легко перепутать. Также различаются по протоколу работы между собой, например, DSM2 и DSMX — это протоколы взаимодействия TX=RX производителя Spektrum.

Так как же быть иначе?

После быстрого совещания возникли вот такие мысли:

  • нам нужен другой подход

  • язык и подход должны друг друга дополнять

  • академический подход не подойдет, нужны практические применения.

В качестве нового подхода решили, что лучше всего опираться на возможность верификации ПО – до необходимого уровня, без злоупотреблений. Но для языка типа С доступных промышленных зрелых решений не существует, только прототипы [FC] и рекомендации.

При выборе языка мы поставили себе вот какие требования:

  • это должно быть что-то близкое к embedded

  • Нам нужен хороший богатый runtime с возможностями RTOS, но при этом брать и интегрировать RTOS не хочется

  • Он не должен заметно уступать в производительности тому, что используется сейчас.

Оказалось, что из практических инструментов в эти требования хорошо подходит один очень старый, незаслуженно забытый инструмент. Да, это Ada. А точнее, его модерновое, регулярно обновляемое ядро SPARK. В [SRM] описаны основные отличия SPARK от Ada, их не так много.

Что такое SPARK, будет ясно дальше, мы покажем, как именно оно было применено, почему Ада понравилась больше, чем С, как работает прувер, и почему мы при этом ничего не потеряли, а только приобрели. И почему мы не взяли Rust.

Типы разъемов

Три основных типа разъемов на полетных контроллерах:

  • Пластиковые разъемы типа JST
  • Контактные площадки («пятаки») для непосредственной пайки проводов
  • Сквозные отверстия

Пластиковые разъемы менее надежны, но при этом позволяют быстро отключать/подключать кабели. Контактные площадки более крепкие, но есть риск их перегреть при пайке, и они отслоятся от платы. Наиболее универсальный вариант — сквозные отверстия: можно припаять провода или штыревые разъемы.

В большинстве полётников уже есть стаб на 5 вольт. В некоторых есть и на 9, и 12 вольт (или на какое-нибудь другое напряжение).

Несмотря на то, что значительную часть FPV оборудования (камеры, видеопередатчики) можно подключать напрямую к литиевому аккумулятору, я считаю, что изображение будет лучше, если питать их через стабилизатор.

Подробнее про подключение FPV оборудования для минимизации помех (англ).

Нажатая кнопка boot при подаче питания переводит процессор полетного контроллера в режим загрузчика (bootloader mode). В этом режиме можно обновить прошивку, даже если стандартные программы этого сделать не могут.

У многих ПК есть два контакта которые нужно закорачивать для этой цели. Но гораздо приятнее, когда есть кнопка.

  • Встроенный видеопередатчик — главное преимущество: экономия места и веса, у некоторых видеопередатчиков можно менять настройки прямо через контроллер
  • Барометр / магнитометр (компас) — это дополнительные датчики, которые совсем не обязательны для гонщиков
  • Поддержка протоколов приемника — убедитесь, что ПК поддерживает протокол вашего приемника: PWM, PPM, SBUS, Spektrum Satellite и т.д.
  • «Все-в-одном» — такой полетный контроллер состоит из одной платы, на которой есть всё необходимое: PDB, регуляторы, приемник и т.д. Недостаток — если что-то сгорит, то скорее всего придется менять плату целиком
  • Поддержка инфракрасного транспондера — позволяет вам изменять время круга самостоятельно

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

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

К плате разводки питания подключаются аккумулятор и двигатели с регуляторами оборотов, а также полетный контроллер и прочая периферия. У некоторых ПК такая плата уже есть, они совмещены. Это, конечно, плюс, но где плюсы, там и минусы — в такой компоновке будет мало места, и в случае поломки ее будет сложнее устранять.

Эргономика

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

Пульт Phantom 4 pro
Пульт Phantom 4 pro

К сожалению, чтобы это понять, пульт нужно держать в руках. На вид они все похожи, от Taranis до TBS Tango или даже Turnigy Evolution. Но это только на вид. На самом деле все они отличаются по весу, форме и толщине стиков, а также из какого они материала, скользят или не скользят в руках.

Будет очень хорошо, если в вашем городе есть магазин авиамоделей, где вы сможете подержать в руках всю аппаратуру. Если нет, то не стесняйтесь подходить к пилотам, которые летают у вас на местности, скорее всего они с радостью покажут и расскажут вам о своей аппаратуре. 

Еще один важный момент по выбору аппаратуры — дизайн:

  • Посмотрите каким способ крепится или как расположена антенна(ы), легко ли ее сломать?
  • Есть ли крючок для ремешка, чтобы можно было держать пульт на шее?
  • Есть ли у пульта переключатели, к которым можно легко дотянуться?
  • Есть ли у пульта 2-х или 3-х позиционные переключатели? Для квадрокоптеров они нужны.
Смотрите про коптеры:  «Орлан-30», «Орион», уникальный «Мерлин-ВР» и ещё 10 дронов, которые Россия использует в войне против Украины
Оцените статью
Радиокоптер.ру
Добавить комментарий