Let's Make Robots!

IR Homing Beacon?

I'm looking to build an Beacon, IR or otherwise, that a robot can see and simply drive to. Pretty much like a docking station for the robot to be recharged or a robot that follows you. (unless that's something different...)

I did a few searches, but I've only come up with robots that use a beacon and not how to build the circuit and write the code.

Any help? 

 


Edit: 8.31.09

 

I don't know if this helps, but I'm pretty much looking to build what CtC did here: http://letsmakerobots.com/node/6499

He talks a bit how he does it, but I don't really understand, so I'm just going to have to do more research on how works in general. Like how different frequency signals are encoded, sent, received, and decoded. 

Am I on the right track?

Does this have anything to do with IR serial communication?  

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Lady Ada has a great tutorial about the 38Khz mod/demod problems.  

http://www.ladyada.net/learn/sensors/ir.html

Another approach is to use an odd multiple number of LEDs at different frequencies on the beacon itself and then using the robot's software to tell it whether the signal it sees is the one to the left of center, right of center, dead on, etc. 

It would probably be easier to use an MC to modulate the signal than a 555.  Fewer parts, less soldering, more precise control, etc.

A simple way to make an infrared beacon that will not be mistaken for ambient noise would be to modulate a signal of your choice at 38khz, or some other frequency that an infrared receiver of your choice expects. For one project, I took a 1kHz signal, and modulated it at 38kHz.  Here is the circuit:

 irtransmitter.jpg

You can generate the 38kHz and 1kHz signal using two 555 counter, or even through your picaxe.  You can use the picaxe's PWMOUT command to generate pulsetrain.  I believe there's even a PWMOUT wizard in the software.  I used a value of 470-ohms for R1, but you can change it.  The value of R1 will determine how strong your IR signal is.  The smaller R1 is, the more current will flow through your IR LED (and as a result, the range that your beacon can be seen will be farther)

Since I modulated my signal at 38kHz, I need an infrared receiver that expects a 38kHz modulated signal.  The part I used is the TSOP2138.  The following circuit was taken straight from the TSOP2138's datasheet.

tsop1.jpg

The TSOP2138 demodulates the 38khz signal.  Modulation and demodulation are out of the scope of this forum topic, but in the end, if you complete this receiver circuit, you should see the 1kHz signal coming out of pin 1 of the TSOP2138 if it detects the beacon.  Your picaxe can determine whether or not it has detected the beacon by looking for a 1kHz signal.  For this, I would use the COUNT command to see if I get 1000 transitions per second on the pin. 

This is great! Thanks!
This was a project I had worked on.  It used beacons that transmitted serial data and a reciever that would pick up the signal(and identifier data). All source is included and commented.

This is starting to make more sense now... Thanks everybody! I guess now I start trying to slap something together and if I have any problems I ask for help.

 

You have to have a 38khz modulated signal as a sender --picaxe can do this with no problem. Stick you reciever in the end of a small tube so it can only see what is directly in front of it. That's it. I have also seen configurations where the sender is shielded, but the shielded RX has worked much better for me. Stick this sensor/ tube assembly on the top of a servo to sweep it back and forth and use the servo pos. numbers as a "heading". From there, you just need to use this "heading" number in your drive code to point to where you need to go.

--Benbo, stop giving advice on a project when you have not done the project yourself, Christ!! --You soldered a LED to a battery and stuck it in a box... This helps no one and to people who think you know what you are talking about, get pointed in the wrong direction. Stop wasting peoples' time. 

I've got a question for you CtC: even if the detector has a tube in front of it, wouldn't it still be able to receive light that bounces of walls? 

 light_bounce.jpg

Depends on how long the tube is and how small the hole in the end is. I am using a tube about 1.5" long and about an 1/8" in dia. This set-up will find the beam within 2 servo-step increments.. I.e. servo 4,(150) sees it, servo 4,(148) and servo 4,(152) do not. No wall bouncing.

There was a website someone posted that went deeply into beacon finding AI and things to watch for. A search should bring it up, maybe in forums or websites links (if search decides to play nice).

Essentially the site said to calibrate the power of the transmitter such that the receiver can see it from a goodly distance but not so powerful it floods the whole room and beyond. i.e. perhaps having a pot on the transmitter, sit your bot a couple of metres away, not quite the full length of the room, and increase the power to the LED until the bot just sees it.

I'd use my ir flashlight (continuously on) and 2 ir photodiodes on the 'bot to home in on it. just check which one sees more IR and have it turn until both see equal ir...

possibly you could make it pulse with a cap. to reduce IR noise.

by the way, does anyone know how to tell a white LED from a photodiode short of hooking it up?