Программа для прошивки flysky
How to upgrade Flysky / Turnigy Receiver firmware
(Based on work from Goebish who did the first iA6B upgrade instructions)
Use this procedure at your own risk
A requirement for this procedure is the ST-Link V2 debugging stick. It is available for cheap on eBay og banggood ()
This procedure will allow you to install new firmware on most FlySky Receivers. The Receivers are all powred by an STM32 chip, and for some receivers there are different firmware releases.
The FS-i10 can update some/all receivers (?) over the air. But I do not have the FS-i10.
- iA6B: Version 1.6 - Firmware with 8 channel PPM output (first had 6 channels only)
- iA6C: Version x.x - Just a dump from a Turnigy iA6C receiver
- X6B: Version x.x - This is a firmware confirmed working with failsafe on iBus (BetaFlight/iNav). There have been some reports on receivers which just did channel hold on iBus/PPM, and only working failsafe on PWM. If you have one of these defective receivers, you should update.
- iA8X
- X8B
- A8S: Version 2
- 8A: Version 2 (probably A8S clone)
Connect the iA6B to the ST-Link:
- connect a gnd pin of the receiver to gnd on the ST-Link. Power the RX with 5V - You can use the 5V from the ST-Link, or another source. Or you can power it directly with 3.3V on the 3.3V pad.
- solder wires to CLK & DAT pads inside the RX then connect them to the ST-Link SWCLK & SWDIO pins. Some people prefers to press pins to the pads instead of soldering. It takes a bit of practice, but should be safe since the bootloader is in ROM, and is not overwritten.
Making a backup
- Launch ST-Link Utility
- Set the Address field to 0x08000000 and Size to 0x8000
- Click Connect to the target
- Click Save () to keep a backup of your firmware, just in case .
Flashing new firmware
Rebind the RX to Deviation You should now see RSSI in dB in telemetry monitor screen (~ -60d) Verify reported voltage levels are correct. The iA6C firmware on X6B has some pins swapped, and wrong reporting.
Есть у друга комплект для тренировок начинающих пилотов: пульт FlySky FS-i6 и тинивуп на базе Деда Мороза. Все бы ничего, но функционал пульта уж очень скромный. В первую очередь, остро ощущается нехватка каналов. Их всего шесть, а для удобного управления квадриком хочется немного больше:)
В интернете случайно попалось описание прошивки для FlySky FS-i6, увеличивающее количество доступных каналов пульта аж до 14-ти! Раз такое возможно, было принято решение попробовать обновить прошивку.
Для этого потребуется любой FTDI-адаптер или любая плата Arduino, например Arduino Nano. Просто нужен мост с USB на последовательный порт. Есть и готовый адаптер для прошивки пульта, но под рукой его не оказалось.
Выводы последовательного порта уже доступны на тренерском разъеме пульта. Схема соединения для обоих вариантов будет выглядеть так, как на рисунке ниже. Используются три провода: TX, RX и общий. Общий провод подключается к наружному кольцу разъема.
С FTDI-адаптером соединение идет TX-RX, RX-TX, а с Arduino Nano: TX-TX1, RX-RX0, не перепутайте!
Прошивка последней версии находится здесь. Скачиваем и распаковываем самый файл 8CH_PPM.zip. Эта модификация прошивки, кроме всего прочего, добавит 8 каналов на выходе тренерского разъема - пригодится в будущем. Внутри находится программа для обновления прошивки для 32-х и 64-битных версий Windows и три варианта прошивки: две без модификации пульта и одна с установленным дополнительно тумблером SWE. Так как пульт даже не вскрывался и не подвергался модификации, буду использовать файл с именем "fs-i6_updater_02_18_19_15.bin". Если у вас (как и у меня) операционная система отличается от Windows, потребуется отдельная программа для обновления, скачиваем ее здесь.
Перевести пульт FlySky FS-i6 в режим обновления прошивки можно двумя способами. Первый - зажать вместе триммер газа вниз, триммер руддера вправо и включить пульт. Экран будет темным, ничего не будет происходить, но пульт будет в режиме обновления прошивки.
Второй - выбрать этот режим из меню "System - Firmware update", нажать OK и ответить утвердительно на вопрос. Тогда подсветка экрана отключится, но надпись на экране сохранится.
Попробовал прошить пульт с помощью Arduino Nano - не получилось. Наверное, плата попалась мертвая. А с FTDI-адаптером получилось с первого раза!
В Windows надо бросить программу для прошивки и саму прошивку в один каталог, запустить программу и ответить утвердительно на вопрос.
После обновления прошивки пульт самостоятельно перезагрузится в обычный режим. Можно его выключить и убрать все провода. Проверить результат можно по отображаемой версии прошивки в меню пульта.
Не буду подробно рассказывать о новом функционале прошивки. Отмечу, что действительно стало доступно 14 каналов управления. Недостатка в AUX-каналах у квадрика уже не наблюдается:) Осталось перевести стики пульта на датчики Холла и будет вполне себе бюджетный и функциональный передатчик.
В этой статье мы перепрошьем до 10 каналов одну из самых бюджетных и популярных среди новичков - аппаратуру FlySky i6, конечно, она морально уже устарела, но до сих пор на рынке пользуется спросом.
Для этого нам потребуется:
- Аппаратура управления FlySky i6 (не подходит для симулятора)
Обновляем прошивку
На момент перепрошивки мной аппаратуры, последняя актуальная версия 1.5
Далее подключаем кабель прошивки к аппаратуре и пк.
Переводим аппаратуру в режим разработчика. Для этого зажимаем оба стика в крайнем левом положении и включаем аппаратуру.
Если увидели подобный экран, то Вы на верном пути.
Идем в раздел Firmware update.
На компьютере переносим ранее скачанные файлы (exe и hex) с репозитория на диск C:/FlySkyUpdate
Запускаем приложение 10ch_MOD_i6_Programmer_V1_5.exe
Видим подобный интерфейс.
Выбираем Open Port, в моем случае COM3 (у меня Windows 10, мне никаких драйверов не понадобилось, но если у Вас не удалось найти устройство, попробуйте установить драйвер).
Нажимаем кнопку Program и, если все установлено правильно, должен начаться процесс перепрошивки.
В случае успешной загрузки можете выключить аппаратуру и запустить ее заново, прошивка должна была применяться.
Идем в настройки аппаратуры, в раздел Display и смотрим:
До прошивки было 6 каналов.
После перепрошивки у нас появилось 10 каналов.
Также можем зайти в раздел Firmware ver. Если видите подобную картинку, значит все отлично, прошивка удачно применялась!
Многие пилоты гоночных квадрокоптеров и других авиамоделей, начинают свой пусть с бюджетной аппаратуры FlySky, у которой во многих приемниках нет функции RSSI.
Если вам лень читать статью выше, то короткий ответ на вопрос, что такое RSSI — это показатель уровня сигнала между квадрокоптером и пилотом. На самом деле, это очень важная функция, чтобы всегда знать, в какой момент вы можете потерять управление и как далеко можно лететь.
В этой статье вы узнаете, как и чем прошить приемник FlySky, чтобы у него появилась функция RSSI.
Компоненты и приемники
Я использую обычный передатчик (пульт) FS-I6:
Для прошивки подойдут только приемники:
- FS-IA6B;
- FS-IA6C;
- FS-IA8X;
- FS-X6B;
- FS-X8B;
- FS-8A;
- FS-A8S;
- FS-IA10B;
- FS-X14S.
Ссылки на приемники и их технические характеристики, можно посмотреть здесь: Приемники Flysky — полный список приемников бюджетной аппаратуры
Также, вам понадобится:
Разбор приемника и припаивание программатора
Вам нужно снять кейс, если у вас приемник в корпусе (например, i6b).
Затем, найдите контактные площадки:
На программаторе ST-Link V2 они обозначаются точно также. Вам нужно подключить колодки с проводами к программатору и следуя маркировке, припаять провода к приемнику.
IA6B
И несколько распиновок других приемников:
X6B
IA6C FS-X14S
Не перепутайте при подключении пины 5V и 3.3! В противном случае, приемник сгорит.
Также, не подключайте ST-link к компьютеру до установки драйверов!
Установка программного обеспечения
Вам нужно скачать и установить:
Там нужно зарегистрироваться, это обязательный шаг.
Прошивки скачиваются из репозитория Github:
Там по 2 прошивки на каждый приемник — для 8 канального и 14 канального: если вы используете соединение через PPM, то качайте 8 канальную, если iBUS, то любую (8 или 14).
Откройте программу ST-Link (которую вы скачали по ссылке выше). У вас должно быть все так:
- Установите «Address field» и «Size» на 0x08000000 и 0x8000.
- Нажмите «Connect to target» (кнопка под меню).
- нажмите «Save» чтобы скачать и сохранить оригинальную прошивку.
- Нажмите «Open» и выберите прошивку, которую вы скачали с репозитория Гитхаба.
- Нажмите «Program verify», должно появиться окно:
- Проверьте, что «Address» и «File Path» правильные. они должны быть «0x08000000» и путь, куда вы скачали файл прошивки.
- Выберите «Verify after programming».
- Нажмите «Start».
- Если вы увидели после этого «Verification…OK» зеленым цветом, значит все прошло успешно.
После такой прошивки пропадет привязка приемника к передатчику (пульту), поэтому процедуру «binding» придется пройти еще раз, кроме приемников A8S и 8A, так как идентификатор передатчика (пульта) они записывают в EEPROM, а эта память не стирается при прошивке.
Настройки в полетном контроллере
Почти все. Теперь у вас есть приемник от FlySky, которого вы научили передавать RSSI, но еще не научили принимать такую информацию полетного контроллера.
Подсоедините приемник к полетному контроллеру. Подсоедините полетный контроллер к компьютеру и зайдите в конфигуратор (например, в Betaflight). На вкладке «Конфигурация» снимите флажок с «Analog RSSI», если он там стоит.
Теперь перейдите на вкладку «Приемник» и установите значение в «RSSI Channel» в зависимости от прошивки, которую вы скачали с репозитория. У меня это IA6B_rssi_ch8.bin, поэтому нужно выбрать «CH8».
Теперь у вас есть RSSI, поздравляю! Если оно не выведется на экране, зайдите на вкладку конфигуратора — OSD и настройте вывод в нужном месте экрана.
Если у вас пульт не прошит на 14 каналов, ничего страшного, так как значение RSSI создается самим передатчиком.
Установка и настройка FlySky FS-iA6B и FS-iA10B
Betaflight поддерживает PWM-приемники, но я настоятельно рекомендую купить приемник, который работает по протоколу iBUS.
iBUS — это цифровой протокол, такой же как SBUS, но у него меньше задержки и более высокая точность сигнала управления, а также его немного легче установить, за счет минимального количества проводов.
В настоящее время на рынке есть два приемника FlySky, которые поддерживают iBUS:
FS-iA6B и FS-iA10 — этот приемник (ресивер) для полетов на гоночных квадрокоптерах. Они компактные, их легко можно установить в мелкий дрон, у них крепкий корпус, но антенные не съемные.
Отличие FS-iA6B от FS-iA10 лишь в том, что в первом 6 каналов связи, а во втором — 10 каналов. Для гоночного квадрокоптера будет достаточно 6 каналов (4 управление, 1 канал на переключался режимов полета и 1 канал на пищалку для поиска дрона в траве). 10 канальные приемники используют чаще на съемочных самосборных квадрокоптерах, либо, если на гоночный вешают ненужные для гоночного датчики, типа GPS и т.д. и чтобы их включать, нужны дополнительные каналы.
A8B — этот приемник имеет правый форм-фактор, и зато съемная. Эти приемники без корпуса и требуют защиты.
Приемник FS-iA6 и FS-iA10, который поставляется со многими аппаратурами FlySky i6 и i10, в настоящее время не поддерживает iBUS. Это исправят в ближайшем будущем с релизом новой версии Betaflight 3.1. Это потребует сделать небольшую модификацию приемника, но это стоит сэкономленных денег. Приемник подключается к порту UART на полетном контроллере, и кстати, его можно установить в любой UART, так как он не требует последовательности, в отличии от SBUS. Однако, вы не должны подключать ваш приемник IBUS к выходу с надписью «SBUS». В этой статье я буду подключать приемник к порту UART3.
FS-iA6B и FS-iA10B имеет два порта iBUS, расположенных на верхних шести контактах приемник. Слот «SENS» предназначен для подключения телеметрии в FS-iA6B и FS-iA6B. Телеметрия iBUS еще не поддерживается в Betaflight, но она есть. Слот «SERVO» — это выход iBUS от приемника, к которому подключается сервопровод, выходящий из полетного контроллера.
Здесь он стоит боком, но можно поставить и нормально, смотря сколько у вас там места есть.
Переплет и настройка переключателей режимов Прежде чем настраивать свое радио, вам нужно привязать к нему приемник FlySky. Для этого вам нужно включить питание вашего квадроцикла с подключенным штекером, вставленным в приемник. Сначала удалите реквизиты и подумайте о том, чтобы использовать устройство дымоудаления, если это первый раз, когда вы включаете квадроцикл.
Связывание FS-iA6B и FS-iA6B с пультом
На приемниках с штыревыми разъемами, имеющими порт «bind», вам нужно будет использовать подключаемый штекер, поставляемый с ресивером, чтобы TX и RX могли разговаривать друг с другом. При вставленном штепсельной вилке приемник загрузится быстро мигающим светом. Это означает, что он находится в режиме привязки. Чтобы связать свой FS-i6 и FS-iA10B с ним, включите TX, удерживая кнопку привязки. Процесс привязки произойдет немедленно, и RX (приемник) будет медленно мигать, показывая, что привязка успешно выполнена. В этот момент вы должны удалить свою привязку.
Подключение приемника
Прежде чем настраивать квадрокоптер, нужно привязать к нему приемник FlySky. Для этого подключите разъем приемника к полетному контроллеру и подключите аккумулятор к дрону. Не забудьте снять пропеллеры перед этими действиями! Если вы правильно подключили приемник к контроллеру, то на нем замигает светодиод. Теперь включите пульт. Пульт начнет пищать, сообщая о том, что сигнала нет, но через пару секунд перестанет, значит он поймал сигнал с приемника.
Также, если вы не знаете, как подключать провода от полетного контроллера к приемнику, посмотрите это видео:
Настройка каналов
Единственная настройка, которую нужно сделать, это привязать переключатели режимов на пульте к каналам 5 и 6. Я рекомендую сделать 1 канал на постановку и снятие с охраны дрона, а второй на переключение режимов полета (стабилизация или акро). Как это сделать, читаем ниже:
Настройка iBus в Betaflight
В настройке нет ничего сложного. Для начала, всегда снимайте пропеллеры, зачем подкючаем по USB дрон к компьютеру, запускаем Betaflight и нажимаем Connect.
- Переходим во вкладку «Ports», там включаем Serial RX, на том порту (порты слева UART1,2,3), к которому вы подключили. Как это понять? Посмотрите схему вашего полетного контроллера, там все порты будут с подписями.
Нажимаем Save and Reboot - Переходим во вкладку «Configuration». Выбираем «RX_SERIAL» в блоке «Receiver Mode», а также выбираем «IBUS» в блоке «Serial Receiver Provider».
Снова нажимаем Save and Reboot. - Далее переходим во вкладку «Receiver». В блоке «Channel map» выбираем «Futaba» или «AETR1234». Это стандартные протоколы и их менять обычно не нужно.
Жмем Save. - Теперь убедитесь, что все переключатели работают (а также переключатели снятия с охраны и переключатели режимов полета), они должны быть на отметке 1500, кроме газа, газ должен быть на 1000, когда стик находится в нижнем положении. Подробнее, как сделать так, чтобы все значения были на отметке 1500, можете почитать в этой стать: Betaflight configurator, настройка на русском.
Настройка FailSafe
Важная функция — настройка того, что будет делать дрон, если произойдет потеря сигнала с аппаратуры управления.
Посмотрите на значение Receiver, какое там будет значение:
В нижнем положении стика Газ эта цифра не должна быть выше значения 1000. Если оно выше, читайте статью по ссылке выше или уменьшите это число через меню настроек в пульте.
Теперь нам нужно настроить пульт так, чтобы при выключении пульта или потери сигнала, приемник на дроне дал команду контроллеру на снижение оборотов двигателей. Заходим в меню пульта в «End Point», выбираем канал Ch3 и кнопкой ОК увеличиваем значение до 101%:
Нажимаем Cancel и удерживаем для сохранения настроек. Теперь идем в бетафлай и проверяем значение (раздел Receiver). Поднимаем до упора стик газа и опускаем до самого низа. Значение должно быть немного ниже 1000, например 996.
Теперь возвращаемся в меню «System Setup». Выбираем «RX Setup» и потом «Failsafe»:
Выбираем « Channel3″ с помощью кнопок Up и Down сделайте -101% как на картинке выше, нажимаем OK. Снова идем в бетафлай и проверяем, какие у нас там будут цифры. Если значение больше 1000, то в «End Point» увеличиваем значение до 102%.
Далее, в Betaflight Configurator нужно настроить сам режим FailSafe, для этого включаем режим эксперта, эта кнопка находится здесь:
Далее, переходим во вкладку «FailSafe», и в блоке «Valid Pulse Range Settings» ставим значение «996»:
Нажимаем Сохранить и перезагрузить.
Теперь нужно убедитсья, что файлсэйф работает, для этого переходим во вкладку Receiver, включаем аппаратуру и дрон и смотрим на значение газа, оно должно быть 1000. Теперь отключаем пульт, значение газа должно стать 996.
Вот и все, вы настроили FailSafe. Теперь, при потере связи, дрон будет падать, либо опускаться, а не лететь дальше, пока аккумуляторы не сядут.
Если вы повредили антенны этого приемника и вам нужно их поменять, тогда прочитайте эту статью: Как поменять антенны приемника fs-ia6b и fs-ia10b
Читайте также: