Расстояние между точками
- Войдите на сайт для отправки комментариев
Вс, 18/08/2013 - 22:49
Добрый день.
Возможно ли какнибудь образом измерить расстояние между двумя точками в непрямой видимости(до 10 метров)? Пробовал в каждой точке ставить плату с беспроводными модулями и измерял время прохождения информация от одной платы к другой и обратно...время прохождения не меняется с удалением плат друг от друга в пределеах этих 10 метров.
сей феномен загадка большая есть...
Можете представить удивление жителей отдалённых регионов СССР, когда им кровавый коммунистический режим из Москвы вещал точное время по радиоволнам и без всякой задержки, т.е. многовенно "Начало последнего шестого сигнала соответствует: в Москве 15 часов, в Петропавловске на Камчатке полночь."
Думал сделать по аналогии с работой gps....но увы
Думал сделать по аналогии с работой gps....но увы
Задержка, конечно, есть, но не уверен, что вы сможете её ардуино программно уловить - скорее, нужны очень скорострельные аналоговые варианты, плюс учитывать интерференцию, дифракцию и переотражение радиоволн.
>вещал точное время по радиоволнам и без всякой задержки
Ну думаю у отдаленных - задержка все-таки была. Скосрость света хоть и большая, но конечная. Да и сейчас пользователи "отдаленных", вынужденные через спутник иметь интернет - хорошо это понимают глядя на пинги.
Теоретически - растояние, конечно, можно измерить. Работают же приборчики замеряющие растояние до обрыва в оптоволоконных кабелях. И работают на расстояниях гораздо меньше десятков тысяч километров.
Но там, я думаю, уже не замере времени прохождения сигнала принцип основан. Скорее на "послали сигнал отразили обратно и посмотрели в какой фазе, по сравнению с изначальным сигналом, он вернулся (интерференцией и т.п. сравнили)". Повторили это на разных длинах волны. Ну и отсюда пытаемся понять какой путь прошел сигнал.
Вообщем: теоретически возможно. Но это задача для хорошего RD-отдела какой-нибудь фирмы специализирующейся на разработке высокоточного оборудования. Судя по тому что топик-стартер пытался мерять время прохождения сигнала на 10-ти метрах - он точно не работает в таком отделе. Поэтому шансы - меньше чем призрачны.
Разве что, порытся в направлении проф. оборудования сетевого. Возможно у них и найдутся что-то подобное. Возможно даже с каким-нибудь выходом который можно подключить к ардуине. Но даже если и найдется - цена, думаю, будет такая что дешевле выйдет посадить, на зарплату, 3-х китайцев, которые будет каждый час, в течении 10-ти лет измерять длину провода.
Ну, либо, смотреть в сторону лазерных дальномеров, ультразвуковых сенсоров и т.п.
P.S. Хе-хе... написал про лазерные дальномеры. Полез гуглить "принцип работы". Оказывается - как раз на фазовом принципе они и пашут. На сравнение фаз отправленного и принятого сигнала. Так что кажись я "открыл америку через форточку" :) Но повторить это в "кабельной среде" - думаю таки нужен уровень высококласного инженера.
Техническая физика - МЕТОДЫ ДАЛЬНОМЕТРИРОВАНИЯ. ФАЗОВЫЙ ДАЛЬНОМЕР
Думал сделать по аналогии с работой gps....но увы
Ну не знаю. Вы бы хоть из любопыства загуглили принцип работы GPS-са. Растояния там прикинули, про скорость света почитали, подумали бы зачем им для точности атомные часы потребовались. И не смотря на все эти ухищрения - 5-10 метров точности - очень не плохой показатель для бытового приемника. Без вспомогательного наземного оборудования дающие дополнительную привязку.
Спасибо за ответ
А если брать прямую видимость, то по ИК соединению источник-приемник можно расстояние узнать?
Нужно брать готовый модуль - в гугле по запросу "лазерный дальномер".
А если брать прямую видимость, то по ИК соединению источник-приемник можно расстояние узнать?
Можно. Чего же нет. Машина едет со скоростью X км/час. Растояние S, между пунктом A и B, она проехала за Y часов.
Вопрос: зная X и S как найти Y?
Решите эту задачу с машиной.
Потом подставте туда свои параметры X - скорость света, S - десять метров. И найдите Y - время прохождение сигнала. Потом посчитайте тоже самое для S=9 метров.
Посчитаете - напишите цифры. Прикинем дальше справится ли ардуина с такой задачей.
Да есть у меня дальномеры....а нужно имено узнать расстояние между двумя точками(допустим два робота движущих на прямой видимости)...а обычным лазерным дальномером типа шарпа - можно мерить от источника до стенки например или до чего либо еще куда направишь....
Это все замечательно. Но давайте, раз уж начали с ИК разберемся. Потому что по первым ответам - вы явно не поняли в чем проблема.
Так что что-бы не спрашивать один и тот же вопрос в 10-ти вариациях. Прежде чем идти дальше ответе: за какое время свет проходит растояние в 10-ть метров?
.
а зачем вам мерять растояние между двумя движусимя роботами? давайте начнем с начала.. в чем суть проекта? так сказать какова техническая задача?
Прежде чем идти дальше ответе: за какое время свет проходит растояние в 10-ть метров?
По сути около 3 наносекунд.
Цель такова - есть два робота, они хаотически перемещаются по полиггону 10мх10м. Нужно чтобы каждый из них имел возможность получить расстояние по прямой между вторым роботом.
Прежде чем идти дальше ответе: за какое время свет проходит растояние в 10-ть метров?
По сути около 3 наносекунд.
То есть. Что-бы построить что-то опирающиеся на время прохождение сигнала, если сигнал движется со скоростью света (радиоволны, свет, ИК - это тоже свет) нам нужно измерять время с точностью в наносекунды. А учитывая что 10 метров это "максимальное растояние" и вы, скорее всего, хотите точность в сантиметры различать, то вам потребуется измерение пикосекунд. А еще лучше фемто-. Так как у нас еще и погрешность измерений будет.
Теперь смотрим на возможности ардуины. Работает она на частоте 16mHz. Возмем самый оптимистичный вариант, что любое действие она может выполнять всего за один такт процессора (а это далеко не так). Один такт процессора это 1/16000000сек=62,5 наносекунды.
То есть даже теоретически, все что меньше 62.5 наносекунды - для ардуины не существует. Практически уже на единицах микросекунд нужно танцевать с бубном micros (читаем какое разрешение имеет). Комфортно работать - с миллисекундами.
Отсюда вывод радио/ИК/лазер и т.п. - сама ардуина с задчей замера времени не справится никак. Теоретически могут существовать какие-то специализированные микрухи которые будут измерять и отдавать дуине уже готовый результат. Но боюсь что стоить они будут чуть очень не гуманно, плюс... как вы уже поняли им нужно будет работать на высоких частотах. То есть обвязка будет тоже очень не простта и требовательна к изготовлению (работа на высоких частотах - даже плату грамотно развести очень не простая задача).
Так что, если мы хотим использовать принцип "время прохождения сигнала" (а не фазовы и т.п.) - мы можем себе позволить только что-то намного более медленное. Например "скорость звука". Поэтому везде с арудиной для измера растояния вы и видите "ультразвуковые датчики".
Да теория мне понятна, но хотел сам убедится. Есть и ультразвуковые и ИК дальномеры. Но опять же, они отраженный об чтото свой сигнал ловят. Думал может сущетсвут датчики для того чтобы отослать сигнал на приемник и узнать время прождения или фазу.
Так что прийдется вам думать "как этот шарп" приспособить для своей задачи:
- Направлять его на другого робота с помощью серв.
- Поставить на него какой-то "маячок", сделать какие-то два разнесенных "детектора направления на маяк" и высчитывать растояние методом триангуляции
- Разделить в ультразвуковом сенсоре "излучатель" и "приемник". Излучатель - на одного робота, приемник - на другого.
Я бы, наверное, пытался делать третий вариант. Либо распиливать HC-SR04, либо взять их два :) На одном включать только передатчик, на другом только приемник. Либо на одном роботе "как обычно" (послали и слушаем ответ, но естественно нужно будет фильтровать "отраженный сигнал")), а на другом - "услышали сигнал - нужно ответить".
Так же, прийдется повозится что-бы сам излучатель переделать во "все направленный". Либо какой-то поворотный механизм, что-бы рассылал сигналы во все стороны (как радар на кораблях крутится/качается).
Как вариант... по углам полигона расставить излучатели. И действительно попытатся применить идею "как в GPS". Каждый робот - ловит сигналы от нескольких излучателей и высчитывает свои координаты.
Вообщем теоретически - возможно. Но вот повозится, несколько месяцев - явно прийдется. Без гарантии успеха. Зато очень инетересно. Тут и проблемы с переотраженным сигналом будут, и вопрос точной синхронизации времени и вычисления "поправки ко времени" (как у GPS). Стандартные библиотеки тут явно не прокатят, свои писать нужно будет...
Еще как вариант. На одном роботе обычный сенсор. Который шаговиком/сервой крутится "как радар" во все стороны и измеряет растояние (или сам робот крутится на месте). А на втором - только приемник (всенаправленный). Как втолько "второй" - услышал что "в него попал сигнал сенсора", он, по радио каналу/ИК сообщает первому "ты сейчас измеряешь растояние до меня, а не до стены". А зная положение сервы - вы еще и направление на второго робота знать будете.
Ясно, спасибо. Придется кулибничать. Насчет точного времени. Можно же отсылать с базы свое время объекту, он отправляет егоже обратно и база смотрит текущие время и то, что пришло и вычиляет разницу. Я так с беспроводными модулями делал.
Добрый день! Получилось ли реализовать вам определение местоположения? Столкнулся с похожей необходимостью.
присоединяюсь к вопросу