07 ноября 2013

Deviation - установка модуля nRF24L01 для протокола HiSky

Вертолет WLToys V933 уже давно стоит на полке и просится в небо. Но ни аккумуляторов, ни чем управлять им, пока нет. Последнюю проблему я и решил исправить.

Модели фирмы HiSky используют для управления собственный протокол. С некоторых пор появилась возможность использовать протокол HiSky в альтернативной прошивке Deviation для передатчиков серии DEVO производства Walkera. Для этого нужно подключить к передатчику модуль на основе чипа nRF24L01 и собрать альтернативную прошивку с патчем, содержащим поддержку протокола HiSky. Так как поддержка протокола еще находится в разработке, то патч пока что официально не включен в прошивку Deviation.

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

Для начала потребуется собрать прошивку для передатчика с поддержкой протокола HiSky. Текущий патч можно взять здесь. Не буду описывать процесс наложения патча и сборки прошивки. Если с этим есть сложности, то в любой момент можно попросить меня (форма справа на панели) собрать прошивку с патчем протокола HiSky для любого поддерживаемого передатчика.

Потребуется передающий модуль на чипе nRF24L01. Приобрести его можно здесь. Это самое, на мой взгляд, интересное предложение. Модули бывают с усилителем мощности и без него. От этого зависит дальность работы модуля. Если на плате модуля стоит один чип, значит модуль без усилителя мощности, а если два - с усилителем. Я так и не дождался прихода модуля с усилителем мощности, но вспомнил, что аналогичный модуль использовался в передатчике от моего первого вертолета NE Solo Pro. Разобрав передатчик, увидел следующее:


Собственно, вот и модуль. Как видно, он без усилителя мощности. Ничего, для эксперимента его вполне хватит. Процесс извлечения модуля довольно прост. Сначала аккуратно отпаивается антенна. Поскольку плата, на которой установлен модуль, односторонняя, то можно просто собрать припой с обратной стороны платы на оплетку и модуль с разъемом выпадет сам. Затем нужно снять пластиковую колодку разъема и по одной распаять ножки. Из корпуса передатчика извлекается антенна и припаивается на свое место.

Я пользуюсь передатчиком DEVO10, поэтому дальнейшее описание будет для него. Для других передатчиков все можно сделать аналогично. Вводный курс подключения внешних модулей к передатчикам DEVO с прошивкой Deviation можно получить из документации на официальном сайте. Но в документации есть одна неточность в таблице распиновки модулей. Я сделал исправленную таблицу и добавил внизу распиновку модуля на чипе nRF24L01.


А вот так расположены выводы на самом модуле от передатчика NE Solo Pro:


Разобрав передатчик DEVO10, я снял родной модуль, чтобы посмотреть, можно ли подключиться прямо к разъему, на котором установлен модуль. Оказалось, что вполне можно. Очень не хотелось припаивать провода непосредственно к передающему модулю.


Я решил реализовать возможность установки новых модулей без пайки внутри передатчика. Задумался над реализацией разъемов. Как не прикидывал, все оказывалось громоздким и неудобным. И тут на глаза мне попались выводы с разъемами JST1.25. Выводов на модуль получается шесть штук. Разъемы по три вывода, один повернуть папой, другой мамой, чтобы не перепутать - вот и готово подключение для модуля! А если в параллель еще такие же выводы сделать, кроме контакта TMS/TCK - вот и второй модуль можно подключить. Прошивка Deviation пока что поддерживает подключение только двух дополнительных модулей.


Выводы с передатчика сделал с помощью провода МГТФ, так как у него изоляция не плавится, а уже к этим выводам припаял разъемы и закатал все в термоусадку. Получилось просто замечательно. А после установки родного модуля на место, так и вообще прекрасно.


Выводы попадают под вырез в планке крепления родного модуля и там фиксируются. А вот и примитивная схема организации выводов:


Один модуль подключается к TMS, а второй - к TCK. Разъем, подключенный к выводу TMS, я отметил черным маркером. Осталось подготовить модуль для установки. Тут никакой премудрости нет.


Металлическую часть антенны затянул термоусадкой. Распиновку выводов на фотографии хорошо видно. Оставалось обтянуть модуль термоусадкой и установить в передатчик. Итогом работы стало вот это:


Модуль приклеен на двухсторонний толстый "автомобильный" скотч. Антенну убрал под плату, там много места.

В передатчике с обновленной прошивкой нужно отредактировать файл "tx.ini".  В секции "[modules]" нужно изменить строчку "enable-nrf24l01=none" на "enable-nrf24l01=A13", если модуль подключен к TMS, или на "enable-nrf24l01=A14", если модуль подключен к TCK. Так же, если модуль имеет усилитель мощности, нужно исправить строчку "has_pa-nrf24l01=0" на "has_pa-nrf24l01=1". Если на модуле нет усилителя мощности, как у моего модуля от передатчика NE Solo Pro, то эту строчку исправлять не надо.

Вот и все, установку модуля можно считать законченной. Осталось разобраться с привязкой вертолета V933 к передатчику.

Для этого я создал новую модель и указал в настройках протокол HiSky. Затем нужно подготовить вертолет и аккумулятор. Процедура сопряжения выглядит так. Нажимаем в передатчике кнопку Bind, есть всего семь секунд, чтобы за это время быстро подключить аккумулятор к вертолету. Быстренько подключаем аккумулятор, вертолет начнет быстро мигать светодиодом. Если процедура сопряжения выполнена, то светодиод на плате вертолета загорится ровным светом и появится реакция на стики.

Как оказалось, подключить дополнительные модули для DEVO10 не так уж и сложно. Если еще найти источник антенн с длиной 31мм., то было бы вообще хорошо. В будущем планирую подключить еще и модуль XL7105-D03 для поддержки протокола FlySky. Теперь это будет не сложно.

P.S. Сегодня первый раз поднял в воздух вертолет 450-го класса. Не свой. Не разбил!

Список комплектующих:
nRF24L01+PA+LNA - 1шт.
Micro Servo Connector Lead 1.25 Pitch - Male Plug (5pcs/bag) - 1шт.
Micro Servo Connector Lead 1.25 Pitch - Female Plug (5pcs/bag) - 1шт.

19 комментариев :

  1. Can you share your Deviation Model Config file for FBL80 or v933?

    ОтветитьУдалить
  2. A few days ago I replaced the nRF24L01 module with power amplifier. This is my last config for V933: http://sites.google.com/site/mchelifiles/model9.ini

    ОтветитьУдалить
  3. Спасибо, доходчивая статья, понравилась очень.
    подскажите, не могу найти ответ на вопрос. Я так понимаю если я впаяю этот модуль передатчика, старый модуль будет работать то же параллельно, но не бубдут ли они создавать друг другу помехи? и тем более если я поставлю еще третий поддерживаемый модуль (не знаю на сколько он мне нужен практически, но теоретически же можно). Как долго живут батареи при использовании 2-х передатчиков?

    ОтветитьУдалить
    Ответы
    1. Да, все модули будут работать параллельно, но энергию будет потреблять только активный. Помех не будет. У меня пока только один дополнительный модуль впаян, под второй выводы зарезервировал. Так вот, вывел две антенны в один корпус. Пока проблем с помехами не было.

      Удалить
  4. спасибо большое за статью, но я не понимаю какие провода из пульта подключать к модулю, название контактов ведь не все соответствуют.
    допустим GRN, MISO и MOSI понятно куда, а TMS, VDD куда паять?

    ОтветитьУдалить
    Ответы
    1. Так в таблице же все есть. Выбираете модуль и смотрите к какой его ноге что паять. Например для nRF24L01 VDD - ко второй и третьей ноге, а TMS или TCK - к четвертой.

      Удалить
  5. Спасибо за ответ. Я очень долго не мог понять что nRF24L01 это XL24L01-D03 в таблице. Скажу честно, очень долго пытался разобраться куда что подключать. Было бы на много проще всё сделать, если бы была схема где нарисованы модуль и пульт с соединениями между собой.
    Но без Вашей статьи вообще бы ничего не получилось. Спасибо за труд.
    Кстати у меня в файле ТХ нету строк о которых написано в Вашей статье.

    ОтветитьУдалить
    Ответы
    1. Все течет, все меняется. Настройки модулей уже перекочевали в файл hardware.ini.

      Удалить
  6. Не подскажите - после установки модуля какие манипуляции с аппой надо делать? Devo 10, прошииа на 4.0.1

    ОтветитьУдалить
  7. http://www.banggood.com/ru/DEVO-Transmitter-Tuner-Modified-for-FBL80-FBL100-WLtoys-V922-p-89812.html
    Здесь модуль идет с 2x4 "папой", а что если его воткнуть в дево ВМЕСТО родного модуля? Если, допустим, родной не нужен в данный момент?

    ОтветитьУдалить
    Ответы
    1. Ерунда получится. Распиновка не совпадает. В таблице есть соответствие распиновки родного модуля и nRF24L01. Если бы совпадало - нет проблем. Только файл hardware.ini в пульте подправить. Там родной модуль на B12 заведен.

      Удалить
  8. В случае использования модуля XL7105D3 судя по схеме, получается, что контакты 3 и 8 а так же контакты 1 и 9 замкнуты накоротко. Я правильно понял? Спасибо.

    ОтветитьУдалить
    Ответы
    1. Для модуля A7105 с новой версией прошивки немного изменилась схема подключения. В таблице схема для старой версии. Вот здесь есть подробнее. 3-й идет на землю, 1-й на плюс питания, 6-й соединяется с 9-м, а 7-й - с 8-м.

      Удалить
  9. Спасибо. Все спаял по новой схеме, но передатчик нового модуля не видит. может надо что в настройках править?. Спасибо.

    ОтветитьУдалить
    Ответы
    1. Конечно надо. В файле hardware.ini убрать комментарии со строк:
      enable-a7105 = A13
      has_pa-a7105 = 1
      Если модуль подпаян к TMS - оставить A13, если к TCK - заменить A13 на A14.

      Удалить
  10. C новым годом. Спасибо за ответы. С модулем XL7105D3 разобрался, файл hardware.ini поправил, как сказали. Все работает. Спасибо большое. Теперь впаиваю модуль NRF24L01 для V977. Аппа Дево10, прошивка последняя, которая указана у вас справа. Какая схема подключения актуальна? Распиновка - последняя строчка в таблице актуальна для этого модуля? Если не затруднит - дайте пожалуйста готовую схему, как одним постом выше, дали для 911. Так все сразу стало просто и понятно... И что надо править в файле hardware.ini? Большое спасибо. С праздником.!!

    ОтветитьУдалить
    Ответы
    1. Да, распиновка актуальна. Вот схема. В hardware.ini надо раскомментировать две строки:
      enable-nrf24l01 = A13
      has_pa-nrf24l01 = 1
      Если модуль подпаян к TMS - оставить A13, если к TCK - заменить A13 на A14.

      Удалить
  11. Вот спасибо большое! Все сразу ясно.

    ОтветитьУдалить