Let's Make Robots!

mini ir beacon

So this is the mini ir beacon I've had mulling around but never got around to building one....or finally built it. I'll post the current code for this in a bit.

The circuit is pretty basic in that it just uses a picaxe, an ir emitter, led, some resistors and a npn transistor. Ialso wanted to keep it small(hence the mini) so decided to use some lr44 batteries to get around 4.5v out. The battery holder was fashioned out of some 18ga colid copper wire which does a great job of holding things together.

 The setup

pin 2 of the picaxe goes to the collector and this is the where the 38khz carrier comes from

pin 1 is the serial data that goes to the base. There is also a led connected to the base so any signal that goes out causes it to blink.

The main ir extender uses a 2 pin m to f connector at the bas of the unit so I can easily remove it and modify it for other purposes.

 Expanding on the system to utilize the rest of the axe options to make it configurable.

 I plan to expand this to take advantage of the other couple pins that aren't in use. pin 3 will be used as a simple button input.

pin 4 will be used to tune serial signal via adc input and based on a set of predefined strings that I will want to send out.

The application flow would be something like so: turn on beacon, have a delay that waits to see if it will be tuned(input 3 is triggered). if not, read variable in stored memory to find out what signal to  output. go to beacon mode.

if 3 is triggered read stored memory and output the current beacon setting.

when 3 is triggered again, this sets the config mode. 

read adc and output blinks from pin 1 to let user know which beacon definition  the proc is configured to.

when this is set trigger input 3 again to set the beacon output string to memory. go to beacon mode.

the setup switch and dial to set the beacon will mounted on a small perfboard so as to be used on multiple beacons.

images of the beacon so far.

mini_beacon02.jpgmini_beacon01.jpg

 

Edit:

I have the receiver side as well, which be be another post later.

To expand a little more, the configurable ones could be set in a different room/location while (dummy)beacons using 555/556 timers  can be set in the room/location  to help in triangulation. These should be simpler and cheaper to build.

 

Edit 5/24: -code update -see new post

Edit 5/25 -code update -see new post file size 2.83k

Edit 6/14 - added video of ir beacon and receiver in action.

AttachmentSize
38khz_code.bas3.77 KB
beacon_test_tracker_use_ctc_method.bas2.42 KB
beacon_test_tracker_use_ctc_method.bas2.83 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
looks awesome, cant wait to see this in action with a tracker or something. Keep us updated
could the ir reciver on a picaxe 28x1 detect this becon?
yes

Yes, and I actually run another 08m on the receiver side but any proc can be used(I've used an arduino and bs2 already as tests). I'll post a schematic of this along with the code that I've used. I have I have not written the expanded code that I mentioned above for configuring the devices, but I figure that'll be pretty easy to do.

I'm currently working on a receiver end and tracking the ir beacon though not successfully...I think I  mayhave made it overly complex...  :/

I'm going to work with ctc's code to see if I can get better results.

i was planing on having 4 or 5 "fake" and 1 "real" beacon hiden arround the house for my robot to find and your desing is very compact so it would be perfect if i can get it to work! 

This is a link to the other sub project that I worked on to use the ir beacon. This is when I was working with ctc to get some wireless stuff up and running.

I posted the code there.

The 38khz code 2 file is the ir beacon code. I've tried to get as much commented as possible so people could understand it. Let me know if you have any questions on it.

I have to note that the timing and that first high low high prior to sending out the signal seemed to improve overall readings though I think this is due to the fact that I'm using an interupt to detect the serial signal on the receiver end, so this would be a hello, then I 'd read the input.

The bt test file is the receiver end of things, though I have to note that I modified it heavily due to needing to use a servo to do directional location, one area being the frequency as I was using 8mhz which didn't jive with other components I was working with. but this will give you an idea of what you need to do.

I'll post the modified version when I have it improved as I'm still not happy with it.

 

EDIT: also if you have any material on how you're going to make the dummy ones, I'd love to check it out. I have some ideas....but never hurts to see what others might use as well. For mine I currently plan to use a 555 or a 556 dual timer chip as they seem to be the most basic out there. :D

Thanks ! for the moment I wont be able to work on them because the total off all the parts is a bit high! and it is nearing the en of the school year so that means tests !

I didnt know much about 555 timers but got some info on them from a post on LMR, and for my project they wont work because they can only emit IR signal (at least i think).

I was planing on mounting an IR receiver to a servo on top of my robot so that it could find an IR source comming from a certan dirrection, like CTC's Free Range Robots (IR Beacon). The difference is that my robot will hopefully be able to emmit an IR signal as well( dont know how yet ).

What will happen is when the robot find and IR singnal from one of the beacons, if it isnt the right code comming from the beacon my robot will send an IR signal to turn it off and contunue looking for the "real" one that will later, if i am able to, become a charging base.  

just for the record, I'm lookin at  using the 555/556 to generate the 38khz carrier signal. I'll send a seperate pulse on that carrier.

I'll post the ir receiver setup that I have as it's what you are discribing.  :D

I'm was looking at doing something very similar to what you are talking about, though my concern is the power requiriments, but I may have that figured out....

I got this little toy sort of trigger sensor it's like an intrusion sensor that when set off sends a signal to the base station. I took one of the 3 sensors appart and figured I could use these three sensors as way points.I wanted to put an emmiter and receiver on each of these waypoints but remove the actual sensor and just use thethe transmitter inside. The base station I would hook up to another microproc that would be connected to a computer and let me know at which waypoint the bot was at

The plan was to have the waypoint send out a a constant signal that the bot would home in on. when the signal strenth was high enough, the bot would let the waypoint know it was close. then go to the next one. It's quite similar to what you are talking about. I think I put it in a post a while back...just haven't gotten to it yet...aside from taking the waypoint device apart.  :D

 since I have a bs2 homework board I figured I'd hook that up to the base station side...I put pics of this stuff up as well.

 

Here are the parts.

base_plus_waypoint.jpg

 Above is the base statio(note the 3 leds onthe bottom)each of the way points(right side exposed)transmit and can trigger one of the three channels. I canpic that up via digital pin to know which was triggered.

beacon_plus_otherparts.jpg

 I tried to make the ir beacon board(or mounted components) small enough to fit inside the waypoint.

 

beacon_seeker_1.jpg

 This is the ir seeker mounted on a servo.

beacon_seeker_2.jpg

The board side of the seeker

Thanks for the pics! I looks like you are way ahead.

I was worried about the power requiriments aswell, I think I might have the beacon go into sleep or hibernate or some other form of cutting power to the chip after it receives a comand from the robot.  

I'm going to do the typical, brown out detection off and a couple other things to try and conserve power.  I haven't checked the power consumption of the beacon just as a standalone sender without the  receiver  or anything else hooked up but I expect it to be low. I've had the beacon running for a 24hour period so far to see if it would last through a day and so far so good. I dont run any resistor on the ir emmiter since it's running though the pwm and only gets hit when I send the l/h/l signal and serial out. I don't think this is enough to fry it and I've meant to add a low 30-80ohm resistor at some point. I do however plan to have 2 emitters and up to three for a tri directional beacon. for those I'll be using a 30-80 ohm resistor.

For the receiver I plan to use the same trick of using the interrupt to trigger the reading of a signal. This should also preserve power.

Just another note, I'm running the beacon on the lr44 button cells...nice and small but yeah, they'll only last so long. End goal for this is to use rechargeable cells, nimh and solar power to charge it through the day.....I know this is a tall order for all of this stuff...but still,when I start projects I do big projects.  :D

Now go ahead and ask me what the big project is that i plan to use all of this on and I'll tell ya about a small plot of land I have in the desert that I plan on doing some experiments with. I actually plan to open it up to other roboteers for the big project.

You could say this is my local global lmr project.