Использование и настройка SBUS, SmartPort

В этой статье мы покажем, как подключить и настроить приемник X4R-SB с SBUS и SmartPort телеметрией к ПК на F3 c Betaflight, и Naze32 F1 с CleanFlight.

Инструкций разделена на две части, вначале мы покажем, как это всё сделать на ПК F3/F4, а затем для Naze32 Rev5. Ниже прямые ссылки на эти разделы:

В качестве примера будет выступать приемник X4R-SB, а вот список других приёмников FrSky, которые часто используются в мини коптерах.

Настраиваем SBUS / SmartPort на ПК F3

f3-fc-connect-sbus-smart-port-x4r-sb-rx-xsr-radio-receiver

Если у вас ПК на 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) в выпадающем списке соответствующего порта.

configure-smart-port-sbus-in-betaflight-port-tab

Переходим на вкладку «Configuration«, в разделе «Receiver» (приемник) выбираем следующие настройки:

configure-sbus-in-betaflight-configuration-tab

И, наконец, включаем телеметрию (Telemetry) в разделе «Other Features«. Нажимаем Save и все!

configure-smart-port-in-betaflight-configuration-tab

Настраиваем SBUS и SmartPort на ПК F4

Некоторые полетные контроллеры на F4 не поддерживают Smart Port напрямую, потому что в них нет аппаратной инверсии сигнала. Следовательно, вам придется еще раз инвертировать сигнал, чтобы SPort заработал.

Вот инструкция как получить неинвертированный SBUS и SmartPort на приемниках FrSky.

x4r-sb-rx-smart-port-uninverted-telemetry-signal

Если на вашем ПК 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.

sbus-inverter-diagram-schematics

Переделка X4R-SB, чтобы обойтись без инвертера

Другой вариант – найти определенный контакт на плате приемника и взять не инвертированный сигнал прямо оттуда. В этом случае инвертер не нужен.

frsky-x4r-sb-subs-uninverted-hack-naze32

На самом деле на плате приемника есть специальный чип, который инвертирует сигнал. В соответствии со схемой выше, вы можете найти нужный контакт с не инвертированным сигналом для подключения к контроллеру.

Кто-то даже припаивает небольшой разъем для этого:

x4r-sbus-direct-connection-uninverted-pin

Вот наше руководство как найти «неинвертированный» сигнал SBUS и SmartPort в приемниках FrSky.

Настройки соединения SBUS в Naze32

Предположим вы используете UART2 на Naze32, оставляя UART1 для подключения по USB конфигуратора CleanFlight. Вначале нужно включить Serial RX для UART2 на вкладке Port.

sbus-cleanflight-port-tab-settings-serial-rx-uart-2

Выбрать Serial RX на вкладке Configuration.

sbus-cleanflight-serial-rx-settings

Контакты UART2 это RC3 (TX) и RC4 (RX). Вам нужно подключить выход SBUS к RC4, так как это однонаправленное соединение. RC4 прямо под контактом «-» (земля).

Вы можете сделать кабель типа такого:

sbus-naze32-connection sbus-naze32-connection-flight-controller

Как соединить SmartPort и Naze32

Для телеметрии вам снова понадобится последовательный порт. Однако на Naze32 вы этого сделать не можете, потому что там всего 2 аппаратных UART, и они уже используются: один для подключения SBUS, а второй зарезервирован для подключения по USB. Кое-кто писал, что этот способ подойдет и для Rev6 (но у меня ее нет, так что не могу ни проверить, ни опровергнуть).

Однако хорошая новость в том, что есть возможность использовать SoftSerial (software serial, программную эмуляцию последовательного порта) для подключения SmartPort. Контакты RC5 и RC6 доступны для SoftSerial на плате Naze32.

Замечу, что RGB светодиоды подключаются к RC5, то при использовании SoftSerial, придется отключить LED_strip.

smart-port-naze32-softserial-connection

Имейте ввиду, что нужно соединить 2 контакта вместе (RC5 и RC6). Марсело сделал разъем в котором контакты спаяны друг с другом. Другой конец кабеля подключен к SmartPort порту приемника (на картинке зеленый провод).

Причина, по который SmartPort использует только один провод для приема и передачи в том, что протокол полудуплексный. Именно это и эмулируется замыканием TX и RX и включением SoftSerial.

С приемником D4R-II RX вам нужно подключить телеметрию только к RC6 (softSerial TX), но очевидно, что есть разница с X4R-SB, на котором SmartPort нужно подключить к обоим контактам – RC5 и RC6. Марсело пытался, но у него не получилось, пока он не соединил контакты вместе.

x4r-sb-receiver-rx-smart-port-cable

В конфигураторе CleanFlight вы должны выбрать Telemetry и SoftSerial на вкладке Configuration.

smart-port-telemetry-cleanflight-settings-soft-serial

Затем на вкладке Ports выберите SoftSerial1 и SMART PORT, AUTO.

smart-port-softserial-cleanflight-port-tab-settings

К консоли (CLI) наберите Telemetry Invert = ON или 1, в зависимости от версии CleanFlight. В последней версии используются значения ON и OFF вместо 0 и 1.

cleanflight-smart-port-telemetry-inversion-on-cli-settings

И еще раз проверьте в консоли включены ли эти функции.

cleanflight-sbus-smart-port-features-cli-settings

Как мы узнаем, что SmartPort телеметрия работает?

Итак, чтобы проверить сдвиньте контроллер в любом направлении, и посмотрите меняются ли значения AccX и AccY (если вы не отключили акселерометр). Если постоянно показывается 0, то это может значить как то, что акселерометры выключены, так и то, что телеметрия не работает.

taranis-tx-check-if-smart-port-telemetry-working-AccX-AccY-changing-number

Для отображения правильной высоты, вы должны вначале включать коптер, и только затем Taranis (передатчик). Если вы вначале включите Taranis, он покажет неправильные значения.

taranis-tx-smart-port-telemetry-reporting-battery-lipo-voltage

Отметим, что в старых версиях прошивки Taranis напряжение основного аккумулятора показывалось как Cells, но теперь это не работает, новое значение – Vfas.

Naze32 с подключенными SBUS и Smartport будет выглядеть примерно так:

sbus-smart-port-connection-cable-naze32-flight-controller

На этом все! Если у вас есть что сказать – пишите в комментариях.

История изменений

  • Декабрь 2015 — первая версия статьи для F1 Naze32 Rev5
  • Апрель 2017 — обновлены инструкции для F3
  • Июль 2017 — Обновлены ссылки, настройка SmartPort на F4 без инвертора

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.