4.6.2010

Очень простой и дешевый сенсор расстояния на ИК светодиодах

Для ближайшего проекта мне требуется управление рукой без касания с учетом расстояния. То ест ближе рука — больше что-то, дальше рука — меньше что-то.

Искал вариант использования ИК светодиода и приемника для этого дела, но все, что нашел не понравилось – все громоздко, много резисторов, а мне надо 4 сенсора сделать в сжатом пространстве. Некоторые решения не дают диапазона значений, а дают только логический 0 или 1. В итоге нашел то, что надо а даташите для ОУ LM358 (кто-бы подумал).

В даташите дана схема для фотоячейки. Я ее использовал без изменений, только вместо фотоячейки поставил ИК светодиод и сопротивление обратной связи сделал около 4.5МОм. ОУ LM358.

Как видите, это простая схема инвертирующего усилителя, где одно сопротивление заменено на светодиод.

На макетке это выглядит так:

Для излучателя используется ИК светодиод INF5940 с длиной волны 940нм и углом 35 градусов купленный здесь http://www.futurlec.com/LEDInfrared.shtml. Сопротивление для излучателя взято 220 Ом (для 9В питания), что дало ток около 35мА.

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

Вот конструкция в работе:

Как видно, работает все очень четко и стабильно. Реагирует на малейшее движение руки вверх-вниз четко в такт. Никакого дребезга. При указанном усилении и токе излучателя реакция начинается примерно с 10 см (мне больше и не требуется). Для эксперимента я излучатель сделал постоянный. В этом режиме превышать 50мА нельзя. В реальном устройстве излучатель будет импульсный, что позволять использовать ток до 250 мА, что позволить или увеличить дальность или улучшить качество детектирования.

На один детектор получается необходимо: светодиоды — 2, резисторы — 2, ОУ — 1. Причем ОУ можно взять сдвоенный или даже счетверенный, что позволит еще уменьшить количество деталей и использовать всего один конденсатор вы питании микросхемы.

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

Далее был проведен эксперимент для выяснения зависимости напряжения на выходе ОУ от расстояния. Использовалась белая полоска бумаги и мультиметр.

Таблица снятых данных:

расстояние (см) значение (В)
0.02.73
0.51.98
1.01.55
1.51.1
2.00.76
2.50.63
3.00.47
3.50.38
4.00.27
4.50.2
5.00.13
5.50.10
6.00.07
6.50.05
7.00.04
7.50.02

Полученный график выглядит так:

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

Комментарии
unk215 () 2010-11-19 19:23:18 #1 link
Артем, предоставьте полную схему сенсора пожалуйста, ну никак не могу понять как он работает. un1kus@mail.ru
Артем Кучин (Москва, Россия) 2010-11-20 23:00:57 #2 link
Полная схема представлена живьем. Что сфотографировано, то и есть. В общем-то все разжевано. Если есть конкретно в чем-то затык - задавайте вопрос и я отвечу. А общий ответ на вопрос: используйте мозг.
Сергей () 2011-02-19 14:07:42 #3 link
Спасибо за интересную схему. Хотел у вас поделиться опытом, из каких вы еще магазинов заказываете компонеты? Спасибо.
Дмитрий (Пенза, Россия) 2011-04-23 17:03:39 #4 link
Артем, как вы запитываете lm358? Пожалуйста схему)
Артем Кучин (Москва, Россия) 2011-04-23 19:09:38 #5 link
Я не понял вопроса. Какие проблема с запитыванием? Я питал кроной 9В и шунтирующий коденсатор.
Дмитрий (Пенза, Россия) 2011-04-23 19:24:03 #6 link
запитываю 5V, 4 вывод на общий провод, 8 вывод на + питание (LM358P) не работает совсем((. Схему собрал правильно, только вместо 4МОм поставил 1 МОм.
Артем Кучин (Москва, Россия) 2011-04-23 20:41:11 #7 link
ну нее. резистор задает усиление (обратную связь), с 1Мос обратная связь будет глубокая слишком, усиление маленькое, особенно с 5В. Примерно в 8 раз меньше будет усиление, чем у меня, при том же излучении и таком же приемном светодиоде. Т.е. макс на выходе 0.6В. А если диод какой похуже, то еще меньше. И еще: чем и как производятся измерения выхода?
Дмитрий (Пенза, Россия) 2011-04-23 23:37:58 #8 link
Из этой схемы я хочу добиться эффекта нахождения открытого источника огня, например, свечи. Это реально сделать? Т.е. как я понимаю у вас реагирует на отражение, значит можно и на интенсивность (т.е. далеко близко свечка).
PS. подскажите как правильно запитать LM358, конденстор ставить последовательно на + питание?
PPS. а еще больше можно тогда резистор поставить?)
Артем Кучин (Москва, Россия) 2011-04-24 13:44:38 #9 link
Не выйдет, не хватит чувствительности, эта схема работает на маааленьких расстояниях (см график). Хотя, если вам нужны примерно такие же расстояния, то может быть пойдет. Суть в том, принммаются светодиод имеет макс чувсвительность на определенной частоте. Какая частота доминирующая в свечки - хрен знает. Но там нормальнео распределение, так что чуть влево-вправо - падение в чувсвительности радикальное.
Резистор увеличить можно. Шунтирующий конденсатор разумееются ставять парралельно (между питанием и общим проводом), иначе как же ток будет течь в чип?
Дмитрий (Пенза, Россия) 2011-04-24 18:43:32 #10 link
Все замечательно получилось))) Поставил резистор 10МОм, конденсатор на 0,1мкФ. При направлении светодиода на пламень меняется уровень напряжения на выходе, чтобы наблюдать, так сказать визуально поставил светодиод)))
Спасибо за схемку, очень классно))
Артем Кучин (Москва, Россия) 2011-04-24 23:29:07 #11 link
рад, что все вышло :)
kren (, Россия) 2014-05-23 20:05:51 #12 link
2.73exp(-0.578x)
вот тут можно проверить.
http://www.webmath.ru/web/prog31_1.php
x=0....8
y=0....3
Валерий (Можайск, РФ) 2017-10-03 22:17:37 #13 link
Здравствуйте, Артем! А влияет ли температура на показания?
Артем Кучин (Москва, Россия) 2017-10-16 10:41:02 #14 link
Температура влияет на все во вселенной. Но насколько именно в каждом конкретном случае - не знаю :)
Я думаю это тут неважно так как график сохраняет свою форму и если использовать линейную часть, то сильных сдвигов
не будет по температуре в разумном диапазоне (10 - 50 градусов), а пользователь адаптируется при управлении рукой
по визуальной обратной связи.
Добавить комментарий
Ваше имя:
город: страна:
Комментарий:

Введите код "4031" -
Сообщения не по теме будут удалены. Вопросы не по теме следует направлять по электронную почту. Ваши данные будут запомнены в cookie для удобства. HTML запрещен.

(C)1999-2021 Артем Кучин
Email: artem@artem.ru
На письма без темы или без имени отправителя не отвечаю

При использовании материалов ссылка на сайта www.artem.ru обязательна! Автор оставляет за собой право отказать в праве использования материалов на безвозмездной основе без объяснения причин. Материалы сайта защищены законом об авторских и смежных правах.

Цена домена: 1 500 000 руб.