Управление 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.

  • 11381
Comments
Andrew1978

Прикольно. Спасибо.
вч модуль, и еще схема включения (не реклама)

AlexeyStn

Модуль по вашей ссылке тоже подойдёт. У него даже больше дальность.

Там показывается модификация для пультов Walkera DEVO 8S. Для них есть альтернативная прошивка Deviation, которая поддерживает Hubsan.

В прошивке ER9X, увы, нет поддержки A7105, поэтому приходиться выкручиваться вот такими способами.

czuryk

На всякий случай про сам программатор хочу сказать - USBasp бывает разных модификаций, те что китайские - есть версия V3, которая не видится стандартным софтом и позволяет прошивать только очень китайским софтом.
Есть тоже неплохой программатор от Мастер Кита, у меня для него есть кастомная прошивка, которая его превращает в AVRISP mkII. Но оставляет тактирующий сигнал на XTAL (LED), таким образом можно прошивать процы без кварца, но в который зашиты фьюзы на внешний кварц. Это версия 2.3, ее нет на офф. сайте.
Может кому это будет полезным, так как я в свое время намучался с выбором программатора.

igoralekseevru
Andrew1978;bt118665

Прикольно. Спасибо.
вч модуль, и еще схема включения (не реклама)

Делаем? =)
Ты уже заказал комплектуху?

Andrew1978

Мой Speкtrum не переживет еще и Хубсана…

sirBaskervill

USBasp это такой же, каким турнига перешивается?

AlexeyStn

Точно такой же.

Спасибо за инструкцию, сделал все как у вас, но с некоторыми нюансами, добавил отдельный тублер для переключения питания и у меня впаян резистор в разрыв дорожки PPM(что бы в симуляторе летать). Но есть одна проблема: когда вставлен родной модуль от Turnigy, Hubsan биндится, но управления не работает, как-только достаю родной модуль, hubsan биндится и отлично управляется. Не подскажете в чем может быть проблема?

AlexeyStn
grifild;bt120412

Но есть одна проблема: когда вставлен родной модуль от Turnigy, Hubsan биндится, но управления не работает, как-только достаю родной модуль, hubsan биндится и отлично управляется. Не подскажете в чем может быть проблема?

Честно говоря, не сталкивался с подобным. Модуль FrSky при отключенном питании не влияет на PPM.
А вы подключаете вход ардуино до или после резистора, который в разрыве?

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

AlexeyStn;bt120415

Честно говоря, не сталкивался с подобным. Модуль FrSky при отключенном питании не влияет на PPM.
А вы подключаете вход ардуино до или после резистора, который в разрыве?

Перепаял провод к PPM перед резистором и все отлично заработало со вставленным модулем Turnigy, осталась непонятка с тумблерами, но это мелочи 😁 . Еще раз спасибо вам, за инструкцию!

AlexeyStn
grifild;bt120465

еще один глюк заметил сегодня, тумблеры работают хаотично, один раз в положении от себя светодиоды горят, другой раз выключены 😃

Проверьте значения на канале с тумблерами. Должно меняться от минимального к максимальному, от -100 до +100. Возможно, у вас от 0 до +100, отсюда и нестабильность.

SheD

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

AlexeyStn

SheD,
Светодиод загорается, когда происходит бинд. Я его не ставил, потому что Hubsan и так мигает своими диодами.
Схема по ссылке такая же, как у меня, только нет кварца.
У вас фьюзы в Атмеге правильно выставлены? Тактирование 8 МГц от внутреннего генератора?

SheD
AlexeyStn;bt125929

SheD,
Светодиод загорается, когда происходит бинд. Я его не ставил, потому что Hubsan и так мигает своими диодами.
Схема по ссылке такая же, как у меня, только нет кварца.
У вас фьюзы в Атмеге правильно выставлены? Тактирование 8 МГц от внутреннего генератора?

Внешнего кварца нет. На счет фьюзов думал сегодня. Щас попробую поменять.
Такс, а какие должны быть фьюзы? Fuses:FuseH=0xC0 FuseL=0xA4(only for M8-8mhz internal clock version) - эти?
Или из этого списка ?

SheD

Убил похоже атмегу, не хочет AVRDUDE ни прошивать, ни фьюзы выставлять.

SheD

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

AlexeyStn

Какая у вас Атмега?
Фьюзы я ставлю через SinaProg, там уже подписано, какой фьюз что означает.

SheD

168PA, уже всё перепробовал, не хочет работать.
SinaProg кстати у меня тоже не работает.

Negodiaev

А пульт АТ-10 можно по данной схеме подключить? А то воляется без дела.

AlexeyStn
Negodiaev;bt156883

А пульт АТ-10 можно по данной схеме подключить?

Уверен, что можно.
Узнайте, где у него выход PPM - остальное по той же схеме.

prodigy489

А как сделать наоборот: управлять с пульта hubsan h501m скоростным квадриком?? Может есть приемники под пульт хабсана?

AlexeyStn
prodigy489;bt158306

А как сделать наоборот: управлять с пульта hubsan h501m скоростным квадриком?? Может есть приемники под пульт хабсана?

Возможно, приёмники и существуют, давно Хубсанами не интересовался.
Для скоростного квадрика проще взять более подходящий пульт, хотя бы самый дешёвый FlySky i6. Получите намного больше удовольствия от управления и меньше геморроя с железом.