Прошу совета по выбору радиомодулей

Realisimus

✩✩✩✩✩✩✩
25 Янв 2022
7
0
Всем привет.

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

Итак, задача проще не бывает (по описанию). Мне нужно передать гарантированный сигнал (наступление события) на расстояние 50 метров на открытой местности с минимальной задержкой. Допустимая задержка менее 10мс, желательная задержка менее 5мс. Содержимое сигнала почти не имеет значение. В идеале можно передать один байт просто для подписи на случай повторной отправки если первая зафейлилась.
Источников событий два, крайне желательно их отличать. Можно просто по содержимому этого самого одного байта. Или поставить два радиомодуля на приемник.
И последнее важное условие - не 2,4 ГГц.

Что уже проверил на данный момент на практике. Отлично решает задачу ESP-NOW но тут проблема в частоте. Зато задержка выше всяких похвал, укладывается в 3мс в тестах. И передатчики по маку отличаются. И повторная подтверждение получения есть. Работал бы он на 5,8 ГГц - цены бы ему не было.
Проверил парочку модулей на 433. Тут все зависит от написанного протокола. Например либа от Гайвера при настройке на максимальную скорость дает задержку 20-30 и у меня оно заработало всего метров на 20. Свой протокол пока писать не пробовал.
Пытался читать инфу по lora - ничего не понятно из описаний и тестов. Понял только что там упор идет на доставку с минимальной скоростью на максимально расстояние а не на время отклика.

Насколько я понял нужно искать максимально быстрый радиомодуль, например 915 МГц и либо с готовым протоколом аналогичным ESP-NOW либо писать свой.
Может кто-то занимался чем-то похожим и скажет, например, что это невозможно и не пытайся. Либо подскажите про какие модули почитать на которых такое теоретически возможно.

Заранее благодарю за помощь.

P.S. На самом деле есть небольшая возможность использовать 2,4 - сдвинуть используему частоту далеко в конец допустимого диапазона. Меня интересует чтобы передача не велась в диапазоне 2400 - 2485. Тот же nrf24l01 по описанию имеет предел 2525 что мне мешать уже не будет. Но для ESP таких настроек я не нашел, увы.
 

Realisimus

✩✩✩✩✩✩✩
25 Янв 2022
7
0
К чему такие сложности?
Все просто. Это часть системы засечек для соревнований радиоуправляемых планеров. Сегодня подавляющее большинство радиопилотов используют частоту 2,4 в указанном диапазоне.
Да, с вероятностью 99,9% кратковременный импульс никак не помешает управлению но "по правильному" участники и организаторы должны максимально избегать зашумления эфира.
 

poty

★★★★★★✩
19 Фев 2020
3,230
940
Вообще-то, для использования в свободных целях в каждой стране выделен свой диапазон. И можно реально нарваться на контролёров, особенно, если наступите на мозоль, допустим, военным.
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
73
@Realisimus,
Для ваших целей можно взять пару модулей nRF24L01+pa+lna на 2.4G и выбрать крайний 127-тый канал для передачи и приема сигнала.

В своё время проверял надежность коммуникации на этих модулях. В моем случае сервер + клиент оба на ардуино + nRF24L01+pa+lna. Сервер переодически погружается в сон и просыпается по прерыванию от модуля nRF24L01+. Клиент каждые 100 мс шлёт ему пакеты 4 байт по кодируемому каналу с проверкой хешсуммы (пара nRF24L01+ работает в режиме «передатчик-приемник» с откликом на подтвердение приема данных) Время отклика (Клиент->Сервер->Клиент) занимает в среднем 700 микросекунд. Иногда переодически случаются провалы в 5 миллисекунд. Расстояние в пределах комнаты (~10 метров). Скорость обмена данными RF24_1MBPS, уровень питания передатчика - RF24_PA_MAX
 

Realisimus

✩✩✩✩✩✩✩
25 Янв 2022
7
0
@Realisimus, Ну, сделайте сканер перед использованием и выберите самый свободный канал.
Диапазон частот который нужно избегать я уже написал. И он покрывает все WIFi каналы. Так что прямое использование WiFi 2,4 не прокатит. И кроме того для ESP-NOW я не нашел возможности выбрать один канал. Я вообще пока не понял как оно работает в частотном диапазоне. В процессе выяснения.

@Realisimus,
Для ваших целей можно взять пару модулей nRF24L01+pa+lna на 2.4G и выбрать крайний 127-тый канал для передачи и приема сигнала.

В своё время проверял надежность коммуникации на этих модулях. В моем случае сервер + клиент оба на ардуино + nRF24L01+pa+lna. Сервер переодически погружается в сон и просыпается по прерыванию от модуля nRF24L01+. Клиент каждые 100 мс шлёт ему пакеты 4 байт по кодируемому каналу с проверкой хешсуммы (пара nRF24L01+ работает в режиме «передатчик-приемник» с откликом на подтвердение приема данных) Время отклика (Клиент->Сервер->Клиент) занимает в среднем 700 микросекунд. Иногда переодически случаются провалы в 5 миллисекунд. Расстояние в пределах комнаты (~10 метров). Скорость обмена данными RF24_1MBPS, уровень питания передатчика - RF24_PA_MAX
Спасибо, этот вариант я описал как самый последний в первом посте. Пока держу как запасной. Больше хотелось бы использовать кардинально другую частоту.
Еще немного и дождусь того что дешевые модули на 5.8 ГГц передут :D
 

Realisimus

✩✩✩✩✩✩✩
25 Янв 2022
7
0
Да, валяется пара таких модулей и чуть других тоже на 433. Но я не придумал как на них реализовать передачу с максимальным откликом. Еще буду изучать мат часть.
Как и написал - использовал пару готовых библиотек включая Gyver433 - время передачи минимального пакета 20-30мс что мне не годится.
Свой протокол пока писать не пробовал, для этого и пришел на форум чтобы сначала узнать был ли у кого-то опыт подобных задач. Может получить 5-10мс на 433 в приниципе не возможно.

И реализовать на них подтверждение получения сложно. Нужно ставить пару модулей и задержки будут огромные. Так как я ранее никогда не заморачивался с протоколами передачи то думаю что мне не хватает базовых знаний как расчитать время отклика.
Насколько я понимаю пакет состоит из заголовка, данных и контрольной суммы. Минимальный размер мне не понятен но обычно пишут что это 1Б + данные + 1Б Итого минимум 3Б
Если заявленная скорость, например, 10кб/с (лора например) то получается что передача 3Б займет 0,3 мс что полностью покрывает мои задачи. А вот на что еще тратится время мне не понятно.
 
Изменено:

Старик Похабыч

★★★★★★★
14 Авг 2019
4,263
1,302
Москва
тут не надо использовать библиотеки. Сигнал на ноге дата тут же передается на ногу ардуины.
На передатчик ставиться чтото, что меняет сигнал на ноге. НЕ АРДУИНА, а сразу датчик. может фотопрерыватель или еще что то
На приемнике с даты идет на ногу 2 или 3 ардуины, на этой ноге запускается прерывание.
По идее работать должно мгновенно.
 
  • Лойс +1
Реакции: Realisimus

Realisimus

✩✩✩✩✩✩✩
25 Янв 2022
7
0
Извините, не совсем понял ответ.
Для простоты давайте нарисуем минимальную конструкцию:
  • Есть передатчик 433. Насколько я понял вы предлагаете подключить к нему напрямую источник сигнала, например кнопку (как мы помним у меня только наступление события). Например я дата пин подтягиваю к земле и при нажатии на кнопку на нем VCC на все время нажатия кнопки.
  • Есть приемник 433. Дата пин подключен к ардуине. Пока передатчик подтянут к земле то на дата пине приемника логический ноль. Как только я включаю VCC на передатчике то на дата пине приемника появляется логическая единица.
Я вас верно понял ?
 

Realisimus

✩✩✩✩✩✩✩
25 Янв 2022
7
0
Спасибо огромное за идею. Вечером попробую собрать на столе и проверить. И посмотреть как будет выглядеть сигнал от автомобильной сигнализации.
Возможно вместо протокола просто использовать непрерывный сигнал в течении 1мс Если он есть - есть срабатывание. А передатчик при этом после нажатия кнопки будет слать единицу, например, целых 10мс (вернем туда какой-то МК)
Это должно отсечь автосигнализации и другие помехи а так же добавить некоторую гарантию приема. Вопрос только сможет ли передатчик стабильно ловить в течении 1мс сигнал на 50 метров...
В общем есть пища для размышлений и чтения доков, еще раз спасибо.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
Еще немного и дождусь того что дешевые модули на 5.8 ГГц передут
Только имей в виду, что если мощность передатчика более 100 мВт(хотя где то пишут и про 25 мВт, нужно документы смотреть для уточнения), то могут как минимум развернуть на таможне, как максимум штраф получишь при использовании.

Так что прямое использование WiFi 2,4 не прокатит.
Я имел в виду использовать например NRF21. Перед использованием запускаешь его в режиме сканирования, он тебе выдает данные какие каналы на сколько загружены, переключаешь на самое свободное место и пользуешься. Да и на открытой местности не думаю, что 2.4 ГГц будет сильно забито. Это рядом с домами идиоты умудряются навесить роутеры на соседние каналы, а потом жаловаться что интернет по WiFi медленно работает.

1643121268634.png
 
Изменено:

Realisimus

✩✩✩✩✩✩✩
25 Янв 2022
7
0
Вы не поняли мою проблему частот :D У нас передатчики для авиамоделей работают в диапазоне 2400 - 2485 постоянно прыгая с канала на канал. Главное условие - вспомогательные системы не должны ИМ мешать работать. Поэтому использовать этот диапазон крайне нежелательно.
Да, скорее всего модель не упадет из-за редкой помехи которая будет портить один-два пакета. Но на соревнованиях такое оборудование недопустимо.
Использование nrf24 на частоте 2500 выглядит допустимым но пока хотелось бы рассмотреть все варианты с большим разносом частот.