-
Notifications
You must be signed in to change notification settings - Fork 0
Howto Настройка CC3D, minimOSD и GPS для самолета (Fixed wing)
-
Фичи :)
-
Что потребуется
-
Прошивка iNAV на CC3D.
-
Основные настройки
Ориентация полетного контроллера.
Настройки портов
Конфигурация
Failsafe
Настройка передатчика
Закладка Motors
Закладка Servo setup
Рекомендуемая разводка питания
Настройка и подключение OSD
- Стабилизация полета (Angle, Horizon режимы)
- RTH (барометр и компас не нужны для самолета)
- Полет по точкам (с EZGUI android apk).
- Мониторинг тока и напряжения батареи
- Мониторинг RSSI
- Failsafe
- и т.д.
- Полетный контроллер (один из списка поддерживаемых, это how-to показывает как настроить CC3D)
- OSD (minimOSD или любое другое, поддерживаемое iNAV или CF)
- GPS приемник (любой, поддерживающий 5Hz и более)
- FPV оборудование, самолет, радиоуправление
Сначала необходимо скачать скомпилированную прошивку под полетный контроллер. На момент правки этого HowTo самой свежей является INAV 1.6. Качаем ее отсюда. Для CC3D существует две версии - под PWM приемник и под PPM. Далее пользуясь многочисленными видео инструкциями о том, как на CC3D прошить что-то другое кроме OpenPilot на этот контроллер. Конечно, не забываем на этапе выбора файла прошивки указать прошивку предварительно скачанную с github. Кроме этого, не забудьте отключить сервы от полетного контроллера, так как это может как помешать прошивке так и испортить сами серво, так как по-умолчанию на PWM выходах присутствует сигнал высокой частоты под коптерные ESC. Поэтому делам так: отключаем все от полетного контроллера, прошиваем, конфигурируем полетный контроллер под самолет и подключаем сервы.
Настройка портов выполняется на закладке Ports .
- UART1 - Оставляем значение по умолчанию. Сюда подключаем или OSD для полетов или FTDI для настроек.
- UART3 - для GPS. Включите эту опцию и установите скорость. Кроме этого необходимо на закладке Configuration установить что будет использоваться GPS для навигации и выбрать UBX режим. Помните, что применяя ublox приемники серии 6-8 нет необходимости их подключения к компьютеру и конфигурирования при помощи u-center. iNAV все сделает сам.
Используя инструкцию по шеститочечной калибровке акселерометра выполните калибровку. Обратите внимание, что ориентация на изображениях инструкции - это ориентация полетного контроллера, а не летательного аппарата. После выполнения калибровки можно устанавливать полетный контроллер в самолет.
После калибровки пришло время указать что же за летательный аппарат будет эксплуатироваться под управлением iNAV.
Для самолета есть три варианта: Airplane (Классика), Flying Wing (Летающее крыло) и Custom (Свой вариант).
Полетный контроллер можно устанавливать в самолет под любым удобным углом. Для этого переходим на закладку Configuration и в разделе Board and sensor Alignment устанавливаем то, как ориентирован полетный контроллер. Например, если у вас полетный контроллер установлен так, что USB разъем "смотрит" влево по направлению полета, то устанавливаем Yaw degrees = 90. Если USB разъем получился слева, то Yaw degrees = 270.
Теперь можно подключать оборудование в соответствии со схемами:
PWM приемник (Кликаем сюда чтоб посмотреть фотографию реального оборудования) Для того, чтобы iNAV понимал PWM на входе, используется прошивка inav_1.6.0_CC3D.hex
PPM Приемник. Это рекомендуемая конфигурация. Для нее нужно использовать прошивку inav_1.6.0_CC3D_PPM1.hex
Продолжаем. Если не хочется, чтобы самолет крутил двигателе при арминге, то включаем свитч "Don't spin the motors when armed".
Включаем GPS возможность и выбираем протокол.
Если GPS приемник принимает сигналы от количества спутников необходимых для 3D fix, то на вкладке GPS можно увидеть текущее нестонахождение ЛА и статистику GPS
По умолчанию iNav не будет армиться без GPS fix, если функция GPS включена. Если хочется проверить что арм работает то можно отключить эту проверку в CLI: "set nav_extra_arming_safety = OFF". Не забываем ее включить обратно при реальных полетах!
Если у вас приемник PPM, то кроме всего прочего имеется возможность мониторить напряжение батареи, ток потребляемый в полете, RSSI приемника. Все эти опции присутствуют с правой стороны конфигуратора на закладке Configuration. Для CC3D необходим внешний делитель напряжения батареи 1:10. [TODO] добавить ссылку на делитель
###Настройка передатчика
Необходимо настроить (реверсировать при необходимости) в передатчике поведение каналов таким образом, чтобы при движении стиков на вкладке Receiver получалось следующее:
- Стик газа (Throttle) от себя - значение канала увеличивается
- Стик руля направления (Rudder) отклонятся вправо - значение канала увеличивается
- Стик руля высоты (Elevator) от себя - значение канала увеличивается
- Стик элеронов (Ailerons) отклонятся вправо - значение канала увеличивается
Кроме этого можно использовать саб-триммеры для получения нейтральных значений равных 1500us и расходов от 1000us до 2000us при движении стиков.
На вкладке Modes настраиваются желаемые полетные режимы и их включение в зависимости от AUX каналов. Например трехпозиционный переключатель, на AUX1 можно настроить под такие полетные режимы:
- минимальное значение в канале - никакой режим не выбран - будет использоваться базовая стабилизация без удержания горизонта.
- среднее значение - Angle или Horizon.
- максимальное значение - RTH. Возврат домой со стабилизацией.
Для подробностей о failsafe читаем здесь
Начиная с iNav 1.6 настройка failsafe стала простой и более чем прозрачной. Для работы этой функции необходимо следующее:
- настроить приемник так, чтобы он не выдавал никаких сигналов при выключенном передатчике
- или назначить на положение одного из AUX каналов режим Failsafe и сделать так, чтобы при выключенном передатчике этот канал приводил к срабатыванию Failsafe.
Не забываем установить желаемое поведение ЛА в режиме failsafe. На сриншоте внизу настроен возврат домой.
Переходим к настройке серв. Сначала находясь на вкладке Motors крутим самолетом и обращаем внимание какие ползуны меняются в зависимости от наклонов по PITCH, ROLL и YAW. На этой вкладке это будут ROLL - 4,5; PITCH - 3, YAW (если есть) - 6.
Далее включаем на передатчике режим Angle или Horizon и переходим на вкладку Servos.
На этой вкладке устанавливаются расходы, реверсы серв. Их нумерация начинается с 0!
Для сервы РВ, наклоняем хвост вниз, РВ должен должен опуститься. Если же РВ поднимается, то необходимо установить Rate (самый правый выпадающий список) Servo 2 с отрицательным знаком.
Наклоняем левое крыло вниз. Левый элерон должен должен опуститься вниз, а правый подняться вверх. Если что-то не так, то исправляем установкой отрицательных Rate для Servo 3 и Servo 4 (если элероны подключены к одному каналу через Y-кабель, то достаточно поменять настройку только одного из каналов).
Далее отводим хвост влево, руль направления должен отклониться влево. Если не так, то устанавливаем отрицательный Rate для Servo 5.
Кроме этого, движение стиков передатчика должно правильно отражаться на движении рулей (Основные правила: стик руля высоты (Elevator) на себя - руль высоты поднимается, стик элеронов (Aileron) влево - левый элерон поднимается, правый элерон опускается, стин руля направления (Rudder) влево - руль направления отклоняется влево)
ВНИМАНИЕ! все конечные точки, нейтрали, триммеры настраиваются на той вкладке. Не в передатчике!
###PID/PIFF Настройки
Настройки PID/PIFF которые устанавливаются по-умолчанию при помощи Presets являются неплохой отправной точкой для настройки. Однако, для того, чтобы получить стабильный и плавный полет ЛА необходимо уделить некоторое время настройке PID/PIFF регулятора. На скрине ниже приведены коэффициенты для моего 800mm крыла - EPP Rainbow.
DigitalEntity пишет о настройке PIFF контроллера следующее (вольный перевод с английского):
Желательно для настройки применять inflight adjustments - это намного облегчит процедуру. Сам процесс заключается в следующем:
-
Летаем в режиме ANGLE, визуально, в спокойный безветренный день. Начинаем со следующих значений PIFFs: P=5, I=10, D/FF = 20
-
Даем резкую команду roll с пульта, и смотрим как самолет ее выполняет. Движение самолета должно быть плавным от начала до конца маневра, без (или с минимальными) осцилляций в начале и в конце "бочки", без раскачек. Если самолет раскачивается в конце маневра - уменьшаем FF; Если самолет начинает выполнять маневр быстро, а затем замедляется и снова продолжает движение, как бы рывками - это значит, что FF слишком мало.
-
Повторяем то же самое для pitch
-
Как правило, можно увеличить FF так, чтобы появились осцилляции в конце маневра, а затем уменьшить FF на 20%
-
Если самолет не достигает заданного угла - нужно увеличить коэффициент I
-
Кроме этого, подстройку параметров нужно произвести и в ветреную погоду. Увеличиваем P для лучшего парирования порывов ветра. ПРЕДУПРЕЖДЕНИЕ - увеличение P приводит к более активному использованию и, соответственно, износу серв.
To prevent brownout its wise to power servos with one BEC and the flight controller + other equipment with another BEC.
This is one way to accomplish it:
Glued a new row of pins onto the case of the flightcontroller, the must be connected together. (See the bottom of pins)
All servos and ESC is connected to flightcontroller, except positive wire which goes to the new row. (This line gets its power from the BEC in the ESC)
Another external BEC is connected at random positive and negativ pin on flight controller to power it, the receiver and GPS.
This way if one servo get stuck and draws alot of amps you shouldnt risk your flight system to power down.
You need to upload MWOSD firmware to your minimOSD. You can find pretty straight forward install guide following the link. As usual you use Arduino IDE for global OSD config. All changes are done in the Config.h file
OSD HARDWARE settings:
#define MINIMOSD
CONTROLLER SOFTWARE
#define CLEANFLIGHT
AIRCRAFT/INSTALLATION TYPE settings
#define FIXEDWING
Serial speed settings
#define BAUDRATE 115200
The screenshot of the MWOSD configuration is shown below:
Watch this demo video of the iNAV flight and RTH function:
Good luck!
- Начало работы с iNAV
- Руководство по мультироторам
- Руководство по самолетам
- Карта поддерживаемого оборудования
- Failsafe
- YouTube video guides
- Автоопределение сенсоров и определение проблем с оборудованием
- Калибровка сенсоров
- GPS и настройка компаса