- Наружное утепление стен
- Фасадные работы
- Ремонт рустов
- Ремонт температурных швов
- Кровельные работы
- Ремонт дымоходов
- Промышленный альпинизм
- Ремонт входных групп
- Капитальный и косметический ремонт подъездов
- Ремонт ГВС ХВС
- Площадки для ТБО
- Металлоконструкции
- Уборка снега
- Полезная информация
- Благотворительность
- Отзывы
Лазерный дальномер — принцип работы и сравнение разных типов. Дальномер лазерный импульсный
Лазерный дальномер
Скучная физика. Принцип работы
Измерение дальности охотничьим лазерным дальномером.Способность электромагнитного излучения распространяться с постоянной скоростью дает возможность определять дальность до объекта. Так, при импульсном методе дальнометрирования используется следующее соотношение: L = ct/2,
— где L — расстояние до обьекта, — с — скорость распространения излучения, — t — время прохождения импульса до цели и обратно.
Рассмотрение этого соотношения показывает, что потенциальная точность измерения дальности определяется точностью измерения времени прохождения импульса энергии до объекта и обратно. Ясно, что чем короче импульс, тем лучше.
Задача определения расстояния между дальномером и целью сводится к измерению соответствующего интервала времени между зондирующим сигналом и сигналом, отраженным от цели. Различают три метода измерения дальности в зависимости от того, какой характер модуляции лазерного излучения используется в дальномере: импульсный, фазовый или фазо-импульсный.
Сущность импульсного метода дальнометрирования состоит в том, что к объекту посылают зондирующий импульс, он же запускает временной счетчик в дальномере. Когда отраженный объектом импульс приходит к дальномеру, то он останавливает работу счетчика. По временному интервалу (задержке отраженного импульса) определяется расстояние до объекта.
При фазовом методе дальнометрирования лазерное излучение модулируется по синусоидальному закону с помощью модулятора (электрооптического кристалла, изменяющего свои параметры под воздействием электрического сигнала). Обычно используют синусоидальный сигнал с частотой 10...150 МГц (измерительная частота). Отраженное излучение попадает в приемную оптику и фотоприемник, где выделяется модулирующий сигнал. В зависимости от дальности до объекта изменяется фаза отраженного сигнала относительно фазы сигнала в модуляторе. Измеряя разность фаз, определяют расстояние до объекта.
Упаковка, коробка
Покупал в магазине TOMTOP на ebay, вот он на их сайте напрямую.Где может пригодится дальномер: Для стрельбы, охоты, туризма, спорта. Я брал для стрельбы, для точного определения поправок на дальность в баллистическом калькуляторе.
Характеристики: Диапазон измерения расстояния: 5 — 600 м Диапазон измерения угла: +-60° (для модели с индексом А) Точность измерения: ±1 м Длина волны лазера: 905 нм Сертификат безопасности: FDA(CFR 21) Поле зрения: 7° Увеличение: 6X Диаметр объектива: 24 мм Диаметр выходного зрачка: 3.8 мм Диоптрийная подстройка: ±3 Д Ручная фокусировка Рабочая температура: 0°~ 40° Измерение высоты Режим сканирования Режим гольф Батарея: 3V CR2 Размеры: 10.5 * 7.5 * 4 см Масса: 181 г.
Комплектация: Дальномер, чехол, ремешок на руку, тряпочка для протирки оптики, инструкция, гарантийка. Сам дальномер поближе: есть резьбовое отверстие под штатив, полезное дополнение. диоптрийная настройка происходит вращение окуляра. Вот так лежит в руке: Черное — покрытие «софттач», что бы не скользил. И конечно лучше одевать ремешок, так как падение на асфальт дальномер вряд ли переживет.
Батарейка: Форм-фактор 15270. Вот например аккумы с зарядником сразу.Инструкция
Масса с батарейкой и чехлом:Работа: Сверху две кнопки: включение и режим, замер происходит при нажатии на кнопку включения, режим переключает режимы (в данном случае толь метры или ярды). Наводим перекрестье на нужный объект — нажимаем кнопку — видим в окуляре результат. Смотреть в него примерно как в шести кратный монокуляр.
Ярды
Косвенная проверка точности: по карте:
Резюмируя: Сам дальномер мне понравился, к качеству изготовления и измерениям у меня претензий нет. Но вот, не смотря на картинки в лоте, функция измерения угла отсутствует (мне прислали модель без индекса «А»). Толи ошиблись в магазине, то ли имеет место намеренный обман, я буду разбираться. Я выбирал модель именно с угломером, модель без угломера можно найти и подешевле.
Еще мои обзоры по этой теме
Спасибо за внимание! Метких выстрелов!
4.3.2.1 Импульсный и фазовый дальномеры
Рис. 15. Оптические схемы импульсного (вверху) и фазового (внизу) дальномеров
Электронное измерение расстояния без отражателя может быть произведено любым из двух методов: с помощью определения времени прохождения сигнала или определения разности фаз. Метод определения времени прохождения сигнала реализован в дальномере DR300+, в котором используется импульсный лазер. Метод определения разности фаз лежит в основе дальномера DR Standard. Как показано на рисунке 15, оптические схемы каждого из методов различны и соответственно имеют свои преимущества и недостатки.
4.3.2.1.1 Импульсный дальномер
Для вычисления расстояний в импульсном методе определяется точное время прохождения импульса до цели и обратно (TOF).
Импульсный лазер генерирует множество коротких импульсов в инфракрасной области спектра, которые направляются через зрительную трубу к цели. Эти импульсы отражаются от цели и возвращаются к инструменту, где при помощи электроники определяется точное время прохождения каждого импульса. Скорость прохождения света сквозь среду может быть точно определена. Поэтому, зная время прохождения, можно вычислить расстояние между целью и инструментом. Измерения с помощью определения времени прохождения сигнала (TOF) обычно имеют не только наибольшую дальность, но и соответствуют самым высоким стандартам безопасности, поскольку интервалы между импульсами препятствуют накоплению вредной для глаз энергии.
Каждый импульс – это однократное измерение расстояния, но поскольку каждую секунду могут быть посланы тысячи таких импульсов, то с помощью усреднения результатов достаточно быстро достигается высокая точность измерений. В ходе измерения делается около 20000 лазерных импульсов в секунду. Затем они усредняются для получения более точного значения расстояния. Точность обычных импульсных дальномеров обычно несколько ниже, чем у фазовых (до 10 мм). Однако в дальномере Trimble DR300+ используется патентованная методика обработки сигнала, позволяющая достичь высокой точности при измерении больших расстояний как с использованием, так и без использования призм. Некоторые тахеометры с импульсным дальномером перед каждым измерением должны быть сфокусированы на цель. При использовании Trimble DR300+ этого не требуется.
4.3.2.1.2 Фазовый дальномер
DR Standard – это лазерный дальномер, основанный на методе сравнения фаз сигнала. Дальномер передает коаксиальный оптический пучок с модулированной интенсивностью, который отражается от призмы или другой отражающей поверхности. После этого определяется разность фаз между переданным и отраженным принятым сигналом, по которой вычисляется расстояние. В режиме измерений по призмам дальномер DR Standard работает как быстрый и точный дальномер с большим радиусом действия (до 3500 м по одной призме). В безотражательном режиме DR дальномер DR Standard передает красный коллимированный лазерный пучок до цели и вычисляет сдвиг фазы между переданным и принятым сигналами. Метод измерения разности фаз работает по принципу наложения на несущую частоту модулированного сигнала. Прибор измеряет постоянное смещение фазы, несмотря на неизбежные изменения в излучаемом и принимаемом сигнале. В результате сравнения фаз опорного и получаемого сигнала определяется только величина сдвига фазы, а целое число циклов остается неизвестным и не позволяет сразу получить расстояние. Эта неоднозначность разрешается путем многократных измерений модуляции волны, в результате чего определяется уникальное целое число циклов. Как только целое число циклов определено, то расстояние до цели может быть вычислено очень точно.
studfiles.net
Импульсный лазерный дальномер это устройство, состоящее из импульсного лазера и детектора излучения (фотоприемника).
Измеряя время, которое затрачивает луч на путь до отражателя и обратно, а также зная значение скорости света, можно рассчитать расстояние между лазером и отражающим объектом.
При импульсном методе дальнометрирования используется следующее соотношение:
где — расстояние до объекта, — скорость света в вакууме, — показатель преломления среды, в которой распространяется излучение, — время прохождения импульса до цели и обратно.
Типовая форма зондирующего импульса при импульсном методе
Каждый импульс – это однократное измерение расстояния, но поскольку каждую секунду могут быть посланы тысячи таких импульсов, то с помощью усреднения результатов достаточно быстро достигается высокая точность измерений.
Осреднение импульсов
В ходе измерения делается около 20000 лазерных импульсов в секунду. Затем они усредняются для получения более точного значения расстояния. Обычные импульсные дальномеры имеют несколько худшую точность, чем фазовые дальномеры (до 10 мм).
Фазовый лазерный дальномер - это дальномер, принцип действия которого основан на методе сравнения фаз отправленного и отражённого сигналов.
Принцип действия состоит в определении количества целых длин волн между локатором и объектом и разности фаз излученной и принятой волны модулирующего колебания.
Ширина полосы модуляции до 10 ГГц при использовании современных лазерных диодов (semiconductor laser diodes). Отметим, что в этом случае зондирующее излучение должно быть непрерывным, что в общем случае значительно повышает требования по выходной мощности излучающего лазера по сравнению с импульсным методом.
Для того, чтобы определить расстояние между источником и объектом, необходимо:
1. Определить целое количество длин волн модуляции K, приходящихся на это расстояние.
2. Определить разность фаз между принятой и опорной волной и тем самым оценить дополнительное расстояние, соответствующее «последней» неполной волне.
Если значения K и удалось определить, то искомое расстояние определяется по формуле:
где - длина волны модуляции.
Лазерная система швартовки крупнотоннажных судов состоит из следующих элементов:
· лазерных сенсоров
· метеостанции, включающей датчики скорости и направления ветра и датчик высоты волны
· цифрового информационного табло
· центра управления (ЦУ), включающего компьютер ЦУ с программным обеспечением, принтер, источник бесперебойного питания
· канала связи, включающего мультиплексоры и оптоволоконную кабельную линию
Сбор данных
Сбор данных от датчиков системы и формирование группового сигнала осуществляется через мультиплексор. Волоконнооптический кабель обеспечивает соединение мультиплексора на причале и в центре управления. Отображение положения крупнотоннажных судов происходит на рабочем дисплее центра управления. Программное Обеспечение (ПО) состоит из электронной карты и базы данных.
Данные по судам автоматически сохраняются на жестком диске компьютера ЦУ с возможностью просмотра процесса швартовки и вывода на печать. ПО должно иметь модуль тестирования всей системы, включая компьютер ЦУ, датчики, табло. ПО производит расчет положения судов, скорости и направления ветра, волнения моря, температуры воздуха.
Состав базы данных
БД содержит следующие данные:
- название судна
- судовладелец
- время начала/конца постановки к причалу
- предупреждения в процессе постановки к причалу
- данные по стоянке судна (мониторинг состояния судна)
Похожие статьи:
poznayka.org
Самодельный фазовый лазерный дальномер
В статье я расскажу о том, как я делал лазерный дальномер и о принципе его работы. Сразу отмечу, что конструкция представляет собой макет, и ее нельзя использовать для практического применения. Делалась она только для того, чтобы убедится в том, что фазовый дальномер реально собрать самому.
Теория
Часто приходится встречать мнение, что с помощью лазера расстояние измеряют только путем прямого измерения времени «полета» лазерного импульса от лазера до отражающего объекта и обратно. На самом деле, этот метод (его называют импульсным или времяпролетным, TOF) применяют в основном в тех случаях, когда расстояния до нужного объекта достаточно велики (>100м). Так как скорость света очень велика, то за один импульс лазера достаточно сложно с большой точностью измерить время пролета света, и следовательно, расстояние. Свет проходит 1 метр примерно за 3.3 нс, так что точность измерения времени должна быть наносекундная, хотя точность измерения расстояния при этом все равно будет составлять десятки сантиметров. Для измерения временных интервалов с такой точностью используют ПЛИС и специализированные микросхемы.
Однако существуют и другие лазерные методы изменения расстояния, одним из них является фазовый. В этом методе, в отличие от предыдущего, лазер работает постоянно, но его излучение амплитудно модулируется сигналом определенной частоты (обычно это частоты меньше 500МГц). Отмечу, что длина волны лазера при этом остается неизменной (она находится в пределах 500 — 1100 нм). Отраженное от объекта излучение принимается фотоприемником, и его фаза сравнивается с фазой опорного сигнала — от лазера. Наличие задержки при распространении волны создает сдвиг фаз, который и измеряется дальномером.Расстояние определяется по формуле:Где с — скорость света, f — частота модуляции лазера, фи — фазовый сдвиг.Эта формула справедлива только в том случае, если расстояние до объекта меньше половины длины волны модулирующего сигнала, которая равна с / 2f.Если частота модуляции равна 10МГц, то измеряемое расстояние может доходить до 15 метров, и при изменении расстояния от 0 до 15 метров разность фаз будет меняться от 0 до 360 градусов. Изменение сдвига фаз на 1 градус в таком случае соответствует перемещению объекта примерно на 4 см.При превышении этого расстояния возникает неоднозначность — невозможно определить, сколько периодов волны укладывается в измеряемом расстоянии. Для разрешения неоднозначности частоту модуляции лазера переключают, после чего решают получившуюся систему уравнений.Самый простой случай — использование двух частот, на низкой приблизительно определяют расстояние до объекта (но максимальное расстояние все равно ограничено), на высокой определяют расстояние с нужной точностью — при одинаковой точности измерения фазового сдвига, при использовании высокой частоты точность измерения расстояния будет заметно выше.
Так как существуют относительно простые способы измерять фазовый сдвиг с высокой точностью, то точность измерения расстояния в таких дальномерах может доходить до 0.5 мм. Именно фазовый принцип используется в дальномерах, требующих большой точности измерения — геодезических дальномерах, лазерных рулетках, сканирующих дальномерах, устанавливаемых на роботах.Однако у метода есть и недостатки — мощность излучения постоянно работающего лазера заметно меньше, чем у импульсного лазера, что не позволяет использовать фазовые дальномеры для измерения больших расстояний. Кроме того, измерение фазы с нужной точностью может занимать определенное время, что ограничивает быстродействие прибора.
Наиболее важный процесс в таком дальномере — это измерение разности фаз сигналов, которая и определяет точность измерения расстояния. Существуют различные способы измерения разности фаз, как аналоговые, так и цифровые. Аналоговые значительно проще, цифровые дают большую точность. При этом цифровыми методами измерить разность фаз высокочастотных сигналов сложнее — временная задержка между сигналами измеряется наносекундами (эта задержка возникает также, как и в импульсном дальномере).
Для того, чтобы упростить задачу, используют гетеродинное преобразование сигналов — сигналы от фотоприемника и лазера по отдельности смешивают с сигналом близкой частоты, который формируется дополнительным генератором — гетеродином. Частоты модулирующего сигнала и гетеродина различаются на килогерцы или единицы мегагерц. Из полученных сигналов при помощи ФНЧ выделяют сигналы разностной частоты. Пример структурной схемы дальномера с гетеродином. М — генератор сигнала модуляции лазера, Г — гетеродин.
Разность фаз сигналов в таком преобразовании не изменяется. После этого разность фаз полученных низкочастотных сигналов измерить цифровыми методами значительно проще — можно легко оцифровать сигналы низкоскоростным АЦП, или измерить задержку между сигналами (при понижении частоты она заметно увеличивается) при помощи счетчика. Оба метода достаточно просто реализовать на микроконтроллере.
Есть и другой способ измерения разности фаз — цифровое синхронное детектирование. Если частота модулирующего сигнала не сильно велика (меньше 15 МГц), то такой сигнал можно оцифровать высокоскоростным АЦП, синхронизированным с сигналом модуляции лазера. Из теоремы Котельникова следует, что частота дискретизации при этом должна быть в два раза выше частоты модуляции лазера. Однако, так как оцифровывается узкополосный сигнал (кроме частоты модуляции, других сигналов на входе АЦП нет), то можно использовать метод субдискретизации, благодаря которому частоту дискретизации АЦП можно заметно снизить — до единиц мегагерц. Понятно, что аналоговая часть дальномера при этом упрощается.Более подробно (с всеми нужными формулами) этот метод рассматривается здесь (на английском) и здесь (на русском).В первой статье указывается, что если частота дискретизации сигнала (fsp) связана с частотой модуляции (fo) следующим соотношением:где p — целое число, то процесс вычисления фазы значительно упрощается.Достаточно взять N выборок сигнала X[i], после чего разность фаз можно вычислить по следующим формулам:Отмечу, что оба вышеуказанных метода часто применяются вместе — низкочастотные сигналы подаются напрямую на АЦП, высокочастотные переносятся в область более низких частот гетеродинным мотодом, и также подаются на АЦП.
Именно второй вариант фазометра, с использованием частоты модуляции 10МГц я и решил реализовать в своем макете дальномера.
Практика
Структурная схема моего дальномера:
Фактически, вся конструкция состоит из 3 частей — отладочной платы с микроконтроллером, усилителя сигнала лазера с самим лазером, и фотоприемника с усилителем и фильтром.В вышеописанной теории предполагалось, что излучение лазера модулируется синусоидальным сигналом. Сформировать такой сигнал частотой 10Мгц с использованием контроллера непросто, поэтому в своей конструкции я подаю на лазер меандр частотой 10МГц. После усиления сигнала с фотоприемника от полученного сигнала отсекаются лишние гармоники полосовым LC-фильтром, настроенным на частоту 10МГц, в результате чего на выходе фильтра возникает сигнал, очень близкий к синусоидальному.
Схема аналоговой части (усилителя лазера и приемной части):Схема была взята из проекта лазерной связи Ronja, описание на русском. В этом проекте как раз реализована передача данных со скоростью 10Mbit, что соответствует выбранной частоте модуляции.Как видно из схемы — усилитель мощности для лазера простейший, собран на микросхеме 74HC04 (содержит 6 инверторов). Включение микросхемы не совсем корректное, но оно работает. Ток через лазер ограничивается резисторами (тоже не самое лучшее решение). Напряжение питания 5В для усилителя берется с отладочной платы.Для того, чтобы сигнал с усилителя не наводился на остальную часть схемы, корпус усилителя сделан металлическим, все провода экранированы.Сам лазер (красного цвета) взят из пишущего DVD-привода, его мощность можно установить достаточно высокой, и он гарантированно будет работать на частоте 10МГц.
Приемник состоит из фотодиода и усилителя, собранного на полевом транзисторе и микросхеме-высокоскоростном усилителе. Так как с увеличением расстояния освещенность фотодиода сильно падает, то усиление должно быть достаточно большим (в этой схеме оно примерно равно 4000). Кроме того, с ростом частоты заметно падает сигнал на выходе фотодиода (сказывается его емкость). Отмечу, что усилитель в данной конструкции — важнейшая и наиболее капризная часть. Как оказалось, его усиления явно не хватает. Изначально я предполагал, что коэффициент усиления можно будет менять (чтобы ослаблять сигнал при его слишком большой величине), используемая схема позволяет это делать, меняя напряжение на втором затворе транзистора. Однако оказалось, что при изменении усиления достаточно сильно изменяется вносимый усилителем сдвиг фаз, что ухудшает точность измерения расстояния, так что пришлось установить коэффициент усиления на максимум, подавая на затвор транзистора напряжение 3В с батарейки.Приемнику для работы требуется напряжение 12В, так что для его питания приходится использовать отдельный блок питания.Усилитель очень чувствителен к внешним наводкам, так что он тоже должен быть экранированным. Я взял готовый корпус от нерабочего оптического датчика, и разместил усилитель в нем (белая полоска — фольга для дополнительного экранирования фотодиода):Отмечу, что наводка сигнала от лазера на приемник довольно сильно ухудшает точность измерения разности фаз, так что нужно контролировать, чтобы такая наводка отсутствовала.
LC-фильтр, используемый в дальномере — взят от приемника. Так как фильтр отсекает постоянную составляющую сигнала, а АЦП отрицательные сигналы не воспринимает, то ее приходится добавлять при помощи резисторного делителя R15, R16. Постоянное напряжение, подаваемое на делитель, берется c отладочной платы (VCC).
Отладочная плата — STM32F4-DISCOVERY. Ее выбрал потому, что для формирования двух достаточно различающихся частот нужен генератор достаточно высокой частоты (PLL STM32F4 может давать частоты больше 100МГц).В формуле, связывающей частоту модуляции и дискретизации, коэффициент «p» я принял равным 6, так что при частоте модуляции 10МГц частота дискретизации должна быть 1.6МГц.
Для формирования частоты 10МГц используется таймер TIM2, работающий в режиме формирования ШИМ сигнала. При системной частоте 160МГц его период — 16 «тиков».АЦП получает запросы на запуск от таймера TIM2. Для формирования частоты 1.6МГц его период — 100 «тиков». Все данные от АЦП при помощи DMA сохраняются в массив, размер которого должен быть равен двойке в N степени. Оба таймера, АЦП и DMA запускаются один раз при включении и больше уже не отключаются. Таким образом, так как таймеры тактируются от одного источника, а одному периоду измеряемого сигнала соответствуют четыре выборки данных, получается, что в массив всегда попадет целое число периодов сигнала.Так как останавливать DMA не желательно (это упрощает управление захватом данных), при заполнении первой половины массива генерируется прерывание. Обнаружив, что половина массива заполнена, контроллер копирует ее содержимое в другой массив (в целях упрощения программы вторая половина основного массива при этом не используется). После этого полученные данные обрабатываются — вычисляется средняя амплитуда и фаза сигнала, проводится пересчет фазового сдвига в расстояние.Полученные величины выводятся на ЖК индикатор от кассового аппарата, также подключенный к отладочной плате.
Дальномер должен знать где находится начало отсчета. Для его калибровки при включении на «нулевом» расстоянии от дальномера устанавливается объект, после чего на отладочной плате нужно нажать кнопку, при этом измеренное значение дальности записывается в память, после чего это значение будет вычитаться из измеренной дальномером дальности.
Как я уже отмечал выше, реализовать автоматическое управление усилением не удалось. При этом изменение амплитуды принятого сигнала приводит к изменению фазовых сдвигов в усилителе, и следовательно, к дополнительным ошибкам.Поэтому мне пришлось регулировать освещенность фотодиода при помощи механической заслонки, поворачиваемой сервоприводом — при слишком большой освещенности заслонка перекрывает световой поток. ШИМ сигнал для управления приводом формируется таймером TIM3.
Про оптику. Без нее дальномер невозможен. Ее конструкция хорошо видна на фотографиях ниже. Лазер находится внутри пластиковой трубки, установленной вертикально. В нее вставлена небольшая втулка с зеркальной призмой. Втулку можно поворачивать, поднимать и опускать, перемещая таким образом луч лазера. Так как я догадывался, что усиления не хватит, то для приема сигнала использовал крупную линзу Френеля.Так так лазер, линза и фотодиод установлены соосно, то на близких расстояниях лазер закрывает от фотодиода собственный луч. Для компенсации этого эффекта я установил вторую линзу (лупа с оправой), хотя полностью эффект не устраняется, поэтому максимальный сигнал наблюдается на расстоянии примерно 50-70 см от лазера.
А вот и фотографии получившейся конструкции:На индикаторе первое число — амплитуда в единицах АЦП, второе число — расстояние в сантиметрах от края доски.
Видео работы дальномера:
Дальность работы у получившегося дальномера вышла достаточно небольшая: 1,5-2 м в зависимости от коэффициента отражения объекта.Для того, чтобы увеличить дальность, можно использовать специальный отражатель, на который нужно будет направлять луч лазера.Для экспериментов я сделал линзовый отражатель, состоящий из линзы, в фокусе которой расположена матовая бумага. Такая конструкция отражает свет в ту же точку, откуда он был выпущен, правда, диаметр луча при этом увеличивается.Фотография отражателя:
Использование отражателя:Как видно, расстояние до отражателя — 6.4 метра (в реальности было примерно 6.3). Сигнал при этом возрастает настолько, что его приходится ослаблять, направляя луч лазера на край отражателя.
Точность получившегося дальномера — 1-2 сантиметра, что соответствует точности измерения сдвига фаз — 0,2-0,5 градуса. При этом, для достижения такой точности, данные приходится слишком долго усреднять — на одно измерение уходит 0.5 сек. Возможно, это связано с использованием PLL для формирования сигналов — у него довольно большой джиттер. Хотя я считаю, что для самодельного макета, аналоговая часть которого сделана довольно коряво, в котором присутствуют достаточно длинные провода, даже такая точность — довольно неплохо.Отмечу, что я не смог найти в Интернете ни одного существующего проекта фазового дальномера (хотя бы со схемой конструкции), что и послужило причиной написать эту статью.
Программа контроллера: ссылка
Автор: iliasam
Источник
www.pvsm.ru
Самодельный сканирующий лазерный дальномер / Хабр
В этой статье я расскажу о том, как я делал самодельный лазерный сканирующий дальномер, использующий триангуляционный принцип измерения расстояния, и об опыте его использования на роботе.
Зачем нужен сканирующий дальномер?
На сегодняшний день в робототехнике не так уж и много методов навигации внутри помещений. Определение положения робота в пространстве с использованием лазерного сканера — один из них. Важное достоинство этого метода — он не требует установки в помещении каких-либо маяков. В отличие от систем, использующих распознавание изображения с камер, обработка данных с дальномера не так ресурсоемка. Но есть и недостаток — сложность, и соответственно, цена дальномера. Традиционно в робототехнике используются лазерные сканеры, использующие фазовый или времяпролетный принцип для измерения расстояния до объектов. Реализация этих принципов требует довольно сложной схемотехники и дорогих деталей, хотя и характеристики при этом получаются приличные — используя эти принципы, можно добиться высокой скорости сканирования и большой дальности измерения расстояния. Но для домашних экспериментов в робототехнике такие сканеры мало подходят — цена на них начинаются от 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В, что мешает обработке результатов и ухудшает точность измерения амплитуды сигнала. Для того, чтобы избавится от этого смещения, мне пришлось подать дополнительное напряжение на инвертирующий вход ОУ.
Плату разводил двухстороннюю, сделать такую плату в домашних условиях качественно довольно сложно, так что заказал изготовление плат в Китае (пришлось заказать сразу 10 штук):
В этом дальномере я использовал дешевый объектив с резьбой M12, имеющий фокусное расстояние 16мм. Объектив закреплен на печатной плате при помощи готового держателя объектива (такие используются в различных камерах). Лазер в данном дальномере — инфракрасный (780 нм) лазерный модуль, мощностью 3.5 мВт. Изначально я предполагал, что излучение лазера нужно будет модулировать, но позже оказалось, что с используемой линейкой в этом нет смысла, и поэтому сейчас лазер включен постоянно. Для проверки работоспособности электроники была собрана вот такая конструкция, имитирующая сканирующую головку дальномера:
Уже в таком виде можно было проверить, какую точность измерения расстояния позволяет обеспечить дальномер. Для анализа сигнала, формируемого линейкой, были написаны тестовые программы для микроконтроллера и ПК. Пример вида сигнала с линейки (объект на расстоянии 3 м).
Изначально схема была не совсем такая, как приведена выше. В ходе экспериментов мне пришлось частично переделать изначальную схему, так что, как видно из фотографий, некоторые детали пришлось установить навесным монтажом.
Механическая часть
После того, как электроника была отлажена, настало время изготовить механическую часть. В этот раз я не стал связываться с механикой из HDD, и решил изготовить механические детали из жидкого пластика, заливаемого в силиконовую форму. Эта технология подробно описана в Интернете, в том числе и на Гиктаймс. Уже после того, как я изготовил детали, стало понятно, что изготовить детали на 3D принтере было бы проще, они могли выйти тверже, и возможно, можно было бы сделать одну деталь вместо двух. Доступа к 3D принтеру у меня нет, так что пришлось бы заказывать изготовление детали в какой-либо компании. Фото одной из деталей сканирующей головки дальномера:
Эта деталь является основой головки. Она состоит из втулки, на которую позже надевается подшипник, и диска. Диск предназначен для крепления второй детали башни, кроме того, на него снизу наклеивается диск энкодера. Втулка и диск содержат сквозное отверстие, в которое вставляется покупной щеточный узел на 6 линий — его видно на фотографии. Именно те провода, что видны на фотографии, могут вращаться относительно корпуса этого узла. Для повышения стабильности работы для передачи сигналов GND и UART TX используется 2 пары линий щеток. Оставшиеся 2 линии используются для передачи напряжения питания и сигнала энкодера.
Силиконовая форма для отливки этой детали:
Вторая деталь сканирующей головки была изготовлена тем же способом. Она предназначена для крепления печатной платы и лазера к диску. К сожалению, фотографий изготовления этой детали у меня не сохранилось, так что ее можно увидеть только в составе дальномера.
Для крепления сканирующей головки к основанию дальномера используется шариковый подшипник. Я использовал дешевый китайский подшипник 6806ZZ. Честно говоря, качество подшипника мне не понравилось — ось его внутренней втулки могла отклонятся относительно оси внешней на небольшой угол, из-за чего головка дальномера тоже немного наклоняется. Крепление подшипника к детали с диском и основанию будет показано ниже.
Основание я сделал из прозрачного оргстекла толщиной 5 мм. К основанию крепится подшипник, датчик энкодера, двигатель дальномера и маленькая печатная плата. Само основание устанавливается на любую подходящую поверхность при помощи стоек. Вот так выглядит основание дальномера снизу: Печатная плата содержит регулируемый линейный стабилизатор напряжения для питания двигателя, и площадки для подключения проводов узла щеток. Сюда же подводится питание дальномера. Как и в других дальномерах, двигатель вращает сканирующую головку при помощи пассика. Для того, чтобы он не сваливался с втулки, на ней имеется специальное углубление. Как видно из фотографии, подшипник закреплен в основании при помощи трех винтов. На сканирующей головке подшипник удерживается за счет выступа на втулке и прижимается к ней другими винтами, одновременно удерживающими щеточный узел.
Энкодер состоит из бумажного диска с напечатанными рисками и оптопары с фототранзистором, работающей на отражение. Оптопара закреплена при помощи стойки на основании так, что плоскость диска оказывается рядом с ней:
Сигнал от оптопары через щетки передается на вход компаратора микроконтроллера. В качестве источника опорного напряжения для компаратора выступает ЦАП микроконтроллера. Для того, чтобы дальномер мог определить положение нулевого угла, на диск энкодера нанесена длинная риска, отмечающая нулевое положение головки (она видна справа на фотографии выше).
Вот так выглядит собранный дальномер: Вид сверху: Разъем сзади дальномера используется для прошивки микроконтроллера. Для балансировки сканирующей головки на нее спереди устанавливается крупная гайка — она практически полностью устраняет вибрацию при вращении головки.
Собранный дальномер нужно отюстировать — установить лазер в такое положение, чтобы отраженный от объектов свет попадал на фотоприемную линейку. Обе пластмассовые детали содержат соосные отверстия, располагающиеся под пазом лазера. В отверстия вворачиваются регулировочные винты, упирающиеся в корпус лазера. Поворачивая эти винты, можно изменять наклон лазера. Наблюдая в программе на компьютере форму и амплитуду принятого сигнала и изменяя наклон лазера, нужно добиться максимальной амплитуды сигнала. Также триангуляционные дальномеры требуют проведения калибровки, о чем я писал ранее:
Для того, чтобы при помощи датчика можно было измерять расстояние, нужно произвести его калибровку, т.е. определить закон, связывающий результат, возвращаемый датчиком, и реальное расстояние. Сам процесс калибровки представляет собой серию измерений, в результате которых формируется набор расстояний от датчика до некоторого объекта, и соответствующих им результатов.В данном случае калибровка представляла собой серию измерений расстояний до различных объектов самодельным дальномером и лазерной рулеткой, после чего по полученным парам измерений выполняется регрессионный анализ и составляется математическое выражение.
Получившийся дальномер имеет существенный недостаток — из-за отсутствия модуляции излучения лазера он некорректно работает при любой сильной засветке. Обычное комнатное освещение (даже при использовании мощной люстры) не влияет на работу дальномера, но вот расстояние до поверхностей, прямо освещенных Солнцем, дальномер измеряет неправильно. Для решения этой проблемы в состав дальномера нужно включить интерференционный светофильтр, пропускающий световое излучение только определенной длины волны — в данном случае 780 нм.
Эволюция самодельных дальномеров:
Габаритные размеры получившегося дальномера: Размер основания: 88x110 мм. Общая высота дальномера: 65 мм (может быть уменьшена до 55 при уменьшении высоты стоек). Диаметр сканирующей головки: 80 мм (как у mini-CD диска).
Как и у любого другого триангуляционного дальномера, точность измерения расстояния этого дальномера резко падает с ростом расстояния. При измерениях расстояния до объекта с коэффициентом отражения около 0.7 у меня получились примерно такие точностные характеристики:
1 м | <1 см |
2 м | 2 см |
5 м | 7 см |
Стоимость изготовления дальномера:
Основание | ||
Пластина основания | 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:
Исходные коды программы контроллера
habr.com
Самодельный фазовый лазерный дальномер / Хабр
Теория
Часто приходится встречать мнение, что с помощью лазера расстояние измеряют только путем прямого измерения времени «полета» лазерного импульса от лазера до отражающего объекта и обратно. На самом деле, этот метод (его называют импульсным или времяпролетным, TOF) применяют в основном в тех случаях, когда расстояния до нужного объекта достаточно велики (>100м). Так как скорость света очень велика, то за один импульс лазера достаточно сложно с большой точностью измерить время пролета света, и следовательно, расстояние. Свет проходит 1 метр примерно за 3.3 нс, так что точность измерения времени должна быть наносекундная, хотя точность измерения расстояния при этом все равно будет составлять десятки сантиметров. Для измерения временных интервалов с такой точностью используют ПЛИС и специализированные микросхемы.Однако существуют и другие лазерные методы изменения расстояния, одним из них является фазовый. В этом методе, в отличие от предыдущего, лазер работает постоянно, но его излучение амплитудно модулируется сигналом определенной частоты (обычно это частоты меньше 500МГц). Отмечу, что длина волны лазера при этом остается неизменной (она находится в пределах 500 — 1100 нм). Отраженное от объекта излучение принимается фотоприемником, и его фаза сравнивается с фазой опорного сигнала — от лазера. Наличие задержки при распространении волны создает сдвиг фаз, который и измеряется дальномером. Расстояние определяется по формуле: Где с — скорость света, f — частота модуляции лазера, фи — фазовый сдвиг. Эта формула справедлива только в том случае, если расстояние до объекта меньше половины длины волны модулирующего сигнала, которая равна с / 2f. Если частота модуляции равна 10МГц, то измеряемое расстояние может доходить до 15 метров, и при изменении расстояния от 0 до 15 метров разность фаз будет меняться от 0 до 360 градусов. Изменение сдвига фаз на 1 градус в таком случае соответствует перемещению объекта примерно на 4 см. При превышении этого расстояния возникает неоднозначность — невозможно определить, сколько периодов волны укладывается в измеряемом расстоянии. Для разрешения неоднозначности частоту модуляции лазера переключают, после чего решают получившуюся систему уравнений. Самый простой случай — использование двух частот, на низкой приблизительно определяют расстояние до объекта (но максимальное расстояние все равно ограничено), на высокой определяют расстояние с нужной точностью — при одинаковой точности измерения фазового сдвига, при использовании высокой частоты точность измерения расстояния будет заметно выше.
Так как существуют относительно простые способы измерять фазовый сдвиг с высокой точностью, то точность измерения расстояния в таких дальномерах может доходить до 0.5 мм. Именно фазовый принцип используется в дальномерах, требующих большой точности измерения — геодезических дальномерах, лазерных рулетках, сканирующих дальномерах, устанавливаемых на роботах. Однако у метода есть и недостатки — мощность излучения постоянно работающего лазера заметно меньше, чем у импульсного лазера, что не позволяет использовать фазовые дальномеры для измерения больших расстояний. Кроме того, измерение фазы с нужной точностью может занимать определенное время, что ограничивает быстродействие прибора.
Наиболее важный процесс в таком дальномере — это измерение разности фаз сигналов, которая и определяет точность измерения расстояния. Существуют различные способы измерения разности фаз, как аналоговые, так и цифровые. Аналоговые значительно проще, цифровые дают большую точность. При этом цифровыми методами измерить разность фаз высокочастотных сигналов сложнее — временная задержка между сигналами измеряется наносекундами (эта задержка возникает также, как и в импульсном дальномере).
Для того, чтобы упростить задачу, используют гетеродинное преобразование сигналов — сигналы от фотоприемника и лазера по отдельности смешивают с сигналом близкой частоты, который формируется дополнительным генератором — гетеродином. Частоты модулирующего сигнала и гетеродина различаются на килогерцы или единицы мегагерц. Из полученных сигналов при помощи ФНЧ выделяют сигналы разностной частоты. Пример структурной схемы дальномера с гетеродином. М — генератор сигнала модуляции лазера, Г — гетеродин.
Разность фаз сигналов в таком преобразовании не изменяется. После этого разность фаз полученных низкочастотных сигналов измерить цифровыми методами значительно проще — можно легко оцифровать сигналы низкоскоростным АЦП, или измерить задержку между сигналами (при понижении частоты она заметно увеличивается) при помощи счетчика. Оба метода достаточно просто реализовать на микроконтроллере.
Есть и другой способ измерения разности фаз — цифровое синхронное детектирование. Если частота модулирующего сигнала не сильно велика (меньше 15 МГц), то такой сигнал можно оцифровать высокоскоростным АЦП, синхронизированным с сигналом модуляции лазера. Из теоремы Котельникова следует, что частота дискретизации при этом должна быть в два раза выше частоты модуляции лазера. Однако, так как оцифровывается узкополосный сигнал (кроме частоты модуляции, других сигналов на входе АЦП нет), то можно использовать метод субдискретизации, благодаря которому частоту дискретизации АЦП можно заметно снизить — до единиц мегагерц. Понятно, что аналоговая часть дальномера при этом упрощается. Более подробно (с всеми нужными формулами) этот метод рассматривается здесь (на английском) и здесь (на русском). В первой статье указывается, что если частота дискретизации сигнала (fsp) связана с частотой модуляции (fo) следующим соотношением: где p — целое число, то процесс вычисления фазы значительно упрощается. Достаточно взять N выборок сигнала X[i], после чего разность фаз можно вычислить по следующим формулам: Отмечу, что оба вышеуказанных метода часто применяются вместе — низкочастотные сигналы подаются напрямую на АЦП, высокочастотные переносятся в область более низких частот за счет гетеродинного преобразования, и также подаются на АЦП.
Именно второй вариант фазометра, с использованием частоты модуляции 10МГц я и решил реализовать в своем макете дальномера.
Практика
Структурная схема моего дальномера:Фактически, вся конструкция состоит из 3 частей — отладочной платы с микроконтроллером, усилителя сигнала лазера с самим лазером, и фотоприемника с усилителем и фильтром. В вышеописанной теории предполагалось, что излучение лазера модулируется синусоидальным сигналом. Сформировать такой сигнал частотой 10Мгц с использованием контроллера непросто, поэтому в своей конструкции я подаю на лазер меандр частотой 10МГц. После усиления сигнала с фотоприемника от полученного сигнала отсекаются лишние гармоники полосовым LC-фильтром, настроенным на частоту 10МГц, в результате чего на выходе фильтра возникает сигнал, очень близкий к синусоидальному.
Схема аналоговой части (усилителя лазера и приемной части): Схема была взята из проекта лазерной связи Ronja, описание на русском. В этом проекте как раз реализована передача данных со скоростью 10Mbit, что соответствует выбранной частоте модуляции. Как видно из схемы — усилитель мощности для лазера простейший, собран на микросхеме 74HC04 (содержит 6 инверторов). Включение микросхемы не совсем корректное, но оно работает. Ток через лазер ограничивается резисторами (тоже не самое лучшее решение). Напряжение питания 5В для усилителя берется с отладочной платы. Для того, чтобы сигнал с усилителя не наводился на остальную часть схемы, корпус усилителя сделан металлическим, все провода экранированы. Сам лазер (красного цвета) взят из пишущего DVD-привода, его мощность можно установить достаточно высокой, и он гарантированно будет работать на частоте 10МГц.
Приемник состоит из фотодиода и усилителя, собранного на полевом транзисторе и микросхеме-высокоскоростном усилителе. Так как с увеличением расстояния освещенность фотодиода сильно падает, то усиление должно быть достаточно большим (в этой схеме оно примерно равно 4000). Кроме того, с ростом частоты заметно падает сигнал на выходе фотодиода (сказывается его емкость). Отмечу, что усилитель в данной конструкции — важнейшая и наиболее капризная часть. Как оказалось, его усиления явно не хватает. Изначально я предполагал, что коэффициент усиления можно будет менять (чтобы ослаблять сигнал при его слишком большой величине), используемая схема позволяет это делать, меняя напряжение на втором затворе транзистора. Однако оказалось, что при изменении усиления достаточно сильно изменяется вносимый усилителем сдвиг фаз, что ухудшает точность измерения расстояния, так что пришлось установить коэффициент усиления на максимум, подавая на затвор транзистора напряжение 3В с батарейки. Приемнику для работы требуется напряжение 12В, так что для его питания приходится использовать отдельный блок питания. Усилитель очень чувствителен к внешним наводкам, так что он тоже должен быть экранированным. Я взял готовый корпус от нерабочего оптического датчика, и разместил усилитель в нем (белая полоска — фольга для дополнительного экранирования фотодиода): Отмечу, что наводка сигнала от лазера на приемник довольно сильно ухудшает точность измерения разности фаз, так что нужно контролировать, чтобы такая наводка отсутствовала.
LC-фильтр, используемый в дальномере — взят от приемника. Так как фильтр отсекает постоянную составляющую сигнала, а АЦП отрицательные сигналы не воспринимает, то ее приходится добавлять при помощи резисторного делителя R15, R16. Постоянное напряжение, подаваемое на делитель, берется c отладочной платы (VCC).
Отладочная плата — STM32F4-DISCOVERY. Ее выбрал потому, что для формирования двух достаточно различающихся частот нужен генератор достаточно высокой частоты (PLL STM32F4 может давать частоты больше 100МГц). В формуле, связывающей частоту модуляции и дискретизации, коэффициент «p» я принял равным 6, так что при частоте модуляции 10МГц частота дискретизации должна быть 1.6МГц.
Для формирования частоты 10МГц используется таймер TIM2, работающий в режиме формирования ШИМ сигнала. При системной частоте 160МГц его период — 16 «тиков». АЦП получает запросы на запуск от таймера TIM2. Для формирования частоты 1.6МГц его период — 100 «тиков». Все данные от АЦП при помощи DMA сохраняются в массив, размер которого должен быть равен двойке в N степени. Оба таймера, АЦП и DMA запускаются один раз при включении и больше уже не отключаются. Таким образом, так как таймеры тактируются от одного источника, а одному периоду измеряемого сигнала соответствуют четыре выборки данных, получается, что в массив всегда попадет целое число периодов сигнала. Так как останавливать DMA не желательно (это упрощает управление захватом данных), при заполнении первой половины массива генерируется прерывание. Обнаружив, что половина массива заполнена, контроллер копирует ее содержимое в другой массив (в целях упрощения программы вторая половина основного массива при этом не используется). После этого полученные данные обрабатываются — вычисляется средняя амплитуда и фаза сигнала, проводится пересчет фазового сдвига в расстояние. Полученные величины выводятся на ЖК индикатор от кассового аппарата, также подключенный к отладочной плате.
Дальномер должен знать где находится начало отсчета. Для его калибровки при включении на «нулевом» расстоянии от дальномера устанавливается объект, после чего на отладочной плате нужно нажать кнопку, при этом измеренное значение дальности записывается в память, после чего это значение будет вычитаться из измеренной дальномером дальности.
Как я уже отмечал выше, реализовать автоматическое управление усилением не удалось. При этом изменение амплитуды принятого сигнала приводит к изменению фазовых сдвигов в усилителе, и следовательно, к дополнительным ошибкам. Поэтому мне пришлось регулировать освещенность фотодиода при помощи механической заслонки, поворачиваемой сервоприводом — при слишком большой освещенности заслонка перекрывает световой поток. ШИМ сигнал для управления приводом формируется таймером TIM3.
Про оптику. Без нее дальномер невозможен. Ее конструкция хорошо видна на фотографиях ниже. Лазер находится внутри пластиковой трубки, установленной вертикально. В нее вставлена небольшая втулка с зеркальной призмой. Втулку можно поворачивать, поднимать и опускать, перемещая таким образом луч лазера. Так как я догадывался, что усиления не хватит, то для приема сигнала использовал крупную линзу Френеля. Так так лазер, линза и фотодиод установлены соосно, то на близких расстояниях лазер закрывает от фотодиода собственный луч. Для компенсации этого эффекта я установил вторую линзу (лупа с оправой), хотя полностью эффект не устраняется, поэтому максимальный сигнал наблюдается на расстоянии примерно 50-70 см от лазера.
А вот и фотографии получившейся конструкции: На индикаторе первое число — амплитуда в единицах АЦП, второе число — расстояние в сантиметрах от края доски.
Видео работы дальномера:
Дальность работы у получившегося дальномера вышла достаточно небольшая: 1,5-2 м в зависимости от коэффициента отражения объекта. Для того, чтобы увеличить дальность, можно использовать специальный отражатель, на который нужно будет направлять луч лазера. Для экспериментов я сделал линзовый отражатель, состоящий из линзы, в фокусе которой расположена матовая бумага. Такая конструкция отражает свет в ту же точку, откуда он был выпущен, правда, диаметр луча при этом увеличивается. Фотография отражателя:
Использование отражателя: Как видно, расстояние до отражателя — 6.4 метра (в реальности было примерно 6.3). Сигнал при этом возрастает настолько, что его приходится ослаблять, направляя луч лазера на край отражателя.
Точность получившегося дальномера — 1-2 сантиметра, что соответствует точности измерения сдвига фаз — 0,2-0,5 градуса. При этом, для достижения такой точности, данные приходится слишком долго усреднять — на одно измерение уходит 0.5 сек. Возможно, это связано с использованием PLL для формирования сигналов — у него довольно большой джиттер. Хотя я считаю, что для самодельного макета, аналоговая часть которого сделана довольно коряво, в котором присутствуют достаточно длинные провода, даже такая точность — довольно неплохо. Отмечу, что я не смог найти в Интернете ни одного существующего проекта фазового дальномера (хотя бы со схемой конструкции), что и послужило причиной написать эту статью.
Программа контроллера: ссылка
habr.com
Лазерный дальномер - принцип работы и сравнение
Если хорошо изучить лазерный дальномер, принцип работы прибора, то будет проще сориентироваться среди представленных моделей подобных устройств. Измерение дальности с помощью импульсного способа предполагает использование формулы L = ct/2, где с является скоростью распространения, а Т – временем, затрачиваемым на прохождение импульса. Наибольшей точностью обладают приборы, которые позволяют получать короткие импульсы.
Измерить дальность можно:
- Фазовым,
- Импульсным,
- Фазо-импульсным способом.
И наибольший интерес представляет именно импульсный метод, в процессе которого отправляется зондирующий импульс, достигающий поверхности, и в это время запускается счетчик, считающий время прохождения сигнала. После отражения импульс возвращается к лазерному дальномеру и происходит остановка счетчика, тем самым, фиксируется расстояние.
Модели
Перед принятием решения о покупке, нужно сделать лазерные дальномеры сравнение, взяв для анализа наиболее популярные модели. Среди приборов, специально созданных для определения расстояния, выделяются:
- Лазерные бинокли Carl Zeiss,
- Лазерные дальномеры Bushnell, Leica Rangemaster и Carl Zeiss,
- Бинокли и дальномеры от компаний Nikon, Zenit и Sturman.
Предварительно нужно определиться с целями, для которых вы планируете использовать лазерный прибор, и тогда будет проще сделать правильную покупку. Лазерные рулетки активно используются вооруженными силами, в том числе среди основных пользователей:
- Наземная военная техника,
- Авиация,
- Морской флот,
- Артиллерия.
Также активными пользователями являются охотники, потому что подобные приборы позволяют быстро определять расстояние до мишени и увеличивать количество добытых трофеев. Но еще одним направлением, где применяются данные электронные устройства, является строительство, потому что специалисты получают возможность для определения габаритных размеров и уровней помещения и различных сооружений.
Применение
Когда человек знает лазерный дальномер принцип работы, он способен использовать его с максимальной эффективностью. И если он работает с таким прибором на строительном объекте, то он сможет:
- Быстро вычислить площадь,
- Осуществить передачу данных на компьютерную технику,
- Замерить недоступные объекты.
Кроме того, данные устройства обладают надежной степенью защиты от пыли и механического воздействия. Лазерными рулетками пользуются даже в тех случаях, когда температура опускается на максимально низкий уровень.
Обычно дальномеры выполняются в прочном пластиковом корпусе, на котором имеются кнопки для управления и дисплей для наблюдения за получаемыми данными.
Если вы знаете дальномер лазерный, как работает, можете сразу включать прибор и направить луч на ближайший объект, чтобы быстро произвести измерение. Некоторые приборы подобного типа снабжаются дополнительно штативами и прочими приспособлениями.
Для того чтобы осуществлялось питание, пользуются аккумуляторными батарейками 1,5 В, тип АА. Для гарантированно длительного действия прибора, нужно иметь запасной комплект элементов питания.
Фазовые дальномеры
Чтобы работал фазовый дальномер, применяется синусоидальный принцип, когда происходит сравнение фаз отправленного и отраженного сигнала. Когда получается результат подобных измерений – это расстояние. Данные рулетки отличаются высоким уровнем точности, к тому же они относятся к дорогостоящим.
Есть разные режимы работы данных приборов:
- Стандартные,
- Сканирования,
- Для неблагоприятных условий эксплуатации,
- Зеркальные.
Выбор
Выбирая лазерный дальномер Лейка, нужно ориентироваться на его габариты и на технические возможности, чтобы он мог выполнять все поставленные задачи и точно определять дальность.
Нужно оценить максимальное расстояние, на которое способен действовать прибор, оно может достигать 1 километра. Также важным фактором является объем памяти, которым обладает лазерный дальномер Лейка, потому что при длительной работе и получении большого объема информации, недостаточная память способна снизить эффективность процесса.
Необходимо требовать сертификат качества при покупке лазерного дальномера и всегда рассчитывать на гарантию, предоставляемую продавцами электронных устройств. Профессиональные рулетки оснащаются дополнительными функциями и приспособлениями, позволяющими выполнять более сложные измерения.
novoptic.ru
Адрес:
603034 Нижний НовгородЛенинский район ул. Ростовская
д.13 офис №2
Телефон:
(831) 216-17-138(987) 544-18-81
email:
[email protected]COPYRIGHT © 2018
Все права защищены