Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Защита и контроль

Датчик присутствия

Автор: sathv, sathv@mail.ru
Опубликовано 14.11.2017.
Создано при помощи КотоРед.


Двухканальный инфракрасный датчик присутствия на TSOP.

Предлагается схема инфракрасного датчика препятствий с использованием фотоприемника пульта ДУ на TSOP1736. Подобные самодельные устройства есть на сайтах робототехники, упоминается даже упрощенный “дальномер”. После прочтения таких статей захотелось внести свою лепту в дело использования микросхем не по назначению.
Можно ли вообще измерять расстояние по мощности отраженного излучения? Да, примерные измерения возможны, поскольку большинство используемых нами вещей - руки, головы, хвосты и лапы - хорошо отражают ИК излучение в диапазоне 0,95 мкм; если поле зрения ИК-передатчика и приемника ограничить небольшими телесными углами, вписывающимся в отражающий в направлении излучателя предмет , то принимаемая мощность будет обратно пропорциональна кубу расстояния (приблизительно), а поскольку коэффициент отражения материала входит в затухание в первой степени, то его влияние невелико. Понятно, что о точности речи быть не может, но можно попытаться установить несколько зон, например- “близко”, “далеко”, “ничего не видно”.
После этого следует решить, как определять эти зоны? Конечно, по мощности, при которой принимаемый сигнал пропадает. Но момент пропадания сигнала при изменении мощности излучающего ИК-диода фиксируется нечетко и с большой дисперсией результата, что позволяет определить только две зоны- “видно” и “ничего не видно”. Этого недостаточно, поэтому было решено подсчитывать количество ошибок в цикле из восьми импульсов. Если ошибка одна или две- цикл принят, если больше двух, то не принят. Ошибка определяется по ошибочному появлению на выходе TSOP высокого уровня вместо низкого при наличии ИК-импульса. Поскольку применен не манчестерский, а простой импульсный код, ошибки в “нулях” ИК-последовательности считать мало смысла- это только фон, например, от ламп дневного света.
И последнее условие для разработки. Микросхема TSOP , наверное, имеет АРУ (может быть с выделителем тактовой частоты 36 КГц) с постоянной времени около 1 мс (поскольку в описании рекомендуется делать пробелы между импульсами на поднесущей 36 КГц не менее 15 или 12, т. е. 28мкс х 15= 420 мкс). Этот параметр, как оказалось, сильно влияет на чувствительность фотоприемника при приеме сигнала переменной мощности. Если перерывы между импульсами слишком длинные, чувствительность ухудшается и приемник “слепнет”, если слишком короткие, приемник “пытается“ принимать самый слабый сигнал и порог пропадания размывается. Оптимальный пробел между циклами из восьми импульсов общей длиной 9мс по необъяснимой причине оказался 15-20мс; эта величина и была сохранена в программе. Кроме того, мощность сигнала должна изменяться от максимума к минимуму, а не наоборот. Чтобы 15-20мс перерыва не пропадали даром, в схему добавлен второй ИК-датчик, который работает независимо от первого в вышеназванных пробелах между циклами. При этом, конечно, передатчик одного датчика не должен “засвечивать” приемник другого.
После этого вступления рассмотрим алгоритм работы датчика.
На диаграмме ниже показаны последовательности импульсов с четырьмя уровнями мощности. В верхней строке- излучение ИК-диода, импульсы с частотой 36 КГц (периодом 28мкс) разной скважинности в количестве от 10 до 25. Так формируются импульсы с периодом 1120 мкс и длительностью от 280 до 700 мкс и регулируется излучаемая оптическая мощность, составляющая, примерно,
-32 , -28, -24 и -20дБм (при работе в непрерывном режиме; это не совсем та мощность , которая присутствует на поднесущей 36КГц ИК-излучения, но позволяет сравнить мощность излучения датчика, например, с пультом управления телевизором,-его мощность около -20дБм).
Во второй строке показаны следующие друг за другом циклы из восьми импульсов со ступенчато увеличивающейся мощностью; длительность цикла составляет:
8 х 1120мкс(импульсы первого датчика)
+ 3мс(пробел)
+ 8 х1120мкс (импульсы второго датчика)
+ 3мс(пробел)
= 24мс.
Четыре таких цикла образуют с-цикл (так уж он оказался назван; в отличие от рисунка импульсы в программе следуют не с возрастающей, а с уменьшающейся мощностью). С-цикл имеет длительность24 х4= 96мс, в нем определяется уровень мощности (обозначенный в программе как GR), при котором принимаемый сигнал пропадает (число ошибок в цикле становится больше двух), при этом GR может принимать значение от ноля до четырех. Проверка принятых импульсов на ошибку производится сразу по окончании передачи последнего импульса из заполнения 36КГц (см. первую строку рис.1); это допустимо, поскольку задержка импульсов на выходе TSOP составляет около 150мкс и момент определения ошибки сдвигается ближе к средней, плоской части принятого импульса.
К сожалению, в одном с-цикле достоверно определить уровень пропадания сигнала не получается. Мешают помехи люминисцентных ламп, солнечные блики, изменение отражающих поверхностей. Поэтому пришлось усреднять результат по четырем с-циклам. Получился м-цикл длительностью 96 х 4=384мс, в котором суммируются значения четырех GR. Сумма может меняться от 0 до 16:
- сумма GR= от 0 до 2, это зона “близко”(если сигнал вообще не пропадает, то GR присваивается ноль),
-сумма GR= от 3 до11, это зона “далеко”,
-сумма GR= от 12 до 16, это зона “ничего нет”,
- также, если минимальное или максимальное значение GR повторяется три раза, то не выполняется четвертый с-цикл и м-цикл прекращается,- зона определяется как “близко” или “ничего нет”(это укорачивает м-цикл на ¼ ).
За стабильность результата пришлось дорого заплатить,- значительным снижением быстродействия; минимальная частота определения положения всего 2,6 Гц (1 /0,384) . В действительности частота определения составляет 4-5 Гц из-за того, что при пропадании отраженного сигнала с-цикл прекращается, значение GR записывается и с максимальной мощности начинается новый с-цикл.
Датчик имеет второй канал измерения, который позволяет создавать разные алгоритмы работы . В предлагаемой конструкции это “датчик прохождения”, который переключает исполнительное устройство только при поочередном появлении препятствия у двух датчиков в определенном порядке за заданный промежуток времени.
Программа для датчика разработана в среде MPLAB и приложена ниже с краткими пояснениями . В ней не трудно поменять логику работы датчика, величины задержек времени. Изменить дальность обнаружения проще меняя размер поля зрения датчика; в пределах
+/- 20%. мощность излучения можно изменить сопротивлениями, включенными последовательно с ИК-диодами.
Схема датчика показана на рисунке:

Основой ее служит контроллер PIC16F84A-04 с кварцем на 8МГц. Надежность этого PIC’а при увеличении тактовой частоты как будто не страдает, а цена датчика уменьшается. Первый канал образован ИК-диодом VD9 и приемником TSOP (без индекса), второй ИК-диодом VD8 и приемником TSOP Y. Включенные на выходе приемника диоды Шоттки служат для получения положительного и отрицательного фронта одинаковой длины при переключении приемника (на случай использования другого кода и алгоритма определения ошибок).
Выход RB4 используется как датчик движения- на нем устанавливается “единица” при изменении состояния любого датчика, которая через несколько секунд сбрасывается.
Выход RB2, импульсы с-цикла удобно использовать для синхронизации осциллографа при проверке работы каналов. Также, он используется в модели Proteus’а для имитации принятого приемником сигнала. Проект также приложен ниже, он позволяет полностью проверить передающую часть датчика и устранить некоторые ошибки в приемной. Для имитации реальных условий с меняющимся коэффициентом отражения он, конечно, не предназначен.
Выход RB7 управляет исполнительным механизмом- электромотором. На порт RB6 подается импульс от концевого выключателя Q2, останавливающий поворачиваемый электромотором рычаг в заданном положении. При поломке и несрабатывании Q2 рычаг останавливается через некоторое время таймером датчика. Кнопка Q1 служит для ручного изменения состояния RB7 при настройке или какой-либо ошибке. Светодиоды VD1и VD2 показывают состояние первого датчика, VD3 и VD4 - датчика Y, выключенные светодиоды обозначают зону “ничего не видно”.
Питает устройство источник напряжением 5В +/- 5% и максимальным током нагрузки не менее 150мА и 12В, 100мА.
Для описания конструкции и применения датчика приходится сделать мало интересное отступление, не касающееся электроники. ИК-датчик изготовлен после неудачных попыток утепления хода на холодную веранду нашей кошки Мурки. То, что представлялось элементарным, на самом деле таковым не оказалось и растянулось с большими перерывами на несколько лет. По замыслу, кошка должна пройти через утепляющую завесу; после прохождения завеса как-либо уплотняется. Причем нельзя использовать дверки, чтобы не напугать животное, а также предусмотреть возможность прохода при пропадании сети (чтобы не оставить мерзнуть кошку на веранде). В разное время были изготовлены или испытаны датчики,- все не подходящие для обнаружения небольших тел:
- емкостной имел небольшую дальность и к тому же был нестабильным;
- датчику на фототранзисторе требовалась подсветка;
- два промышленных пироэлектрических датчика движения дороги и технологически не вписываются в простую конструкцию;
- инфракрасный барьер на основе контроллера требовал большого свободного от предметов пространства;
- датчик присутствия-выключатель от Aliexpress подходил лучше всего, но не имел четкой границы срабатывания.
Описанный двойной ИК-датчик контролирует границы зон по обе стороны капитальной стены и включает моторчик с редуктором, который с помощью П-образного стержня расправляет завесу после возвращения кошки с прогулки, что позволило воплотить первоначальный замысел утепления. Даже при значительных помехах от ЛДС, изменениях окружающих поверхностей, размерах и густоте кошачьей шубки (привлекались два почти добровольца) простейший алгоритм контроля поочередного переключения датчиков от зоны к зоне обеспечивал адекватную работу устройства. Примерное расстояние обнаружения указано в таблице:

Значение GR

(пред. изм. от 0 до 16)

Расстояние, см
3 20
4 25
8 35
10 50
12 80

Схематический рисунок и фотографии конструкции представлены ниже:
- на фото1 показан первый датчик с излучателем и приемником,


- на фото2 его расположение у прохода в стене,


- на фото3 видны второй датчик, корпус со схемой и мотор с редуктором и П-образным стержнем (синего цвета),


- на фото4 плата и механическая часть поближе,


- на фото5 завеса после прохода кошки,


- фото6, это момент приподнимания завесы,


- и на фото7 расправленная завеса без промежутков.

Видно, что приемник и передатчик датчика помещены в половинки корпуса маркера и закреплены на общем основании . Длина корпуса составляет 6,5 см, диаметр 1,4 см, что дает поле зрения на границе зоны 0,2м ( “близко”) диаметром 5см, на границе зоны 0,8м (“далеко”) – 18см. Это означает, что при диаметре любого предмета 15-20см, попавшего в поле зрения датчика, расстояния будут определяться более-менее правильно. Конечно, передатчик и приемник не обязательно размещать рядом,- все зависит от предназначения датчика.

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

 


Файлы:
Проект MPLAB


Все вопросы в Форум.


ID: 2599