CleanFlight
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) (→Настройка PID) |
||
Строка 67: | Строка 67: | ||
* [[STM32F3Discovery]] | * [[STM32F3Discovery]] | ||
− | == Настройка [[Теория настройки ПИД / PID|PID]] == | + | == Настройка == |
+ | === [[Арминг]] двумя переключателями === | ||
+ | [[Файл:CFconf.png|thumb|]] | ||
+ | У [[Арминг#Арминг переключателем|арминга переключателем]] есть как преимущества, так и недостатки. Но полётный контроллер с прошивкой CleanFlight позволяет эффективно решить все проблемы. | ||
+ | |||
+ | Особенности арминга двумя переключателями: | ||
+ | * обеспечивается двойная защита от несанкционированного арминга (коптер заармится только если оба переключателя включены). | ||
+ | * при посадке коптера легко дизармить его в нескольких сантиметрах от земли: перед посадкой, находясь на любых комфортных высоте и расстоянии, нужно выключить один из переключателей, а на минимальной высоте непосредственно перед посадкой - выключить второй или просто убрать газ в 0, а перед тем, как взять коптер в руки - в любом случае выключить оба переключателя. | ||
+ | * если случайно задеть один из переключателей, то, хотя и будет послан сигнал выключения режима ARM, но коптер будет продолжать лететь до тех пор, пока газ не будет убран в 0. | ||
+ | * для дизарма коптера в экстренном случае (не зависимо от ручки газа) нужно просто выключить их оба одним движением - ладонью. | ||
+ | |||
+ | Порядок настройки: | ||
+ | |||
+ | 1. Настроить два переключателя на пульте управления. Один должен действовать на канал газа: в выключенном положении канал газа всегда -100%, во включенном - канал газа как обычно зависит от положения стика газа; другой - просто передавать на отдельный канал -100% или +100%. К примеру, в [http://rcsearch.ru/wiki/Turnigy_9x Turnigy_9x]] это могут быть переключатели Throttle Cut (далее по тексту - Thr) и Rudder D/R (далее - Rud). | ||
+ | |||
+ | 2. В настройках коптера параметр выключить disarm_kill_switch: | ||
+ | set disarm_kill_switch = OFF | ||
+ | save | ||
+ | |||
+ | В итоге, два переключателя работают следующим образом: | ||
+ | * Thr и Rud выключены - коптер задизармен, канал газа в нуле независимо от положения ручки газа (режим ARM не активен) | ||
+ | * Thr или Rud включен - коптер задизармен, но канал газа теперь реагирует на ручку газа (режим ARM не активен) | ||
+ | * Thr и Rud оба включены - коптер заармлен (режим ARM активирован) | ||
+ | |||
+ | === Настройка [[Теория настройки ПИД / PID|PID]] === | ||
См. [[Настройка ПИДов в Betaflight/Cleanflight|подробное описание настройки ПИДов в Betaflight/Cleanflight]]. | См. [[Настройка ПИДов в Betaflight/Cleanflight|подробное описание настройки ПИДов в Betaflight/Cleanflight]]. | ||
Версия 01:30, 11 июня 2016
Содержание |
Описание
CleanFlight - это программное обеспечение («прошивка») для полётных контроллеров, форк BaseFlight (который, в свою очередь, основан на коде MultiWii). CleanFlight может использоваться в мультикоптерах и самолётах самых различных конфигураций с любым количеством моторов. CleanFlight реализован на открытой архитектуре, основанной на 32-битной версии оригинального кода 8-битного MultiWii.
Поддерживаемые полётные контроллеры: Naze32, Flip32 (унаследовано от BaseFlight), также добавлена поддержка CC3D. Современные полётные контроллеры: Seriously Pro Racing F3, TauLabs Sparky
Есть поддержка протокола iBus - аналога S.BUS, для передачи данных о 10 каналах с приёмника в полётный контроллер в цифровом виде по одному проводу. Это даёт уменьшение задержки и количества проводов, увеличение надёжности.
Отличия от Baseflight
- Более «чистый» код (видимо это и дало название CleanFlight) благодаря применению современных методов проектирования ПО. Поэтому, в частности, проще развивать проект и добавлять новые функции. В то время как Baseflight, основанный на коде MultiWii, долгое время разрабатывался с нарушением подходов к «правильному» программированию.
- Исправлено много ошибок, добавлено много новых возможностей.
- По мнению разработчиков, CleanFlight более надёжен, в том числе, за счёт тщательного автоматического тестирования ПО.
Дополнительные возможности
Список возможностей CleanFlight, которых нет в Baseflight.
- Поддержка многоцветных светодиодных RGB-лент с чипом WS2811, который позволяет зажечь каждый светодиод заданным цветом, используя его адрес. Это можно использовать для подсветки на лучах коптера (помогает определять расположение коптера в пространстве), для индикации разряда аккумулятора, для индикации режимов полётов и т.п.
- Поддержка регуляторов с функцией Oneshot125.
- Функция BlackBox («чёрный ящик»), записывающая все параметры полёта либо во внутреннюю flash-память контроллера, либо на SD-карточку.
- Поддержка дополнительных возможностей процессоров серии STM32F3 (Baseflight поддерживает только серию STM32F1).
- Приём более, чем 8 каналов радиоуправления (например, при подключении к приёмнику FrSky X4RSB по шине SBus - 16 каналов).
- Возможность использования переключателя режимов на пульте управления с любым количеством позиций путём гибкого задания диапазонов управляющего сигнала. (В Baseflight можно использовать только 3-позиционный переключатель, а в MultiWii - либо 3 либо 6).
- Новый PID-контроллер Lux (вдобавок к оригинальному из MultiWii), во внутренних вычислениях оперирующий числами с плавающей запятой и устойчивый к изменению времени выполнения цикла вычислений (учитывающий его в интегральных вычислениях). Возможность регулировать ПИД-параметры во время полёта.
- Возможность одновременного подключения Bluetooth-модуля и OSD.
- Улучшенная обработка входных сигналов PWM и PPM, а также определение FailSafe.
- Телеметрия:
- Улучшенная работа с телеметрией FrSky.
- Телеметрия LTM.
- Телеметрия Smartport.
- Телеметрия Graupner HoTT.
- Возможность использования нескольких каналов телеметрии.
- Поддержка FailSafe при подключении приёмников Graupner по PPM.
- Возможность получения RSSI PWM-сигналов через ADC (проверено с приёмниками FrSky D4R-II and X8R).
- Возможность подключения жидкокристаллических OLED-дисплеев для вывода на них такой информации, как напряжение батареи, текущий профиль, версию, информацию от датчиков, сигналы радиоуправления и т.п.
- Возможность смены рейтов (Rate) во время полёта.
- Гибкая настройка последовательных портов для подключения различного оборудования: приёмников радиоуправления по PPM, телеметрии, GPS и т.п.
Список поддерживаемых контроллеров
В целом CleanFlight поддерживает контроллеры на основе процессоров серий STM32F303 и более ранней STM32F103. Ядро написано с максимальной абстракцией от «железа» для возможностьи портировать CleanFlight на контроллеры с другими процессорами.
Чтобы получить все возможности Cleanflight, рекомендуется использовать контроллеры на основе процессора STM32 F3 с flash-памятью не менее 256Кб. Меньшее количество памяти могут ограничить количество функций.
Платы с пометкой Revo и Quantum имеют процессор STM32 F4, для них требуется другая прошивка.
Все контроллеры имеют свои плюсы и минусы. При выборе важно проверить, имеет ли плата достаточное количество последовательных портов и контактов ввода/вывода для оборудования, которое вы хотите использовать, и что их можно использовать одновременно. На некоторых платах это взаимоисключающие возможности.
Рекомендованные полётные контроллеры
- Seriously Pro Racing F3 (процессор STM32F303, подключение датчиков на шину I2C, большая flash-память).
- Seriously Pro Racing F3 Mini
- TBS Colibri Race
- AlienWii F3
- TauLabs Sparky (процессор STM32F303, подключение датчиков на шину I2C, на плате уже присутствуют акселерометр, гироскоп, компас и барометр).
Поддерживаемые контроллеры предыдущего поколения
- OpenPilot CC3D (процессор STM32F103, акселерометр/гироскоп SPI).
- CJMCU nano
- AlienWii32
- Flip32+
- AbuseMark Naze32
- RMRC Dodo
Платы разработки
Настройка
Арминг двумя переключателями
У арминга переключателем есть как преимущества, так и недостатки. Но полётный контроллер с прошивкой CleanFlight позволяет эффективно решить все проблемы.
Особенности арминга двумя переключателями:
- обеспечивается двойная защита от несанкционированного арминга (коптер заармится только если оба переключателя включены).
- при посадке коптера легко дизармить его в нескольких сантиметрах от земли: перед посадкой, находясь на любых комфортных высоте и расстоянии, нужно выключить один из переключателей, а на минимальной высоте непосредственно перед посадкой - выключить второй или просто убрать газ в 0, а перед тем, как взять коптер в руки - в любом случае выключить оба переключателя.
- если случайно задеть один из переключателей, то, хотя и будет послан сигнал выключения режима ARM, но коптер будет продолжать лететь до тех пор, пока газ не будет убран в 0.
- для дизарма коптера в экстренном случае (не зависимо от ручки газа) нужно просто выключить их оба одним движением - ладонью.
Порядок настройки:
1. Настроить два переключателя на пульте управления. Один должен действовать на канал газа: в выключенном положении канал газа всегда -100%, во включенном - канал газа как обычно зависит от положения стика газа; другой - просто передавать на отдельный канал -100% или +100%. К примеру, в Turnigy_9x] это могут быть переключатели Throttle Cut (далее по тексту - Thr) и Rudder D/R (далее - Rud).
2. В настройках коптера параметр выключить disarm_kill_switch:
set disarm_kill_switch = OFF save
В итоге, два переключателя работают следующим образом:
- Thr и Rud выключены - коптер задизармен, канал газа в нуле независимо от положения ручки газа (режим ARM не активен)
- Thr или Rud включен - коптер задизармен, но канал газа теперь реагирует на ручку газа (режим ARM не активен)
- Thr и Rud оба включены - коптер заармлен (режим ARM активирован)
Настройка PID
См. подробное описание настройки ПИДов в Betaflight/Cleanflight.
Вкратце суть:
- Начинать со стоковых или сниженных настроек.
- Сначала поднимается P до начала осцилляций, находится максимальная точка, затем немного понижается до момента, когда осцилляции уйдут, но коптер будет отзывчив, стабилен на ветру и при подгазовках.
- Коэффициент I настраивается по принципу: если при спусках коптер раскачивает, и заданный угол со временем уплывает - нужно поднять значение, если медленная раскачка проявляется при добавлении газа - уменьшать.
- Значение D следует подбирать на основе того, как ведёт себя коптер по окончании поворота. Сделайте флип, или просто резкий поворот и смотрите на окончание маневра. Если коптер "пролетает" нужную точку а потом возвращается в неё, следует добавить D, пока не получится идеальной реакции. Если коптер слишком вялый и медленно завершает маневры - следует снизить. После повышения D можно попробовать вернуться в п.2 и уточнить значение P.
- Если при резкой подгазовке появляются осцилляции, но в висении и спокойном полёте такого нет - стоит добавить TPA. Точка начала подбирается чуть ниже уровня газа, с которого начинается дёрганье, коэффициент подстраивается экспериментально, чтобы при большом уровне газа не было осцилляций, но сохранялась стабильность.
См. также общую теорию настройки PID-регулятора.
FAQ
Что такое Quaternion-based DCM IMU
Более "правильный" способ вычисления (и представления) ориентации коптера в пространстве, основанный на кватернионах. По идее должно повысить точность (особенно в "крайних" случаях). [1]
Ссылки
- Скачать свежую прошивку
- Список всех прошивок
- Оригинальная документация на гитхабе (англ.), Краткая аннотация
- Инструкция по установке прошивки CleanFlight на контроллер Naze32 и настройке. (англ.)
- Официальный сайт
- CleanFlight на гитхабе
- CleanFlight Configurator - программное обеспечение для настройки полётных контроллеров, работающих на прошивке CleanFlight.
- BlackBox - «чёрный ящик» в прошивке CleanFlight для удобной настройки PID.
- Калькулятор миксов для MultiWii/Cleanflight/Baseflight
См. также
- Форк от CleanFlight на гитхабе
- BaseFlight
- BetaFlight
- Harakiri