Проект на Болгарском языке.

Автор Румен Желев. Болгария.

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

dp_rjОсновната идея на този датчик на приближение (proximity sensor) е да се управлява светодиодна лента която се използва като осветление над кухненски плот, чрез приближаване с ръка или махване пред него от разстояние около 15см.

Първоначално реших да използвам проекта „Гаджеты для домашней автоматики – Датчик приближения” в режим превключване, като ми допадна идеята с ШИМ (PWM) управление на вкл. и изк. След като реализирах проекта се оказа, че фото транзистора се задейства от дневната светлина и на практика проекта в този си вид не ми вършеше работа.

Най-лесния начин да се избегне този „дефект” е да се постави филтър за дневна светлина пред транзистора и по този начин той да приема само инфрачервената светлина от IR LED.

Това е „Daylight blocking filter ” или „ IR pass filter”.В Интернет има доста информация как да си направим такъв филтър, например LucidScienc .Най-лесно е с осветена филмова лента или диск от флопи дискета.Въпреки това видимата светлина съдържа и IR съставка, която пак ще влияе като светлинна бариера и ще заслепява датчика.

По-лесния вариант е да използваме такъв приемник с вграден филтър, например фото диода BPW83, който както пише в описанието му е с „Daylight blocking filter matched with 870 nm to 950 nm emitters”. За съжаление не намерих фото транзистор с такъв филтър, а фотодиода изисква усилвател на сигнала.

Логично най-оптимално за целта е използването на фото приемник за TV.Той е с IR фотодиод, с вграден филтър, усилвател и като бонус работи на фиксирана честота , най-често 38kHz, така, че вяка IR светлина с друга честота не му влияе и накрая изхода му е с логическо ниво. Подобни устройства има реализирани в 094-Датчик приближения на ИК-лучах (ATtiny13). Там подробно е описано какви проблеми има при такова реализиране и как да се избегнат.Основен недостатък на използването на такъв датчик е, че той е много чувствителен и постоянно се задейства.Избягването на този недостатък се постига чрез регулиране на усилването или “Gain control” в специализирани датчици за тези цели.

Подробна информация за датчиците , режимите на работа , смущенията и всичко, което трябва да се знае може да се намери на страницата на Vishay:

Circuit Description Circuit Description of the IR … — Vishay

Choosing an Infrared Receiver Based on AGC Type — Vishay

Application Overview — Vishay

Disturbance Sources — Vishay

Предимство според мен на датчиците на Vishay е , че освен всичко друго са и с вградена екранировка от EMI, което не е така при други датчици и те се налага външно да се екранират с метален екран.

След всичко това избрах за приемник TSSP4038, който е IR Receiver Module for Light Barrier Systems и е точно това което ни трябва.Има още един датчик TSSP4P38, който има изходен сигнал пропорционален на силата на входа, но за сега не съм го пробвал, а и той изисква друга логика на работа.

clip_image002.gif

clip_image004.gif

По-подробно за избора на датчици може да се види пак на страницата на Vishay

Подобен модул има реализиран от Pololu 38 kHz IR Proximity Sensor, Fixed Gain който ползва SMD вариант на приемника и IR диода, а честотата 38kHz се генерира с таймер 555.

Реализирането на проекта е чрез модифицирането на „Гаджеты для домашней автоматики – Датчик приближения”. За генерирането на 38KHz реших да използван най-новия модул NCO -Numerically Controlled Oscillator, който дава 20 битова резолюция , голяма точност на честотата спрямо PWM модула , не използва таймерите на процесора и понеже е хардуерен модул ,веднъж настроен не се нуждае софтуерно следене или коригиране.

Настройването на NCO:

Особеност е , че във формулата за изчисляване на честотата тя е удвоена 2*38kHz * 2^20/16MHz = 4980 или 1375 в hex

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

Избягването на това чрез модулиране на сигнала и следенето му от един и същ процесор, в случая PIC10F320 е доста трудно и на практика се оказа ненужно.

Тъй като излъчваме 38KHz непрекъснато, а всяко дистанционно излъчва импулси с някаква продължителност, въведох изчакване след приемането на входния сигнал от 25ms, установено опитно , което на практика е достатъчно за да не се задейства от сигнали с по-малка продължителност, включително и когато сме приближили датчика , но точно в граничната област (максималния обхват) и той се мъчи да заработи.Това се вижда от светодиода в изхода на IR приемника, който премигва.

clip_image006.jpg

Последното изменение е, че веднъж задействан ШИМ отпушва/ запушва транзистора напълно и чак тогава се прави проверка за ново задействане, което е с цел избягване на двойно сработване.

Предимствата са, че устройството е малко не се влияе от дневната светлина, луминесцентни и др. източници на светлина, дистанционни , не се налага екраниране имаме плавно включване и изключване.

Като конструктивна особеност е , че излъчващия светодиод беше поставен в термо шлаух за да не сработва лъжливо. Тъй като не мен не ми се налагаше да включвам 5м лента , а 2м ключовия транзистор беше заменен с по-маломощен TSM3404 – 30V/5.8A

clip_image008.jpg

След монтиране на устройството установих , че понякога то се включва без причина и остава така докато не го изключа или не се изключи пак само.Това става случайно и доста рядко и най-вероятно се дължи на смущения в мрежата, понеже обикновено е вечер при изключени лампи, на тъмно и без да има никой в стаята. Решение на този проблем е дадено както бях написал по-горе  Application Overview — Vishay

esd

Реших да използвам друг подход, тъй като нямах място на платката, а и не бях убеден , че това ще помогне( добавяне на още 5 елемента). След анализ установихме, че обикновено този вид датчици се задействат за малък период от време 10-15мин. Реших да добавя нова функция : автоматично изключване след 15 минути .По този начин дори да се включи  ще е само за 15 мин., дори забравено не се налага изключване,  а ако се налага по-дълго светене просто се включва отново. Добавена е нова версия v1.1 с автом. изкл.

При реализирането на проекта се оказа, че MPLAB v8.92 неможе да симулира PIC10f320.  Модула NCO не се симулира, TRM0 също, затова съм прикрепил проект на PROTEUS v8.1 където NCO се симулира добре. Друга особенност на NCO модула е , че в домументацията от Microchip —  Data sheets е допусната грешка касаеща конфигурирането, която е отстранена в друг документ  еrrata, но навсякъде в техните примери е с грешката.

Това е верния коригиран вариант:

errata

А това е в оригиналния Data Sheet:

original


Демонстрационное видео работы датчика.

 


Файлы для загрузки


 

Tagged with →  
Share →
Translate »

Copyright © Catcatcat 2013-2017. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com