VL53L0X - измеряем расстояние фотонным отражателем

Еще одна статья из цикла «что я нашел у себя в хламе».

Несколько лет назад одному моему другу нужно было сделать быструю фокусировку камеры. Обычный метод — подкрутить объектив и оценить программно контрастность картинки, не катил по быстродействию. Он обнаружил датчики, которые только начинали выпускаться — VL53L1X: маленькие, экономичные, точность и измеряемое расстояние (до 4м) для него были достаточны и попросил меня разобраться с ними. Датчики были свежие, информации о них было немного и готовых библиотек еще не было. Спустя несколько лет я обнаружил на Али более дешевую версию такого датчика, с меньшей дистанцией. За давностию лет уже не помню, какая мне идея в голову пришла, но я заказал этот датчик. Пока он пришел из Китая, идея уже была забыта, а сам датчик куда-то завалился. И на прошлой неделе, выковыривая пыль из уголков рабочего места, я выковырял и этот датчик.



За прошедшее время он заинтересовал ардуинщиков, появилась библиотеки и теперь, чтобы запустить этот датчик в работу, требуется всего несколько минут. Что и было немедленно сделано. Ну и решил рассказать вам про него — по какой-то причине эти датчики не пользуются такой большой популярностью, как ультразвуковые.

— А это что такое?!
— Фотонный отражатель, товарищ генерал!
— Сам вижу, что фотонный отражатель. Я спрашиваю, почему не покрашен?!

Принцип работы прост, как мыло — почти как ультразвуковой датчик, только используется инфракрасный луч 940 nm.



В корпусе датчика размещен лазер, массив лавинных светодиодов (ultra-fast SPAD Single Photon Avalanche Diodes) и мелкоконтроллер, управляющий всеми этими делами — а куда же без него нынче?



Верхняя сторона платы — сам датчик:



Нижняя сторона — LDO и преобразователи уровня:



Размер датчика по сравнению с ультразвуковым:



Вообще говоря, этот сенсор полагается калибровать с учетом того, что он наверняка расположен в каком-нибудь корпусе с окошечком, но если точность не критична, то можно этот этап опустить.

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



Итак, подключаем 4 проводка от Ардуино к платке — I2C и питание.



I2C адрес программируемый, поэтому при желании двумя проводками можно подключить несколько датчиков.





Загружаем библиотеку:



И используем готовый пример для измерения расстояния:



Результат:



Игрушка хорошая и недорогая, рекомендую.
Добавить в избранное +82 +110
+
avatar
0
А что и как по этому датчику фокусируется? Из моих устройств самая удобная фокусировка у Nikon D7000 — даже ручная вполне удобна, в отличие от мыльницы Canon G9X.
+
avatar
0
Объект был очень шустрый — скажем, птичка. Пока фокусируешься — уже улетит.
+
avatar
  • BARS_
  • 20 мая 2022, 16:29
+1
И как фотографы обходятся без каких-то левых приблуд? Даже у полупрофи фототехники начального уровня фокус очень быстрый, да еще и следящий. И как вообще этот датчик поможет ускориться фокусу, когда он сам медленный?

Обычный метод — подкрутить объектив и оценить программно контрастность картинки, не катил по быстродействию.
Фототехника имеет фазовый автофокус, даже в смартфонах именно он. И управляет этим делом низкоуровневый софт. При чем тут контрастность? Может проблема таки в кривых руках, а не скорости автофокуса?..
+
avatar
+3
Фазовый автофокус еще относительно недавно был только в зеркалках. К примеру, купленная 6 лет назад компактная топ камера Sony RX100 IV имеет только контрастный АФ. Судя по рассказу, у автора эта история и была N лет назад.
+
avatar
+1
А при том, что сейчас для реализации автофокуса в смартфонах в основном используют три метода: контрастный, фазовый и лазерный.
+
avatar
+16
Я понимаю что всё можно нагуглить, но раз уж «стенд» собран — неплохо какие то измерения с помощью линейки произвести.
Ну тоесть препятствие на расстоянии 10 см, показания вот — на скрине (плюс что изменяет на 10 мм и 1 м).
+
avatar
  • tklim
  • 20 мая 2022, 18:01
0
Работает точно. В том плане что 1м и 10см будут отличаться именно в 10 раз.
Но даже на столе в хороших условиях он «шумит» в пределах 2см
+
avatar
+5
В том плане что 1м и 10см будут отличаться именно в 10 раз.
Если мне неизменяет память — это называется относительной точностью. А вот с абсолютной непонятно, автор дал мало информации. Имхо весь обзор какой-то недобзор.
+
avatar
+1
Насколько реально из него сделать датчик топлива?
Вроде он умеет работать из-за стекла, + в баке темно. По идее идеальный кандидат, вот только готовых реализаций не видел.
+
avatar
+3
У меня знакомый по работе чем-то подобным занимался, ему было грустно. Наклоны-крены, не говоря уж о плесканиях туда-сюда от ускорения и замедления. Нужна серьезная постобработка.
Конкретно по поводу инфракрасного датчика еще должен вставать вопрос о прозрачности топлива.
+
avatar
  • Gidof
  • 20 мая 2022, 15:38
+1
Ну плескания легко устраняются трубкой, а крены можно минимизировать если забабахать всё это дело в центр бака.
+
avatar
+1
Подтвеждаю, метод рабочий.

Пы.сы. Именно так все устроено в современных бензобаках.
+
avatar
0
Знаю про ёмкостные. Конденсатор из двух трубок друг в друге медных. В зависимости от степени погружения меняется емкость. Датчик — проще некуда. Обработка сигнала — тоже на архи сложная.
+
avatar
0
скорее стаканом и соразмерным поплавком на штоке. всё уже придумано пол века назад инженерами.
только съём показаний всегда обычный
+
avatar
+1
Непонятно что вы имеете ввиду под стаканом?

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

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

А вы говорите все давно придумано.
+
avatar
0
Придумано. Стиральные машины со своим вакуумным датчиком остатка воды в баке рулят.
+
avatar
0
Плюс измерение при нулевом ускорении или нулевой скорости, т.е. устоявшемся уровне в баке.
+
avatar
+3
Интересная штучка, не знал о таких. А что у неё с помехозащищённостью? На прямом солнце будет работать?
И сколько ест? Интересно применить её как нижний датчик для квадрокоптера.
+
avatar
+1

Интересно применить её как нижний датчик для квадрокоптера.
Очень даже применяют.
+
avatar
0
Да, спасибо, я уже нашёл и почитал даташит. Ест весьма мало. При засветке дальность резко падает. То есть скорее как дополнение к УЗ датчику на финальной стадии. Учитывая почти нулевой вес и малое потребление — интересный вариант.
+
avatar
  • slv55
  • 20 мая 2022, 12:15
+1
Ультразвуковой датчик на коптере работает крайне херово из за вибраций
+
avatar
+1
а под водой их можно использовать в герметичном корпусе через стекло?
+
avatar
0
Заметил опечатки:
«лет я обнаружил обнаружил на Али»
еще
«и мелкоконтроллер, управляющий» — или так и надо?
+
avatar
+9
Первое поправил, спасибо. Второе из разряда «мелкомягких окошек» :)
+
avatar
0
подобные собратья во всяких ипхонах используются? там ведь где-то в инструкции есть четкое предостережение о наличие лазерного излучения.
+
avatar
0
Сейчас они много где используются для фокусировки. Импульс очень короткий и маломощный, вреда вряд ли больше, чем от самого телефона.
+
avatar
+1
просто было внезапно обнаружить стандартное предостерение Class X Laser product в телефоне. Раньше такие надписи были только на дисковых приводах и проигрывателях дисков.

но почему-то предполагал что оно не для фокусировки, а как датчик приближения к ушам например.
+
avatar
0
Для этого они тоже предназначены
+
avatar
0
Ага, это TOF датчик для фокусировки в телефонах
+
avatar
  • ResSet
  • 20 мая 2022, 11:39
0
Как всегда было интересно почитать об очередной полезной поделке, спасибо )
+
avatar
+3
Да это даже не поделка, а просто информация — есть такая штука, которая может быть полезной.
+
avatar
  • ResSet
  • 20 мая 2022, 12:27
-1
Да это даже не поделка, а просто информация — есть такая штука, которая может быть полезной.
Есть измерения на практике, значит поделка, а не только теория )
+
avatar
+1
Как-то заказал себе такой побаловаться, до сих пор так руки и не дошли.
+
avatar
+14
Не переживайте, 90% покупаемого на ali у 99% покупателей идёт «в ящик». :)
+
avatar
+1
интересно, а как парктроник будет работать?
+
avatar
+5
Не уверен, грязью закидает быстро.
+
avatar
0
уже было потянулся к кнопке купить, но почитал коменты и понял, что недостатков больше чем достоинств.

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

пы.сы. странно, вроде заявлен лазер, а на солнце начинает врать. лазерам обычно на это все равно, они даже через туман и звеси пробивают. похоже лазер то не настоящий! ©
+
avatar
0
Лазер, возможно, и настоящий, а вот по приёмнику могут быть вопросы.
+
avatar
+3
Чтоб через туман пробиваться длина волны другая нужна, например 1550нм. А на 940нм туман будет работать как отражатель.
+
avatar
0
Ну в ПНВ с подсветкой 940нм через туман неплохо видно, да даже 850нм нормально пробивает морось.
+
avatar
  • Gidof
  • 20 мая 2022, 13:47
0
Видит ли он расстояние до воды? Т.е. можно ли из него сделать электронный поплавок?
+
avatar
+7
Только что поэкспериментировал стаканом воды — видит, но врет. Возможно, калибровать надо.
+
avatar
  • vlo
  • 20 мая 2022, 14:00
+4
несколько расширяя предыдущие вопросы — было бы интересно рассмотреть вопрос, на какие именно преграды он реагирует, жидкости, материалы разные, да даже и стекло под разными углами.
т.е. в теории понятно, что они должны луч отражать, но в какой степени и что будет отражать этот ик — момент не очевидный.
+
avatar
  • u3712
  • 20 мая 2022, 16:58
0
У этого датчика, как *0, так и у *1, есть одна общая беда — нет защитных «стекол». А в «голом» виде они 'слабо пригодны'.
Попытка сколхозить защитное окно (двух-трех-зонное) обречено на провал. Здесь нужно или нормальное производство, или купить нормальный. Видел на али, но всего 1-2 позиции и совершенно невменяемой ценой. Увы, из-за эого пришлось отказаться… хотя столько железа/софта было написано, что Очень обидно.

Ремарк — редакции *0 и *1 отличаются 'принципиально', из одного, другую библиотеку не сделаешь.
А так… не забывайте, что у любого датчика есть еще две характеристики — «шум» и «быстродействие». Для этих датчиков — или «шум» или «быстродействие».
+
avatar
+2
А выдрать из китайского дальномера за $10? Там уже нормальный лазер и оптика. Даже кто-то уже протокол реверсил и вроде писали софт под stm32 для увеличения функционала. Погуглите.
+
avatar
  • u3712
  • 20 мая 2022, 17:40
+1
Спасибо, хороший вариант. Увы, но всё это для производства, и на один комплект нужно порядка 15 датчиков. Полный «колхоз» не пройдет.
+
avatar
0
Для автоматизации производства, увеличение стоимости разработки на $10 х 15 = $150 — это копейки. Хотя я не знаю всех условий тз и предполагаю что могут быть подводные камни.
+
avatar
0
Для производства, подозреваю, лучше купить
сразу ТБ2.
+
avatar
0
С таким датчиком не знаком.
+
avatar
  • D_K_
  • 20 мая 2022, 19:48
+1
Удобный датчик для запуска каких-нибудь устройств при приближении человека. Например рекламного экрана. Когда нужно игнорировать потоки людей идущих чуть поодаль, а срабатывать на подходящих. На ультразвуковом зависит от материала предмета. Одни увидит с полутора метров, а другие больше полуметра уже не реагирует. Инфракрасный вообще не имеет четкой границы расстояния. Тут же точность 5%.Если его использовать по назначению как датчик приближения предмета то вполне адекватный прибор. А если использовать не по назначению, пытаясь создать «лазерный» дальномер — то конечно выйдет игрушка
+
avatar
0
Согласен. Но мархетологи так хотели продать VL53L0X, что впихнули в datasheet строчку которая вводит в заблуждение — laser assisted auto focus… бла-бла-бла.
+
avatar
+2
По опыту — это сырая поделка. Год назад я её раскуривал — в библиотеке куча регистров без малейшего описания, запись кучи магических значений. При этом в даташите нет никакого намёка за на эти регистры. Работать-то, оно работает, но я бы поостерёгся использовать такое в промышленных изделиях.
+
avatar
0
Ну так это же Adafruit. У них все такое — запись кучи магических значений.
+
avatar
+2
Adafruit то тут при чём. Насколько я помню, это разработка ST и либа от них же.
+
avatar
0
Тысяча извинений!!!
+
avatar
+2
использовал такой для планшета, висящего на стене от умного дома
+
avatar
0
От умного дома осталась лишь одна стена? :))