Управление Hubsan X4 H107 с Turnigy 9X
Расскажу про то, как подружить микроквадрокоптер Hubsan X4 H107L с пультом Turnigy 9X.
Все описанные действия подходят для любого пульта, в котором которого есть выход PPM.
ПО и схемы составлены не мной. Я лишь перевёл с английского и добавил от себя инструкцию по установке модуля внутрь пульта.
Хочу поблагодарить PhracturedBlue, который проделал огромную работу и разобрал протокол связи:
www.rcgroups.com/forums/showthread.php?t=1773853
и Midelic, написавшего прошивку для Ардуино:
www.rcgroups.com/forums/showthread.php?t=1954078
Внутрь Turnigy 9X мы установим платку с ATmega и радиомодуль на микросхеме A7105. Такая же микросхема стоит в оригинальном пульте Hubsan X4.
Переключение питания между главным передающим модулем (в моём случае это FrSky DJT) и модулем для Hubsan назначим на один из тумблеров. В один момент времени будет работать только один передатчик.
Можно оставить два одновременно работающих модуля, но мы не хотим зря растрачивать батарейку и сорить в эфир ненужным сигналом. Кроме того, оба модуля работают в диапазоне 2,4 ГГц и теоретически они могут друг другу мешать.
Что потребуется
1. Arduino Pro Mini (около 3$ на ebay или aliexpress). Вместо Arduino Pro Mini можно использовать любую плату с микроконтроллером ATmega8, ATmega168 или ATmega328, с кварцевым резонатором на 8МГц или 16МГц. На RC-Groups лежат разные версии прошивки для разных контроллеров.
2. Радиомодуль A7105 или XL7105 (3$ там же).
3. Стабилизатор напряжения на 3,3В – 78L33 (1$ в ближайшем магазине). Подойдёт LM1117 или любой другой, который рассчитан на ток больше 30мА.
4. Резисторы 10 кОм и 20 кОм или других близких номиналов. Один должен быть в 1,5…2 раза больше другого.
5. Программатор USBasp, желательно с питанием 3,3В или с выбором 3,3В/5В.
Внимание! Для модуля А7105/XL7105 требуется напряжение питания 3,3В. Если на него подать 5В, он сгорит. Рекомендуется прошивать Ардуино до подключения радиомодуля, либо отключать питание VCC от радиомодуля на время прошивки, либо использовать программатор USBasp с джампером для выбора напряжения 3,3В/5В.
Схема подключения
Последовательность действий
1. Прошиваем в Arduino файл “Hubsan_V2_M328_16Mhz.hex” c помощью программатора USBasp. Фьюзы оставляем по умолчанию.
Мне попалась китайская Arduino Pro Mini, на которой уже был разведён 6-пиновый разъём ISP для программатора.
Для тех, у кого нет программатора USBasp или нет разъёма, автор советует программу Xloader для загрузки hex-файла через FTDI: russemotto.com/xloader/
Прошивку можно скачать здесь: www.rcgroups.com/forums/showthread.php?t=1954078
Автор прошивки не выкладывает исходный код в свободный доступ, а делится лишь hex-файлами. Но нам этого вполне достаточно.
2. Соединяем Ардуино с радиомодулем A7105 проводами в соответствии со схемой: два для питания, три для передачи данных.
3. Припаиваем резисторы и провод для входного сигнала PPM к выводу 3.
Сигнал PPM, который идёт от платы Турниги, имеет уровень 5В. Микроконтроллер на Ардуино питается от 3,3В, поэтому большее напряжение ему навредит.
На выходе делителя мы получим: 5В * 20кОм / (10кОм + 20кОм) = 3,3В – именно столько, сколько нужно.
4. В цепь питания модуля устанавливаем стабилизатор напряжения 78L33.
Распиновка такая:
1 - выходное напряжение;
8 - входное напряжение;
2,3,6,7 - земля.
Стабилизатор надо запаковать в термоусадку, чтоб не допустить короткого замыкания с другими частями.
Существуют версии Arduino Pro Mini, на которых уже стоит стабилизатор на 3,3В. На таких платах можно подключать 12В напрямую к пину RAW, а питание на модуль A7105 подавать с пина VCC.
Однако у меня оказалась версия со стабилизатором на 5В. Пришлось ставить внешний стаб.
5. Перерезаем на плате дорожку, подводящую питание к основному радиомодулю.
6. Для выбора радиомодуля (FrSky или A7105) мы используем переключатель Throttle Cut, дальний левый переключатель. К нему удобнее всего подвести провода.
Отпаиваем два провода, ведущие к переключателю. Их можно спаять вместе или отрезать совсем. Главное, чтоб не болтались оголённые концы проводков. После этого пульт будет видеть выключатель как постоянно включенный или постоянно выключенный.
7. Устанавливаем платы в корпус. Платы удобнее всего разместить в самой верхней части и закрепить термоклеем. Во-первых, здесь достаточно места. Во-вторых, ничто не будет мешать распространению радиосигнала.
8. Подключаем питание и PPM-сигнал в соответствии со схемой и фото.
Напряжение питания 12В берётся с нижнего ряда контактов, 7-й по счёту контакт слева, и подпаиваются к среднему контакту тумблера.
С крайних контактов тумблера один провод идёт на питание основного радиомодуля FrSky, другой – к питанию 78L33.
Землю для Ардуино и A7105 можно взять из любого контакта, соединённого с земляным полигоном.
PPM-сигнал берётся с верхнего контакта разъёма основного радиомодуля.
Таким образом, PPM поступает одновременно на оба модуля, а питание модулей выбирается тумблером.
Итого четыре соединения с большой платой.
Провода надо проложить так, чтобы за них не задевали внутренние механизмы стиков. Их можно закрепить термоклеем.
9. Собираем и включаем пульт. Включаем Hubsan. Если всё сделано правильно, то квадрокоптер должен помигать светодиодами и забиндиться.
Если не биндится, скорее всего, неправильно выбрана прошивка (не для той частоты, не для того микроконтроллера).
Настройка Turnigy 9X
Каналы настраиваются следующим образом:
1 канал – Aileron (в реверсе)
2 канал – Elevator
3 канал – Throttle
4 канал – Rudder (в реверсе)
5 канал – Переключатель светодиодов, любой тумблер
6 канал – Антифлип-режим, любой тумблер
Судя по поведению Хубсана, в нём внутри уже заложены экспоненты. Если хочется более резкого движения, каналы Aileron и Elevator можно компенсировать обратными экспонентами (с отрицательными коэффициентами, выгнутые в обратную сторону).
По желанию можно настроить кривую газа, чтоб эффективнее использовать его диапазон.
Калибровка акселерометра делается точно так же, как и на оригинальном пульте: левый стик вправо-вниз, правый стик подвигать влево-вправо. Расходы при этом должны быть 100%.
Режимы Expert и Normal не переключаются отдельно. В этом нет необходимости, так как расходы и экспоненты настраиваются в самой Турниге.
Итоги
Теперь мы можем управлять одним и тем же пультом как «взрослыми» аппаратами, так и Хубсаном.
Флипы и светодиоды теперь можно повесить на тумблеры, чтобы не отключать их при каждом включении, как это происходит на штатном пульте.
Режим эксперта тоже не надо включать каждый раз.
За счёт большего хода стиков у Turnigy получили более точное управление.
Максимальную дальность не проверял. В пределах видимости на расстоянии 20-25м приём отличный.
Дополнительный радиомодуль не обязательно встраивать внутрь, можно поставить внешний корпус, как показано на RC-Groups.