Size: a a a

День Радио [SPb HW R&D]

2021 March 13

s

ssch in День Радио [SPb HW R&D]
Andre Savelev
Привет, посоветовали эту группу.

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

Возможна ли передача радиосигнала с полезной нагрузкой на заданное очень маленькое расстояние (то есть не дальше чем заданное расстояние, измеряемое десятками сантиметров), и всё это за дёшево?

То есть можно ли сделать передатчик, которому можно сказать: передавай на 10 сантиметров, на 20 сантиметров, 30, 40... и где-то до метра.
И приёмник, который находится дальше заданного расстояния, уже не примет (либо проигнорирует) сигнал?

Для понятности искусственный пример: имеется двадцать маленьких роботов, размером с тарелку.
У каждого робота есть код, который он может передать в эфир (у одного робота число 1234, у другого 5941, у третьего 0694 например).
И они играют в догонялки — хаотично носятся в случайных направлениях по территории размером с комнату. Один робот галящий, другие убегают. В какой-то момент времени галящий должен передать салку (роль галящего) ближайшему роботу.


Вижу три способа определить ближайшего:
1. Сначала передать сигнал со своим кодом на минимальное расстояние (10 см). Если никто не откликнулся, то увеличить расстояние до 20 см. И так увеличивать пока кто-то не отзовётся.

2. Передать сразу мощный сигнал со своим кодом, который получат все приёмники. Но тот, кто получит сигнал первым, должен раньше всех захватить себе роль (и как-то уведомить всех, что он был первым).

3. Похож на второй, но роботы должны уметь определять расстояние (время), которое прошёл сигнал от передатчика до приёмника. Пусть в режиме эхо. Галящим становится тот, у которого пройденное расстояние минимально (минимальное время прохождения сигнала).


В игре может присутствовать ещё один приёмник, типа судья, с которым роботы могут общаться по отдельному радио каналу.


Небольшая погрешность допускается. Например, два робота окажутся от галящего на расстоянии 22 и 26 сантиметров. Не страшно, если засален будет второй.
————

Реально ли сделать что-то такое бюджетно, то есть на микроконтроллерах ESP32 (а то и на ардуинах) или STM32 (Blue Pill), и на дешёвых радио метках, датчиках, передатчиках итд с Алиэкспресса?
Я конечно школьник ещё, но первым напрашивается NFC, а расстояние подбирать эмпирически с изменением мощности передатчика.
источник

AS

Andre Savelev in День Радио [SPb HW R&D]
ssch
Я конечно школьник ещё, но первым напрашивается NFC, а расстояние подбирать эмпирически с изменением мощности передатчика.
У меня есть датчик NFC с Али. Он работает где-то сантиметров на 5 от обычной метки.
Не знаю, можно ли ему увеличить мощность, чтобы приём был на расстоянии метра.
источник

s

ssch in День Радио [SPb HW R&D]
Andre Savelev
У меня есть датчик NFC с Али. Он работает где-то сантиметров на 5 от обычной метки.
Не знаю, можно ли ему увеличить мощность, чтобы приём был на расстоянии метра.
До метра и не получится. Я думал см 30
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Andre Savelev
Привет, посоветовали эту группу.

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

Возможна ли передача радиосигнала с полезной нагрузкой на заданное очень маленькое расстояние (то есть не дальше чем заданное расстояние, измеряемое десятками сантиметров), и всё это за дёшево?

То есть можно ли сделать передатчик, которому можно сказать: передавай на 10 сантиметров, на 20 сантиметров, 30, 40... и где-то до метра.
И приёмник, который находится дальше заданного расстояния, уже не примет (либо проигнорирует) сигнал?

Для понятности искусственный пример: имеется двадцать маленьких роботов, размером с тарелку.
У каждого робота есть код, который он может передать в эфир (у одного робота число 1234, у другого 5941, у третьего 0694 например).
И они играют в догонялки — хаотично носятся в случайных направлениях по территории размером с комнату. Один робот галящий, другие убегают. В какой-то момент времени галящий должен передать салку (роль галящего) ближайшему роботу.


Вижу три способа определить ближайшего:
1. Сначала передать сигнал со своим кодом на минимальное расстояние (10 см). Если никто не откликнулся, то увеличить расстояние до 20 см. И так увеличивать пока кто-то не отзовётся.

2. Передать сразу мощный сигнал со своим кодом, который получат все приёмники. Но тот, кто получит сигнал первым, должен раньше всех захватить себе роль (и как-то уведомить всех, что он был первым).

3. Похож на второй, но роботы должны уметь определять расстояние (время), которое прошёл сигнал от передатчика до приёмника. Пусть в режиме эхо. Галящим становится тот, у которого пройденное расстояние минимально (минимальное время прохождения сигнала).


В игре может присутствовать ещё один приёмник, типа судья, с которым роботы могут общаться по отдельному радио каналу.


Небольшая погрешность допускается. Например, два робота окажутся от галящего на расстоянии 22 и 26 сантиметров. Не страшно, если засален будет второй.
————

Реально ли сделать что-то такое бюджетно, то есть на микроконтроллерах ESP32 (а то и на ардуинах) или STM32 (Blue Pill), и на дешёвых радио метках, датчиках, передатчиках итд с Алиэкспресса?
Школа, 10 класс.
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Нельзя.
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Не, ну можно клетку Фарадея поставить вокруг.
источник

AS

Andre Savelev in День Радио [SPb HW R&D]
Pavel Kulikov
Нельзя.
А почему?
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Но вообще радиоволны распространяются в идеальную бесконечность.
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Обычно все хотят дальше...
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Вот у меня рекорд портативка-портативка 72 км. 5 Вт, штатные резинки.
источник

AS

Andrew Strokov in День Радио [SPb HW R&D]
Andre Savelev
Привет, посоветовали эту группу.

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

Возможна ли передача радиосигнала с полезной нагрузкой на заданное очень маленькое расстояние (то есть не дальше чем заданное расстояние, измеряемое десятками сантиметров), и всё это за дёшево?

То есть можно ли сделать передатчик, которому можно сказать: передавай на 10 сантиметров, на 20 сантиметров, 30, 40... и где-то до метра.
И приёмник, который находится дальше заданного расстояния, уже не примет (либо проигнорирует) сигнал?

Для понятности искусственный пример: имеется двадцать маленьких роботов, размером с тарелку.
У каждого робота есть код, который он может передать в эфир (у одного робота число 1234, у другого 5941, у третьего 0694 например).
И они играют в догонялки — хаотично носятся в случайных направлениях по территории размером с комнату. Один робот галящий, другие убегают. В какой-то момент времени галящий должен передать салку (роль галящего) ближайшему роботу.


Вижу три способа определить ближайшего:
1. Сначала передать сигнал со своим кодом на минимальное расстояние (10 см). Если никто не откликнулся, то увеличить расстояние до 20 см. И так увеличивать пока кто-то не отзовётся.

2. Передать сразу мощный сигнал со своим кодом, который получат все приёмники. Но тот, кто получит сигнал первым, должен раньше всех захватить себе роль (и как-то уведомить всех, что он был первым).

3. Похож на второй, но роботы должны уметь определять расстояние (время), которое прошёл сигнал от передатчика до приёмника. Пусть в режиме эхо. Галящим становится тот, у которого пройденное расстояние минимально (минимальное время прохождения сигнала).


В игре может присутствовать ещё один приёмник, типа судья, с которым роботы могут общаться по отдельному радио каналу.


Небольшая погрешность допускается. Например, два робота окажутся от галящего на расстоянии 22 и 26 сантиметров. Не страшно, если засален будет второй.
————

Реально ли сделать что-то такое бюджетно, то есть на микроконтроллерах ESP32 (а то и на ардуинах) или STM32 (Blue Pill), и на дешёвых радио метках, датчиках, передатчиках итд с Алиэкспресса?
есть методы которые по time on air позволяют определить точно расстояние между приемником и передатчиком, но это недешево
источник

AS

Andre Savelev in День Радио [SPb HW R&D]
Pavel Kulikov
Но вообще радиоволны распространяются в идеальную бесконечность.
Конечно. Но если бы речь шла о километрах и точности в десятки метров, то задача была бы совсем не сложной.
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
При этом все заявляют не более пары км.
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Но вообще, задача условно решаема.
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
Мощность поменьше, частоту повыше.
источник

~

~hummingbirdwhocode ... in День Радио [SPb HW R&D]
Andrew Strokov
есть методы которые по time on air позволяют определить точно расстояние между приемником и передатчиком, но это недешево
А как они синхронизируются? Есть какой-то референсный клок, типа гнсс ппс?
источник

PK

Pavel Kulikov in День Радио [SPb HW R&D]
И антенну менее эффективную, но такую, чтобы передатчик не сгорел.
источник

AS

Andrew Strokov in День Радио [SPb HW R&D]
Andre Savelev
Привет, посоветовали эту группу.

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

Возможна ли передача радиосигнала с полезной нагрузкой на заданное очень маленькое расстояние (то есть не дальше чем заданное расстояние, измеряемое десятками сантиметров), и всё это за дёшево?

То есть можно ли сделать передатчик, которому можно сказать: передавай на 10 сантиметров, на 20 сантиметров, 30, 40... и где-то до метра.
И приёмник, который находится дальше заданного расстояния, уже не примет (либо проигнорирует) сигнал?

Для понятности искусственный пример: имеется двадцать маленьких роботов, размером с тарелку.
У каждого робота есть код, который он может передать в эфир (у одного робота число 1234, у другого 5941, у третьего 0694 например).
И они играют в догонялки — хаотично носятся в случайных направлениях по территории размером с комнату. Один робот галящий, другие убегают. В какой-то момент времени галящий должен передать салку (роль галящего) ближайшему роботу.


Вижу три способа определить ближайшего:
1. Сначала передать сигнал со своим кодом на минимальное расстояние (10 см). Если никто не откликнулся, то увеличить расстояние до 20 см. И так увеличивать пока кто-то не отзовётся.

2. Передать сразу мощный сигнал со своим кодом, который получат все приёмники. Но тот, кто получит сигнал первым, должен раньше всех захватить себе роль (и как-то уведомить всех, что он был первым).

3. Похож на второй, но роботы должны уметь определять расстояние (время), которое прошёл сигнал от передатчика до приёмника. Пусть в режиме эхо. Галящим становится тот, у которого пройденное расстояние минимально (минимальное время прохождения сигнала).


В игре может присутствовать ещё один приёмник, типа судья, с которым роботы могут общаться по отдельному радио каналу.


Небольшая погрешность допускается. Например, два робота окажутся от галящего на расстоянии 22 и 26 сантиметров. Не страшно, если засален будет второй.
————

Реально ли сделать что-то такое бюджетно, то есть на микроконтроллерах ESP32 (а то и на ардуинах) или STM32 (Blue Pill), и на дешёвых радио метках, датчиках, передатчиках итд с Алиэкспресса?
в теории еще можно фар поставить у которой будет сложное распределение в ближнем поле. Но на дальность влиять будет фаза луны и погода, да и стоить будет космос
источник

AS

Andrew Strokov in День Радио [SPb HW R&D]
~hummingbirdwhocode 🌿
А как они синхронизируются? Есть какой-то референсный клок, типа гнсс ппс?
по раундтрипу измеряют
источник

AS

Andrew Strokov in День Радио [SPb HW R&D]
Pavel Kulikov
Мощность поменьше, частоту повыше.
боюсь, пытаться мощностью сигнала получить точность определения расстояния — задача труднорешаемая в силу того что на таких расстояниях на практике на rssi влияет все, кроме расстояния.
Был опыт определения расстояния на 2.4 ГГц, получалось определить дальность с точностью до 2 м, но было очень много промахов
источник