Радиоколебание

zzzzza
Offline
Зарегистрирован: 18.11.2016

Всем привет!

Сразу скажу, что мало в этом понимаю, поэтому не ругайтесь.

Буду объяснять на примере картинки:

 

Есть два радиомодуля: первый находится слева (темно-синяя вертикальная прямая), а второй справа (бирюзовая вертикальная прямая).

Первый модуль испускает волну из точки "1" (синяя волна), а второй модуль принимает эту волну в точке "4" (на самом деле точки "3" и "4" находятся в одном месте).

Теперь второй модуль испускает волну из точки "3" (красная волна), а первый модуль принимает эту волну в точке "2".

Вопросы:

1) Что показывает вертикальный уровень, то есть откуда испускается волна?

2) Можно ли испускать волну из какой-то конкретной точки, а не из нуля (точка "1")?

3) Если можно, то какой модуль (nrf?) для этого подойдет и как это программно сделать?

 

Заранее спасибо!

nick209
Offline
Зарегистрирован: 13.08.2017

Нихрена не понял! Вертикальная ось на графике это всего-лишь амплитуда колебаний... Что сделать то надо???

zzzzza
Offline
Зарегистрирован: 18.11.2016

Постараюсь ответить на все вопросы, если что-то не понятно!

zzzzza
Offline
Зарегистрирован: 18.11.2016

Мне надо узнать разность фаз двух волн, а для этого второй модуль должен испустить волну не из нуля, а из точки "3", то есть с какой-то конкретной амплитуды. (как я понимаю)

Можно ли это сделать?

5N62V
Offline
Зарегистрирован: 25.02.2016

Наверняка можно! Ведь зависимость конкретной испускаемой амплитуды  от испускаемой фазы - ПРЯМАЯ! Точто так же, как и принимаемой фазы от принимаемой амплитуды, но не наоборот! 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Где-то я это уже видел.....
https://m.habrahabr.ru/post/327642/

zzzzza
Offline
Зарегистрирован: 18.11.2016

Это отлично, спасибо!

Тогда остается один вопрос: какой модуль (nrf?) для этого подойдет и как это программно сделать?

zzzzza
Offline
Зарегистрирован: 18.11.2016

trembo, там:

1) Волна отражается, а не принимается.

2) Нет информации о том, как это сделать программно.

3) Там используется лазер, а не радимодуль. (ну в этом, как мне кажется, разницы нет)

zzzzza
Offline
Зарегистрирован: 18.11.2016

Еще вопрос появился: Мне еще нужен ЦАП, то есть просто радиомодуля для этого будет недостаточно?

nik182
Offline
Зарегистрирован: 04.05.2015

Ни где не увидел частоту колебаний.

zzzzza
Offline
Зарегистрирован: 18.11.2016

nik182, это от выбранного модуля зависит, а я не знаю у какого модуля есть такой функционал.

Изначально планировал использовать "nrf24l01" (2.4 ГГц)

nik182
Offline
Зарегистрирован: 04.05.2015

А что вы хотите получить? Чем смотреть полученную магнитуду электромагнитного излучения?  Размер антенны соизмерим с длиной волны и получить сигнал из точки неполучится ни как. Нет способа управлять фазой генератора в промышленых передатчиках. Нет возможности отслеживать фазу в приемниках. Идея в чём?  

kasper007
Offline
Зарегистрирован: 23.05.2016

Что-то я думал, что все лазерные дальномеры на триангуляционном методе основываются. Дешево и сердито.

nik182
Offline
Зарегистрирован: 04.05.2015

Там лазер. Он светит прямо. А радио луч генериться во всех направлениях и отражается от всего и в точке приёма может быть несколько волн с разными фазами. 

zzzzza
Offline
Зарегистрирован: 18.11.2016

nik182, Хочу измерить расстояние между двумя радиомодулями.

Выделил для себя 3 метода (по приоритетности):

1) Фазовый. (который я и хотел сделать)

2) Основанный на мощности принимаемого сигнала.

3) Импульсный.

Первый метод, насчет которого я и спрашивал: я понял, что отправлять импульс вторым модулем из какой-то конкретной фазы не надо. Единственное, что нужно, это замерить в какой фазе пришел сигнал к первому модулю (точка "2" на картинке из главного поста). Вы написали, что: "Нет возможности отслеживать фазу в приемниках". Может быть это не точно и кто-то знает как это сделать или какой модуль на это способен (который можно подключить к arduino)?

Есть еще второй метод: Он тоже неплох, но для него надо знать мощность принимаемого сигнала. Можно ли узнать эту мощность? (допустим у того же модуля "nrf24l01")

Третий способ самый легкий в реализации, но я не хочу его использовать, так как он не самый точный (поэтому и стоит на третьем месте)

zzzzza
Offline
Зарегистрирован: 18.11.2016

Не очень хорошо в этом всем разбираюсь, но может быть натолкну Вас на мысль: можно ли как-то использовать ЦАП (допустим, модуль "MCP4725") для генерации волны из нужной фазы? (ЦАП сгенерирует нужную синусоиду, а модуль ее отправит)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

А не путаете ли вы аналоговый передатчик-приемник
с каналом передачи цифровых данных на их основе?
Вы ЦАП на 2.4 Гигагерца видели?

zzzzza
Offline
Зарегистрирован: 18.11.2016

Понял. Сразу написал, что не разбираюсь)

zzzzza
Offline
Зарегистрирован: 18.11.2016

Так если с фазами ничего не получается, то можно как-то измерить мощность принимаемого сигнала?

kasper007
Offline
Зарегистрирован: 23.05.2016

zzzzza пишет:

Выделил для себя 3 метода (по приоритетности):

1) Фазовый. (который я и хотел сделать)

2) Основанный на мощности принимаемого сигнала.

3) Импульсный.

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

2. Модуль nrf24 работает в том диапазоне, где на уровень сигнала будут влиять внешние факторы-препятствия. Я думаю, там даже всякого перемещения уровень мощности будет плавать.

3. Опишите подробней, как вы себе представляете

 

P.S. а вообще о каких расстояниях идет речь и с какой точностью их нужно измерять???

zzzzza
Offline
Зарегистрирован: 18.11.2016

kasper007 пишет:

zzzzza пишет:

Выделил для себя 3 метода (по приоритетности):

1) Фазовый. (который я и хотел сделать)

2) Основанный на мощности принимаемого сигнала.

3) Импульсный.

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

2. Модуль nrf24 работает в том диапазоне, где на уровень сигнала будут влиять внешние факторы-препятствия. Я думаю, там даже всякого перемещения уровень мощности будет плавать.

3. Опишите подробней, как вы себе представляете

 

P.S. а вообще о каких расстояниях идет речь и с какой точностью их нужно измерять???

Два летающих дрона. Они находятся достаточно высоко над уровнем земли, то есть отражаться практически не от чего. Им надо знать на каком расстояние они находятся друг от друга, чтобы корректировать свой полет. Расстояние между ними примерно метров 10, может быть побольше. Точность до 1 метра.

Как я представляю третий метод (Импульсный): Много чего прочитал по этому методу. Тут есть два способа:

1) Первый модуль засекает время, когда отправил сигнал (обозначим "Ttr_1"). Второй модуль принимает его и отправляет обратно. Когда первый модуль получает сигнал, он измеряет текущее время (обозначим "Ttr_2").

Отсюда можно получить время (сколько шел пакет туда и обратно) "Ttr", которое равняется (Ttr_2 - Ttr_1)/2. (В секундах)

Скорость распространения волны нам известна (обозначим "C" - скорость света): C = 300000000 м/с

Зная это все можем найти расстояние (обозначим "D"): D = C * Ttr.

Ну тут еще надо учитывать то, что второй модуль какое-то время обрабатывает то, что пришло и отправляет сигнал обратно. То есть это не мгновенное отражение от стены, допустим. Поэтому это время тоже надо учитывать, ну так как оно всегда примерно одинаковое, его можно взять как константу.

2) Тут почти все то же самое, что и в предыдущем пункте. Разница в том, что сигнал отправляется два раза и время засекается не только на первом модуле, ну и на втором. А потом находится среднее между ними. Это помогает избавиться от погрешности часов на первом и втором модулях.

И этот способ точнее, чем первый.

svm
Offline
Зарегистрирован: 06.11.2016

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

andriano
andriano аватар
Онлайн
Зарегистрирован: 20.06.2015

zzzzza пишет:

Как я представляю третий метод (Импульсный): Много чего прочитал по этому методу. Тут есть два способа:

1) Первый модуль засекает время, когда отправил сигнал (обозначим "Ttr_1"). Второй модуль принимает его и отправляет обратно. Когда первый модуль получает сигнал, он измеряет текущее время (обозначим "Ttr_2").

Отсюда можно получить время (сколько шел пакет туда и обратно) "Ttr", которое равняется (Ttr_2 - Ttr_1)/2. (В секундах)

Скорость распространения волны нам известна (обозначим "C" - скорость света): C = 300000000 м/с

Зная это все можем найти расстояние (обозначим "D"): D = C * Ttr.

Ну тут еще надо учитывать то, что второй модуль какое-то время обрабатывает то, что пришло и отправляет сигнал обратно. То есть это не мгновенное отражение от стены, допустим. Поэтому это время тоже надо учитывать, ну так как оно всегда примерно одинаковое, его можно взять как константу.

2) Тут почти все то же самое, что и в предыдущем пункте. Разница в том, что сигнал отправляется два раза и время засекается не только на первом модуле, ну и на втором. А потом находится среднее между ними. Это помогает избавиться от погрешности часов на первом и втором модулях.

И этот способ точнее, чем первый.

Типичная тактовая частота Ардуино 16 МГц.

Т.е. на 1 такт свет проходит 18.75м. 

Если поставить датчик, который будет выдавать сигнал на ногу Ардуино, и повесить на эту ногу прерывание, то время от момента получени сигнала до момента, когда контроллер сумеет на него отреагировать заведомо больше 10 тактов. Ориентировочно можно считать - тактов 20-30. За это время свет пройдет 350-600м. Вот разница между этими двумя величинами, т.е. метров 250 и будет погрешностью вашего измерения.

zzzzza
Offline
Зарегистрирован: 18.11.2016

То есть лучше использовать ИК или УЗ, правильно?

Тогда что будет лучше и почему? Какие подводные камни могут быть?

andriano
andriano аватар
Онлайн
Зарегистрирован: 20.06.2015

Если бы существовал какой-либо беспроблемный вариант, остальные бы уже вымерли за ненадобностью. 

Однако - живут.

Так что подводные камни есть везде.

Но предугадать, что для Вашей конструкции лучше, можно только, зная детали. А их никто кроме Вас не знает.

svm
Offline
Зарегистрирован: 06.11.2016

Для выбора наилучшего метода измерения расстояния, действительно нужна дополнительная информация. Хотя-бы материал и и размеры объекта. Максимальное и минимальное расстояние между объектами. Если объект достаточно большой то  достаточно поставить какие-то визуальные маячки (светодиоды или просто контрастные полосы) на корпусе и методом триангуляции определять расстояние. Правда здесь уже дело пахнет не парой баксов за радиомодуль.

zzzzza
Offline
Зарегистрирован: 18.11.2016

Хорошо, спасибо за ответы. Тогда осталось еще пару вопросов:

1) Насколько большое расстояние можно измерить, если использовать УЗ или ИК?

2) Вроде бы модули УЗ и ИК аналоговые, тогда напрашивается вопрос: можно ли измерить фазу (метод №1) с помощью них и можно ли измерить мощность принимаемого сигнала (метод №2)?

 

b707
Offline
Зарегистрирован: 26.05.2017

zzzzza пишет:

2) Вроде бы модули УЗ и ИК аналоговые, тогда напрашивается вопрос: можно ли измерить фазу (метод №1)

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

SLKH
Offline
Зарегистрирован: 17.08.2015

Излучается радио- или световой сигнал, одновременно пьезоизлучатель пищит ультразвуком.

На приемной стороне определяем запаздывание между приемом радио/светового сигнала и звуком.

zzzzza
Offline
Зарегистрирован: 18.11.2016

SLKH, andriano уже писал в посте #22, что это нереально (точнее будет очень большая погрешность)

zzzzza
Offline
Зарегистрирован: 18.11.2016

Остался последний вопрос: можно ли с помощью УЗ или ИК измерить мощность принимаемого сигнала и если можно, то как это сделать?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Два (или больше) дрона в воздухе на расстояниях около 10м с точностью до 1м, дабы не сталкивались промеж себя, а управлять можно было бы только одним .. Вы эту стаю дронов случаем не на базу Хмеймим отправлять собрались? :)

zzzzza
Offline
Зарегистрирован: 18.11.2016

Arhat109-2 пишет:

Два (или больше) дрона в воздухе на расстояниях около 10м с точностью до 1м, дабы не сталкивались промеж себя, а управлять можно было бы только одним .. Вы эту стаю дронов случаем не на базу Хмеймим отправлять собрались? :)

Возможно -_0

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

два GPS-Глонасс модуля решат эту проблему

zzzzza
Offline
Зарегистрирован: 18.11.2016

ua6em пишет:

два GPS-Глонасс модуля решат эту проблему

У GPS слишком большая погрешность.

SLKH
Offline
Зарегистрирован: 17.08.2015

zzzzza пишет:

SLKH, andriano уже писал в посте #22, что это нереально (точнее будет очень большая погрешность)

Прочитайте ещё раз #28 - погрешность будет в единицы сантиметров.

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

 

Morroc
Offline
Зарегистрирован: 24.10.2016

zzzzza пишет:

2) Можно ли испускать волну из какой-то конкретной точки, а не из нуля (точка "1")?

Не получится принять какую то часть волны. Чтобы типичный приемник понял, что он принимает "свою волну" - её должно прибежать аж не один полный период. Недеюсь это ограничит фантазию автора более реальными вариантами :) Ну хотя бы дроны в лесу не летают, а то было аналогичное про лес недавно, в лесу сложнее.

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

zzzzza пишет:

ua6em пишет:

два GPS-Глонасс модуля решат эту проблему

У GPS слишком большая погрешность.

GPS+Глонас + базовая станция в 0,6 метра можно уложиться и, нужна же относительная погрешность, а она всегда будет иметь один знак на обоих аппаратах при разносе то в 10 метров, точность ограничена только точностью математического аппарата )))

zzzzza
Offline
Зарегистрирован: 18.11.2016

SLKH пишет:

zzzzza пишет:

SLKH, andriano уже писал в посте #22, что это нереально (точнее будет очень большая погрешность)

Прочитайте ещё раз #28 - погрешность будет в единицы сантиметров.

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

 

Ааа, понял в чем разница. А как расстояние будет считаться? Разница между временем звукового сигнала и радио/свето сигнала умножения на скорость звука?

Morroc
Offline
Зарегистрирован: 24.10.2016

Знать расстояние разве достаточно будет чтобы дроны не столкнулись ?

Клапауций 555
Offline
Зарегистрирован: 10.03.2018

Morroc пишет:

Знать расстояние разве достаточно будет чтобы дроны не столкнулись ?

с мостом? О_О

Morroc
Offline
Зарегистрирован: 24.10.2016

Друг с другом :) Там же вроде целая стая дронов, атакующих мост.

Клапауций 555
Offline
Зарегистрирован: 10.03.2018

Morroc пишет:

Друг с другом :) Там же вроде целая стая дронов, атакующих мост.

стартуй их в мост с интервалом в 200 метров. О_О

SLKH
Offline
Зарегистрирован: 17.08.2015

zzzzza пишет:

Ааа, понял в чем разница. А как расстояние будет считаться? Разница между временем звукового сигнала и радио/свето сигнала умножения на скорость звука?

естественно. 

см. "Определение расстояния по звуку и вспышке выстрела"