Подключение оптического датчика

Подключение оптического датчика Анемометр

Подключение оптического датчика

Оптические датчики для платформы Ардуино. Типы, описание, характеристики. Подключение и испытание. Механические датчики были рассмотрены тут.

Тема этого урока — оптический датчик измерения расстояния. Такие датчики встречаются как в робототехнике, так и в бытовой жизни (например, сушилки для рук, элементы «умного дома», реагирующие на движение, тоже имеют датчик расстояния 🙂 ). Для урока взят датчик SHARP 2Y0A21 с диапазоном измерения 10-80 см.

Подключение оптического датчика

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

Подключение оптического датчика

Подключение оптического датчика

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

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

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

На этом уроке мы рассмотрим один из самых распространенных датчиков препятствия, который работает по принципу отражения. Устроен он очень просто. Датчик содержит направленный источник света и детектор света. Источником часто служит инфракрасный светодиод с линзой, а детектором — фотодиод или фототранзистор.

Светодиод на датчике постоянно включен и излучает узкий пучок света в прямом направлении. Если перед датчиком есть препятствие (рисунок А), то на детектор попадает отраженный свет от источника, и на выходе датчика появляется положительный импульс. В противном случае, если препятствия нет, то датчик молчит (рисунок Б). Есть и третий вариант, когда препятствие есть, но свет от него не отражается! На рисунке В изображен как раз такой случай. Получается, матовую черную поверхность робот не увидит.

Описание датчика RG-11

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

Подключение оптического датчика

Датчик RG-11 нуждается в источнике внешнего питания для работы, хотя есть также немного менее чувствительный режим «микропитание», который может быть включен чтоб обеспечивать работу от низковольтной батареи при минимальном потреблении тока. Кроме того, датчик может быть настроен на работу в шести различных режимах. Каждый режим соответствует разному типу замыкания контактов реле (количество и время замыкающих импульсов) в ответ на обнаруженные капель дождя. Эти различные режимы работы программируются положениями DIP-переключателя.

Программа

Для примера, будем зажигать и гасить штатный светодиод №13 на Ардуино Уно, в зависимости от показаний датчика.

При использовании цифрового датчика, программа будет такой же, как и в случае работы с кнопками. На каждой итерации цикла loop мы считываем значение на выводе №2, и затем сравниваем это значение с уровнем HIGH. Если значение равно HIGH, значит датчик видит препятствие, и мы зажигаем светодиод на выводе №13. В противном случае — гасим светодиод.

Модуль фоторезистора KY-018

Подключение оптического датчика

Модуль имеет габаритный размер 30 x 14 мм и массу 1,2 г. Для подключения служит трехконтактный разъем. Центральный контакт – питание +5В, контакт «-» – общий, контакт «S» – информационный. Потребляемый ток 270 мкА.

Подключение оптического датчика

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

Подключение оптического датчика

Если загрузить в Arduino программу AnalogInput2, то в мониторе последовательного порта среды разработки Arduino IDE можно наблюдать, как меняются показания, снимаемые с аналогового входа платы Arduino.

Подключение оптического датчика

Подключение оптического датчика

Модуль легко сделать глазом робота или датчиком освещенности умного дома.

Подключение датчика к Ардуино

Датчик Sharp аналоговый, а значит его можно подключить к одному из входов АЦП Ардуино. В нашем случае, подключаем к A0.

Внешний вид макета:

Задания

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

Настройка чувствительности

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

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

Для настройки порогового напряжения нам понадобится шлицевая отвертка (она же — плоская). В этой процедуре нам также поможет зеленый светодиод состояния, который загорается когда датчик регистрирует достаточный уровень инфракрасного света. Алгоритм настройки сводится к трем шагам:

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

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

Принцип работы оптического датчика измерения расстояния

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

Принцип работы оптического датчика Sharp заключается в том, что лазерный луч отражается от препятствия и попадает на матрицу в разные её места, в зависимости от того, на каком расстоянии D произошло отражение .

где G — расстояние на матрице до тени;F — расстояние от матрицы до линзы;L — расстояние от луча до матрицы.

Перед нами обычный прямоугольный треугольник, так что расстояние до объекта D определяется по формуле D = (FE)/G.

Выход датчика нелинеен. Зависимость показаний датчика от расстояния имеет следующий вид:

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

Конструкция оптического датчика уровня

Подключение оптического датчика

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

Электрическая схема подключения модуля

Типовая электрическая схема для работы от БП 5 В.

Подключение оптического датчика

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

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

К размышлению

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

Полезные ссылки

Техническая документация датчика

Модуль ИК приемника KY-022

Подключение оптического датчика

Модуль имеет три вывода: центральный немаркированный – питание +5В, контакт «-» – общий, контакт «S» – информационный. Потребляемый ток 200 мкА в режиме ожидания, 500 мкА с работающим светодиодом.

Подключение оптического датчика

В момент приема инфракрасного сигнала светодиод на плате мигает, что достаточно удобно при отладке конструкций на макетной плате.

Подключение оптического датчика

Коды сигналов пульта телевизора

Подключение оптического датчика

Аналогично модуль может принимать сигналы от пульта дистанционного управления светодиодной лампой.

Подключение оптического датчика

Подключение оптического датчика

При помощи этого датчика не сложно организовать многокомандное дистанционное управление в пределах прямой видимости, при расстоянии между приемником и передатчиком около 3-5 м.

Модуль инфракрасного светодиода KY-005 [4-5]

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

Подключение оптического датчика

Модуль имеет габариты 35 х 15 мм и масса 1,3 г. Как понимает автор, подключение данного светодиода ничем не отличается от подключения обычного светодиода видимого диапазона. Центральный контакт модуля ни к чему не подключен, контакт «-» – общий, контакт «S» – информационный. Последовательно со светодиодом автор включал резистор сопротивлением 200 Ом, при этом ток, потребляемый светодиодом, составил 17 мА. Излучение данного светодиода глазом заметить невозможно.

Подключение оптического датчика

При помощи матрицы фотоаппарата можно зарегистрировать излучение светодиода, для этого желательно установить чувствительность не меньше 800 ISO, отключить вспышку, максимально открыть диафрагму фотоаппарата и минимизировать окружающую засветку.

Подключение оптического датчика

Принцип работы оптического датчика уровня

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

Подключение оптического датчика

На рисунке ниже несколько вариантов по установке датчика в различные ёмкости.

Подключение оптического датчика

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

Подключение оптического датчика

Тут может потребоваться изменить значение R1 (минимум 390 Ом) и R2 (максимум 10 кОм), чтобы получить приемлемые результаты. Элемент BS170 (T1) представляет собой малосигнальный МОП-транзистор с N-каналом, 500 мА, 60 В, доступный в корпусе TO-92, но не с логическим уровнем.

DIP-переключатель программирования режимов датчика

Надо установить DIP-переключатели так, чтобы датчик RG-11 вел себя правильно для соответствующих целей. Установите DIP-переключатели в соответствии с инструкциями, приведенными в руководстве по эксплуатации RG-11. Как правило, несколько положений переключателя (5, 6 и 7) устанавливают общий режим работы, а другие (1, 2, 3, 4) регулируют поведение в режимах. Также обратите внимание, что релейный выход RG-11 рассчитан на 24 В током до 1 А. Таким образом, RG-11 не может управлять нагрузкой с напряжением 220 В переменного тока без внешнего реле. Также RG-11 требует источника питания 9–30 В постоянного тока или 9–26 В переменного.

Подключение оптического датчика

Для простого проекта (например сигнализатора дождя), понадобится всего несколько дополнительных деталей. Сделайте 4-проводное соединение с RG11 с помощью разъемов PWR1, PWR2, NO, COM. Для этого типа применения можно использовать источник питания постоянного тока на 12 Вольт. Подключите провода питания к винтовым клеммам PWR1 – PWR2 и направьте питание на внешнюю нагрузку (например, пьезоизлучатель) через контакты реле NO – COM.

Подключение оптического датчика

На рисунке RG-11 подключен в режиме «идет дождь». Здесь SW5 – в DIP-переключателе – устанавливает режим дождя, а SW3 продлевает моностабильный выход на 15 минут. В этой конфигурации RG-11 включает реле и, следовательно, подключенную нагрузку, чтобы указать, что идет дождь, когда он достигнет заданной интенсивности.

Чтобы предотвратить постоянное включение и выключение нагрузки (дребезг), включена опция «моностабильное удлинение», позволяющая удерживать выход во включенном состоянии в течение 15 минут после прекращения дождя.

Дождемер RG-11 может питаться от внешнего источника питания 5 В через разъем J2. Это может быть полезно в проектах с микроконтроллерами. J2 – это разъем «программа / связь», предназначенный для программирования и тестирования. Контакт 1 J2 является клеммой заземления (GND / 0 В), а контакт 2 J2 – клеммой питания (VCC / + 5 В).

Подключение оптического датчика

(6-контактный разъем J2 припаян на правой стороне печатной платы RG-11)

Подключение оптического датчика

(нижняя сторона платы RG-11)

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

Будем подключать самый простой датчик с цифровым выходом. Принципиальная схема подключения к выводам Ардуино Уно:

Модуль датчика инфракрасного излучения KY-026 [24-25]

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

Подключение оптического датчика

Подключение оптического датчика

Датчик имеет габариты 47 х 15 х 15 мм, массу 3 г, в печатной плате модуля предусмотрено крепежное отверстие диаметром 3 мм. Чувствительным элементом датчика является ИК-фотодиод. Регулировать чувствительность датчика можно многооборотным подстроечным резистором. Индикация питания осуществляется светодиодом L1.

Подключение оптического датчика

При срабатывании датчика загорается светодиод L2. Датчик имеет четыре контакта. «A0» – аналоговый выход, выходное напряжение на котором меняется в зависимости от освещенности фотодиода (в память Arduino UNO была загружена программа AnalogInput2).

Подключение оптического датчика

Выводы питания «G» – общий провод, «+»– питание +5В. На цифровом входе «D0» присутствует низкий логический уровень, если ИК-излучение не превышает заданного порога, при срабатывании датчика низкий уровень меняется на высокий.

Датчик уверенно реагирует на излучение лампы накаливания мощностью 40 Вт с расстояния около 0,5 м. На зажженную спичку датчик реагирует с расстояния около 10 см.

В дежурном режиме датчик потребляет около 5 мА, при срабатывании ток возрастает до 8-9 мА

Подключение оптического датчика

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

Фотопрерыватель KY-010

Подключение оптического датчика

Подключение оптического датчика

Модуль фотопрерывателя имеет габариты 24 х 15 мм и массу 1,2 г

Подключение оптического датчика

Данное устройство представляет собой инфракрасный светодиод с токограничительным резистором. Светодиод освещает фототранзистор, с коллектора которого и снимается полезный сигнал. Модуль имеет три вывода: центральный немаркированный – питание +5В, контакт «-» – общий, контакт «S» – информационный. Потребляемый ток 10 мА.

Подключение оптического датчика

Пример использования

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

Сделаем так, чтобы при обнаружении препятствия робот отворачивал от него в противоположную сторону, а затем продолжал движение вперед. Оформим программу в виде блок-схемы процедуры loop.

Модуль датчика пульса KY-039

Подключение оптического датчика

Подключение оптического датчика

Габаритные размеры модуля составляют 24 х 15 х 15 мм, масса1,4 г. Модуль имеет три контакта: центральный немаркированный – питание +5В, контакт «-» – общий, контакт «S» – информационный. Потребляемый ток 10 мА.

Как понимает автор, светодиод должен быть направлен на фототранзистор

Подключение оптического датчика

Подключение оптического датчика

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

Модуль ИК дальномера KY-032

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

Подключение оптического датчика

Модуль имеет размер 45 х 16 х 12 мм, массу 4 г, в печатной плате модуля предусмотрено крепежное отверстие диаметром 3 мм. На плате имеется четырехконтактный разъем, через который осуществляется питание модуля и передача информации. Назначение выводов разъема следующее: «GND» – общий провод, «+»– питание +5В, «OUT» – информационный выход, «EN» – управление режимом работы. Для индикации подачи питания на датчик служит светодиод «Pled», при срабатывании загорается светодиод «Sled».

Подключение оптического датчика

На информационном цифровом выходе «OUT» появляется низкий логический уровень, если в поле зрения датчика имеется препятствие, иначе на выходе высокий логический уровень. В этом можно убедиться, загрузив в память Arduino UNO программу AnalogInput2, тогда при срабатывании датчика в мониторе последовательного порта программы Arduino IDE будет наблюдаться следующая картина.

Подключение оптического датчика

Согласно документации, для настройки частоты модуляции ИК-импульсов на частоту 38 кГц служит подстроечный резистор промаркированный 103, а для регулирования чувствительности датчика следует использовать подстроечный резистор промаркированный 507. как хорошо видно на предыдущих фотографиях на плате доставшейся автору оба переменных резистора имеют маркировку 103. Возможно это брак в данном конкретном устройстве. Может быть этим и объясняется малая дальность действия датчика.

Подключение оптического датчика

Датчик потребляет ток 4-5 мА в рабочем режиме и 5-6 мА при срабатывании. Если настроить датчик на минимально расстояние срабатывания, то можно немного уменьшить ток потребления (примерно на 1 мА). На данной фотографии, также видно, сто при срабатывании датчика загорелся светодиод «Sled».

Подключение оптического датчика

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

Однако по наблюдениям автора при снятой перемычке, когда выход «EN» был ни к чему не подключен, потребляемый ток возрастал до 13,5 мА, при этом датчик переставал реагировать на препятствие. При надетой перемычке подача на «EN» низкого логического уровня (от гнезда «GND» платы Arduino UNO) привела к скачу потребления тока до 150 мА. При подаче на «EN» высокого логического уровня (от гнезда 3,3 В платы Arduino UNO) и снятой перемычке датчик работает как обычно. В общем, в этом режиме датчик вел себя как-то странно, хотя возможно дело в ошибках методики эксперимента, которые допустил автора настоящего обзора или в браке данного экземпляра датчика.

Модуль ИК датчика линии KY-033

Подключение оптического датчика

Подключение оптического датчика

Модуль имеет габариты 47 х 10 х 12 мм, масса 2,1 г. Для крепления модуля на плате предусмотрено два отверстия диаметром 3 мм на расстоянии 11 мм друг от друга. На плате располагаются инфракрасный светодиод и фотоприемник, разделенные непрозрачной перегородкой. Для регулирования чувствительности датчика на плате имеется подстроечный резистор. При срабатывании датчика зажигается красный светодиод.

Подключение оптического датчика

Подстроечный резистор позволяет регулировать расстояние срабатывания от 25 до12 мм, считая от поверхности платы.

Подключение оптического датчика

На модуле имеется трех контактный разъем: центральный «V+»– питание +5В, контакт «G» – общий, контакт «S» – информационный. В зависимости от интенсивности отраженного сигнала на информационном выходе меняется напряжение, что можно пронаблюдать, подключив модуль к порту A0 платы Arduino UNO (в память микроконтроллера загружена программа AnalogInput2).

Подключение оптического датчика

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

Считывать полученное значение с датчика мы будем при помощи функции . Функция analogRead возвращает нам целое число от 0 до 1023 и чтобы узнать уровень напряжение на выходе сенсора,  нам нужно домножить это число на 5 и поделить на 1023. Подробно про АЦП можно прочитать в одном из предыдущих уроков — Аналого-цифровые преобразования — АЦП.

Чтобы не совершать лишние операции в программе, заменим 5/1023 на 0.0048828125. В итоге получим вот такую несложную программу:

Формула dist = 65*pow(V, -1.10) — на самом деле является функцией, которая отражает зависимость напряжения на выходе датчика от расстояния. Ту самую зависимость, которая изображена на графике выше.

Заливаем программу на Ардуино, запускаем монитор последовательного порта и подносим руку к сенсору. В результате, мы должны увидеть на мониторе примерное расстояние до объекта:

Модернизация схемы измерителя уровня

На этот раз всё основано на популярном шестнадцатеричном инвертирующем буфере и преобразователе CD4049UB (IC1). Микросхема имеет стандартизованные симметричные выходные характеристики, широкий диапазон рабочего напряжения от 3 В до 18 В и рекомендуется для устройств, не требующих высокого тока или преобразования напряжения.

Подключение оптического датчика

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

Подключение оптического датчика

Итоги тестов и реальная работа

Подключение оптического датчика

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

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

Литература

Файлы и прошивки в общем архиве. Обзор прислал в редакцию сайта “2 Схемы” – Denev.

Про анемометры:  Методы исследования загазованности воздуха производственных помещений
Оцените статью
Анемометры