39 kHz IR Beacons for Robot Detection & Navigation
I wanted to share my recent findings on creating simple, cheap·IR beacons that our Scribbler & BoeBots can detect. There have been numerous posts about IR signals, and·especially good info on sending data back & forth between two Stamps. My interests have to do with robot navigation, and sending out a detectable IR signal from one or more stationary beacons. A number of posts, and at least one ROBOT magazine featured Propeller-powered project, suggest using Roomba virtual walls or microprocessor-controlled beacons. These options get expensive when more than one beacon is desired. I wanted a cheaper·circuit·using·readily available·parts.
BTW, there is lots of info out there, and plenty of great Parallax downloads. I read through most of that to reach a solution.
IR control signals are essentially·Morse Code-like·pulses on a carrier frequency of 38-40 kHz. I·favor 39 kHz for wide compatability.·You can build a very simple circuit to generate an unmodulated 39 kHz·IR signal using a 555 timer. While easy to understand and construct, this will not yield a usable signal.
Most IR receiver modules (including the one built into the Scribbler robot, and probably in the Boe-Bot kit) won't give a continuous low output signal when receiving a continuous 39 kHz carrier. They'll drop low for less than a second, then go high until the beam is interrupted once again. They are optimized for receiving a modulated signal, not detecting a steady one. Waitrony DOES make a special IR receiver module (identical packaging, just a different model number) that can detect an unmodulated signal. I don't have the·model number handy, but I'll get it and post it ASAP.
After some legwork, I DID make an IR beacon from a 556 timer that a standard IR receiver module (such as found in the Scribbler/BoeBot) can detect. The 556 is a dual 555 timer, and·my circuit·uses one timer to generate the 39 kHz carrier and modulates it with the other timer. Additionally, I can make multiple beacons modulated at slightly different frequencies, and the Stamp/Robot can·distinguish between beacons·using the COUNT command to count received pulses in a given interval.
A standard 556 tone burst circuit won't work, because it outputs a 50% duty cycle and most IR receiver modules just don't like that; they respond intermittently, just·like a·simple 555 oscillator. I found a great website with 555/556 info at http://www.kpsec.freeuk.com/555timer.htm·and they showed how adding one simple diode can drop the duty cycle below 50%. The IR receiver LOVES that. I'm attaching my beacon circuit here for interested parties. The modulation frequency is ~1.35 kHz with the values shown. Tweak the RC values on the LEFT side of the schematic to vary the modulation frequency if you want several distinctly different beacons for whole-house navigation. The right-side components generate the 39 kHz signal. You can adjust that to 38 or 40 kHz with the 10K pot based on your particular receiver module.
I used two Radio Shack IR LEDs aimed ~30 degrees apart to send a wider beam. Using the series 82-ohm resistors shown, my Scribbler can detect and track this·signal reliably from 20+ feet away. Hope this info helps anyone going down this road.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
BTW, there is lots of info out there, and plenty of great Parallax downloads. I read through most of that to reach a solution.
IR control signals are essentially·Morse Code-like·pulses on a carrier frequency of 38-40 kHz. I·favor 39 kHz for wide compatability.·You can build a very simple circuit to generate an unmodulated 39 kHz·IR signal using a 555 timer. While easy to understand and construct, this will not yield a usable signal.
Most IR receiver modules (including the one built into the Scribbler robot, and probably in the Boe-Bot kit) won't give a continuous low output signal when receiving a continuous 39 kHz carrier. They'll drop low for less than a second, then go high until the beam is interrupted once again. They are optimized for receiving a modulated signal, not detecting a steady one. Waitrony DOES make a special IR receiver module (identical packaging, just a different model number) that can detect an unmodulated signal. I don't have the·model number handy, but I'll get it and post it ASAP.
After some legwork, I DID make an IR beacon from a 556 timer that a standard IR receiver module (such as found in the Scribbler/BoeBot) can detect. The 556 is a dual 555 timer, and·my circuit·uses one timer to generate the 39 kHz carrier and modulates it with the other timer. Additionally, I can make multiple beacons modulated at slightly different frequencies, and the Stamp/Robot can·distinguish between beacons·using the COUNT command to count received pulses in a given interval.
A standard 556 tone burst circuit won't work, because it outputs a 50% duty cycle and most IR receiver modules just don't like that; they respond intermittently, just·like a·simple 555 oscillator. I found a great website with 555/556 info at http://www.kpsec.freeuk.com/555timer.htm·and they showed how adding one simple diode can drop the duty cycle below 50%. The IR receiver LOVES that. I'm attaching my beacon circuit here for interested parties. The modulation frequency is ~1.35 kHz with the values shown. Tweak the RC values on the LEFT side of the schematic to vary the modulation frequency if you want several distinctly different beacons for whole-house navigation. The right-side components generate the 39 kHz signal. You can adjust that to 38 or 40 kHz with the 10K pot based on your particular receiver module.
I used two Radio Shack IR LEDs aimed ~30 degrees apart to send a wider beam. Using the series 82-ohm resistors shown, my Scribbler can detect and track this·signal reliably from 20+ feet away. Hope this info helps anyone going down this road.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
bmp
674K
Comments
beacons and if so, when does the infrared from one transmitter
interfere with another?
humanoido
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
Post Edited (erco) : 4/21/2008 2:09:24 AM GMT
Replacing the similar-type unit found in Scribbler and BoeBot applications would make receiving certain non-standard signals possible, including a continuous signal from an ultra-simple 555 timer beacon.
Having said that, they·appear difficult to locate. I work in a lab with several samples of each type receiver, but a quick Google and·Digikey search didn't reveal any online sources. Will advise if I learn differently.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
humanoido
If anyone is interested, send me a private email.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."