Блок для подключение радиоаппаратуры к ESP32 по протоколу S-BUS

Блоки с разделением на ESP32/ESP8266 а так же совместные
Ответить
Bond2222
Рядовой
Сообщения: 8
Зарегистрирован: 05.01.2022{, 20:09}
Репутация: 1
Имя: Dima

Блок для подключение радиоаппаратуры к ESP32 по протоколу S-BUS

#1

Сообщение Bond2222 » 11.07.2022{, 17:34}

S-BUS — это шинный протокол, в котором одна последовательная линия может отправлять 16 каналов с данными и плюс два канала (17 и 18) контрольных, с помощью которого радиоаппаратура отправляет команды через приемник в контроллер. В отличие от PWM, SBUS использует шинную архитектуру.
Примечание относительно каналов 17 и 18: Они доступны не для всех приемников и сервоприводов SBUS.

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

ТЕСТ ПРОВОДИЛСЯ НА РАДИОАППАРАТУРАХ:
1) RadioLink AT10 (R12DS) -- значение с каналов от 306 до 1694
2) Flysky FS-i6 (FS-iA6B) -- значение с каналов от 240 до 1807

С помощью S-BUS мне удалось на 6-ти канальной радиоаппаратуре Flysky FS-i6 добиться возможности передачи 14-ти каналов одновременно, по правде прошивку на аппаратуре изменял.


Описание блока:
СпойлерПоказать
Сигнальный провод SBUS подключается к GPIO16 (RX2). Данный блок занимает UART2 ESP32.
Вход:
EN (Boolean) - разрешение на работу блока. При высоком уровне "true" блок работает.
Выхода:
CH1 - CH16 (Integer) - 16 выходов с данными.
CH17 (Boolean) - при потери сигнала между радиоаппаратурой и приемником на выходе образуется "true"
CH18 (Boolean) - при переходе приемника в безопасный режим на выходе образуется "true"
Полное описание и код взятые с GitHuba : https://github.com/bolderflight/sbus
Вложения
Шина данных S_BUS + ESP32_(Code_-_Basic).ubi
(390.65 КБ) 52 скачивания

Ответить

Вернуться в «Блоки для ESP32/ESP8266»