Walkera QR X350 PRO. DEVO-M. ArduPilot
Содержание |
Введение [править]
При разработке полётного контроллера DEVO-M в компании Walkera воспользовались открытым проектом ArduPilot. Недокументированные способности Walkera DEVO-M были обнаружены NARAJANA при экспериментах со скоростью подключения в Mission Planner [4][5][6].
Что и как реализовано производителем:
- хорошо: Начинающий моделист получает летающий «из коробки» квадрокоптер, уже настроенный производителем.
- плохо: Никакого софта для настройки, только четыре полётных режима. Можно этим и ограничиться, для большинства пользователей это может быть достаточно. Но это лишь малая часть того, что может полётный контроллер ArduPilot.
Но можно через SPI прошить контроллер DEVO-M стандартной прошивкой ArduPilot для получения полного набора функций автопилота.
Что (не)может DEVO-M [править]
Изначально в QR X350 PRO доступны только четыре режима полета ArduPilot.
- Stabilize Mode - выравнивание по акселерометрам в горизонт. Обычный режим полёта.
- Loiter Mode - удержание в точке по GPS и барометрическому датчику высоты.
- RTL Mode - возвращение в точку взлёта и автоматическая посадка.
- Simple Mode - управление коптером не зависит от того, куда смотрит его перед.
Какие полётные режимы можно реализовать:
- Altitude Hold - при среднем положении ручки газа коптер удерживает высоту автоматически, по крену и тангажу - как в обычном режиме.
- Acro Mode - акселерометры практически не участвуют в выравнивании коптера, коптер управляется как классический вертолет, может делать кувырки.
- Auto Mode - автоматически летит по заранее запрограммированной миссии.
- Circle Mode - летает круг носом в центр автоматически, пилот управляет только высотой.
- Drift Mode - летает как самолет с элеронами, при крене доворачивает по курсу.
- Follow Me! - следует за объектом, требуется радиомодем и GPS у объекта слежения.
- Guided Mode - управляется с наземной станции по радиомодему: немедленно летит в указанную точку на карте на планшете, смартфоне или ноутбуке.
- Land mode - автоматическая посадка. ВНИМАНИЕ!!! Режим LAND работает один раз. Если сесть в авторежиме, потом снова заармить моторы, взлететь и снова включить автопосадку - при любой высоте включается немедленный дизарм двигателей [7].
- Loiter Mode - удержание в точке по GPS и барометрическому датчику высоты.
- Position Hold - удержание в точке по GPS, высота управляется пилотом с помощью газа без датчика высоты (На DEVO-M включается только по радиомодему через DroidPlanner. C пульта не включается).
- RTL Mode - возвращение в точку взлёта и автоматическая посадка.
- Simple Mode - управление коптером не зависит от того, куда смотрит его перед.
- Super Simple Mode - коптер управляется так, как будто он всегда передом от пилота, независимо от реального направления Home Lock.
- Sport Mode - то же самое, что и Acro Mode, но с удержанием высоты.
- Stabilize Mode - выравнивание по акселерометрам в горизонт. Обычный режим полёта.
Также по умолчанию отключена полезная функция Geo Fence, виртуальный забор, коптер возвращается в точку взлёта если он улетает слишком высоко или далеко.
И отсечка установлена на 10,7В, что не позволяет использовать полную ёмкость аккумулятора, это тоже можно изменить.
Настройка ArduPilot [править]
Для того, чтобы задействовать почти все функции ArduPilot нам нужна программа настройки MissionPlanner. Качаем тут. Шнурок для подключения есть в комплекте QR X350 PRO.
Внимание! Не подключайте USB вместе с батареей, если не уверены в исправности коптера. При неисправности питания можно пожечь USB порт.
Внимание! Для настройки DEVO-M желательно пользоваться Mission Planner версии не новее 1.3.28, т.к. в более новых вырезана часть функций. Например, очень нужной для Walkera QR X350 PRO функции FS_GPS_Enable в свежих версиях нет.
Внимание! После подключения к MissionPlanner желательно не пользоваться Wizard и консольным терминалом без предварительного ознакомления с руководством по Arducopter. Если у вас прошивка 1.0, то лучше ее оставить как есть [8][9]. Обязательно нужно сразу сделать копию настроек (видео). Номер прошивки проверяется оригинальной програмой SerialAngel.exe из любого архива прошивки. Чтобы в MissionPlanner появился пункт Full Parameters List, нужно активировать чекбокс Advanced Menu.
Полезные параметры [править]
См. также полный список параметров MissionPlanner, а здесь перечислены только те, по которым есть замечания.
- AHRS_GPS_MINSATS - Раньше было значение 6, но в версии 1.1 стало = 7. То есть коррекция будет отключаться, если спутников меньше 7. А раньше отключалась, если меньше 6. Параметр лучше поправить в MissionPlanner, а не прошивать через софт от Walkera, который ещё и драйвер подменяет.
- FS_BATT_ENABLE - На версии не PRO делали специальный аппаратный мод для его отключения.
- FS_BATT_VOLTAGE - минимальное значение напряжения батареи, при достижении которого (и ниже) начинает мигать правый светодиод и срабатывает программа, выбираемая параметром FS_BATT_ENABLE. По сути, мигание правого глаза означает, что просто села батарейка и летать больше нельзя.
- FS_GPS_ENABLE - в DEVO-M установлен в значение Disabled. При этом QR X350 PRO может улететь, если произойдет глюк GPS.
- FS_THR_ENABLE - необходимо помнить про особенности файлсейва с приемникам RX703 и RX703A.
- WPNAV_SPEED - По умолчанию 300 см/с, но можно установить 900, чтобы коптер домой летел шустро. В принципе, он может и 1500 лететь, но при этом быстро расходуется аккумулятор. 900 - оптимальная скорость с точки зрения покрываемого расстояния по отношению к истраченным амперам [10].
- WPNAV_LOIT_SPEED - По умолчанию 500, можно увеличить до 700.
- PILOT_VELZ_MAX - По умолчанию 250, можно поставить 500.
- COMPASS_ORIENT - По умолчанию = 4, что соответствует ROTATION_YAW_180 на закладке настройки компаса. Этот параметр вызывает множество вопросов, поскольку он стоит на ноге под углом совсем не в 180°, но если снять крышку компаса, то можно увидеть микросхему сориентированную правильно против курса.
- COMPASS_LEARN - по умолчанию равен 1. (см. раздел FAQ «Как правильно калибровать компас»).
Примеры назначения режимов [править]
- Для переназначения режима полета в МissionРlanner заходим на страницу CONFIG/TUNING закладка Extended Tuning. Параметр Ch7 Opt был Simple Mode, меняем на RTL. Сохраняем, нажав Write Params. Переходим на закладку Flight Modes и параметр Flght Mode 6 c RTL меняем на Circle. Сохраняем, нажав Save Modes. Теперь у нас в третьем положении тумблера вместо возврата домой - круг, а возврат домой теперь будет на тумблере IOC. Параметры круга меняются в Full Parametr List. CIRCLE_RADIUS - радиус круга в метрах, по умолчанию 10. CIRCLE_RATE - угловая скорость выполнения круга в градусах в секунду, по умолчанию 20.
- Для выполнения автономной миссии по точкам в MissionPlanner необходимо задать на Fight Mode 6 вместо полетного режима RTL полетный режим AUTO. И при пропадании сигнала от передатчика миссия будет продолжена. Разумеется, миссия должна заканчиваться командной точкой RTL [11] [12].
- На входе GEAR можно переключать до шести режимов, в зависимости от частоты ШИМ. Таким образом можно настроить до 6 режимов на одном канале используя 3-х и 2-х позиционный переключатель [13]. Вкратце, на Gear задействованы только три режима: 1165, 1425, и 1815 миллисекунд. Если все доступные шесть, то 1165, 1295, 1425, 1555, 1685, и 1815 миллисекунд. Все режимы настраиваются, в любой самой мыслимой и разнообразной конфигурации. Совсем на пальцах; Gear по умолчанию PWM 0-1230 — режим Stabilize. PWM 1491-1620 — режим loiter, удержание в точке. PWM 1750 и выше — режим RTL возврат домой. Также задействован вход AUX2 (PWM 1100 Simple Mode выключен, PWM 1900 включен) и при желании и наличии свободного канала приемника можно задействовать вход AUX3. В MissionPlanner это соответственно Ch5, Ch7 и Сh8. Обо всем этом прекрасно описано в первоисточнике [14] [15]
Советы по параметрам [править]
- Можно загрузить старые параметры (если они были сохранены) и воспользоваться опцией "сравнить", чтобы определить что повлияло на поведение коптера.
- «Откатиться» на заводские настройки можно с помощью файлов параметров «по умолчанию», которые есть в разделе Прошивки.
- Можно перешить DEVO-M в полноценный Аrdupilot при помощи доработки SPI интерфейса. На плате контроллера есть шесть отверстий - это SPI — последовательный периферийный интерфейс к Арду2560. К нему подключаем программатор для Ардуины, например USBASP, загливаем бутлоадер Ардукоптера, после чего контроллер можно прошить по USB через MissionPlanner. Вернуться на исходную прошивку можно и с неродным бутлоадером, залив расшифрованную прошивку [16] . Бутлоадер APM [17].
Взлом шифрования родного бутлоадера [править]
[18] Теперь можно прошивать Ардукоптер с помощью штатной программы SerialAngel, предварительно сконвертировав из HEX в бинарный формат и зашифровав "валкеровским" способом. При этом всегда можно откатиться на нативную прошивку.
Программы-планировщики [править]
Для Windows [править]
- Mission Planner
- APM Planner 2, есть версия и под Linux. Функциональность его та же что и у Mission Planner. Но APM Planner более сырой. Второе важное отличие от МР - MissionPlanner дожидается ответа на команды и в случае надобности команду повторяет, тогда как APM Planner просто отправляет команды, не интересуясь результатом. Описание настройки (на немецком).
Для Android [править]
- Andropilot
- Droidplanner. Бывает, что не запускается на планшете/смартфоне - в таком случае нужно попробовать загрузить последнее обновление для мобильного устрофства или получить root-права на нём.
Android-устройство должно иметь OTG для поддержки функции USB-host и версию операционной системы Android не ниже 4.
Bluetooth-модем [править]
Возможно установить в QR X350 PRO bluetooth-модем и обходиться без подключения к компьютеру проводом. Это понадобится также для управления квадрокоптером с Android-устройства.
Модем можно использовать, например, такой. В данном случае надо перепаять на плате полётного контроллера DEVO-M два резистора, чтобы понизить напряжение сигнала с 5в до 3,3в. Перед подключением необходимо понизить скорость порта модуля BT до 57600, например при помощи программы Termite.
На фотографии показаны контакты, к которым нужно подсоединять bluetooth-модем. Кстати, при использовании 3DR-радиомодема или OSD - их подсоединять нужно к этим же контактам. Большая благодарность NARAJANA за идею с этой полезной доработкой!
Подключение OSD [править]
Модуль OSD позволяет замешивать поток телеметрической информации о полете в канал видеоизображения камеры установленной на коптере. Передаваться может информация о полетном режиме, скорости, высоте полета, горизонте, напряжении батареи и других параметрах в зависимости от настроек модуля OSD.
- Подключение Minim OSD [19] Источник на RCGroups Видео Англоязычная Wiki.
- На плате OSD запаять две перемычки (см. схему справа)
- Прошивка OSD: скачать прошивку, подключить OSD к программатору (будьте внимательны: TX к TX, RX к RX, 5V к 5V), запустить программу OSDConfig.exe, выбрать COM-порт, нажать Read from OSD и дождаться загрузки, выбрать в меню Options/Update CharSet и загрузить файл *.mcm из папки с CT Tools, затем выбрать в меню Options/Update Firmware и загрузить файл скачанной прошивки. См. также подробное описание процедуры прошивки minimOSD
- Припаять провода, только питание 5V, GND и RX OSD (см. схему справа). TX OSD при подсоединении к контроллеру подключать не нужно (при подключении к FDTI-адаптеру - нужно!).
- Настраивается экран вывода параметров (Видео от Юлиана. Настройка модуля OSD). Можно на всякий случай сохранить параметры для себя.
- Информация о напряжении питания борта и RSSI будет передаваться с контроллера в OSD по протоколу MavLink, но для вывода RSSI на экран OSD необходимо завести PWM RSSI приемника через RC фильтр на 95 ногу контроллера Devo-M и включить RSSI в МП.
- Подключение камеры iLook. Там все элементарно просто, коробочка iLook фрезерована из цельного куска дюральки, внутри три модуля- матрица с оптикой, плата видеорегистратора со слотом под карточку и плата обычного Валкеровского видеопередатчика 5803 или 5804, в зависимости от исполнения по мощности, 200мВ для США, 25мВ для Европы. С платы видеорегистратора на плату передатчика идет земля, питание и композитный видеосигнал. Нам нужна земля (черный проводок) и видео(голубой проводок). От земли просто делаем ответвление, видео режем и выводим два провода. Сзади камеры есть отверстия для вентиляции, через них и выводим провода. Ну и подключаем их к ОСД [20].
- Видео с процессом установки Mavlink OSD [21].
- Настройка OSD [22]. Исходники настроек Minim OSD.
- Доработка MinimOSD для измерения бортового питания и тока потребления.
- MIMIMosd-Extra - cамая продвинутая прошивка, поддерживающая внешние датчики, 4 независимых экрана, трансляцию телеметрии в протокол DEVO-M (для RX705) и многое другое.
Подключение радиомодема 3DR [править]
При вертикально ориентированных антеннах на земле и на борту он обеспечивает связь на расстоянии от 600 до 800 метров. Необходимо помнить, что RSSI в данном случае будет отображать не качество канала радиоуправления, а качество связи между модемами.
Увы, но прошивка Arducopter 3.2devo=1.0 не позволяет просмотреть логи. В МиссионПланнере чтение логов можно включить, но скачать их для просмотра не получается, их в ПолетномКонтроллере нет [23].
- Видео от Юлиана. Использование радиомодема 3DR с программой DroidPlanner.
- Alexeykozin. Использование комплекта радио модемов "3DR Radio" для передачи телеметрии с контроллером APM.
Какую частоту выбрать? [править]
- Если не планируете управлять коптером с LRS, то лучше брать модуль на 433МГц. Во первых, 915МГц частота для США, и в Европе запрещена, во вторых, это частота мобильной связи и если рядом будут ретрансляторы, то будут помехи от них.
- Если будет LRS, тогда нужно брать 915МГц, ибо LRS на 433МГц работает. И хорошие антенны на 433МГц легче найти [24].
Где купить? [править]
- На banggood.com 433МГц или 915МГц на выбор. Именно этот модем поставляется с проводами точно в цвет, как на картинке. Внимание! Контакты RX и TX на контроллере называются по не по логике подключения RX to TX. Это нужно игнорировать и подключать точно как на картинке. (В терминологии COM порта: RxD - вход на компьютере, выход на модеме; TxD - выход на компьютере, вход на модеме.)
- К модулю возможно понадобится (в зависимости от варианта размещения модуля на борту) ещё вот такой SMA-адаптер.
Вариант установки радиомодема 3DR. Потребуется угловой SMA адаптер или осторожная замена родного на угловой [2].
Только для справки! Подключение OSD и модуля телеметрии 3DR к APM. Подходит для модема с AliExpress [3]
Советы [править]
- Если коптер не армится с «неродного» пульта, то, возможно, это происходит потому, что рабочие диапазоны каналов да и направление их отработки другие. Подключайтесь к MissionPlanner, заходите на вкладку меню калибровки аппаратуры, и добивайтесь в передатчике того, чтобы:
- все каналы отрабатывали в нужном направлении (реверсами)
- диапазоны каналов от 1100 до 1900 мс (эндпойнтами)
- среднее положение канала 1500 мс (сабтриммерами).
- Если в передатчике есть лишний свободный канал, цепляйте его к Дево-М на вход AUX3, он будет виден в MissionPlanner как Ch8 и на него можно будет настроить тумблер, чтоб добавить полетный режим или какую-нибудь другую нужную функцию.
- Обращайте внимание на настройки конфигурации коптера (меню сверху INITIAL SETUP / Mandatory Hardware-frame type): должно быть Х, но может «слететь» на +, например, при входе в Wizard. Коптер при этом теряет ориентацию в полёте, не может стабилизироваться и переворачивается.
- Для тех, кто хочет пользоваться всеми полетными режимами, и при этом не мучатся микшируя два тумблера, которые ещё и перепутать проще простого, очень рекомендую переключатель полетных режимов на Ардуинке. Чрезвычайно удобная штука, пользуюсь таким больше года. Подключается любую аппаратуру вместо потенциометра- "крутилки". До этого пробовал ставить вместо крутилки галетник на шесть позиций, удобнее чем два тумблера, но с переключателем на Ардуинке не сравнить [25].
- Если выполнены настройки на FMOD: AltHold, Loiter, то при включении режима RTL, не забывайте переводить FMOD в 0. Сразу после посадки режим переключается в один из устанновленных на FMOD и моторы могут не остановиться.
Полезные настройки для пульта DEVO F7 [править]
- Автоматический таймер при активации режима газа. Видео по настройке.
- На переключателе HOLD - предохранитель от случайного выключения газа в полёте +20.
Настройка: Function menu->Throttle Curve->Position=Pos 1, Point=Point-L, Output=20.0, Switch->Hold SW=1.
- Переключатель GEAR - вкл/выкл запись камеры.
- Переключатель AUX2 - наклон камеры.
- Переключатель D/R - 50% газа для удержания в некоторых режимах.
Настройка: Model Menu->Device select->Thro Hold Switch=D/R SW. Function menu->Throttle Hold->Hold Status=Active, Hold Position=50.0.
- Переключатель MIX - режимы полёта: стабилизированный, удержание, RTL.
- Переключатель FMOD - режимы полёта ALTHOLD и DRIFT. (источники: [26] [27] [28]).
Настройка: Function Menu->Program mix->Program mix1->Normal Ставим ok. Мaster ставим GEAR, Slave ставим GEAR, Pos 0 <-> ставим -40/ Switch -> FMOD SW 0 = 1. Далее два раза Ext и пролистываем кнопкой DN- на пульте до появления Program mix2 (будем настраивать второй мix) —> NORMAL ставим ok/ Мaster ставим GEAR->Slave ставим GEAR, POS 1 <-> ставим -30/ Switch -> FMOD SW 2 =1. Выходим из меню. Затем: Function Menu->Sub Trim->Gear cтавим 8,0 и выходим из меню. Затем: Function Menu->Travel Adjust->Gear нижнюю -100 меняем на -110 Выходим из меню.
- Далее заходим в Function Menu->Monitor и проверяем GEAR. Должно быть:
- MIX0:FMODE0 (GEAR=-102) — режим 1 Stabilize Mode
- MIX0:FMODE1 (GEAR=-58) — режим 2 (Настраивается по желанию в Mission Planner, например Altitude Hold. То же, что и stab, но с удержанием высоты по барометру. Замечательная вещь! Не зависит от GPS. Дрейфует только по горизонту. Управление поджато только по высоте).
- MIX0:FMODE2 (GEAR=-25) — режим 3 (Настраивается по желанию в Mission Planner, например Drift Mode).
- MIX1:FMODE(любое положение) (GEAR=8) — режим 4 Loiter Mode
- MIX2:FMODE(любое положение) (GEAR=108) — режим 6 RTL Mode
После монитора заходим в Mission Planner, калибруем по новой GEAR и проверяем, что режимы переключаются и настраиваем по желанию. Логичным будет поставить на FMODE режимы AltHold и Loiter, поскольку это два режима удержания, а на MIX: Stab, Land и RTL, поскольку Land — это управляемая посадка, а RTL — автоматическая. Теперь можно использовать переключатель Gear для вкл/выкл камеры на запись вместо режима Simple Mode на Ch7. Кстати, не выходя из монитора, рекомендуется проверить каналы по стикам и выставить цифровыми триммерами в нули, а для газа L100. (Альтернативный вариант микширования [29])
Прошивки [править]
- v1.0 - этот файл прошивки пригодится, если захочется «откатиться» с более новых версий прошивок, если они не понравятся.
- v1.1 - заявлено улучшенное ручное управление и лучшая стабильность при режимах с GPS-позиционированием. На деле у многих отмечено худшее подведение коптера по сравнению с прошивкой v1.0.
- v1.2 - заявлены возможность использования только кабеля USB-microUSB для обновления прошивки, а также улучшенный и оптимизированный алгоритм стабилизации. На практике это едва ли заметно, но зато замечены проблемы с инициализацией GPS-модуля.
- v1.7 - не выключает моторы при газе в нуле, и поддерживает вывод телеметрии в телеметрийные приемники - RX705 и последующие. Также исправлена ошиибка Ардукоптера при работе с NMEA GPS - сообщение RMС активно.
После перепрошивки обязательно нужно откалибровать компас! Иначе возможно нестабильное поведение коптера воздухе. К сожалению, перепрошивка не помогает восстановить параметры по умолчанию. При перепрошивке устанавливаются только те параметры, которые явно поменяли разработчики. Но восстановить настройки по умолчанию возможно с помощью этих файлов:
- Заводские настройки - файл .param для восстановления заводских настроек (с нового QR X350 PRO, не проверен).
- Варианты, немного отличающиеся от настроек по умолчанию, но работоспособность которых проверена владельцами: [30] [31] [32]
Файлы настроек нужно загружать через программу MissionPlanner. Загрузить - "Load", после загрузки файла обязательно нужно нажать "Write params", чтобы настройки прописались в полётном контроллере. Подробнее о настройках в разделе Настройка ArduPilot.
Внимание! Категорически НЕ рекомендуется пользоваться консольным терминалом MissionPlanner для настройки DEVO-M, а также в терминале использовать команду setuр erase — эта команда затирает настройки конфигурации прошивки в EEPROM микросхемы Аtmel 2560 с последующей невозможностью сохранения .param по кнопке WriteParams и контроллер превращается в 'кирпич' [33]. Для исправления ошибки необходимо загрузить в контроллер файл конфигурации 4kb через закладку Config/Download оригинальной программы SerialAngel.exe [34].
Примечание: При возврате со старших версий на 1.0 показывает предыдущий номер прошивки, например 1.1, хотя внутри она уже 1.0. Исправить можно загрузкой файла конфигурации 4kb.
FAQ [править]
Можно ли использовать карты без интернета [править]
В окне планирования миссии правой кнопкой мыши по карте - Map Tool - Prefetch.
При пользовании Droidplanner на планшете/смартфоне через 3DRradio:
- Сначала в MissionPlanner на ПК нужно захватить карты. На экране Flight Plan / Map Tool (правой кнопкой мыши) / Prefetch. После того как вы выберите область и зум, карты будут загружены на ваш компьютер в папку Mission Planner\gmapcache.
- Перед извлечением новых карт нужно почистить существующие старые карты, если памяти в планшете/смартфоне не очень много.
- После того, как новые карты извлекаются на ПК, копируем содержимое папки (под gmapcache), а затем вставляем в планшет в папку \DroidPlanner\Maps
- На Droidplaner необходимо активировать оффлайн карты (Settings/AppSettings/User Interface/Map Provider Preferences/Use Offline Maps - флажок).
- Запускаем Droidplanner с выключеным Wi-Fi на месте, где карты должны быть. Вы должны увидеть карты в автономном режиме.
Почему у меня при планировании миссии в МП не рисует линии между точками? [править]
Не видит точку "Дом" программа МП, надо подключить коптер, пропишется последняя точка дома.
Чем полетный контроллер DEVO-M отличается в лучшую сторону от ArduPilot [править]
- Есть у ардупилота неудобства: [35].
- Нет привычных светодиодов.
- Нет возможности откалибровать компас сведением стиков.
- Нужно удлинять USB до выхода из корпуса коптера.
- Нужно перепаивать ряд разъёмов.
- Нужно ещё впихнуть его в корпус - он больше по размерам или заморачиваться с версией мини и опять же перепаивать разъёмы.
Ссылки [править]
- Источник
- Реализация режима «следуй за мной»
- Как настроить 6 режимов полёта в пульте Devo 10 [36]
- Официальный сайт Ardupilot
- Тема на RCDesign
- Русское Wiki по настройке ARM ArduСopter от начального до высокого уровня сложностей
- Полезная ссылка по настройкам коптера APM2 arducopter
- DIY Drones Firmware builds. Здесь можно найти, например, предыдущие версии Mission Planner
- Прошивка расшифрована!
Техника безопасности [править]
- Внимание! Все эксперименты дома проводить только со снятыми винтами! Источник