Obstruction Detector With 12C508 IR


Description
This project is inspired by the DPRG IRPROX project. They have a pretty good PCB layout and idea. I would like to thank them for posting their project for all of us to see and learn from, I wouldn’t have started PIC programming without them, or at least not nearly as quickly come up to speed! The pinout on my board allows either a five-wire or a four-wire connection to be made the former uses a disable line if desired. You can also put in a resistor or use a trimpot to adjust range. The trimpot locations are very generic, most pots will fit. Be careful not to adjust pot to 0 ohms! The IR proximity detector works very well, even in a brightly lit “noisy” environment. Instead of modulating the IR LED for 600us and then looking for a detection, I now look for a detection after every on/off cycle of an IR LED and count the number of hits that I get. I also look during the ‘off’ cycle when none of the IR LEDs are on and count the number of false hits that I get there. If I get more good hits than false hits then I say its a true detection. I then increment a counter as a sort of timer, when it passes a certain threshold, I notify a hit. At this time I check to make sure that a minimum number of good hits has been attained. At the same time I keep track via another time-out counter of noise hits. When this counter passes a certain threshold it then removes any detection that has been set. I fiddled a lot with the various threshold values for minimum number of good hits, time-out values and divisors for updating the false hit counts, and finally settled on the ones that currently used. I’m calling it a success and moving on to other projects! The source code for the, uhm, DLC IR proximity detector can be downloaded below as well as the PDF documentation for this kit.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international calls