Ретранслятор
После тестов планера с приемником на улице стало понятно что дальность Bluetooth у VR контроллера никакая. Пара метров - и сервы начинают подлагивать, в 5 метрах связи уже нет. Запустить с определенным положением руля можно, но управлять полетом уже не получится.
Решил пускать сигнал с VR пульта через ретранслятор. Тем более что изначально планировалось ставить на самолёт более лёгкую плату - двухграмовую ESP32C3 Pro Mini с выносной антенной, но из-за того что пульт не поддерживал BLE пришлось делать на Lolin32 Lite с обычным ESP32.
Гемини подсказал, что связать две платы ESP32 можно по протоколу ESP-NOW и это будет прям очень быстро (единицы миллисекунд) и далеко (сотни метров).
Схема такая получается: сигнал с VR контроллера отправляется по Bluetooth на плату ESP32, которая висит с павербанком где-то рядом на дереве. Миксуем каналы так как нам нужно и сразу же отправляем пакет дальше по ESP-NOW на приемник самолёта.
Плату ESP32 для работы ретранслятором доделывать не нужно, возможно потом добавлю буззер для оповещений и всё. А вот на плате приемника надо закоротить диод для питания от 1S аккумулятора, иначе будет вырубаться уже при 3.9В. Если использовать внешнюю антенну через IPX разъем, то перепаять переключатель рядом с SMD антенной на сторону разъема.
Чтобы связать приемник с ретранслятором нужно включить платы с прижатым к земле контактом Bind (pin6 на приемнике, pin13 на ретрансляторе). Приемник в состоянии бинда шлёт в эфир свой мак адрес, а ретранслятор ждет такое сообщение и получив запишет его.
Далее от приемника требуется только принять пакет с каналами управления и выдать PWM на пины сервам/моторам. Весь тюнинг будет делаться через прошивку ретранслятора, так что приемник можно паковать внутрь самолёта.
Скетчи для ретранслятора и приемника загрузил на Github. В папке со скетчем нужно переименовать config_template.h в config.h и внести нужные настройки. Для приемника это например значения каналов при Failsafe, а для ретранслятора - калибровки контроллера и выбор микшера.
На кнопки VR контроллера ABCD повесил через микшер трим Yaw/Pitch чтобы можно было компенсировать потенциальную разницу в установке моторов и начальный угол руля высоты.
На этом программная и аппаратная часть ретранслятора готовы. Сервопривод на столе откликается мгновенно, лаги исчезли, а связка Bluetooth + ESP-NOW работает стабильно. Дальность приема в поле на штатных антеннах составила не менее 100м, что для визуального полета мне пока будет достаточно. В следующей статье расскажу про подключение и тест моторов.






Лига RC хобби и моделистов
326 постов1.7K подписчика
Правила сообщества
Запрещается
1) Оскорблять друг друг
2) Всякого вида реклама