Самодельный сканирующий лазерный дальномер

© 2015 Vasili-photo.com

Предлагаю вашему вниманию перевод статьи Edward J. Ramaley «An Interesting Distance Meter», опубликованной в журнале «American Photography» за февраль 1939 г. В статье рассказывается о том, как из куска картона можно изготовить оригинальный оптический дальномер. Разумеется, в наши дни большинство фотокамер снабжены не то что дальномером, а полноценным автофокусом, что сильно снижает практическое значение описанного в статье примитивного устройства. Тем не менее, самодельный прибор остаётся презанятной игрушкой, с широким развлекательно-образовательным потенциалом и позволяет немного по-новому взглянуть на работу собственных глаз.

Стиль изложения может показаться местами несколько путанным, но таков он и в оригинале – я старался переводить по возможности близко к тексту.

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

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

Калибровка дальномера

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

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

Рис. 1 Дальномер (для глаз и руки автора).Рис. 2 Вид дальномера, когда глаза сфокусированы на предмете за ним.

Простейший барометрический высотомер на базе Arduino.

Функции устройства: — Измерение текущей высоты и вывод ее на светодиодный дисплей. — Запоминание максимального значения высоты имевшей место с момента включения питания. — Вывод максимальной высоты на дисплей посредством нажатия кнопки. — Запись максимального значения высоты в энергонезависимую память (EEPROM) контроллера (сохраняется после отключения питания). — Чтение сохраненной максимальной высоты из EEPROM и вывод ее на дисплей.
За нулевую точку отсчета принимается высота на которой было включено питание устройства.

Что понадобится (в скобках ключевые слова для поиска на всяких там ебаях и т.п.) — микроконтроллер ардуино, в принципе подойдет почти любой, если код даптировать, но собиралось и проверялось все на базе (Arduino Nano).

— барометрический датчик высоты с шиной I2C (BMP085). — трехразрядный семисегментный светодиодный дисплей с общим анодом (7-Segment LED Display). — провода для соединения всего этого в единое целое, я использовал готовые и с разъемами, но это совсем не обязательно (Dupont Wire). — кнопка, подойдет любая без фиксации положения (Tact Switch Push Button). Например такая: — резистор от 1КОм до 10КОм. — три резистора 100Ом. — паяльник со всеми гобулями и умение им пользоваться. — Arduino Software.

Опционально: — макетная плата для распайки дисплея.

Для тех кто совсем не в теме. Прежде чем пытаться собрать девайс и вникнуть в код настоятельно рекомендую посетить и почитать несколько ресурсов: Введение в тему, простейшие примеры. О подключении семисегментного дисплея с примерами. Описание датчика, примеры, библиотеки. Времени много не займет, понимания сильно прибавит =)

Схема соединения элементов устройства (кликабельно):


Предвосхищая вопросы из серии «что, нормальную схему не мог нарисовать?!» скажу, что мог бы, но для непосвященных такой ваиант мне думается будет проще для восприятия, а посвященным все равно, и так читается схема нормально. Распиновку семисегментника нашел только для четырехразрядной версии, трехразрядная версия отличается банально отсутствием 6-й ноги.

Что касется питания устройства: ардуино в первозданном виде способен нормально пережить от 7В до 16В, в крайнем случае от 6В до 20В. Но, учитывая, что у меня был китайский клон, гнусных опытов я ставить не стал, но от батареи LiPo 3S работает без проблем. Датчик желательно упаковать таким образом, чтобы доступ воздуха был свободный, но при этом исключить прямой обдув потоками воздуха отверстия в датчике, например, прикрыть его пороллоном. С платы ардуино рекомендую удалить светодиоды RX и TX, т.к. они включены параллелльно 0 и 1 цифровым выводам, из-за чего сегменты подключенные к этим выводам будут светиться с меньшей яркостью.

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

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


Дисплей распаял на макетке, не люблю платы травить, да и лень =)


При подключении дисплея не забываем про токоограничивающие резисторы!

Собрал всю лапшу в кучку.


Упаковал.


Общий вид.

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

Вес в сборе около 20гр.

Проверял девайс катаясь на лифте до 12 этажа, показывает вполне адекватно.

На этом все. Спасибо за внимание! Еще раз напомню, грамотная критика, отзывы и предложения приветствуются!

Источник

Как пользоваться дальномером

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

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

Математическое отношение и обоснование для данного прибора показаны на рис. 3, и, как можно увидеть, расстояние между глазами весьма существенно для больших расстояний. Смысл в том, что если шкала откалибрована в светлой комнате и используется также в светлой комнате, расстояние между глазами не меняется. Меж тем, в тёмных местах глазной зрачок расширяется, преувеличивая, таким образом, одни значения и преуменьшая другие.

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

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

Рис.3 Кривые, показывающие зависимость длины меток на шкале от расстояния до объекта при длине руки 27 дюймов и различных расстояниях между глазами. CD – длина линии на шкале в дюймах. BE – расстояние от глаз до объекта в футах. AB – расстояние между глазами в дюймах.

***

Самодельный сканирующий лазерный дальномер

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

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

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

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

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

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

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

Послесловие переводчика

Нельзя не отдать должное изобретательности автора, хотя литературная сторона статьи, конечно, оставляет желать.

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

Рис.4 Примерно так выглядит метрический дальномер.

Прецезионность калибровки дальномера эмпирическим путём, т.е. буквально на глаз, также вызывает у меня определённые сомнения. Слишком уж неточен метод измерения (особенно для дальних дистанций), чтобы применять его при разметке эталонной шкалы. На мой взгляд, расположение горизонтальных меток на шкале дальномера лучше рассчитать. Я даже придумал алгоритм, который способен облегчить эту задачу. Всё что вам нужно, это попросить кого-нибудь измерить расстояние между центрами ваших зрачков (глаза при этом должны смотреть вдаль), а также расстояние от глаз до шкалы дальномера, удерживаемого в вытянутой руке, после чего подставить полученные цифры в соответствующие ячейки формы и нажать на кнопку «Построить таблицу». Для каждой дистанции вы получите высоту соответствующей горизонтальной метки, считая от снования треугольника, а также её длину (отрезок CD на рисунке 3). Все величины, само собой разумеется, метрические.

Дальномер своими руками для охоты

Доброго времени суток читающим! Наверняка не я единственный задавался вопросом приобретения, а лучше создания своими руками достаточно точного дальномера, с возможностью измерять расстояния не менее нескольких км. Как то давно познакомился с интересным материалом, благодаря которому я научился приблизительно измерять расстояния методом «тысячных». При пользовании этим методом, как вы знаете, нужно знать размеры удаленного предмета. Кто сталкивался, знает что в горах сложно найти предмет со знакомыми размерами. Поэтому хотелось так же иметь и другой способ, не требующий обязательных условий. Вчера в интернете случайно попалась конструкция самодельного оптического дальномера. Далее немного копипаста: «Определить расстояние на глаз трудно. Более или менее человек справляется с этой задачей на ровной местности. Если же между предметом и наблюдателем овраг или река, то ошибиться можно в два-три раза.

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

Сделайте из 33-мм фанеры, тонких дощечек или другого жесткого листового материала заготовки, соедините их столярным клеем в продольный футляр, оставив открытой верхнюю крышку 4. Торцевые стенки 5 делают после того, как уже склеен желоб из деталей 1, 2 и 3. Затем в верхней части коробки укрепите полоски зеркала размером 25×50 мм, как показано на рисунке. Зеркало А приклейте намертво клеем БФ-2 к бруску, соединяющему детали 2 и 5, а зеркало Б — на лыску вращающейся оси. Вставьте эту ось нижним концом в отверстие детали 3, накройте футляр крышкой 4 так, чтобы верхний конец оси попал в отверстие детали 4. Наденьте на верхний конец оси стрелку-указатель (из жести или алюминия), смазав место соединения клеем БФ-2, и укрепите защитный хомутик.

Для просмотра онлайн кликните на видео ⤵

СВОИМИ РУКАМИ ТОЧНЫЙ ВЫСОТОМЕР НА ARDUINO Подробнее

Как сделать высотомер для столярки своими руками.DIY Подробнее

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]