094-Датчик приближения на ИК-лучах (ATtiny13).

Автор: | 10.04.2013

 

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

 

Видео работы датчика:

Чем отличается такой датчик от, скажем, датчиков движения заводского исполнения (которые, кстати, стали очень доступными и недорогими)?

Главное отличие – это область применения. Готовые датчики все-таки больше ориентированы на большие помещения и контроль движения. В нашем случае датчик компактен и больше рассчитан на функции контроля приближения и предназначен для встраивания в готовые проекты.

 

Сфера использования может быть обширной:

— реакция объектов на приближение руки (например, интерактивные игрушки, автоматические устройства);
— открывание шкафчиков, дверей и тому подобное при приближении руки;
— зажигание света при проходе «контрольной точки»;
— ориентация в пространстве робота (контроль стен и препятствий);
— системы управления движеньями рук;
— сигнализация;
— …

1 Принцип работы.

 

Работает датчик очень просто. Устройство с определенным периодом  посылает импульсы при помощи IR-светодиода. Инфракрасные лучи, отражаясь от объекта, принимаются инфракрасным приемником TSOP. Объект есть – есть сигнал, объекта нет – нет и сигнала. Дабы не было ложных срабатываний от бытовых пультов, помех, импульсов при включении света, устройством передается определенная последовательность импульсов и при декодировании TSOP, все что не совпадает с этой последовательностью – отбрасывается. На бытовую технику (управляемую при помощи ИК-пультов) устройство не оказывает никакого воздействия, так как сигнал относительно слаб и промодулирован последовательностью которая нигде не используется.

 

2 Схема, плата.

094-Proximity_scheme - Схема датчика приближения в sPlan

 

Готовая плата IR драйвера

 

069-IR-driver-PCB - Печатка датчика приближения в Layout

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

 

3 Прошивка микроконтроллера.

Для прошивки микроконтроллера (в  плате) нужно подключить программатор к соответствующим выводам:

094-main - Прошивка датчика приближения.
094-Fuse.png - Фьюзы датчика приближения

Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Фьюз-байты: Low=$7A, High=$FF
Как программировать микроконтроллеры читаем в FAQ.

 

4 Конструктивные особенности.

Одним из недостатков работы схемы является зависимость чувствительности датчика от общей освещенности. Это происходит по причине автоматической коррекции чувствительности самим TSOP (для того чтобы посторонняя освещенность не выводила приемник в нерабочую область).

Уменьшить этот эффект можно несколькими способами:

— Для того чтобы на приемник меньше попадало постороннего света нужно его поместить в непрозрачную трубку (я использовал черную термоусадку, предварительно ее усадив для получения более толстых стенок) и закрыть трубку с одной стороны непрозрачной пробкой (я залил черным горячим клеем) с другой поставив темно-красный светофильтр. Такая конструкция максимально ограждается от непрямых засветок при этом не страдает чувствительность так как для ИК-лучей красный светофильтр обладает хорошо проницаемый. Желательно и ИК-светодиод поместить в трубку – это уменьшит боковые отражения инфракрасных лучей – способных давать ложные срабатывания.

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

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

 

5 Работа датчика.

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

Если при работе датчика будет использоваться управление от бытового пульта, нужно пройти процедуру изучения кнопки (команды) пульта. В устройстве используется всего одна кнопка – переброс значения триггера. Для изучения кнопки необходимо обесточить устройство, «придавить» ножку выхода TSOP (на схеме ножка «Out») к «земле», включить устройство, отпустить ножку «Out» и нажать выбранную кнопку пульта. Теперь датчик начнет работать в штатном режиме.

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

 

В случае параллельной работы нескольких датчиков все они должны быть обучены одной и той же кнопке пульта или все не обучены.

 

6 Выводы.

По работе схемы есть как достоинство, так и недостатки.

Для начала недостатки:
— Зависимость работы устройства (чувствительности) от яркости освещения. Это решается, в некоторой степени, но проблема есть;
— Небольшая разрешающая способность (небольшие объекты будут «срабатывать» плохо);
— Небольшая дальность срабатывания (наличие отражающих стен и потолков уменьшают дальность, так как не позволяют увеличить чувствительность – появляются ложные срабатывания от отражений).

Ну и на десерт – достоинства:
— Простота конструкции (а если Вы уже раньше собирали платку – вообще делать почти ничего не нужно!);
— Отсутствие дефицитных и дорогостоящих элементов;
— Не нуждается в наладке.

Как видно из видео, датчик довольно уверенно реагирует на руку в пределах полуметра. Уверенно работает от пульта и не мешает находящемуся рядом телевизору. Потребляемый ток лежит в пределах 10мА.  Запитать датчик можно от источников напряжением от 3 до 6 вольт (некоторые TSOP не могут работать ниже 5ти вольт – это нужно учитывать).

 

По устройству все.

094-Proximity_Sensor_Source - Исходник датчика на Билдере

 

Не забываем заглядывать в раздел модификаций на форуме! Там можно найти (или оставить свои) модификации этого и других устройств блога.

(Visited 23 551 times, 20 visits today)

094-Датчик приближения на ИК-лучах (ATtiny13).: 274 комментария

  1. admin Автор записи

    1 эта последовательность записывается в еепром при первом пуске программы.
    2 данные не имеют значение — там череда ноликов и единичек.
    3 при отладке подпрограмму прерывания нужно вызвать принудительно (прописав переход на нее где-то в программе)

  2. Yuriy-Hackit

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

  3. admin Автор записи

    Здравствуйте.
    Если есть доступ к стрелке — прилепить на нее неодимовый магнитик, а на стекло геркон — это самое простое решение.
    При использовании системы работающей на отражение — будет в любом случае плохо, так как лучи почти одинаково отражаются как от красного так и от белого. С использованием TSOP ситуация будет немного лучше в плане влияния внешнего света.
    Можете попробовать данное устройство — регулировать пределы можно в широких пределах
    Но как это будет работать — нужно только пробовать.

  4. Zur

    доброго времени суток…
    интересует можно переделат программу так что ваш деваис рабртал как инфракрасный барьер…
    передатчик —>>>—>>>—>>> премник.
    расстояние между датчикамы 1-2 метра…
    заранее благодарен…

  5. GetChiper Автор записи

    Привет!
    Переделывать ничего не нужно. Устройство и так может работать как барьер.
    Возможны 2 варианта:
    1 — разнести TSOP и ИК-светодиод экранированным проводом
    2 — использовать 2 устройства один с TSOP другой с ИК-светодиодом.

  6. pbvf

    Здравствуйте! подскажите, как коммутировать лампу освещения в проходном коридоре с помощью данного устройства

  7. pbvf

    Опишу ситуацию подробнее: есть помещение с двумя входами. При входе с любой стороны должна включаться лампа( стоИт датчик движения и крепко тормозит) При выходе из комнаты сразу-же выключается.
    Если объект в данном помещении и кто-то другой пересёк любой из входов, все равно свет горит, и потухнет только при отсутствии людей в данном помещении…как бы не всё так просто

  8. GetChiper Автор записи

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

  9. pbvf

    это все не то. попробую описать алгоритм всей работы, так как вы умеете писать программы , в отличии от меня :-). так вот есть помещение с двумя или тремя входами (и или выходами). каждый вход/выход контролируется IR-блоком типа вашего, а всё помещение контролирует PIR-датчик — свет , после того, когда кто-либо находится в нём будет включен , и выключится только после команды PIR-датчика о том, что все объекты покинули данное помещение по сигналу какого-либо из IR-блоков. Всё это и обрабатывает микроконтроллер ( не обязательно тинька13 , но лучше AVR Спасибо!

  10. GetChiper Автор записи

    Как-то путано объяснили. Плохо понял. Если есть ПИР-датчик, контролирующий людей в помещении, зачем контролировать входа отдельно? Или входа в помещение — это длинные коридоры?

  11. pbvf

    все PIR- датчики работают какое-то время после выхода объекта из зоны контроля, или выключаются когда ещё человек внутри помещения . Опять же чуйка не очень, и один датчик не может полноценно сканировать помещение, да и большая задержка при входе в зону контроля. есть схемы на счетчиках, но это при одном входе/выходе. ладно, есть тут у меня одна задумка… сегодня соберу ваши датчики( платы сделал вчера) , и буду мутить. спс за участие. А если чего надо будет сменить в прошивке , надеюсь не откажете

  12. Анастас

    Здравствуйте! Можно пожалуйста исходный код программы? На каком языке была написана прошивка?

  13. GetChiper Автор записи

    Подойдет.

  14. selest

    Добрый день. Подскажите что нужно поменять в прошивке для использования tsop4838?

  15. GetChiper Автор записи

    Привет!
    Ничего. Прошивка и так будет с ним работать.

  16. selest

    Спасибо за ответ. Ещё вопрос, в продаже в основном светодиоды 940nm, можно ли их использовать вместо положенного 950nm?

  17. GetChiper Автор записи

    Запросто!
    Небольшие вариации ИК-пары, будут сказываться только на чувствительности (запас который в схеме достаточно большой для этого).

  18. selest

    Спасибо большое буду пробовать.

  19. Анастас

    Здравствуйте еще раз! Собрал ваше устройство. Возникли проблемы. Подключил питание 5 вольт. Напряжение на тригере 0.7 В, на статусе 1.8 В-> Диоды не загораются. При приставленнии препятствия напряжения на тригере никак не меняется. вместо подстроечного резистора поставил резистор на 300 ом. Прошивал на программаторе USB asp(AVRDUDE приложение). Не подскажете что можно сделать или изменить? ИК светодиод использовал с длиной волны 940нм

  20. Анастас

    Обязателен ли светофильтр? тестировал устройство в малоосвещенном месте

  21. GetChiper Автор записи

    Привет!
    Ну для начала — странные напряжения на статусе и триггере. там должно быть или ноль или что-то близкое к питанию. Смотрите что там на плате может быть не так

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

    Ну и в третьих, нужен не светофильтр а непрозрачный экран между излучателем и приемником (на близком расстоянии приемник засвечивается боковыми паразитными излучениями светодиода)

Добавить комментарий