Есть ли разумная альтернатива NRF24 или Lora для Arduino?

Всем привет.

Собираю большую р\у машину, и пришел к неутешительному выводу, что любой NRF24 модуль с али (у меня уже их целая коробка всяких разных) - хуже любой самой дешевой аппаратуры радиоуправления для машинок с того же али. Хуже по всему - по времени реакции (большой лаг), по стабильности (то все отлично, то все пакеты потерялись). Уже устал искать что именно и где вечно не так. Как на них некоторые авиа-модели делают - не знаю, есть сомнения что делают вообще. Мне кажется они все падают и разбиваются нафиг от случайной потери связи после того как автор пост выложит и фотки сделает. Есть модули Lora, с ними в этом плане все намного получше, но они тоже не устраивают по ряду причин (в основном доступная частота).

Собственно вопрос, а есть ли какая то альтернатива NRF24 и Lora? Чтобы можно было беспроблем купить. Чтобы было достаточно информации в интернете (библиотеки, примеры). Чтобы не надо было бояться, что в ответственный момент связь накроется. Да, пусть дороже будет, но черт с ним хотя бы так.

p.s
spoiler
Знаю что напишите, поэтому сразу (по поводу NRF24):
  1. Питание изолировал.
  2. Канал чистый выбирал.
  3. Кондеры на вход припаивал.
  4. Фольгой модуль оборачивал.
  5. Отключал ненужные “жрущие” опции (подвтерждение приема пакета и т.д.)
  6. Пробовал разные версии и исполнения модулей \ антены и т.д.
  7. Мощностью и скоростью модуля игрался - были хорошие результаты, но в минус тому что требовалось.

  • Вопрос задан
  • 1744 просмотра
Пригласить эксперта
Ответы на вопрос 5
nava2002
@nava2002
Инженер
Хуже по всему - по времени реакции (большой лаг), по стабильности (то все отлично, то все пакеты потерялись).

Контроллер не успевает забрать данные которые приходят из радиоканала. Известная проблема устройств "реального времени". радиоканал не ждет пока контроллер "соберется с мыслями".
Вариантов два :
1. Увеличить производительность контроллера (метод юных хакеров). Поставит "Малинку" и написать программу на Питоне.
2. Оптимизировать ПО на контроллере. Само железо позволяет решать такие задачи, НО требуется понимание внутреннего аппаратного устройства контроллера. Обычно берут STM, хотя как по мне то Atmel имеет достаточные резервы.
Ответ написан
Комментировать
@Alexeyslav
Программирование, электроника
NRF24 это модуль не гарантирующий передачу данных, коррекцией ошибок необходимо озаботится самостоятельно. Примените хотябы минимальные методы коррекции ошибок и всё станет гораздо перспективнее, во вторых - не использовать встроенные антенны, есть модули с усиленным выходом, к примеру, если нужно расстояние. Ну и в третьих 2.4ГГц это не то что нужно для больших расстояний, NRF-ка кстати частично пересекается с диапазоном WiFi который как правило загажен, поэтому надо всегда мониторить эфир и по возможности искать свободные частотные каналы, а частотный диапазон WiFi и рядом не использовать в принципе, дажбы не тратить время на бесполезое сканирование гарантированно занятых частот. Даже в поле, внезапно может оказаться что кто-то в поселке развернул WiFi и он мешает вышей системе РУ.
В NRF24 есть встроенная функция контроля доставки данных, но она работает через пень-колоду и для серьезного применения лучше не использовать а реализовать свою совместно с алгоритмами коррекции ошибок.
Ответ написан
Комментировать
@Kir850
РУ системы - весьма непростая штука. Их пишут годами :)
Если нет прям супер желания изобретать свой велосипед, возьмите готовую:
QCZEK за несколько долларов можно собрать
ELRS - хороша и весьма доступна
Ответ написан
Комментировать
@evgeniy_lm
Есть ли разумная альтернатива NRF24 или Lora для Arduino?

В принципе вы сами ответили на свой вопрос:
хуже любой самой дешевой аппаратуры радиоуправления для машинок


На самом деле вы банально не в теме NRF24 не хуже, он просто для этого не предназначен, как впрочем и Arduino
Если хотите очень дешевый, но относительно надежный вариант, курите в сторону STM32+WiFi+Android
Ответ написан
Kyodza
@Kyodza
Инженер по лётным испытаниям лёгких самолетов
Я авиамоделист, но в меньшей степени электронщик.

Сервоприводы работают по сигналу ШИМ модуляции по ширине импульса от 1000 до 2000 мксек, следующих с периодом 20 мсек. При количестве 8 каналов и упаковке всех их в пакет PPM ширина пакета получается 18 мсек.

Есть еще цифровые протоколы передачи данных. Можете найти описание. Самый распространенный и понятный - это SBUS. По сути это UART на нестандартной частоте 100 000 мбит/сек, да еще и инвертированный. Мы с ним по работе очень легко общаемся и записываем на бортовой регистратор.

Радиоканал сейчас в основном используется на частоте 2,4 Ггц, и устроен он так же, как и WiFI - скачкообразное псевдослучайное изменение частоты. Там еще могут быть свои корпоративные стандарты, но большинство готовых приемников позволяют использовать их в режиме черного ящика - подали на вход модуля передатчика нужный вам сигнал, на приемнике приняли его же. Какая вам разница, как это работает, по большому счету? Многие достойные модули приема-передачи поддерживают тот самый SBUS (=UART), что упрощает использование этих систем.

И еще, даже если и есть какие то задержки, то динамика самолета такова, что лаг в наших системах до 0,1 сек никакого влияния на управление не оказывает. Это я вам уже как инженер по динамике полета гарантирую.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы