лазерный и другие виды датчиков измерения расстояния
Датчик расстояния — это устройство, которое используется для измерения длины, высоты и ширины объекта. Для удобства датчик встраивают в корпус, программируют его и придают компактный вид. Таким образом создается дальномер, который широко используется во многих сферах.
Виды датчиков
На рынке можно найти несколько основных видов датчиков расстояния, самыми популярными считаются:
- ИК датчик — работает на основе испускаемого инфракрасного луча (лазера), высокоточное оборудование имеющие широкую сферу применения.Лазерный датчик расстояния работает таким образом: прибор посылает сигнал в виде лазерного луча, который отражается от стоящего перед ним препятствия и возвращается обратно в фотоэлемент. На основе того с какой скоростью вернулся сигнал, микроконтроллер вычисляет расстояние до препятствия. В зависимости от качества датчика, он может измерять дальность до нескольких сотен метров.
- Ультразвуковой датчик — используется в основном для конструирования автоматических систем умного дома, так как имеет слишком большую погрешность для точных измерений.
Где используются датчики
В основном лазерные датчики расстояния используются в строительной сфере для замеров расстояния между объектами, но им можно найти множество применений. К примеру, датчики расстояния могут помочь в обустройстве умного дома. Установив и, настроив датчик определенным образом, можно автоматизировать включение и выключение света в комнате или сделать автоматическое открытие или закрытие дверей и так далее.
Также подобный датчик установлен в каждый современный смартфон, с его помощью выключается экран, как только смартфон близко подносится к уху во время разговора. Датчики расстояния часто устанавливают в капот и бампер машины, чтобы облегчить парковку и получать данные о препятствиях на пути автомобиля в реальном времени.
Данные датчики измерения расстояния можно приобрести в отдельном виде, но без программируемого микроконтроллера они почти бесполезны. Поэтому покупать их по отдельности разумно только для решения узкого спектра задач. Для подключения датчиков обычно используется микроконтроллер «Ардуино», который необходимо вручную настраивать и прошивать для работы с определенным типом датчиков.
Для тех, кто не хочет углубляться в основы программирования платформы «Ардуино» и радиотехники, рекомендуется купить готовый вариант в виде строительного дальномера.
Что такое дальномер
Дальномер — это компактный девайс, который пришел на смену строительным рулеткам. Данный прибор способен моментально выполнить точные замеры, проводить сложные расчеты, но главный плюс — это то, что его может использовать один человек, без помощи напарника, который держит один конец рулетки.
Существует множество формфакторов и вариантов исполнения данного девайса, но обычно это небольшое устройство, которое помещается в ладонь. Дальномер имеет встроенный аккумулятор что позволяет ему работать долгое время без подзарядки. На корпусе устройства расположен дисплей, на который выводится основная информация о текущем состоянии устройства, а также о результатах замеров. На торце имеется излучатель и приемник, благодаря которым осуществляются измерения.
Лазерные дальномеры активно используются в строительстве и во время монтажных работ. Устройство способно проводить точные измерения с погрешностью 1–3 мм на 10 метров, в зависимости от технических характеристик модели.
Дальномеры делятся на две группы:
- Активные модели — определяют расстояние при помощи звукового, лазерного или светового луча. После выпуска луча он отражается от препятствия и направляется обратно в дальномер. Датчик, который улавливает сигнал проводит вычисления, и выдает результат на дисплей.
- Пассивные модели — работают на основе формулы равнобедренного треугольника, где нужное расстояние это высота h, а длина основания неизвестна. Пассивные устройства активно используются в геодезии, спорте, охоте и там, где минимальные измерения начинаются от 0.5 км и могут доходить до нескольких километров. Для работ, где важна точность измерений вплоть до сантиметра такие устройства не подходят.
Приобретать дальномеры нужно в зависимости от того для какой деятельности он будет использоваться.
Конструкция дальномеров
Визуально большинство устройств схожи с мобильным телефоном на верхушке которого расположен лазерный излучатель. Бюджетные устройства обычно оборудованы LED-дисплеем с подсветкой, на котором может расположиться от одной до четырех строк с данными.
Профессиональные устройства оснащены жидкокристаллическими дисплеями и поддерживают несколько тысяч цветов. Такие устройства имеют проработанный интерфейс, внутреннею память и иногда встроенную камеру.
На любой модели снизу экрана расположены кнопки управления, их количество может варьироваться от 2–10 и более в зависимости от типа устройства. Почти на всех моделях, чтобы начать проводить замеры нужно нажать центральную кнопку, которая выделена красным цветом. Продвинутые аппараты со встроенной памятью могут сохранять последние расчеты и проводить сложные вычисления площади помещения и так далее.
В зависимости от цены аппарат может быть в пластиковом корпусе, а может быть в защитном чехле, который будет надежно защищать дальномер от падений.
Функционал устройства
Функционал бюджетных моделей как правильно органичен лишь измерением дальности. Но аппараты среднего ценового диапазона уже включают в себя множество полезных функций, среди которых:
- Определения периметра и площади.
- Вычисление объема измеряемых объектов.
- Встроенный уровень.
- Передача данных.
И это далеко не весь список возможностей качественных дальномеров. С повышением цены на устройство растет и его функционал. Профессиональный дальномер — это важнейший инструмент для строителя, без которого невозможно качественно завершить проект.
При выборе дальномера нужно опираться на то, чтобы в него была встроена возможность:
- Считать площадь и объем. Данные показатели вычисляются путем измерения нескольких граней. Функция полезна во время проведения отделочных работ, она облегчает расчет количества строительных материалов.
- Уровень — используется в самых разнообразных целях. Девайс может быть оснащен простым уровнем, выполненным в роли ватерпаса, который расположен на корпусе или в качестве функциональной программы, которая выводит градус наклона на дисплей.
- Однотипные скобы — позволяют проводить диагональные измерения из углов, в которых невозможно плотно зафиксировать девайс. Некоторые датчики дистанции оборудованным выдвижными штырями, которые расположены внутри корпуса.
- Сохранения данных — данная функция существенно облегчает работы, где нужно проводить много параллельных замеров и избавляет от необходимости записывать данные об площади и объеме объектов на бумагу. Возможность в любой момент посмотреть результаты прошлых замеров также могут быть полезны при выборе стройматериалов, когда в магазине нужно четко ориентироваться по размерам комнаты.
- Передача накопленных данных. Передача данных на другое устройство обычно происходит с помощью USB кабеля, но дорогие модели имеют встроенный блютуз. Все измерения могут передаваться в виде текстового файла или картинки. Также полученные данные с помощью специальной программы можно удобно преобразовать в точный чертеж помещения.
- Непрерывное изменение — данная функция превращает девайс в лазерную рулетку, которая показывает расстояние до препятствия в режиме реального времени. Такая функция поможет отмереть часть необходимой длины и проверить неровность покрытий, на которые дальномер установлен.
- Визир — имеет вид небольшого оптического прицела, который используется для точного наведения измерительного луча на необходимый объект, расположенный вдали. В профессиональных моделях визир имеет вид камеры и выводит на экран прибора картинку с перекрестием или точкой для удобного прицеливания.
- Измерение высоты — функция позволяет получить данные об высоте потолка, дома и другого высокого объекта. Измерение происходит таким образом — нужно отмерять расстояние от девайса до основания объекта и до конечной точки. Далее полученные данные обрабатываются устройством и на дисплей выводиться результаты измерений.
Данный набор функций актуален для строителей. Если лазерный дальномер покупается для бытовых целей или небольшого ремонта, можно ограничиться недорогой моделью без множества функций.
Как использовать дальномер
Задача дальномера — это упростить и ускорить процесс измерения. Производители выпускают девайсы с интуитивно понятным интерфейсом, поэтому разобраться какая кнопка за что отвечает не трудно. Для облегчения изучения основных функций нового девайся в комплекте с каждым устройством идет детальная инструкция, в которой разобраны все аспекты использования дальномера.
В независимости от модели дальномера на его корпусе будет расположены минимум 2 кнопки:
- Для старта измерения.
- Для очистки данных.
Чем дороже аппарат, тем больше кнопок он имеет. Дорогие модели оборудованы кнопками навигации по интерфейсу. Обычно на каждую кнопку нанесена гравировка, изучив которую можно понять за что клавиша отвечает.
Главный фактор, который объединяет все модели дальномеров заключается в принципе использования девайса. Нулевая точка для каждого аппарата установлена на нижний торец корпуса или на выдвижные штыри.
Провести замеры можно таким образом:
- Аппарат прикладывается к стене задним торцом.
- Лучи должны смотреть в сторону измеряемого расстояния.
- Далее нужно нажать кнопку «Измерения».
- После чего данные об расстоянии будут выведены на дисплей.
В зависимости от модели тип действий может отличаться.
Плюсы и минусы использования
Лазерные дальномеры широко используются в сфере строительства благодаря своим основным плюсам:
- Большая рабочая дальность. В зависимости от стоимости и типа, девайс способен почти без погрешности работать на расстояниях более сотни метров.
- Удобство юстировки. Данный плюс обусловлен тем, что лазерное пятно хорошо видно на любой поверхности.
- Защита от засветов. Испускаемый луч имеет узкий монохромный спектр, который исключает случайное срабатывание. Приемник сигнала будет реагировать только на попадание в него отраженного лазера.
- Защита от помех. Датчик функционирует только в импульсном режиме, поэтому на него не воздействуют условия внешней среды.
- Низкое потребление энергии. На одной зарядке датчик может произвести несколько сотен измерений.
К минусам можно отнести достаточно высокую стоимость даже простых моделей. Но обычные датчики без микроконтроллера стоят в несколько раз дешевле и при наличии навыков программирования и пайки можно собрать собственный дальномер.
Заключение
Из данного материала вы узнали, что такое датчики расстояния, какие они бывают и как они работают. Лучший вариант — это купить готовый дальномер, который подойдет для решения любых задач, связанных с измерением площади и дальности расположения объектов. Купить дальномер, можно практически в любом строительном магазине, а отдельные датчики продаются в магазинах радиотехники.
Видео по теме
VL53L0X лазерный датчик расстояния GY-53
Лазерный датчик измерения расстояния VL53L0X с контроллером STM32 (GY-53)
Датчик представляет из себя поверхностно-излучающий лазер с вертикальным резонатором (VCSEL) с рабочей длиной волны 940 нм и фоточувствительной матрицей на основе однофотонных лавинных диодов (SPAD). Надежная работа в условиях повышенного уровня внешнего инфракрасного излучения. Не требуется дополнительная оптика. Протокол передачи данных I2C.
Лазерный дальномер на основе VL53L0X – один из самых маленьких датчиков для измерения расстояния. Принцип работы основан на отражении лазерного луча от препятствия. VL53L0X измеряет время, за которое лазерный луч достигнет объекта, отразится от него и вернётся в приёмник. Поскольку используется направленный источник света, он хорош для определения расстояния только поверхности непосредственно перед ним.
Технические характеристики
- Модель: GY-53
- Напряжение питания: 3.3 ~ 5 В
- Ток потребления: 25 мА
- Датчик: VL53L0X
- Время отклика: 22 мс
- Длина волны лазерного луча: 940 нм
- Диапазон измерения расстояния: до 2 м
- Контроллер: STM32 F031K6
- Протоколы связи: I2C, UART, PWM
- Диапазон рабочих температур: от -20 до +70 °C
- Монтажные отверстия: 2 х 3 мм
- Размеры: 25 х 15. 6 мм
- Вес: 30 гр
Область применения
Робототехника (датчики обнаружения препятствий)
Бытовая техника (автоматические краны, вентили, дозаторы мыла и т.д.)
Лазерные системы автофокусировки. Улучшает и ускоряет работу автофокуса камеры, особенно в неблагоприятных условиях (низкая освещаемость, низкая контрастность) или при съемке на высокой скорости движения
Датчики присутствия персональных ПК, ноутбуков, планшетных ПК
Одномерные датчики распознавания жестов
Схема
Модуль датчика лазерного диапазона 10 180 см, датчик расстояния RS232 интерфейс Arduino TOF10120 TOF05140| |
описание продукта
Время полета: Сенсор
Датчик диапазона TOF10120 обеспечивает точное и повторяемое измерение дальности для высокоскоростного автофокуса (AF). Инновационные технологии измерения времени прохождения позволяет
Производительность не зависит от отражения объекта. Технология определения времени полета tof10120 реализована оригинальным SPAD Sharp (однофотонные лавинные диоды) с использованием недорогого стандартного процесса CMOS. Он обеспечивает точный результат, повышенную устойчивость к окружающему светильник и лучшую прочность для покрытия-стекло оптического перекрестного разговора с помощью специального дизайна оптической посылка.
940940нм лазер, отнесенный к классу 1 в рабочем состоянии
Изготовитель: IEC 60825-1: 2014-3-е издание
・Small керамические посылка (20 × 13,2 × 2,0 мм)
・Long спектром и абсолютной Диапазон измерений до 1,8 м
В пределах 5% точности в помещении
Reported указанный диапазон не зависит от целевого отражения
· Работает в высоком инфракрасном уровне окружающего светильник
· Расширенная оптическая компенсация перекрестного разговора
· Высокая скорость до 30 мс
・Standard паять reflow Совместимость
・No дополнительная оптика
・Single источника питания
Интерфейс TXD для управления устройством и передачи данных
• Высокая скорость AF
・Continuous AF для видео
· Обнаружение пользователя для персональных компьютеров/
・Laptops/Планшеты
· Робототехника (обнаружение препятствий)
White белые товары (Ручное обнаружение в автоматическом режиме
Диапазон действия 100 ~ 1800 мм
VCC 3 ~ 5 В
ICC_VDD 35mA
Topr – 20 + 70 °C
Tstg – 40 + 85 °C
Связь протокол
Биты в секунду: 9600
Бит данных: 8
Паритет: нет
Остановка биты: 1
Потока Управление: нет
①Gnd черный
②Vcc красный
③Rxd желтого цвета
④Txd белый
⑤Sda синий
⑥Scl фиолетовый
Посылка Содержание:
1 x модуль датчика лазерного диапазона
Датчики пространства по отличным ценам и с доставкой.
Звоните прямо сейчасЧтобы собрать устройство, способное определять положение объекта в пространстве, можно использовать микроконтроллер и датчик расстояния Ардуино. Эти модули широко используются в робототехнике для создания промышленного оборудования или наделения его дополнительным функционалом. Свое применение датчики расстояния Ардуино нашли в области проектирования — для разработки временных прототипов разных приборов.
Датчик расстояния для Arduino: разновидности
Принцип работы модулей, способных коммутировать с микроконтроллерами Arduino, может быть различным. К выбору пользователей предлагаются такие модели:
- Лазерный датчик расстояния Arduino. Принцип работы модуля основан на подаче лазерного луча до предмета или какого-либо препятствия с помощью светодиода. Задержка, которую выдает лазерный датчик расстояния для Ардуино, и будет являться показателем дистанции. Преобразуясь через плату в цифровое значение, он выводится на монитор пользователю.
- Ультразвуковой датчик расстояния для Arduino. Чип, встроенный в микросхему, излучает ультразвуковые волны для определения дистанции до предметов или преград. Данные собираются по принципу лазерной модели, затем они обрабатываются и выводятся через плату на монитор какого-то источника. Работают ультразвуковой датчик расстояния и Arduino только в режиме взаимодействия. Для создания цепи достаточно использовать любой микроконтроллер с подходящей распиновкой.
- ИК датчик расстояния Ардуино. Это дальномер, способный определять небольшие расстояния, в основном от 10 до 80 см. Этот датчик расстояния на Ардуино оснащен светодиодом, который излучает узкий световой луч. Направляясь в сторону преграды, он отталкивается от него и возвращается обратно — данное время оцифровывается преобразователем платы, после чего рассчитывается дисстанция.
Подключение датчика расстояния к Ардуино
Помимо чипов и светодиодов, которые выполняют основную функцию модуля, на его микросхеме располагаются выходы, предназначенные для соединения цепи: питание, заземление и контакты входа/выхода. Поэтому, если вы хотите приобрести датчик расстояния Ардуино, подключение осуществляется при наличии следующих элементов:
- микроконтроллер;
- breadboard;
- соединительные провода;
- монитор или дисплей, на который будут выводиться данные.
Максимальное рабочее напряжение, при котором полноценно функционирует датчик расстояния на Arduino, составляет 3-5 V, в зависимости от модели. Дистанция, которую может определять сенсор, различна — описание его возможностей указывается в технической документации от производителя. Осуществляя соединение элементов схемы рабочей цепи, не забывайте о том, что функционал всей системы невозможен без прошивки через Arduino IDE.
Как приобрести датчик расстояния для Ардуино
Интернет-магазин Ekot предлагает ознакомиться с модулями пространства в данном разделе каталога. Предлагаем вам заказать ультразвуковой, лазерный датчик расстояния в Ардуино, также в наличии инфракрасные сенсоры. Вся продукция представлена по доступной цене, к каждой модели опубликованы подробные технические характеристики для простоты выбора. Предлагается оперативная доставка по Украине.
При необходимости у нас вы сможете подобрать датчик расстояния и Arduino для сборки полноценной схемы. Если у вас возникли вопросы, задайте их нашим специалистам в любой удобной форме.
Реверс-инжиниринг лазерного датчика расстояния / Хабр
Однажды ко мне попал нерабочий лазерный датчик расстояния Keyence LK-G407. Мало того, что он был нерабочий, так его еще и нельзя было использовать без специального управляющего блока. Но ведь у датчика такие интересные характеристики: измерение расстояния с точностью до единиц микрон, и скорость работы — 50 килоизмерений/с. Так что, чтобы запустить его, придется заметно поковыряться в самом датчике, заодно и ценный опыт получить.
Что же находится внутри датчика?
Оптическая часть датчика показана на фотографии ниже:
Слева на фотографии — лазерный модуль, за ним — светочувтвительная линейка, справа — объектив и зеркало.
Из конструкции становится понятно, что этот датчик можно отнести к классу лазерных дальномеров с триангуляционным методом измерения расстояния. Принцип работы таких дальномеров хорошо описан здесь. В принципе, он довольно прост — при изменении расстояния до объекта, на который светит лазер, меняется угол между объективом дальномера и пятном лазера. Если в фокальной плоскости объектива установить светочувствительную линейку или матрицу, то можно определить этот угол по положению максимума выходного сигнала. Зная угол и расстояние между лазером и объективом, можно определить расстояние до объекта.
Достоинствами такого метода является очень большая точность на небольших расстояниях — при определенных условиях она может быть лучше 0.1 мкм!
Так же не проблема измерять расстояние с большой скоростью — нужно только использовать высокоскоростную светочувствительную линейку.
Схемотехника такого дальномера тоже достаточная простая — за счет того, что в устройстве нет больших частот, а первичное усиление сигнала идет в самой линейке.
Но есть и недостаток — точность метода резко падает при увеличении расстояния.
В этом датчике использован длиннофокусный объектив (фокусное расстояние около 150 мм), поэтому, для уменьшения габаритов датчика в его состав входит зеркало.
А теперь стоит перейти к электронике датчика.
Вот как выглядит вторая часть датчика:
И сама плата:
И с другой стороны:
Печатная плата вроде бы четырехслойная — большая часть сигнальных проводников находятся на внешних слоях, силовые линии — на внутренних.
Как я уже упоминал, управляющего блока к датчику не было, а без него он не начинал работать. Понятно, что схем на датчик тоже не было, не была даже известна распиновка кабеля и напряжение питания датчика. Вывод — нужно делать реверс-инжиниринг схемы.
В результате получилась вот такая схема:
Конечно, я не стал рисовать всю схему датчика, и разобрался только в той части, что связана с FPGA. Номера элементов на схеме не соответствуют номерам на плате.
Таким образом, структурная схема датчика:
Из нее понятно, что работой всего датчика управляют две микросхемы — FPGA Xilinx Spartan-3A и некая заказная микросхема. Однако, мне очень повезло — из схемы видно, что заказная микросхема связана только с FPGA. Таким образом, FPGA сама способна управлять всеми сигналами в датчике.
Ключевой элемент всей конструкции — светочувствительная линейка. Эта линейка — явно заказная. Под микроскопом на одном из ее краев видна надпись:
25-512
LI004-02
Я предположил, что 512 — число пикселей линейки, а 25 — ширина пикселя в микронах. Как выяснилось позже, я оказался прав.
Сзади к линейке припаяна небольшая плата:
На ней расположен операционный усилитель, увеличивающий сигнал с линейки в 2 раза и несколько резисторов и конденсаторов. Эта плата подключается к разъему P1. Как видно из схемы, к линейке идут всего 3 сигнальных линии. Одна из них — явно аналоговый сигнал с ее выхода (он передается по отдельному коаксиальному проводу). Оставшиеся две линии — цифровые, и используются для управления линейкой. При анализе схемы мне опять повезло — при подаче напряжения на схему на одной из этих линий (4) появляется частота 10 МГц. Сразу стало понятно, что эта линия отвечает за тактирование линейки. Очевидно, что все управление линейкой идет по оставшейся линии (3). Я подключил линейку к микроконтроллеру STM32F4, и начал подавать на линии (3) и (4) различные сигналы. Как оказалось, работает линейка довольно просто — пока на линии (3) присутствует высокий уровень, идет экспозиция — линейка принимает свет. После установки на линии (3) низкого уровня нужно подать на линейку 14 тактовых импульсов, после чего на последующие 512 тактовых импульсов она будет выдавать аналоговый сигнал. Линейка работает от напряжения 5В, а FPGA — от 3.3В, и поэтому для согласования уровней используется микросхема DD2.
Аналоговый сигнал с линейки передается через ФНЧ на повторитель, собранный на микросхеме DA1. Далее сигнал подается на PGA — усилитель с программируемым усилением AD8369. Максимальное усиление этой микросхемы — 40 дБ, и его можно регулировать программно, устанавливая нужной код на ее входах BIT0-3. Эта микросхема предназначена для усиления дифференциального сигнала, и выход у нее тоже дифференциальный, так что далее оба ее выхода заведены на операционный усилитель DA4, усиливающий сигнал в 2 раза, и формирующий одиночный сигнал.
Далее аналоговый сигнал подается на вход 10-битного АЦП AD9200. Эта микросхема уже была знакома мне по SDR приемнику. В данном случае она подключена так, что диапазон оцифровываемых ею напряжений — (0,5-2,5) В. Оцифрованный сигнал с выхода АЦП передается на FPGA.
Стоит обратить внимание на вход CLAMP этого АЦП. Этот вход также управляется FPGA. Он предназначен для приведения постоянной составляющей входного сигнала к определенному уровню.
Вот схема входного каскада АЦП из даташита:
При подаче высокого уровня на вход CLAMP на выходе усилителя и на AIN появляется напряжение, равное напряжению на входе «CLAMP IN».
В таком случае конденсатор CIN будет заряжаться до тех пор, пока напряжение на нем не станет равным (Uвх — Uclamp_in). После этого на входе CLAMP устанавливают низкий уровень, и усилитель перестает как-либо влиять на работу АЦП. В данном датчике вход «CLAMP IN» подключен к нижнему опорному напряжению АЦП +0,5В. Таким образом, если на выходе DA4 будет присутствовать некая постоянная составляющая, то за счет использования функции CLAMP можно устранить ее влияние на результат работы АЦП.
После того, как были написаны первые тестовые конфигурации для FPGA, оказалось, что управлять сигналом CLAMP действительно нужно, иначе сигнал с АЦП имеет очень большую постоянную составляющую. В своей реализации я просто подавал на него 1 в то время, пока не идет захват данных при помощи АЦП.
Из схемы видно, что в ней используется большое число питающих напряжений. Я не стал рисовать схемы различных источников питания, входящих в датчик и различные сглаживающие конденсаторы. Как оказалось, выводы питания (они выведены на отдельный разъем с 2 выводами) соединяются с DC-DC преобразователем TPS62050. Максимальное напряжение для него — 10В, от 6В электроника еще не запускалась, так что я решил, что рабочее напряжение датчика — 8В.
Лазерный диод, использованный в этом модуле, управляется электроникой, установленной на отдельной платке:
Схему этой платы я рисовать не стал. К главной плате она подключается через разъем P3. Как видно, управление лазером идет по двум линиям. Одна из них (3) подключена к FPGA через инвертор, и отвечает за включение лазера — он включается низким уровнем на выходе FPGA. Другая линия (4) нужна для регулирования мощности лазера. Это аналоговая линия, и для изменения напряжения на ней с состав схемы входит ЦАП, собранный на микросхемах DA5-7 (я так и не понял, почему разработчики нагородили такую запутанную схему, а не взяли готовую микросхему ЦАП).
Как известно, большинство FPGA не содержат энергонезависимой памяти, соответственно, конфигурация FPGA должна храниться во внешней микросхеме. В данном случае это DD3 XCF01 — специализированная микросхема Flash-памяти. При включении FPGA автоматически считывает конфигурацию из нее в свою память. Сама FPGA и XCF01 соединены в JTAG-цепь, которая подключена к разъему P2. В результате через этот разъем можно внутрисхемно программировать XCF01, конфигурировать FPGA и вести отладку.
Таким образом я разобрался в принципе работы электроники датчика, и у меня появилась часть его схемы. Теперь можно приступать к экспериментам, т.е. программированию ПЛИС. Стоит заметить, что до этого я не имел дела с ПЛИС производства Xilinx. Нужного программатора у меня тоже не было, так что пришлось сделать его самому, путем объединения нескольких OpenSource проектов.
Программатор нормально заработал, и мне удалось запустить на ПЛИС простые проекты — простое переключение выводов ПЛИС. Однако в дальнейшем мне нужна была связь с компьютером. С интерфейсом LVDS связываться я не захотел (у порта, на который заведены линии LVDS напряжение питания 2.5В), так что я просто перерезал две дорожки, соединяющие ПЛИС и ASIC. На плате был разъем, судя по всему предназначенный для настройки или тестирования ASIC, его я использовать не мог, поэтому также перерезал две дорожки, идущие к нему, и соединил выводы разъема с выводами ПЛИС. Теперь к этому разъему можно подключать переходник USB-UART.
Вид платы после доработки:
После этого я написал простую программу для проверки работы UART. Она заработала — компьютер правильно принимал одиночные байты, передаваемые по UART c ПЛИС. Следующий этап — передача данных с светочувствительной линейки на компьютер. Я использовал такую структурную схему программы FPGA:
Вид схемы в ISE:
Top-level проекта нарисован в схемном редакторе, а все входящие в него модули написаны на Veriolg. Принцип работы проекта достаточно прост — данные с линейки, оцифрованные АЦП, захватываются ПЛИС и сохраняются в ОЗУ. После того, как все 512 элементов сигнала захвачены, они передаются по UART на компьютер. После того, как все данные переданы, цикл повторяется. Модуль «sensor_reader» в данном проекте управляет линейкой, лазером и сигналом CLAMP. Управление реализовано простейшим образом — всеми сигналами управляет счетчик тактовых импульсов. Модуль «tx_controller» включает в себя модуль передатчика UART. Он предназначен для передачи данных, которые модуль получает из внешней памяти.
В процессе работы уровень полезного сигнала на линейке может сильно меняться — из-за изменения расстояния до объекта и изменения его коэффициента отражения. При слишком маленьком сигнале измерения становятся невозможными, а при слишком большом сильно падает точность измерения. Из-за этого усиление аналогового сигнала нужно регулировать. Изначально проект в проект входил модуль UART-приемника, который позволял вручную изменять усиление, позже я его убрал и сделал автоматическую регулировку усиления — AGC.
Она включает в себя модуль поиска максимума сигнала («max_finder») и сам модуль AGC («agc_module»). Этот модуль тоже достаточно простой — если уровень сигнала меньше 170, то усиление увеличивается, если больше 250 — уменьшается.
Все модули, линейка и АЦП тактируются от частоты 10 МГц. Время экспозиции я сделал равным 5 мкс. Таким образом, весь процесс экспозиции и захват сигнала в ПЛИС занимают (5+51) мкс. Время передачи данных намного больше — при тактовой частоте 500000 бит/сек передача 512 байт занимает 10 мс, что дает 100 измерений в секунду.
Для просмотра переданных данных в реальном времени была написана простая программа на C#:
При перемещении объекта вдоль лазерного луча положение максимума пика изменяется. Простое вычисление положения максимума дает низкую точность измерения, поскольку линейка содержит всего 512 пикселей. Поэтому для более точного измерения положения максимума сигнала приходится использовать алгоритмы поиска центра тяжести, которые позволяют определить координаты максимума сигнала с субпиксельной точностью.
Я использовал такую формулу для поиска центра тяжести пика:
где n — общее число пикселей, Int[i] — интенсивность i пикселя.
Для того, чтобы различный шум, присутствующий в сигнале, не ухудшал точность работы, полезно обрабатывать только выборки, превышающие определенный порог и находящиеся близко к максимуму пика. Особенно это важно в том случае, когда усиления не хватает, и полезный сигнал не превышает половины шкалы АЦП. Более того, с ростом усиления увеличивается уровень шумов, что ухудшает ситуацию. В вышеупомянутой программе это учтено.
На картинке выше MAX POS — вычисленное по этой формуле значение, MAX POS F — среднее значение последних 50 измерений.
Как я уже говорил, получившаяся частота измерений — 100 Гц, и она ограничена скоростью передачи данных по UART. Однако не обязательно обрабатывать сигнал на компьютере, это можно сделать и на ПЛИС, за счет чего можно многократно повысить скорость измерений.
В результате была разработана программа для ПЛИС с такой структурной схемой:
Вид схемы в ISE:
Как видно, часть модулей взяты из предыдущего проекта.
В данном случае вычислением положения центра тяжести (центроида) сигнала занимается модуль «centroid_finder». Для того, чтобы ограничить область анализа данных, в модуль передается грубое значение положение максимума и его амплитуда.
Так как эти величины можно вычислить, только проанализировав весь сигнал (то есть они появляются с задержкой в 512 тактовых импульсов), то получается, что оцифрованные данные нужно подавать на вход «centroid_finder» с этой же задержкой. Для того, чтобы задержать данные на 512 тактов, используется буфер FIFO. Для первоначального заполнения FIFO используется модуль «fifo_logic» — он запрещает чтение из FIFO, если он не заполнен.
Модуль «tx_controller_3bytes» последовательно передает 3 байта, первый из них — нулевой, оставшиеся два содержат вычисленное положение центра тяжести. На скорости 50000 bit/s передача 3 байт занимает 60 мкс -практически столько же, как и захват сигнала. Нулевой байт используется для синхронизации данных — после него всегда идет старший байт.
Передача данных по UART и захват данных запускаются одновременно сигналом «start_capture». Этот сигнал формируется, если одновременно закончилась предыдущая передача и вычислено новое положение центра тяжести. В результате время измерения расстояния и передачи данных оказывается близким к 60 мкс, что дает скорость измерения координат — 16,6 KSPS. Это меньше, чем заявлено у производителя датчика. Там указывается минимальное время измерения — 20 мкс (это соответствует 50 KSPS), хотя непонятно как получено это время, ведь даже при максимальной скорости работы AD9200 — 20 MSPS время захвата сигнала с 512 пикселей будет — 25,6 мкс. А это ведь еще без учета времени экспозиции.
Как я уже говорил ранее, этот датчик не работал. Насколько мне известно, проблема была в том, что он был установлен на сильно вибрирующей промышленной установке, и из-за вибрации лазер датчика вышел из строя (датчик перестал реагировать на темные поверхности).
К сожалению, на родном диоде маркировки не было. Я пробовал заменить лазерный диод в лазерном модуле на купленный 5 мВт лазерный диод, но через некоторое время его интенсивность упала. Скорее всего, электроника лазерного модуля была рассчитана на более мощный диод (хоть и работающий в импульсном режиме, за счет чего средний уровень излучения получается достаточно низким).
Для того, чтобы хоть как-то запустить датчик, я сделал свой драйвер лазерного диода, работающий в режиме постоянного излучения:
Родной лазерный диод датчика был завальцован в металлический корпус лазерного модуля, так что новый лазерный диод пришлось просто приклеить к модулю. При этом, габаритные размеры использованного диода несколько отличались от размеров родного диода, из за чего мне так и не удалось качественно сфокусировать лазерный модуль.
Так выглядит собранный датчик:
Для того, чтобы при помощи датчика можно было измерять расстояние, нужно произвести его калибровку, т.е. определить закон, связывающий результат, возвращаемый датчиком, и реальное расстояние. Сам процесс калибровки представляет собой серию измерений, в результате которых формируется набор расстояний от датчика до некоторого объекта, и соответствующих им результатов.
Расстояние между датчиком и объектом нужно измерять очень точно. Для проведения калибровки я сделал стенд, включающий в себя линейный энкодер и сам лазерный датчик:
Расстояние измеряется до пластинки, закрепленной на торце энкодера.
После того, как все данные собраны, можно провести регрессионный анализ в Mathcad.
В результате у меня получилось такое выражение:
value_mm = 70. 0 / Tan(-0.000277757*max_pos + 0.28355) — 366.23554
Очевидно, что значения констант в выражении от положения деталей датчика. Малейший сдвиг деталей приведет к тому, что вычисленное значение расстояния будет неверным. Поэтому все детали должны быть очень прочно закреплены.
На видео ниже показано, как можно обрабатывать данные с датчика:
В первой части видео показано, как выглядит сигнал со светочувствительной линейки. Хорошо видно, что на если объект темный, то амплитуда не изменяется (за счет работы АРУ), но уровень шумов сильно возрастает.
Во второй части видео программа принимает от датчика положение центра тяжести, и пересчитывает его в расстояние. Также в программу передается значение расстояния до объекта, полученное от энкодера. Под расстоянием энкодера выводится разность между этими расстояниями. Можно видеть, что в при движении разность становится больше 1мм (это связано с задержками при передаче расстояний и их отображении), но по время остановок при любом расстоянии разность не превышает 0.03 мм.
Для того, чтобы полученные с датчика данные было проще анализировать, я написал программу, сохраняющую данные, принятые от датчика в формат wav. Такие файлы можно открывать в звуковых редакторах, и применять к ним различные фильтры.
Вот например, как выглядит сигнал с датчика, который был направлен на стенку трансформаторного блока питания:
Видно, как при включении блок питания начал вибрировать.
Я пробовал направлять датчик на диффузор динамика, на котором воспроизводится музыка — и после обработки в звуковом редакторе ее действительно было слышно.
Таим образом, мне удалось дать нерабочему датчику новую жизнь (он может понадобится мне в будущих проектах), и заодно получить опыт работы с ПЛИС Xilinx.
Проекты для FPGA
Китай лазерный дальномер Arduino производители
Серийный лазерный дальномер 40м Arduino
Резюме:
Лазерный дальномерный датчик Arduino, как его называют, это модуль лазерного дальномера, результаты которого могут быть оценены Arduino. Кроме того, лазерный дальномер может измерять до 40 метров. Мы обычно называли это промышленным датчик расстояния . Все больше и больше людей используют Arduino, наш инженер разрабатывает этот лазерный датчик расстояния, который может работать с Arduino. Поэтому, если у вас появилась новая идея поработать над модулем лазерных измерений Arduino, свяжитесь с нами сейчас!
Параметры :
Accuracy |
±1 mm (0.04 inch) |
Measuring Unit |
mm |
Measuring Range (without Reflection) |
0. 03-40m |
Measuring Time |
0.1~3 seconds |
Laser Class |
Class II |
Laser Type |
620-690nm, <1mW |
Size |
45*25*12mm (±1 mm) |
Weight |
About 10g |
Voltage |
DC2. 0~3.3V |
Operating Temperature |
0-40 ℃ (32-104 ℉ ) |
Storage Temperature |
-25~60 ℃ (-13~140 ℉) |
Примечание: 1. При плохих условиях измерения, таких как среда с сильным освещением или диффузная отражательная способность точки измерения слишком высокая или низкая, точность будет иметь большую погрешность: ± 3 мм + 40 частей на миллион.
2. При сильном освещении или плохой диффузной отражательной способности цели, пожалуйста, используйте отражательную доску
3. Рабочая температура -10 ℃ ~ 40 ℃ можно настроить.
Приложения :
Основные модули ранжирования Чэнду JRT : лазерный дальномер, промышленный лазерный дальномер, мини датчик дальности TOF.
Лазерный датчик расстояния 10-50 мм, точность 0,1 мм. – Лазерные технологии
Черт возьми, а ведь действительно… О таком варианте я даже не подумал.Алексей, вообще не понял, что это и как применить.Любая залетная муха устроит веселый креш станку.
Это не копир, но для простоты понимания будем называть это копиром, тем более что принципы работы схожие.То есть это копир.
Вбил название в Яндекс, понял, что это какой-то контактный датчик, больше ничего не понял.то взять простую LVDTшку китайскую
Проблема как раз в том, чтобы уйти от касания. Поверхность “образца” имеет довольно резкие перепады высот, всякие ямки-бугорки. Любой контактный щуп либо имеет слишком большой радиус скругления кончика,, либо застревает в ямках. Сейчас система работает в полуавтоматическом режиме со щупом r=0,5 мм. Как только попадается ямка, из которой он не может сам “выскользнуть” и застревает – срабатывает “стоп”, оператор вручную выводит щуп из ямки и дальше опять автоматика до следующей ямки.
В общем, не работа, а дурдом, оператор 90% времени сидит на стуле, но убрать его совсем нельзя.
Если заменить щуп на больший радиус, то все мелкие ямки он просто не отслеживает, проходя над ними. Выражаясь языком копирования – мелкий рельеф остаётся не обработанным.
Вот отсюда и появилась мысль перейти на бесконтактный метод отслеживания поверхности.
Ответ выше.Лучше механически. “Иголочкой” по поверхности.
Посмотрел. По параметрам, на первый взгляд, то, что нужно.Смотрите датчики с лазерной триангуляцией.
Чешу репу насчёт “проблемы мухи”. Если хорошенько извратиться, то можно изолировать “модель” от мух, комаров и даже пыли.
Ёмкостные и индуктивные датчики/, как я понимаю, работают с металлическими объектами. А моём случае объекты могут быть и не металлические – пластик, дерево и т.п., так что не подойдут. Металлизация поверхности чисто теоретически возможна, но это явно будет не гальваника, а скорее натирание металлическим порошком, не более того.
типов датчиков расстояния и как их выбрать?
Есть много типов датчиков расстояния; Ультразвук, ИК-приближение, лазерное расстояние и т. д., и выбор правильного для вашего следующего проекта Arduino или Raspberry Pi может оказаться сложной задачей. Поэтому сегодня мы рассмотрим множество датчиков расстояния, их типы и ответим, какой из них лучше всего подходит для вас!
Я расскажу следующее:
- Что такое датчики расстояния и как они работают?
- Типы датчиков расстояния
- Сравнение датчиков расстояния: Как выбрать датчик расстояния?
Что такое датчики расстояния?
Как следует из названия, для упрощения определения датчиков расстояния это датчики, используемые для определения близости объекта без какого-либо физического контакта.
Как работает датчик расстояния?Обычно связанный с ультразвуковыми датчиками, он функционирует путем вывода сигнала (в зависимости от технологии; ультразвуковые волны, ИК, светодиоды и т. Д.) И измерения изменений при возврате сигнала.
- Измерение изменения может быть в форме:
- Время, необходимое для возврата сигнала
- Интенсивность возвращенного сигнала
Поскольку датчики расстояния могут быть обычно связаны с датчиками приближения из-за аналогичной корреляции, функциональность любого датчика может быть легко неправильно понята.Поэтому вот краткое сравнение между ними, чтобы помочь вам понять, в чем разница между датчиками расстояния и датчиками приближения.
- Датчики приближения определяют, находится ли объект в зоне обнаружения, в которой датчик предназначен для работы. Следовательно, необязательно указывать расстояние между датчиком и объектом.
- Узнайте больше о датчиках приближения здесь!
- Датчики расстояния определяют расстояние от объекта и измерительного устройства, подавая ток.Токи могут быть в виде ультразвуковых, лазерных, инфракрасных волн и т. Д.
Типы датчиков расстояния
Теперь, когда у нас есть понимание того, что такое датчики расстояния, мы рассмотрим различные датчики измерения расстояния, представленные на рынке, каждый со своими собственными сенсорными технологиями.
Вот краткое изложение различных типов датчиков расстояния!
Ультразвуковой датчик Что такое ультразвуковой датчик?Пожалуй, наиболее распространенным типом датчика измерения расстояния является ультразвуковой датчик, также известный как датчик сонара, он определяет расстояние до объектов путем излучения высокочастотных ультразвуковых волн.
Принцип работы ультразвукового датчика- Ультразвуковой датчик излучает высокочастотные звуковые волны по направлению к целевому объекту
- Целевой объект улавливает звуковые волны
- Затем звуковые волны отражаются от ультразвукового датчика и отражаются обратно в сторону ультразвукового датчика
- Время, необходимое звуковой волне return используется как измерение расстояния между
Теперь, когда мы поняли, как это работает, мы посмотрим, для чего он используется. Вот общие области применения ультразвуковых датчиков расстояния:
- Измерение расстояния
- Роботизированные датчики
- Умные автомобили
- Да, Tesla использует ультразвуковые датчики как часть своей программы автопилота!
- Беспилотные летательные аппараты (БПЛА)
Преимущества ультразвуковых датчиков
- Не зависит от цвета и прозрачности объекта, поскольку он определяет расстояние через звуковые волны
- Хорошо работает в темных местах
- Обычно потребляет меньший ток / мощность
- Несколько вариантов интерфейса для сопряжения с микроконтроллером и т. Д.
Недостатки ультразвуковых датчиков
- Ограниченный диапазон обнаружения
- Низкое разрешение и низкая частота обновления, что делает его непригодным для обнаружения быстро движущихся целей
- Невозможно измерить расстояние до объектов с экстремальной текстурой / поверхностью
Рекомендуемый ультразвуковой датчик
Grove – ультразвуковой датчик: Улучшенная версия HC-SR04Чтобы ультразвуковой датчик был похож на Arduino, вам понадобится модуль ультразвукового датчика. Я рекомендую Grove – ультразвуковой датчик, который обладает значительными преимуществами по сравнению с популярным HC-SR04!
Интересно, почему это лучший вариант, чем HC-SR04? Вот сравнительная таблица!
Grove – Ультразвуковой датчик расстояния | HC-SR04 | |
---|---|---|
Рабочее напряжение | Совместимость с 3,3 В / 5 В Широкий уровень напряжения: 3,2 В – 5,2 В | 5V |
Диапазон измерения | 3–350 см | 2–400 см |
Необходимые контакты ввода / вывода | 3 | 4 |
Рабочий ток | 8 мА | 15 мА |
Размеры | 50 мм x 25 мм x 16 мм | 45 мм x 20 мм x 15 мм |
Простота сопряжения с Raspberry Pi | Легко, прямое подключение к вводу / выводу Raspberry Pi | Требуется схема преобразования напряжения |
Из таблицы видно, что ультразвуковой датчик Grove – более универсальный вариант:
- Поддерживает более широкий уровень напряжения
- Требуется меньшее количество контактов ввода / вывода
- Более простое сопряжение с Raspberry Pi
Хотите узнать больше? Вы можете ознакомиться со следующими ресурсами:
ИК-датчики расстояния
Второе место в этом списке занимают инфракрасные датчики расстояния, сокращенно инфракрасные. Чаще всего ассоциируется с Sharp GP2Y0A21YK0F, он определяет расстояние или приближение за счет излучения ИК-луча и вычисления угла отражения.
ИК-датчики поставляются с двумя линзами:
- Линза ИК-излучателя светодиода, излучающая световой луч
- Позиционно-чувствительный фотодетектор (PSD), где отраженный луч падает на
работают по принципу триангуляции; измерение расстояния на основе угла отраженного луча.
Вот иллюстрация того, как инфракрасные датчики расстояния работают через триангуляцию:
- Инфракрасный свет излучается ИК-излучателем светодиода
- Луч света попадает на объект (P1) и отражается под определенным углом
- Отраженный свет достигает PSD (U1)
- Датчик в PSD будет затем определите положение / расстояние до отражающего объекта
- Телевизоры, компьютеры, ноутбуки
- Измерение расстояния
- Системы безопасности, такие как наблюдение, охранная сигнализация и т. Д.
- Приложения для мониторинга и управления
- Малый форм-фактор; Обычные ИК-датчики, такие как датчики Sharp, как правило, меньше по размеру
- Применимо для использования в дневное и ночное время
- Защищенная связь через линию прямой видимости
- В отличие от ультразвуковых датчиков способна измерять расстояние до объектов со сложной поверхностью
- Ограниченный диапазон измерений
- Под влиянием условий окружающей среды и твердых предметов; невозможно использовать через стены или двери
Этот ИК-датчик приближения, основанный на SHARP gp2y0a21yk0f, является популярной рекомендацией для всех, кто ищет простое определение расстояния Arduino.
Этот инфракрасный датчик приближения, выполненный в компактном форм-факторе с низким энергопотреблением, обеспечивает непрерывное считывание расстояния в диапазоне от 10 см до 80 см!
Хотите узнать больше? Вы можете ознакомиться со следующими ресурсами:
ИК и ультразвуковойТеперь, когда мы разобрались как с инфракрасными, так и с ультразвуковыми датчиками, вам может быть интересно, в чем разница между инфракрасными и ультразвуковыми датчиками? Вот сравнительная таблица, демонстрирующая различия:
ИК-датчик расстояния | Ультразвуковой датчик | |
---|---|---|
Что он делает | Измерение расстояния в отраженных световых волнах | Измерение расстояния по отраженным звуковым волнам |
Как это измеряет | Триангуляция: измеряется угол отраженного ИК-луча | Регистрируется время между передачей и приемом звуковых волн |
Отношения между людьми | Невидимый невооруженным глазом | Невыносимое |
Требования к объекту | Подходит для измерения сложных объектов | Не подходит для измерения объектов со сложной поверхностью |
Лазерные датчики расстояния: датчики LIDAR
LiDAR, сокращенно от Light Detection and Ranging, можно рассматривать как лазерный датчик расстояния. Он измеряет дальность до цели с помощью световых волн лазера, а не радио или звуковых волн.
Принцип работы LIDARЕсть несколько способов объяснить, как работает LIDAR (например, триангуляция, база импульсов и т. Д.), Но самый простой способ:
ref- Передатчик на устройстве LiDAR излучает лазерный свет на целевой объект
- Затем импульс лазера улавливается целью и отражается обратно
- Затем рассчитывается расстояние, используя соотношение между постоянной скоростью света в воздухе и время между отправкой / получением сигнала
Ключевые области применения LiDAR
- Экологический мониторинг; лесное хозяйство, картографирование и др.
- Измерение расстояния
- Управление машиной и безопасность
- Робототехника
Преимущества LiDAR
- Высокий диапазон измерений и точность
- Возможность измерения трехмерных структур
- Высокая скорость обновления; подходит для быстро движущихся объектов
- Малые длины волн по сравнению с сонаром и радаром; хорошо обнаруживает мелкие объекты
- Пригоден для использования днем и ночью
Недостатки LiDAR
- Более высокая стоимость по сравнению с ультразвуком и ИК
- Вредно для невооруженного глаза; Устройства LiDAR более высокого уровня могут использовать более сильные импульсы LiDAR, которые могут повлиять на человеческий глаз
Не бойтесь высокой стоимости, которую приносит LiDAR, поскольку здесь, в Seeed, мы предлагаем миниатюрный датчик приближения LiDAR, который очень доступен по цене и легко сочетается с вашим Arduino!
Хотите узнать об этом больше? Вы можете перейти на страницу нашего продукта!
Светодиодные времяпролетные датчики расстояния
Наконец, мы рассмотрим светодиодные датчики времени пролета. Чаще всего ассоциируется с VL53L0X, это часть более широкого спектра LIDAR, который использует времяпролетную технологию для измерения расстояний.
Что такое времяпролетные датчики и принцип их работы ДатчикиTime-of-Flight – это датчики, которые измеряют время, необходимое волновому импульсу, чтобы отразиться от объекта и вернуться к датчику. Он способен создавать трехмерное изображение по осям X, Y, Z с помощью одного снимка, измеряя время, которое требуется свету, чтобы пройти от излучателя к приемнику.
Благодаря технологии времени пролета он обеспечивает значительные преимущества по сравнению с другими используемыми методами определения расстояния:
- Более широкий диапазон
- Более быстрые показания
- Более высокая точность
Датчики времени пролета работают аналогично датчикам LiDAR, где:
- Передатчик на времяпролетном устройстве излучает свет ИК-светодиода на целевой объект
- Затем импульс светодиода улавливается целью и отражается обратно
- Расстояние затем рассчитывается с использованием отношения между постоянными скорость света в воздухе и время между отправкой / получением сигнала
Ключевые области применения времяпролетных датчиков:
- Промышленное применение
- Машинное зрение
- Робототехника
- Подсчет людей
- Дроны
Преимущества датчиков времени пролета:
- Такая технология предлагает большой диапазон измерений с точностью
- Возможность создания трехмерных изображений
- Используется в широком спектре приложений благодаря своей способности распознавать крупные объекты
Недостатки времяпролетных датчиков
- Более высокая стоимость
- Разрешение по глубине по Z все еще оставляет желать лучшего с обычными системами, предлагающими разрешение по Z 1 см
Поддерживая свою популярность, VL53L0X объединяет передовой массив SPAD и включает запатентованную технологию ST FlightSense второго поколения. Это позволяет измерять абсолютные расстояния до 2 м!
Приведенная выше рекомендация также является частью нашей системы Grove, что упрощает сопряжение с вашим Arduino!
Хотите узнать об этом больше? Вы можете ознакомиться со следующими ресурсами:
Сравнение датчиков расстояния
Теперь, чтобы помочь вам выбрать подходящий датчик расстояния, я привел сводную таблицу ниже с тем, что вы должны учитывать при выборе.
Однако, поскольку у всех четырех из них есть свои плюсы и минусы, вам нужно сначала определить вашу предполагаемую цель / приложение, прежде чем выбирать одно!
Ультразвуковые датчики | ИК-датчик | Датчики LiDAR | Время пролета | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Пригодность для дальнего обнаружения | Нет | Нет | Да | 0 | Да | Да | Да | Да | Нет | Нет | Да | Да |
Стоимость | Низкая | Низкая | Высокая | Умеренная | ||||||||
Возможность использования для сложных объектов | Нет Да | Нет Да | ||||||||||
Чувствительность к внешним условиям | Да | Нет | Нет | Нет | ||||||||
Совместимость с 3D-изображениями | Нет | Нет | Да | Да |
Из таблицы мы можем сделать вывод, что как ультразвуковые, так и инфракрасные датчики расстояния больше подходят для проектов Arduino, которые требуют более короткого расстояния. В то время как датчики LiDAR и Time-of-flight были бы рекомендованы для тех, кто ищет более высокие возможности зондирования и 3D-изображения!
Сводка
Это все, что касается сегодняшнего руководства по датчикам расстояния. Я надеюсь, что это помогло вам лучше понять и принять лучшее решение о покупке!
Для совместимости с датчиком расстояния Arduino вы можете рассмотреть рекомендуемые продукты Seeed для каждого типа! Это сэкономит вам время, пытаясь сделать датчик расстояния самостоятельно!
- Рекомендация ультразвукового датчика:
- Рекомендация ИК-датчика:
- Рекомендация лазерного датчика расстояния:
- Рекомендация датчика времени полета:
Для получения дополнительной информации о датчиках приближения вы можете проверить моя предыдущая статья здесь!
Следите за нами и ставьте лайки:
Теги: датчик расстояния, датчик расстояния arduino, определение датчика расстояния, сравнение датчиков расстояния, расстояние и приближение, инфракрасный датчик, ИК-датчик расстояния, ИК-датчик, лазерный датчик расстояния, лидар, приближение, время полета, типы датчиков расстояния, ультразвуковой датчик , что такое датчик расстоянияПродолжить чтение
Grove – Ультразвуковой датчик расстояния
Grove – ультразвуковой датчик расстояния – это ультразвуковой преобразователь , который использует ультразвуковые волны для измерения расстояния. Он может измерять от 3 см до 350 см с точностью до 2 мм. Это идеальный ультразвуковой модуль для измерения расстояния, датчиков приближения и ультразвуковых детекторов.
Этот модуль имеет ультразвуковой передатчик и ультразвуковой приемник, поэтому вы можете рассматривать его как ультразвуковой приемопередатчик. Знакомый с сонаром, когда ультразвуковая волна 40 кГц, генерируемая передатчиком, встречает объект, звуковая волна излучается обратно, и приемник может принимать отраженную ультразвуковую волну.Необходимо только рассчитать время от передачи до приема, а затем умножить скорость звука в воздухе (340 м / с), чтобы вычислить расстояние от датчика до объекта.
Как работает ультразвуковой датчик расстояния?
Вот простой пример того, как работает ультразвуковой датчик для измерения расстояния:
- Во-первых, передатчик (триггерный контакт) посылает звуковую волну
- Объект улавливает волну, отражая ее обратно на датчик.
- Приемник (эхо-контакт) принимает его
По сравнению с традиционными ультразвуковыми модулями HC-SR04 , Ультразвуковой датчик расстояния Grove объединяет однокристальный микрокомпьютер, а передающий и принимающий сигналы используют один вывод за счет мультиплексирования с временным разделением, поэтому используется только один вывод ввода / вывода. занят. Другое отличие состоит в том, что HC-SR04 поддерживает только напряжение 5 В, а ультразвуковой датчик расстояния Grove поддерживает 5 В и 3,3 В. Как мы знаем, Raspberry pi I / O поддерживает только 3.3в. Следовательно, Grove – ультразвуковой датчик расстояния может быть напрямую подключен к вводу / выводу Raspberry Pi, но HC-SR04 должен использовать схему преобразования напряжения.
Более того, мы предоставляем полные документы и библиотеки для Arduino, Python и Codecraft, так что вы можете легко использовать Grove – ультразвуковой датчик расстояния с Arduino и Raspberry pi. Широкий диапазон напряжений, один вывод ввода / вывода, разъем Grove Plug and Play – мы делаем все возможное, чтобы упростить использование этого модуля и сократить вашу работу.
Характеристики
- Совместимость с 3,3 В / 5 В, широкий уровень напряжения: 3,2 В ~ 5,2 В
- Требуется всего 3 контакта, экономия ресурсов ввода-вывода
- Широкий диапазон измерения: 3 см ~ 350 см
- Plug and play с разъемом Grove
Приложения
- Измерение расстояния
- Ультразвуковой извещатель
- Сигнализация приближения
- Умная машина
Демо
Мы обновили поддержку и пример кода, чтобы помочь вам подключить ультразвуковой датчик расстояния к Wio Terminal.
Обзор оборудования
Grove – время полета датчик расстояния (VL53L0X)
Grove – Time of Flight Distance Sensor – VL53L0X – это высокоскоростной, высокоточный и дальний датчик расстояния ToF на основе VL53L0X.
VL53L0X – это времяпролетный (ToF) модуль лазерной локации нового поколения, размещенный в самом маленьком корпусе на рынке сегодня, обеспечивая точное измерение расстояния независимо от отражательной способности цели, в отличие от традиционных технологий.Он может измерять абсолютные расстояния до 2 м, устанавливая новый стандарт в диапазоне уровней производительности, открывая двери для различных новых приложений.
VL53L0X объединяет передовую матрицу SPAD (однофотонные лавинные диоды) и включает запатентованную технологию ST второго поколения Flight SenseTM.
Излучатель VCSEL 940 нм VL53L0X (лазер с поверхностным излучением с вертикальной полостью) полностью невидим для человеческого глаза, в сочетании с внутренними физическими инфракрасными фильтрами он обеспечивает большие расстояния, более высокую невосприимчивость к окружающему свету и лучшую устойчивость к покрытию стекла. оптические перекрестные помехи.
Характеристики
Полностью интегрированный миниатюрный модуль
Быстрое и точное определение расстояния
Абсолютный диапазон измерения до 2 м
Сообщаемый диапазон не зависит от целевого коэффициента отражения
Расширенная встроенная оптическая компенсация перекрестных помех для упрощения выбора покровного стекла
Защита глаз
Простая интеграция
Конус исключения
Приложения
- Обнаружение пользователей для персональных компьютеров / ноутбуков / планшетов и IoT (энергосбережение)
- Обнаружение препятствий с помощью роботов (робототехника)
- Бытовая техника (обнаружение рук в автоматических смесителях, дозаторах мыла и т. Д.)
- Распознавание одномерных жестов
- Лазерный автофокус. Улучшает и ускоряет работу системы автофокусировки камеры, особенно в сложных сценах (низкий уровень освещенности, низкая контрастность) или в режиме видео с быстрым движением
Что такое роща?
Grove упрощает подключение, экспериментирование и упрощает процесс создания прототипов. Никаких перемычек или пайки не требуется. Мы разработали более 300 модулей Grove, охватывающих широкий спектр приложений, которые могут удовлетворить самые разные потребности.Это не только открытое оборудование, но и программное обеспечение с открытым исходным кодом.
Посетите наш блог Что такое датчик времени полета и как работает датчик ToF? , чтобы узнать больше о технических принципах Time of Flight (ToF) и датчиках.
Amazon.com: Модуль лазерного дальномера V2 для проектов Duino: Товары для дома
Высокопроизводительный и недорогой модуль лазерного дальномера для домашнего и промышленного применения
Это самый гибкий лазерный дальномер, который вы можете легко интегрировать в свои проекты, требующие точных измерений, а также простой в обращении. даже с микроконтроллером Duino.
Технические характеристики
- Напряжение и ток источника питания: DC3V ~ 3,3 В / 100 мА
- Диапазон измерения: 0,0001 ~ 80 м
- Варианты разрешения: 0,1 мм / 1 мм
- Скорость измерения: 2 Гц / 5 Гц / 10 Гц / 20 Гц (0,05 ~ 1 секунды)
- Режимы измерения: одиночный / непрерывный режим
- Единица расстояния: м
- Тип лазера: 620-690 нм
- Класс лазера: класс ii, <1 мВт
- Диаметр пятна на расстоянии м: 6 мм на 10 м, 30 мм на 50 м
- Уровень защиты: IP40
- Рабочая температура: -20 ° C ~ + 50 ° C
- Температура хранения: -20 ° C ~ + 80 ° C
- Вес: 60 г
- Размеры: 48 (Д) 42 (Ш) 18 (В) мм
Модуль LRF Характеристики
- Режим однократного измерения, который выполняет только одно измерение
- Режим непрерывного измерения, который возвращает непрерывные результаты в зависимости от выбранной частоты дискретизации
- Programmab le Диапазон измерения до 80M (доступны варианты 5M, 10M, 30M, 50M, 80M)
- Программируемая частота дискретизации до 20 Гц (доступны варианты 2 Гц, 5 Гц, 10 Гц, 20 Гц)
- Доступна программируемая точность измерения (1. мм и 0,1 мм)
- UART последовательной связи (BautRate = 9600)
- Все инструкции в шестнадцатеричном формате
Примечания
Обратите внимание, что этот модуль может показывать некоторые ошибки во время измерения, когда он подвергается воздействию окружающей среды, где освещение слишком большая интенсивность, температура окружающей среды слишком высокая или слишком низкая, отражатель слишком слабый или слишком сильный, или цель – шероховатая поверхность, различные цели измерения и условия измерения могут вызвать некоторую погрешность диапазона измерения или результатов измерения.
Создание дешевого лазерного дальномера для Arduino
Нужен быстрый и дешевый модуль лазерного дальномера для вашего проекта Arduino?
Конечно, для этой задачи можно использовать специализированные модули, но большинство из них имеют большую цену. Модули VL53L0X / VL53L1X дешевы, но имеют очень большое поле зрения.
Итак, я нашел решение: использовать дешевую лазерную рулетку «Х-40» в качестве лазерного дальномера. Эти устройства стоят 20 долларов и меньше, и они могут измерять расстояние до 40 м с точностью ~ 3 мм.Но есть две проблемы – нет возможности снять показания с ленты и измерения идут медленно – менее 1 Гц.
Чтобы решить эту проблему, я сделал реверс-инжиниринг этой лазерной рулетки и написал свою собственную прошивку для микроконтроллера STM32 модуля лазерного дальномера. Для меня важна скорость измерения, и я могу достичь ~ 60 Гц, но максимально стабильное расстояние уменьшилось до ~ 6 м (полный максимальный диапазон 37 м, но я не тестировал).
Точность измерения расстояния может варьироваться от 1 мм до 10 мм в зависимости от цвета объекта и расстояния.
Размеры модуля: 25x13x50 мм.
ВАЖНОЕ ЗАМЕЧАНИЕ: ВЫ ПОТЕРЯЕТЕ ОРИГИНАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ПОЭТОМУ ПОСЛЕДНИЕ УСТРОЙСТВО НЕ МОЖЕТ ИСПОЛЬЗОВАТЬСЯ В КАЧЕСТВЕ ЛЕНТОЧНОГО ИЗМЕРИТЕЛЯ!
Обратите внимание, что лазерная рулетка «Х-40» может иметь разные ревизии модуля лазерного дальномера, и моя прошивка поддерживает только некоторые из них!
«Х-40» – не единственное название для лазерных рулеток с такими модулями – я знаю, что существует несколько разных китайских лазерных рулеток с подходящими модулями.
Шаг 1: Разборка лазерной рулеткиРазберем лазерную рулетку, чтобы достать из нее модуль лазерного дальномера.
Так выглядит лазерная рулетка перед разборкой
Из корпуса нужно открутить 7 винтов:
Обратите внимание, что один винт находится под наклейкой
Лазерная рулетка в разобранном виде:
Модуль лазерного дальномера отмечен синим цветом
Внутри корпуса прибора виден небольшой модуль лазерного дальномера.Вам необходимо отсоединить ленточные кабели от модуля и вынуть модуль из корпуса:
Обратите внимание, что модуль обозначен как «701A». Моя прошивка поддерживает только версии модулей “512A” и “701A”. Несколько пользователей подтвердили, что модули «703A» тоже работают (я не тестировал).
UPD 11/2019:
Внимание: обнаружено, что более новые лазерные рулетки «x-40» поставляются с модулями «M88B». Маркировка «88B» на печатной плате рядом с MCU. Эти модули основаны на микроконтроллере STM32F0 (имеет пакет QFN-32). Эти модули не поддерживаются моей прошивкой!
Если ваш модуль поддерживается, вам необходимо отпаять силовые линии от модуля.
Шаг 2: Программирование модуля лазерного дальномераВам необходимо записать специализированную прошивку в MCU модуля, чтобы получить необходимую функциональность.
1. Сначала нужно припаять несколько проводов для программирования MCU. Распиновка представлена на рисунке:
Подключите контакты 7-8 разъема клавиатуры – это необходимо для включения.
Линии «GND» и «Vbat» должны быть подключены к источнику питания. Диапазон напряжения питания +2,7 … + 3,3 В. При подаче питания на модуль на линии «Vdd» должно быть +3,5 В.
Линии «GND», «SWDIO», «SWCLK», «NRST» должны быть подключены к программатору ST-LINK. Строка «NRST» очень важна – оригинальная прошивка MCU заблокирована, поэтому эта строка нужна для входа MCU в режим программирования.
У некоторых программистов есть эта строка, а у некоторых (дешевых) нет, но есть обходной путь для этой проблемы.
Кроме того, некоторым программистам (например, оригинальному “ST-LINK / V2”) требуется, чтобы линия “Vbat” была соединена с линией “VCC / TVCC” программатора.
Пример подключения (у этого программатора нет строки «NRST»):
ST-Link подключен к модулю лазерного дальномера
2. Установить на ПК «Утилиту ST-LINK». Если у вас нет опыта использования этого программного обеспечения, в Интернете есть множество учебных пособий.
Вам необходимо настроить утилиту (Target -> Settings):
Если ваш программатор имеет выход «NRST», вы можете просто включить питание и нажать «Target -> Connect» в утилите.
Если такой линии нет, необходимо выполнить следующие действия:
- Включите питание.
- Подключите линию «NRST» модуля к GND.
- Нажмите «Target -> Connect» в утилите.
- Быстро отсоедините линию «NRST» от GND.
- Утилита должна показывать соединение
И тогда должно получиться такое изображение:
3. Флэш-память MCU заблокирована для чтения, поэтому вам необходимо отключить «Защиту от чтения». На этом этапе вы потеряете оригинальную прошивку!
Открыть цель -> меню «Байты опций».Должны быть такие настройки:
Установите для параметра «Защита от чтения» значение «Отключено» и нажмите кнопку «Снять выделение», затем нажмите кнопку «Применить». Попробуйте перезапустить модуль (отключив питание).
Нажмите Target -> Connect. В окне журнала должна быть информация об успешном соединении, и вы должны увидеть содержимое памяти – заполненное 0xFF. Теперь вы можете загрузить кастомную прошивку в MCU.
4. Необходимая прошивка находится здесь: https://github.com/iliasam/Laser_tape_reverse_engineering/tree/master/Code/Firmware_dist_calculation_fast
Выберите подходящий файл HEX для вашего модуля и загрузите его во Flash MCU с помощью “ST- LINK “.
Шаг 3: Подключение модуля лазерного дальномера к ArduinoВам необходимо припаять провод или какой-либо разъем к контактной площадке TX на плате:
См. Схему подключения ниже.
Во-первых, вам необходимо проверить исправность модуля дальномера. На этом этапе вам не нужно подключать OLED-дисплей к Arduino – просто подключите линию TX модуля лазерного дальномера к линии TX Arduino, а линии питания модуля к источнику питания + 3V.
Создайте пустой скетч и загрузите его в Arduino.Откройте «Serial Monitor» в среде Arduino IDE. Выберите скорость передачи: 250000
Если модуль дальномера работает нормально, вы получите те же данные:
DIST; 01937; AMP; 0342; TEMP; 1223; VOLT; 115 DIST; 01937; AMP; 0343; TEMP; 1223 ; VOLT; 115 DIST; 01938; AMP; 0343; TEMP; 1223; VOLT; 115 DIST; 01938; AMP; 0343; TEMP; 1223; VOLT; 115
На самом деле, лучше использовать специализированный конвертер USB-UART для этот тест. Выберите в его утилите 256000 бод (это реальная скорость x-40 MCU).
Во-вторых, нужно собрать полную схему с дисплеем.
Подключите линию TX модуля лазерного дальномера к линии RX Arduino (вам необходимо отключить этот провод во время загрузки программы в Arduino).
Если все работает нормально, вы получите тот же результат:
Отображается дисплей с 3 цифрами:
- «COUNT» – счетчик полученных значений
- «AMPL» – амплитуда сигнала. Символическая полоса («<--->») ниже показывает амплитуду графически (в логарифмическом масштабе).
- Самое большое значение – расстояние в метрах и миллиметрах.
После первого запуска модуль лазерного дальномера необходимо откалибровать.
Вам нужно разместить какой-нибудь белый объект на определенном расстоянии от модуля. Расстояние до этого объекта станет нулевым расстоянием для модуля дальномера. Чтобы начать процесс калибровки, вам необходимо подключить клавиатуру к лазерной рулетке и нажать нижнюю кнопку. Модуль издаст два звуковых сигнала – в начале калибровки и в конце (продолжительность калибровки около 10 секунд).
Теперь вы можете использовать этот модуль лазерного дальномера.
Ссылки:
1. Github – результаты реверс-инжиниринга и исходный код.
2. Habr.com – Гугл перевел статью о процессе реверс-инжиниринга лазерной рулетки.
Извините за мой английский – я из неанглоязычной страны.
Лазерный датчик расстояния Arduino Raspberry Pi UART PWM I2C Light Sabre
Новая версия LS53L0X-V2:
– Другая компоновка, но совместимая по контактам и с тем же размером
– Прерывание теперь подключено к PA0 STM32 использовать deep low power
– У вас есть вопросы или они скоро понадобятся? пожалуйста, свяжитесь с.
Последняя версия FW = V2.2.254
Эта версия управляет сверхнизким энергопотреблением, использующим новое соединение PA0
——————— ————————————-
Обзор
Доска Light Sabre – идеальный вариант. Решение для измерения расстояния Time of Flight. Подходит как для профессионального использования, так и для простых бриколажных работ. Используем два компонента от STMicroelectronics: микроконтроллер STM32F030 и времяпролет VL53L0X .Различные микроконтроллеры и Time-of-Flight могут использоваться для расширения флэш-памяти или измерения расстояний.
LS53L0X V2 использует версию STM32F030C8 , имеющую 64 Кбайт флэш-памяти и 8 Кбайт ОЗУ. Плата Light Sabre содержит запрограммированный и защищенный FW, который заполняет почти всю память. Тем не менее, защиту и микропрограммное обеспечение можно удалить, вы можете использовать свою плату со своим программным обеспечением.
FW имеет несколько функций, которые облегчают интеграцию платы в более сложную систему, см. Техническое описание.
LS53L0X V2 использует VL53L0X , это времяпролетный прибор, работающий с VCSEL на длине волны 940 нм и способный обнаруживать цель на расстоянии 200 см.
Благодаря миниатюрному форм-фактору Light Sabre очень легко интегрировать в вашу систему. Вы быстро докажете свою концепцию и не потратите время на то, чтобы научиться работать с Time-of-Flight. Все, что вам нужно, чтобы использовать один из поддерживаемых выходов: PWM, UART и I2C.
Основные характеристики
– Набор микросхем: датчик TOF VL53L0X STMF030C8T6 micro
– Прошивка: предварительно загружена во флэш-память
– Класс лазера: Класс 1 (IEC 60825-1: 2014 – 3-е издание)
– Расстояние действия: от 3 см до 2 м
– Сбор данных: I2C, UART, PWM
– Управление: I2C, UART
– Источник питания: от 2V8 до 3V3
– Размер платы 24x18x8 мм
Plug and Play
– Предоставляется полнофункциональная прошивка
– Разработка программного обеспечения не требуется
– Данные измерений доступны сразу после включения питания
Настраиваемый
Для изменения конфигурации LS53L0X-V2 можно установить более 30 параметров UART.
Несколько примеров возможной конфигурации:
– Калибровка VL53L0X-V2 – Определение режима Master / Slave – Форматирование данных
– Определение предупреждения – Конфигурация PWM – Режим низкого энергопотребления
(+ множество других возможностей…) LS53L0X-V2 datasheet
Особенности
Возможность подключения более 120 плат LS53L0X (1 Master, а все остальные как Slave).
Управление и сбор данных всех LS53L0X, доступных с Мастера.
Используйте свой собственный алгоритм с несколькими расстояниями:
Обнаружение препятствий
Позиционирование в помещении
Распознавание жестов
Профилирование поверхности кривой
Лидар
Звуковой свет
Обнаружение количества и многое другое … 2.254.pdf
LS53L0X-V2_Low_Power_Modes_Description_2.2.254.pdf
VL53L0X_datasheet.pdf
40-метровый модуль датчика лазерного измерения расстояния Arduino Китай Производитель
9002 40-метровый модуль измерения расстояния Arduino Лазерный модуль измерения расстояния Arduino Датчик?
> 1.Лазерный датчик измерения расстояния может измерять от 3 см до 40 м.
> 2. Лазерный дальномер 512A / 703A может быть подключен к Arduino, и многие наши клиенты успешно это делают.
> 3. Модель очень маленькая – 45х25х12мм.
Описание:
Модуль лазерного датчика измерения расстояния Arduino, как его название, представляет собой лазерный датчик расстояния, результаты которого можно оценить с помощью Arduino Nano. Фактически, все наши модули лазерных датчиков расстояния поддерживают Arduino.
Параметры:
Модель M703A
Точность ± 1 мм (0,04 дюйма)
Измерительная единица мм
Диапазон измерения 0,03-40 м
Время измерения 0,125 ~ 4 секунды
Класс лазера II
Тип лазера 635 нм,
Размер 45x25x12 мм
Вес Около 10 г
Напряжение DC2,0 ~ 3,3 В
Электрический уровень TTL / CMOS
Рабочая температура 0-40 ℃ (32-104 ℉)
Температура хранения -25 ~ 60 ℃ (-13 ~ 140 ℉)
Примечание : 1.При плохих условиях измерения, таких как среда с сильным освещением или слишком высокая или низкая диффузная отражательная способность точки измерения, точность будет иметь большую погрешность: ± 1 мм + 40PPM.
2. При сильном освещении или плохом диффузном отражении цели используйте отражающую панель.
3. Рабочая температура -10 ℃ ~ 40 ℃ может быть изменена.
Приложения: