Как настроить смартфоны и ПК. Информационный портал

Самодельный дальномер второй мировой. Самодельный фазовый лазерный дальномер

Дальномер – это устройство, которое предназначено для определения точного расстояния от наблюдателя до конкретного объекта. Прибор просто необходим в инженерной геодезии, строительстве линий передач и путей сообщения, сельском хозяйстве, туризме, навигации, военном деле…

Классификация приборов для определения дальности

Когда и где появились первые измерители дальности? Впервые в продаже это приспособление вышло в 1992 году на Западе, но его стоимость доходила до нескольких тысяч долларов. И только спустя четыре года эти устройства стали доступны более широкому кругу пользователей. Затем уже многие фирмы стали работать в данном направлении. А сегодня разновидностей этого инструмента довольно много, самые точные используют принцип лазера в работе, известной моделью считается дальномер лейка (Leica), в ассортименте имеются и другие приборы похожего назначения, например, на лазерах.

В чем же заключается принцип действия? Модели активного типа измеряют расстояние при помощи времени, затраченного посланным сигналом на прохождение пути до объекта и обратно . Скорость, с которой данный сигнал распространяется, предварительно, естественно, известна (звуковая и световая скорость). Определение расстояния с помощью пассивных вариантов прибора основано на вычислении высоты равнобедренного треугольника. Активные делят на три типа: звуковые, световые, лазерные. А пассивные на два: оптические и нитяные.

Дальномеры активного типа – изучаем работу инструментов

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

Расстояние высчитывается за счет разности фаз между отраженным и посланным светом. Для этого требуется наличие сложных электронных и электрических устройств в приборе. Именно с помощью световых моделей было установлено точное расстояние от Земли до Луны. Лазерные инструменты включают в себя главные элементы устройства – отражатель и излучатель. При помощи специальных функциональных клавиш можно задать точку отсчета и пользоваться всеми программными возможностями прибора. Также некоторые модели оснащены дополнительными функциями – отражательная панель для проверки, измерение температуры воздуха, выбор системы измерений, настройка автоматического отключения, индикатор батареи.

В процессе работы с лазерным приспособлением не требуется помощь второго человека, как, например, в случае с . Для того чтобы вычислить расстояние до определенного объекта, необходимо навести на него лазерный луч. Устройство измеряет время, за которое луч проходит от него до объекта, а после его отражения возвращается обратно. В результате производятся подсчеты, и данные выводятся на экран. Измерять можно как горизонтальные, так и вертикальные плоскости. С помощью лазерного дальномера можно также измерить объем помещения и его общую площадь.

Кроме того, такое устройство дает уникальную возможность измерить лишь определенный фрагмент стены, а не всю ее полностью. Можно также определить ширину и высоту объекта.

Огромным плюсом является то, что лазерный прибор может вычислить среднее значение нескольких измерений, а точность при этом будет на очень высоком уровне. Также имеется возможность узнать площадь и круглых предметов, а не только прямоугольных или квадратных. Если помещение имеет наклонный потолок, то инструмент определит не только площадь, но и угол наклона, и длину ската. Все измерения можно проводить на расстоянии до 200 метров. В случае, если прибор необходим вам для измерения исключительно только помещений, достаточно будет приобрести устройство, дальность измерений которого не превышает 50 метров. Если вы собираетесь работать с большими расстояниями, то необходимо также воспользоваться штативом и отражающей пластиной, это позволит получить более точные результаты. Но не все модели могут крепиться на штатив, это нужно уточнять у продавца.

Основные характеристики лазерных инструментов зависят не только от конструкции, например, диапазон измерения зависит от мощности источника излучения и от внешних условий работы, например, на дальность влиять будет освещение. Стоит отдельно отметить, что она снижается, если измерения проводятся под открытым небом. У бытовых моделей наблюдаются небольшие погрешности, и эти погрешности возрастают при измерениях на больших расстояниях. Но даже такие варианты лазерных устройств сравнительно дорогие.

Меряем дальность пассивными методами

Оптический дальномер может быть двух типов – стереоскопический и монокулярный. Несмотря на то, что они отличаются по конструкции деталей, основная схема у них одинаковая, кроме того, принципы работы идентичны. По двум известным углам треугольника, а также одной известной стороне определяется его неизвестная сторона. Два телескопа строят изображение объекта. Кажется, что объект наблюдается в разных направлениях. Кроме того, такие приборы могут быть как с полным наложением полей, так и с половинным – верхняя половина изображения от одного телескопа объединяется с нижней половиной другого.

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

Стереоскопические модели также являются разновидностью оптических, имеют двойную зрительную трубу. В фокальной плоскости находятся метки, и изображение объекта совмещается с изображением этих меток, расстояние полностью пропорционально смещению компенсатора. Основное преимущество стереоскопического инструмента над монокулярным – более точные измерения расстояния. Именно они используются для того, чтобы определить дальность, а также высоту полета и его угловые координаты. Самые мощные стереоскопические приборы способны работать на расстояния до 50 000 метров, что же касается измерения высоты, то здесь цифры немного меньше – до 20 000 метров.

Нитяной вариант измерителей дальности – самый простой вид инструмента подобного назначения, имеющий постоянный параллактический угол, именно поэтому можно сделать такой дальномер своими руками, если вдруг вам понадобилось измерить дальность, а бегать по магазинам нет времени, или жаль денег. Он может определять расстояния до 300 метров. В качестве базы у данного устройства используется нивелирная рейка, имеющая сантиметровое деление, а в поле зрения трубы видны специальные линии. Принцип работы: для точного определения расстояния подсчитывается число делений, которые находятся между линиями, а искомым, в конечном итоге, будет расстояние в метрах. Нитяной прибор имеет очень простую конструкцию и очень простой принцип работы, он также способен вычислить расстояние без особых погрешностей. Но электронный дальномер по своей точности всё-таки выигрывает.

hundert 16-01-2007 14:34

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

ober 16-01-2007 14:41

дальномерная шкала тебе поможет

Sana 16-01-2007 14:42

Самый простой дальномер - рулетка. Есть модели до 100 метров меряют! а точность какая!

Кайнын 16-01-2007 14:48

есть оптические дальномеры - принцип действия, как в старых фотоаппаратах.

те, которые я видел, похожи на видеокассету VHS и стоили порядка 2000р.
последний раз видел в Спортактиве на Звенигородском шоссе (Москва)

точность определения хороша до 30-40м, потом падает - а именно после 50м она как раз и нужна.

ober 16-01-2007 14:59

Про рулетки лазерные забыли

julbu 16-01-2007 15:01

Возьми две лаз. указки (а лучше модуля лазерных), разнеси их сантиметров на 20. Один закрепи неподвижно, другой на поворотной оси. Принцип измерения прост - совместить две отметки на объекте, и по углу поворота подвижного лазерного модуля можно определить расстояние. Но Кайнын, написал правильно с увеличением расстояния точность измерения будет падать - посему лажа, лучше купить нормальный.

Кайнын 16-01-2007 15:01

quote: Originally posted by ober:
Про рулетки лазерные забыли
дешевле обычных дальномеров?

ober 16-01-2007 15:03

ВОт положа руку на сердце - цену не знаю. Видел ультразвуковую. Примерно за 1900 рублей.

Кайнын 16-01-2007 15:09

quote: Originally posted by julbu:
Возьми две лаз. указки (а лучше модуля лазерных), разнеси их сантиметров на 20.
был проще способ.

идея понятна?

hundert 16-01-2007 15:10

to ober
дальность у УЗ рулеток мала
to sana
а кней еще молоток и набор гвоздей, что бы кары не улетали пока до них расстояние меряют:-)))

julbu 16-01-2007 15:15


был проще способ.

поставить указку над (под) прицелом максимально далеко.

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

идея понятна?

Кайнын, еще проще - делаешь выстрел - смотришь куда попал - делаешь поправки

ober 16-01-2007 15:22

2 hundert: скажу еще больше - до малоразмерной цели уз-рулетки ваще не меряют. Но в тире видел лазерную рулетку в действии. Демаскирующий признак - красное пятно - сведет на нет все попытки замерять растояние на охоте.

KVK 16-01-2007 15:30

Помниццо в школьном учебнике был вариант дальномера

hundert 16-01-2007 15:43

to ober
мерять не по цели а окружающей её деталям местности, а насчет рулетки это правда - даже расстояние до столба ей не отметить, не увидит она столб

Миротворец 16-01-2007 15:57

quote: Originally posted by Кайнын:

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

я на крыссе1377ПСП так и проверяю растояние, по точке от ЛЦУ.
30м-ноль. днем не всегда заметно точку

ober 16-01-2007 16:47

если ворона на ветке, то рулетка отдыхает. Если утка на воде, то рулетка отдыхает.

Igor_IVS 16-01-2007 21:00



Есть способ заиметь хороший (очень) дальнемер, ищеш прапорщика и покупаеш прицел с дальнемером от, например Т72, там даже есть автоматический ввод поправок и выбор типа боеприпаса Вот только он несколько тяжеловат, поэтому сп....ть не вышло

CEMEHbi4 16-01-2007 21:51


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

Точно. A потом с ним в автосервис и вам его не дорго врежут в крышу автомобиля

Demetriu$ 17-01-2007 12:19

Да купи за 5 килорублей китайский и радуйся, я когда понял, что без него никак, решил взять и до сих пор еще не пожалел.

Конацкий 17-01-2007 07:53

quote: Originally posted by KVK:
Помниццо в школьном учебнике был вариант дальномера

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

Рулезно.

Master_pj 17-01-2007 12:43

Еще способ. Скорее этим способом все и закончится...
1) Задушить жабу.
2) Удариться в накопительство.
3) за 5-7 тыров купить девайс.

И будет тебе счастье....

ober 17-01-2007 13:55

quote: Originally posted by Конацкий:
Рулезно.

Ничего не напоминает?

КОРНЕТ 17-01-2007 18:41

Storag 17-01-2007 19:50

quote: Originally posted by Igor_IVS:

Есть способ заиметь хороший (очень) дальнемер, ищеш прапорщика и покупаеш прицел с дальнемером от, например Т72, там даже есть автоматический ввод поправок и выбор типа боеприпаса Вот только он несколько тяжеловат, поэтому сп....ть не вышло

Гы, ДАК-2 (или ДАК-2М) рулит, карры при замере дальности сами падают, слепит он их Не раз сбивали во время учений!

EagleB3 17-01-2007 22:36


Всё!!! срочно меняюсь: ПСП на ДАК-2 (или ДАК-2М)

Леша 18-01-2007 12:46

quote: Originally posted by Ст.Сержант:

Я как то взял "JJ" на "померить" постоянные дистанции, долго удивлялся почему "БК" не правильно работает
А не так давно взял N-440 опять на померить, ой, я то думал что у меня 78 метров, а оказалось 67 ... и "БК" стал правильно работать

Может он в ярдах показывал?

Storag 18-01-2007 16:34


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

Это ранцевые дальномеры Носить на спине можно, правда габариты и вес несколько больше чем у радиостанции типа Р-108

hundert 19-01-2007 17:37

нет уж нах....
буду лучше глазомер тренировать, а на экономию поощрять (за правильно определенную дистанцию) организм пывом:-)))

england66 21-01-2007 15:52

Не знаю насколько он точен, но в полученном мною вчера прицеле (HAwke SR 4-16 , 50 IR) есть шкала дальномера. А дополнительно можно скачать прогу (Hawkeoptics/brc) .Пойду постреляю, расскажу насколько им верить мона....

hundert 22-01-2007 13:35

quote: Originally posted by england66:
Не знаю насколько он точен, но в полученном мною вчера прицеле (HAwke SR 4-16 , 50 IR) есть шкала дальномера. А дополнительно можно скачать прогу (Hawkeoptics/brc) .Пойду постреляю, расскажу насколько им верить мона....

ждемс результата...

Gaydamak 22-01-2007 15:44

У ДАКа расчет три чела. Один акум весит 68 кг. Серебро, однака....

Piston_Po 22-01-2007 18:39

В середине 80-х я занимался фотографией (Смена-8м), так вот с тех пор у меня остался дальномер. Выглядит по длине как 2 спичечных коробка, по ширине - 0,5 коробка. Есть смотровое окошечко, снизу крепление под гнездо для фотовспышки и колёсико с метражём - от 1 до 15 м затем бесконечность. Принцип работы: смотришь в окошко, внутри желтенькое пятнышко, которое наводишь на объект, внутри пятнышка объект "двоится", затем крутишь колёско до объект не двоится и снимаешь метраж. Всё хорошо, но до 15 м. Принцип - оптико-механический, вот я думаю изменить какой-нить угол зеркальца и откалибровать метров до 100. Кто как думает, сработает?

EagleB3 22-01-2007 20:21

quote: Originally posted by Piston_Po:
Принцип - оптико-механический, вот я думаю изменить какой-нить угол зеркальца и откалибровать метров до 100. Кто как думает, сработает?
А куда же оно денется. Сработает. Только есть 2 "НО" (оба вытекают из того, что у обычного фотоаппарата, для которого та приблуда и была разработана, с 10..12м начинается "бесконечность", т.е. все предметы от 10м и далее получаются резко, => более 10 метров мерять никому и нафиг не надо). Итак, будет работать, но:

1) надо менять не угол зеркальца, а БАЗУ (расстояние между оптическими осями приемников лучей). Не увеличишь базу - с увеличением дистанции будет расти погрешность измерения. Чтобы иметь такую же погрешность на дистанции 100 метров, какую сейчас этот дивайс имеет на 10, тебе надо базу увеличить в 100/10 = 10 раз. Если сейчас расстояние между окошками 8 см, то должно стать 80 см. Угол настройки, тогда, кстати, менять и не придется. Чистая геометрия.

2) надо разглядеть то, во что целишься. До 15 метров увеличение не больно нужно. А на 50 метров ты разглядишь - двоиться контур у вороны или уже нет?

d!k 24-01-2007 03:23

quote: Originally posted by EagleB3:
Обязательно требуй в комплекте родной заводской моноблок.
Ну, тот, который с гусеницами...

Старшина объясняет устройство бронетранспортера, упоминая, что на нем есть рация. Кто-то
из солдат спрашивает:
- Товарищ прапорщик, а эта рация на лампах или на полупроводниках?
- Повторяю для идиотов. Эта рация на бронетранспортере.

Nr45 24-01-2007 17:35

а еще оптические стоят или стояли на крейсере Аврора, может там наковырять?

~Dimon~ 06-02-2007 06:06

Бродит такая мыслишка на уровне концепции.
Да, сделать можно, да недорого, но!
Даже для сборки и отладки готовой конструкции, нужен как минимум уровень "опытного радиолюбителя", для проектирования - чуток побольше.
Суть довольно проста, и вытекает из задачи:
1. Дистанции 0...100 (150) метров.
2. Точность +/- 0,5м (+/- 1м).
3. Дешево.
В качестве оптического визира - китайский "карандаш" 4x20.
Необходим инфракрасный лазерный модуль (диод с линзой) не менее 5мВт мощи, кварцевый генератор синуса 455 или 465 кГц, драйвер лазера.
В приемном канале - собственно фотоприемник, усилок с АРУ, фазовый детектор, далее контроллер с АЦП и нужной прошивкой (PIC/ATmega).

Ну как, не передумали еще?
Это при том, что используется упрощенный метод с одной несущей частотой (в фирменных, более точных приборах - несущих две).

Я не особо силен в аналоговой схемотехнике, по этому идея пока задвинута в долгий ящик, на повестке дня (и в процессе) строительство точного хрона с базой 1000мм, но если кто то возьмется за аналоговую часть разработки - я сделаю цифровую.

Marauder_64 06-02-2007 15:35

Необходим инфракрасный лазерный модуль (диод с линзой) не менее 5мВт мощи, ....
В приемном канале - собственно фотоприемник...

Юстировка даже такой простенькой системы будет делом непростым (попробуй-ка поймать зайчик, да ещё сфокусировать его). Скорее всего система получится либо трудно повторимой, либо трудно настраиваемой. Плюс меры для механической прочности... ИМХО легче Leika Disto разломать. Кстати повторить её "механику/оптику" врядли удастся - нужен доступ к технологии точного литья. В 90-е годы у нас в конторе пытались микрософтовскую мышь скопировать - всё содрали: софт, конструктив...даже шарик обрезиненный, шершавенький такой слепили а колесико с прорезями так и не смогли - то прорези разной толщины, то крутится яйцом - так и бросили...причем контора (по возможностям) до сих пор входит в список ведущих НИИ МинАтома (раньше шутили - министерство средних мегатонн)...

~Dimon~ 06-02-2007 17:51

Нужно использовать модули с нормированными углом расхождения и
соосностью луча и корпуса, такие есть, и можно найти относительно
недорого.
Ловить обратный луч ненужно, в реальном мире, у реальных предметов,
всегда есть микрорельеф, отражение всегда будет сильно рассеяно.
Единственная серьезная проблема - поставить крест визира на невидимое
пятно, тут уже придется поломать голову и помучатся...

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

whisper 26-02-2007 06:10



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

xopxe 26-02-2007 10:57

quote: Originally posted by whisper:
Всем привет. На уровне идеи делать лень. Берём штангенциркуль на штанге устанавливаем китайскую лазерную указку (далее ЛУ) на нониус устанавливаем вторую ЛУ под углом и совмещаем две точки на дистанции от 10 до ста метров так что бы на циркуле отношение было метр к миллиметру. Остаётся навести на цель и точно совместить точки от ЛУ. Я понимаю что ещё необходимо монокуляр с большой кратностью что бы совмещать точки. Как думаете что получится?
Наверняка кто то уже делал получилось что ни будь путное?
Заранее спасибо.

А можно еще так (у меня так непроизвольно получилось). Ставите колиматорный прицел и ЛЦУ. Настраиваите ЛЦУ и колиматорный, например, на 20 м. На всех дистанциях, кроме 20 м, метки прицелов будут расходиться, по расстоянию между ними можно определять дистанцию.(прицел желательно с сеткой, не знаю, бывают ли такие.)

Doktor77 26-02-2007 12:54

Любое угломерное приспособление на короткой (небольшой то есть) базе будет безбожно врать, так как точность измерения угла недостаточная (из реально достижимых). Чем будет угол определяться - совмещением изображений или лучами - уже не столь важно.

С уважением - Doktor77

whisper 26-02-2007 15:40

Полностью согласен с Doktor77 это конечно не очень серьёзно
Было интересно может ктопробовал с ЛУ ставил эксперимент и нтересно что получится может и сам займусь
С уважением.

ZombY238 26-02-2007 19:04

блин.. ну я вообще непонимать..
винтовка, для которой необходим дальномер, обойдётся минимум в 4-6к.. а то и во все 10 с лишним.. а на дальномер (если уж по прицельной сетке мерить впадлу) наскрести не могут.. (за 6-8к можно оч неплохой девайсик купить, а просто "работающие" агрегаты - от 4)
а работа над изготовлением самодельного лазерного дальномера - это Слишком сложная и трудо/время/деньго-затратная затея имхо.. (сам оптик, имею некоторое представление о сём приборе)

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

Зачем нужен сканирующий дальномер?

На сегодняшний день в робототехнике не так уж и много методов навигации внутри помещений. Определение положения робота в пространстве с использованием лазерного сканера - один из них. Важное достоинство этого метода - он не требует установки в помещении каких-либо маяков. В отличие от систем, использующих распознавание изображения с камер, обработка данных с дальномера не так ресурсоемка. Но есть и недостаток - сложность, и соответственно, цена дальномера.
Традиционно в робототехнике используются лазерные сканеры, использующие фазовый или времяпролетный принцип для измерения расстояния до объектов. Реализация этих принципов требует довольно сложной схемотехники и дорогих деталей, хотя и характеристики при этом получаются приличные - используя эти принципы, можно добиться высокой скорости сканирования и большой дальности измерения расстояния.
Но для домашних экспериментов в робототехнике такие сканеры мало подходят - цена на них начинаются от 1000$.
На помощь приходят дальномеры, использующие триангуляционный принцип измерения расстояния. Дальномер такого типа впервые появился в роботах-пылесосах Neato:

Довольно быстро любители расшифровали протокол этого дальномера, и начали использовать его в своих проектах. Сами дальномеры в качестве запчастей появились на ebay в небольших количествах по цене около 100$. Через несколько лет китайская компания смогла выпустить сканирующий дальномер RPLIDAR, который поставлялся как полноценный прибор, а не запчасть. Только цена этих дальномеров оказалась достаточно высокой - 400$.

Самодельный дальномер

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

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

Устройство сканирующего триангуляционного лазерного дальномера

Принцип измерения расстояния до объекта основан на измерении угла между лазерным лучом, попадающим на объект, и объективом дальномера. Зная расстояние лазер-объектив (h) и измеренный угол, можно вычислить расстояние до объекта - чем меньше угол, тем больше расстояние.
Принцип хорошо иллюстрирует картинка из статьи:

Таким образом, ключевые оптические компоненты такого дальномера - лазер, объектив и фотоприемная линейка.
Так как дальномер сканирующий, то все эти детали, а так же управляющая электроника устанавливаются на вращающейся головке.
Тут может возникнуть вопрос - зачем нужно вращать оптику и электронику, ведь можно установить вращающееся зеркало? Проблема в том, что точность дальномера зависит от расстояния между объективом и лазером (базового расстояния), так что оно должно быть достаточно большим. Соответственно, для кругового сканирования понадобится зеркало диаметром, большим базового расстояния. Дальномер с таким зеркалом получается достаточно громоздким.
Сканирующая головка дальномера при помощи подшипника закрепляется на неподвижном основании. На нем же закрепляется двигатель, вращающий головку. Также в состав дальномера должен входить энкодер, предназначенный для получения информации о положении головки.
Как видно, дальномеры Neato, RPLIDAR и мои самодельные сделаны именно по этой схеме.

Самое сложное в самодельном дальномере - изготовление механической части. Именно ее работа вызывала у меня больше всего нареканий в ранних версиях дальномера. Сложность заключается в изготовлении сканирующей головки, которая должна быть прочно закреплена на подшипнике, вращаться без биений и при этом не нее нужно каким-то образом передавать электрические сигналы.
Во второй версии дальномера первые две проблемы я решил, использовав части старого HDD - сам диск использовался как основание сканирующей головки, а двигатель, на котором он закреплен, уже содержал качественные подшипники. В то же время, при этом возникла третья проблема - электрические линии можно было провести только через небольшое отверстие в оси двигателя. Мне удалось сделать самодельный щеточный узел на 3 линии, закрепленный в этом отверстии, но получившаяся конструкция получилась шумной и ненадежной. При этом возникла еще одна проблема - линии, чтобы пробросить сигнал энкодера, не было, и датчик энкодера в такой конструкции должен быть установлен на головке, а диск энкодера с метками - на неподвижном основании. Диск энкодера получился не жестким, и это часто вызывало проблемы.
Фотография второй версии дальномера:

Еще один недостаток получившегося дальномера - низкая скорость сканирования и сильное падение точности на расстояниях больше 3м.
Именно эти недостатки я решил устранить в третьей версии дальномера.

Электроника

В принципе, электронная часть триангуляционного дальномера достаточно проста и содержит всего два ключевых компонента -светочувствительную линейку и микроконтроллер. Если с выбором контроллера проблем нет, то с линейкой все значительно сложнее. Светочувствительная линейка, используемая в подобном дальномере, должна одновременно иметь достаточно высокую световую чувствительность, позволять считывать сигнал с высокой скоростью и иметь маленькие габариты. Различные CCD линейки, применяемые в бытовых сканерах, обычно довольно длинные. Линейки, используемые в сканерах штрихкодов - тоже не самые короткие и быстрые.
В первой и второй версии дальномера я использовал линейки TSL1401 и ее аналог iC-LF1401. Эти линейки хорошо подходят по размеру, они дешевые, но содержат всего 128 пикселей. Для точного измерения расстояния до 3 метров этого мало, и спасает только возможность субпискельного анализа изображения.
В третьей версии дальномера я решил использовать линейку ELIS-1024:

Однако купить ее оказалось непросто. У основных поставщиков электроники этих линеек просто нет.
Первая линейка, которую я смог купить на Taobao, оказалась нерабочей. Второю я купил на Aliexpress (за 18$), она оказалась рабочей. Обе линейки выглядели паянными - обе имели облуженные контакты и, судя по маркировке, были изготовлены в 2007 году. Причем даже на фотографиях у большинства китайских продавцов линейки именно такие. Похоже, что действительно новую линейку ELIS-1024 можно купить только напрямую у производителя.
Светочувствительная линейка ELIS-1024, как следует из названия, содержит 1024 пикселя. Она имеет аналоговый выход, и достаточно просто управляется.
Еще более хорошими характеристиками обладает линейка DLIS-2K. При сходных размерах, она содержит 2048 пикселей и имеет цифровой выход. Насколько мне известно, именно она используется в дальномере Neato, и возможно, в RPLIDAR. Однако, найти ее в свободной продаже очень сложно, даже в китайских магазинах она появляется не часто и дорого стоит - более 50$.

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


Сигнал с линейки (вывод 10) имеет достаточно высокий уровень постоянной составляющей, и ее приходится отфильтровывать при помощи разделительного конденсатора.
Далее сигнал нужно усилить - для этого используется операционный усилитель AD8061. Далеко расположенные объекты дают достаточно слабый сигнал, так что пришлось установить коэффициент усиления равным 100.
Как оказалось в результате экспериментов, даже при отсутствии сигнала, на выходе выбранного ОУ по какой-то причине постоянно присутствует напряжение около 1.5В, что мешает обработке результатов и ухудшает точность измерения амплитуды сигнала. Для того, чтобы избавится от этого смещения, мне пришлось подать дополнительное напряжение на инвертирующий вход ОУ.
3D рендер разведенной печатной платы:


Плату разводил двухстороннюю, сделать такую плату в домашних условиях качественно довольно сложно, так что заказал изготовление плат в Китае (пришлось заказать сразу 10 штук):

В этом дальномере я использовал дешевый объектив с резьбой M12, имеющий фокусное расстояние 16мм. Объектив закреплен на печатной плате при помощи готового держателя объектива (такие используются в различных камерах).
Лазер в данном дальномере - инфракрасный (780 нм) лазерный модуль, мощностью 3.5 мВт.
Изначально я предполагал, что излучение лазера нужно будет модулировать, но позже оказалось, что с используемой линейкой в этом нет смысла, и поэтому сейчас лазер включен постоянно.
Для проверки работоспособности электроники была собрана вот такая конструкция, имитирующая сканирующую головку дальномера:

Уже в таком виде можно было проверить, какую точность измерения расстояния позволяет обеспечить дальномер.
Для анализа сигнала, формируемого линейкой, были написаны тестовые программы для микроконтроллера и ПК.
Пример вида сигнала с линейки (объект на расстоянии 3 м).

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

Механическая часть

После того, как электроника была отлажена, настало время изготовить механическую часть.
В этот раз я не стал связываться с механикой из HDD, и решил изготовить механические детали из жидкого пластика, заливаемого в силиконовую форму. Эта технология подробно описана в Интернете, в том числе и на Гиктаймс.
Уже после того, как я изготовил детали, стало понятно, что изготовить детали на 3D принтере было бы проще, они могли выйти тверже, и возможно, можно было бы сделать одну деталь вместо двух. Доступа к 3D принтеру у меня нет, так что пришлось бы заказывать изготовление детали в какой-либо компании.
Фото одной из деталей сканирующей головки дальномера:

Эта деталь является основой головки. Она состоит из втулки, на которую позже надевается подшипник, и диска. Диск предназначен для крепления второй детали башни, кроме того, на него снизу наклеивается диск энкодера.
Втулка и диск содержат сквозное отверстие, в которое вставляется покупной щеточный узел на 6 линий - его видно на фотографии. Именно те провода, что видны на фотографии, могут вращаться относительно корпуса этого узла. Для повышения стабильности работы для передачи сигналов GND и UART TX используется 2 пары линий щеток. Оставшиеся 2 линии используются для передачи напряжения питания и сигнала энкодера.

Силиконовая форма для отливки этой детали:

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

Для крепления сканирующей головки к основанию дальномера используется шариковый подшипник. Я использовал дешевый китайский подшипник 6806ZZ. Честно говоря, качество подшипника мне не понравилось - ось его внутренней втулки могла отклонятся относительно оси внешней на небольшой угол, из-за чего головка дальномера тоже немного наклоняется. Крепление подшипника к детали с диском и основанию будет показано ниже.

Основание я сделал из прозрачного оргстекла толщиной 5 мм. К основанию крепится подшипник, датчик энкодера, двигатель дальномера и маленькая печатная плата. Само основание устанавливается на любую подходящую поверхность при помощи стоек.
Вот так выглядит основание дальномера снизу:

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

Энкодер состоит из бумажного диска с напечатанными рисками и оптопары с фототранзистором, работающей на отражение. Оптопара закреплена при помощи стойки на основании так, что плоскость диска оказывается рядом с ней:

Сигнал от оптопары через щетки передается на вход компаратора микроконтроллера. В качестве источника опорного напряжения для компаратора выступает ЦАП микроконтроллера.
Для того, чтобы дальномер мог определить положение нулевого угла, на диск энкодера нанесена длинная риска, отмечающая нулевое положение головки (она видна справа на фотографии выше).

Вот так выглядит собранный дальномер:


Вид сверху:


Разъем сзади дальномера используется для прошивки микроконтроллера.
Для балансировки сканирующей головки на нее спереди устанавливается крупная гайка - она практически полностью устраняет вибрацию при вращении головки.

Собранный дальномер нужно отюстировать - установить лазер в такое положение, чтобы отраженный от объектов свет попадал на фотоприемную линейку. Обе пластмассовые детали содержат соосные отверстия, располагающиеся под пазом лазера. В отверстия вворачиваются регулировочные винты, упирающиеся в корпус лазера. Поворачивая эти винты, можно изменять наклон лазера.
Наблюдая в программе на компьютере форму и амплитуду принятого сигнала и изменяя наклон лазера, нужно добиться максимальной амплитуды сигнала.
Также триангуляционные дальномеры требуют проведения калибровки, о чем я писал ранее:

Для того, чтобы при помощи датчика можно было измерять расстояние, нужно произвести его калибровку, т.е. определить закон, связывающий результат, возвращаемый датчиком, и реальное расстояние. Сам процесс калибровки представляет собой серию измерений, в результате которых формируется набор расстояний от датчика до некоторого объекта, и соответствующих им результатов.

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

Получившийся дальномер имеет существенный недостаток - из-за отсутствия модуляции излучения лазера он некорректно работает при любой сильной засветке. Обычное комнатное освещение (даже при использовании мощной люстры) не влияет на работу дальномера, но вот расстояние до поверхностей, прямо освещенных Солнцем, дальномер измеряет неправильно. Для решения этой проблемы в состав дальномера нужно включить интерференционный светофильтр, пропускающий световое излучение только определенной длины волны - в данном случае 780 нм.

Эволюция самодельных дальномеров:

Габаритные размеры получившегося дальномера:
Размер основания: 88×110 мм.
Общая высота дальномера: 65 мм (может быть уменьшена до 55 при уменьшении высоты стоек).
Диаметр сканирующей головки: 80 мм (как у mini-CD диска).

Как и у любого другого триангуляционного дальномера, точность измерения расстояния этого дальномера резко падает с ростом расстояния.
При измерениях расстояния до объекта с коэффициентом отражения около 0.7 у меня получились примерно такие точностные характеристики:

Расстояние Разброс
1 м
2 м 2 см
5 м 7 см

Стоимость изготовления дальномера:

DIY, $ Опт., $
Основание
Пластина основания 1,00 0,50
Двигатель 0,00 1,00
Подшипник 1,50 1,00
Щеточный узел 7,50 5,00
Крепежные детали 0,00 2,00
Сканирующая головка
Контроллер STM32F303CBT6 5,00 4,00
Фотоприемная линейка 18,00 12,00
Остальная электроника 4,00 3,00
Плата 1,50 0,50
Объектив 2,00 1,50
Держатель объектива 1,00 0,50
Лазер 1,00 0,80
Пластиковые детали 3,00 2,00
Крепежные детали 0,00 1,00
Сборка 0,00 20,00
Итого: 45,50 54,80

В первой колонке - во сколько дальномер обошелся мне, во второй - сколько он мог бы стоить при промышленном изготовлении (оценка очень приблизительная).

Программная часть дальномера

Перед написанием программы нужно рассчитать тактовую частоту, на которой будет работать фотоприемная линейка.
В старых версиях дальномера частота сканирования была ограничена 3 Гц, в новом дальномере я решил сделать ее выше - 6Гц (это учитывалось при выборе линейки). Дальномер делает 360 измерений на один оборот, так что при указанной скорости он должен быть способен производить 2160 измерений в секунду, то есть одно измерение должно занимать менее 460 мкс. Каждое измерение состоит из двух этапов - экспозиция (накопление света линейкой) и считывание данных с линейки. Чем быстрее будет произведено считывание сигнала, тем длиннее может быть время экспозиции, а значит, и тем больше будет амплитуда сигнала. При тактовой частоте линейки 8 МГц время считывания 1024 пикселей будет составлять 128 мкс, при 6 МГц - 170 мкс.

При тактовой частоте микроконтроллера серии STM32F303 в 72 МГц максимальная частота выборок АЦП - 6 MSPS (при разрядности преобразования 10 бит). Так как я хотел проверить работу дальномера при тактовой частоте линейки 8 МГц, я решил использовать режим работы АЦП, в котором два АЦП работают одновременно (Dual ADC mode - Interleaved mode). В этом режиме по сигналу от внешнего источника начала запускается ADC1, а затем, через настраиваемое время, ADC2:

Как видно из диаграммы, суммарная частота выборок АЦП в два раза выше, чем частота триггера (в данном случае это сигнал от таймера TIM1).
При этом TIM1 также должен формировать сигнал тактовой частоты для фотоприемной линейки, синхронный с выборками АЦП.
Чтобы получить с одного таймера два сигнала с частотами, различающимися в два раза, можно переключить один из каналов таймера в режим TIM_OCMode_Toggle, а второй канал должен формировать обычный ШИМ сигнал.

Структурная схема программы дальномера:

Ключевой частью программы является именно захват данных с линейки и управление ей. Как видно из схемы, этот процесс идет на аппаратном уровне, за счет совместной работы TIM1, ADC1/2 и DMA. Для того, чтобы время экспозиции линейки было постоянным, используется таймер TIM17, работающий в режиме Single Pulse.

Таймер TIM3 генерирует прерывания при срабатывании компаратора, соединенного с энкодером. За счет этого рассчитывается период вращения сканирующей головки дальномера и ее положение. По полученному периоду вращения рассчитывается период таймера TIM16 таким образом, чтобы он формировал прерывания при повороте головки на 1 градус. Именно эти прерывания служат для запуска экспозиции линейки.

После того, как DMA передаст все 1024 значения, захваченные ADC, в память контроллера, программа начинает анализ эти данных: сначала производится поиск положения максимума сигнала с точностью до пикселя, затем, при помощи алгоритма поиска центра тяжести - с более высокой точностью (0.1 пикселя). Полученное значение сохраняется в массив результатов. После того, как сканирующая головка сделает полный оборот, в момент прохождения нуля этот массив предаются в модуль UART при помощи еще одного канала DMA.

Использование дальномера

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

Однако дальномер делался не для того, чтобы просто лежать на столе - он был установлен на старый пылесос Roomba 400 вместо дальномера второй версии:


Также на роботе установлен компьютер Orange Pi PC, предназначенный для управления роботом и связи с ним.
Как оказалось, из-за большой просадки напряжения на линейном источнике питания двигателя дальномера, для работы на скорости 6 об/сек дальномеру требуется питающее напряжение 6В. Поэтому Orange Pi и дальномер питаются от отдельных DC-DC преобразователей.

Для управления роботом и анализа данных от дальномера я использую ROS.
Данные от дальномера обрабатываются специальным ROS-драйвером (основанном на драйвере дальномера Neato), который получает по UART данные от дальномера, пересчитывает их в расстояния до объектов (используя данные калибровки) и публикует их в стандартном формате ROS.
Вот так выглядит полученная информация в rviz (программа для визуализации данных ROS), робот установлен на полу:


Длина стороны клетки - 1 метр.

После того, как данные попали в ROS, их можно обрабатывать, используя уже готовые пакеты программ. Для того, чтобы построить карту квартиры, я использовал hector_slam. Для справки: SLAM - метод одновременного построения карты местности и определения положения робота на ней.
Пример получившейся карты квартиры (форма несколько необычна, потому что дальномер “видит” мебель, а не стены, и не все комнаты показаны):


ROS позволяет объединять несколько программ (“узлов” в терминологии ROS), работающих на разных компьютерах, в единую систему. Благодаря этому, на Orange Pi можно запускать только ROS-драйверы Roomba и дальномера, а анализ данных и управление роботом вести с другого компьютера. При этом эксперименты показали, что hector_slam нормально работает и на Orange Pi, приемлемо загружая процессор, так что вполне реально организовать полностью автономную работу робота.

Система SLAM благодаря данным от дальномера позволяет роботу определять свое положение в пространстве. Используя данные о положении робота и построенную карту, можно организовать навигационную систему, позволяющую “направить” робота в указанную точку на карте. ROS содержит в себе пакет программ для решения этой задачи, но, к сожалению, я так и не смог заставить его качественно работать.

Видео работы дальномера:

Более подробное видео построения карты при помощи hector_slam:

Исходные коды программы контроллера

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

Теория

Часто приходится встречать мнение, что с помощью лазера расстояние измеряют только путем прямого измерения времени «полета» лазерного импульса от лазера до отражающего объекта и обратно. На самом деле, этот метод (его называют импульсным или времяпролетным, TOF) применяют в основном в тех случаях, когда расстояния до нужного объекта достаточно велики (>100м). Так как скорость света очень велика, то за один импульс лазера достаточно сложно с большой точностью измерить время пролета света, и следовательно, расстояние. Свет проходит 1 метр примерно за 3.3 нс, так что точность измерения времени должна быть наносекундная, хотя точность измерения расстояния при этом все равно будет составлять десятки сантиметров. Для измерения временных интервалов с такой точностью используют ПЛИС и специализированные микросхемы.

Видео работы дальномера:

Дальность работы у получившегося дальномера вышла достаточно небольшая: 1,5-2 м в зависимости от коэффициента отражения объекта.
Для того, чтобы увеличить дальность, можно использовать специальный отражатель, на который нужно будет направлять луч лазера.
Для экспериментов я сделал линзовый отражатель, состоящий из линзы, в фокусе которой расположена матовая бумага. Такая конструкция отражает свет в ту же точку, откуда он был выпущен, правда, диаметр луча при этом увеличивается.
Фотография отражателя:

Использование отражателя:


Как видно, расстояние до отражателя - 6.4 метра (в реальности было примерно 6.3). Сигнал при этом возрастает настолько, что его приходится ослаблять, направляя луч лазера на край отражателя.

Точность получившегося дальномера - 1-2 сантиметра, что соответствует точности измерения сдвига фаз - 0,2-0,5 градуса. При этом, для достижения такой точности, данные приходится слишком долго усреднять - на одно измерение уходит 0.5 сек. Возможно, это связано с использованием PLL для формирования сигналов - у него довольно большой джиттер. Хотя я считаю, что для самодельного макета, аналоговая часть которого сделана довольно коряво, в котором присутствуют достаточно длинные провода, даже такая точность - довольно неплохо.
Отмечу, что я не смог найти в Интернете ни одного существующего проекта фазового дальномера (хотя бы со схемой конструкции), что и послужило причиной написать эту статью.

Теги:

  • лазерный дальномер
  • stm32
  • stm32f4discovery
Добавить метки

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

Теория

Часто приходится встречать мнение, что с помощью лазера расстояние измеряют только путем прямого измерения времени «полета» лазерного импульса от лазера до отражающего объекта и обратно. На самом деле, этот метод (его называют импульсным или времяпролетным, TOF) применяют в основном в тех случаях, когда расстояния до нужного объекта достаточно велики (>100м). Так как скорость света очень велика, то за один импульс лазера достаточно сложно с большой точностью измерить время пролета света, и следовательно, расстояние. Свет проходит 1 метр примерно за 3.3 нс, так что точность измерения времени должна быть наносекундная, хотя точность измерения расстояния при этом все равно будет составлять десятки сантиметров. Для измерения временных интервалов с такой точностью используют ПЛИС и специализированные микросхемы.

Видео работы дальномера:

Дальность работы у получившегося дальномера вышла достаточно небольшая: 1,5-2 м в зависимости от коэффициента отражения объекта.
Для того, чтобы увеличить дальность, можно использовать специальный отражатель, на который нужно будет направлять луч лазера.
Для экспериментов я сделал линзовый отражатель, состоящий из линзы, в фокусе которой расположена матовая бумага. Такая конструкция отражает свет в ту же точку, откуда он был выпущен, правда, диаметр луча при этом увеличивается.
Фотография отражателя:

Использование отражателя:


Как видно, расстояние до отражателя - 6.4 метра (в реальности было примерно 6.3). Сигнал при этом возрастает настолько, что его приходится ослаблять, направляя луч лазера на край отражателя.

Точность получившегося дальномера - 1-2 сантиметра, что соответствует точности измерения сдвига фаз - 0,2-0,5 градуса. При этом, для достижения такой точности, данные приходится слишком долго усреднять - на одно измерение уходит 0.5 сек. Возможно, это связано с использованием PLL для формирования сигналов - у него довольно большой джиттер. Хотя я считаю, что для самодельного макета, аналоговая часть которого сделана довольно коряво, в котором присутствуют достаточно длинные провода, даже такая точность - довольно неплохо.
Отмечу, что я не смог найти в Интернете ни одного существующего проекта фазового дальномера (хотя бы со схемой конструкции), что и послужило причиной написать эту статью.

Теги: Добавить метки

Лучшие статьи по теме