В этой статье мы покажем, как подключить и настроить приемник X4R-SB с SBUS и SmartPort телеметрией к ПК на F3 c Betaflight, и Naze32 F1 с CleanFlight.
Оригинал: Using SBus, SmartPort Telemetry on Naze32
Инструкций разделена на две части, вначале мы покажем, как это всё сделать на ПК F3/F4, а затем для Naze32 Rev5. Ниже прямые ссылки на эти разделы:
- Как настроить SBUS / SmartPort на ПК F3
- Как настроить SBUS / SmartPort на ПК F4 (без встроенного инвертора)
- Как настроить SBUS / SmartPort на ПК Naze32 Rev5 (F1)
В качестве примера будет выступать приемник X4R-SB, а вот список других приёмников FrSky, которые часто используются в мини коптерах.
Настраиваем SBUS / SmartPort на ПК F3
Если у вас ПК на F3 или F4, то настроить SBUS и SmartPort телеметрию очень легко. Просто подсоедините SBUS к контакту RX любого свободного последовательного порта на ПК (или к специальному порту SBUS, если он есть), SmartPort нужно подключить к TX другого свободного порта (нельзя использовать тот же порт что и для SBUS).
Для приемников X4R-SB и XSR процедура одинаковая. Купить X4R-SB можно тут.
В примере выше, я использовал UART2 для SBUS и UART3 для SmartPort. Теперь пора настроить их в Betaflight.
Первым делом открываем вкладку «Ports» и включаем «Serial RX» у порта, к которому подключен SBUS. Выбираем SmartPort в качестве выхода (Telemetry Output) в выпадающем списке соответствующего порта.
Переходим на вкладку «Configuration«, в разделе «Receiver» (приемник) выбираем следующие настройки:
И, наконец, включаем телеметрию (Telemetry) в разделе «Other Features«. Нажимаем Save и все!
Настраиваем SBUS и SmartPort на ПК F4
Некоторые полетные контроллеры на F4 не поддерживают Smart Port напрямую, потому что в них нет аппаратной инверсии сигнала. Следовательно, вам придется еще раз инвертировать сигнал, чтобы SPort заработал.
Вот инструкция как получить неинвертированный SBUS и SmartPort на приемниках FrSky.
Если на вашем ПК c F4 имеются специальные порты для SBUS и SmartPort, то процесс подключения аналогичен ПК на F3 (см выше).
Как настроить SBUS / SmartPort на ПК Naze32 Rev5 (F1)
Настройки SBUS и SmartPort очень похожи на разных полетных контроллерах в Cleanflight, разница в оборудовании. Очевидно, что Naze32 (на процессоре F1) требует немного больше усилий и работы руками чем в случае контроллеров на процессорах F3 (Tornado, Dodo и т.п.). Но нет ничего невозможного.
Как мы уже ранее объясняли в статье про сравнение PPM и SBUS, сигнал SBUS на выходе приемника FrSky инвертирован (т.е. перевернут) и некоторые полетные контроллеры не могут его распознать и понять.
Существует множество способов инвертировать сигнал, например, использовать самодельный инвертер сигналов.
Заметим, что только платы Rev5 и более старые требуют этого, rev6 распознает SBUS без инверторов.
Инвертор SBUS
Инвертор легок в изготовлении, потребуется пара резисторов (10кОм и 4.7кОм), 1 транзистор (BC547b) и один сервокабель. Это очень дешевые и легкодоступные детали. Все хорошо разъяснено в видео:
https://www.youtube.com/watch?v=DtvID1YeSbE.
Переделка X4R-SB, чтобы обойтись без инвертера
Другой вариант – найти определенный контакт на плате приемника и взять не инвертированный сигнал прямо оттуда. В этом случае инвертер не нужен.
На самом деле на плате приемника есть специальный чип, который инвертирует сигнал. В соответствии со схемой выше, вы можете найти нужный контакт с не инвертированным сигналом для подключения к контроллеру.
Кто-то даже припаивает небольшой разъем для этого:
Вот наше руководство как найти «неинвертированный» сигнал SBUS и SmartPort в приемниках FrSky.
Настройки соединения SBUS в Naze32
Предположим вы используете UART2 на Naze32, оставляя UART1 для подключения по USB конфигуратора CleanFlight. Вначале нужно включить Serial RX для UART2 на вкладке Port.
Выбрать Serial RX на вкладке Configuration.
Контакты UART2 это RC3 (TX) и RC4 (RX). Вам нужно подключить выход SBUS к RC4, так как это однонаправленное соединение. RC4 прямо под контактом «-» (земля).
Вы можете сделать кабель типа такого:
Как соединить SmartPort и Naze32
Для телеметрии вам снова понадобится последовательный порт. Однако на Naze32 вы этого сделать не можете, потому что там всего 2 аппаратных UART, и они уже используются: один для подключения SBUS, а второй зарезервирован для подключения по USB. Кое-кто писал, что этот способ подойдет и для Rev6 (но у меня ее нет, так что не могу ни проверить, ни опровергнуть).
Однако хорошая новость в том, что есть возможность использовать SoftSerial (software serial, программную эмуляцию последовательного порта) для подключения SmartPort. Контакты RC5 и RC6 доступны для SoftSerial на плате Naze32.
Замечу, что RGB светодиоды подключаются к RC5, то при использовании SoftSerial, придется отключить LED_strip.
Имейте ввиду, что нужно соединить 2 контакта вместе (RC5 и RC6). Марсело сделал разъем в котором контакты спаяны друг с другом. Другой конец кабеля подключен к SmartPort порту приемника (на картинке зеленый провод).
Причина, по который SmartPort использует только один провод для приема и передачи в том, что протокол полудуплексный. Именно это и эмулируется замыканием TX и RX и включением SoftSerial.
С приемником D4R-II RX вам нужно подключить телеметрию только к RC6 (softSerial TX), но очевидно, что есть разница с X4R-SB, на котором SmartPort нужно подключить к обоим контактам – RC5 и RC6. Марсело пытался, но у него не получилось, пока он не соединил контакты вместе.
В конфигураторе CleanFlight вы должны выбрать Telemetry и SoftSerial на вкладке Configuration.
Затем на вкладке Ports выберите SoftSerial1 и SMART PORT, AUTO.
К консоли (CLI) наберите Telemetry Invert = ON или 1, в зависимости от версии CleanFlight. В последней версии используются значения ON и OFF вместо 0 и 1.
И еще раз проверьте в консоли включены ли эти функции.
Как мы узнаем, что SmartPort телеметрия работает?
Итак, чтобы проверить сдвиньте контроллер в любом направлении, и посмотрите меняются ли значения AccX и AccY (если вы не отключили акселерометр). Если постоянно показывается 0, то это может значить как то, что акселерометры выключены, так и то, что телеметрия не работает.
Для отображения правильной высоты, вы должны вначале включать коптер, и только затем Taranis (передатчик). Если вы вначале включите Taranis, он покажет неправильные значения.
Отметим, что в старых версиях прошивки Taranis напряжение основного аккумулятора показывалось как Cells, но теперь это не работает, новое значение – Vfas.
Naze32 с подключенными SBUS и Smartport будет выглядеть примерно так:
На этом все! Если у вас есть что сказать – пишите в комментариях.
История изменений
- Декабрь 2015 — первая версия статьи для F1 Naze32 Rev5
- Апрель 2017 — обновлены инструкции для F3
- Июль 2017 — Обновлены ссылки, настройка SmartPort на F4 без инвертора