Let's Make Robots!

I'm getting sick of Sharps --Is there something better?

Alright, this is it... I am anti-sharp distance sensor. I spent over a week fighting noise on the power side which screwed with my RF reciever. I have fried them because thier pin-out does not match the configuration of a servo connector or the picaxe 28x board. Thier numbers jump all over the place. Now it seems that all four of the ones I have are "worn-out". By that I mean this:

I added a .1uf cap to deal with noise and now it seems they won't output anything without the cap attached. My picaxe will not sync while even just one sensor is plugged in. On top of that, all of them are spitting out a measurement of 50 or so when looking at infinity and the total sensing distance is down to about 10 or 12 inches maybe less. I am sick of dealing with these silly things and do not want to spend more money replacing the ones I have.

The Problem:

I have to have a minimum of 3 sensors on Walter to deal with his width. A SRF05 centered on a servo is a given thus leaving the needed sensors to catch the corners and sides. I have looked at other sonar systems (the ones with just the single black emitter (SRF02?) and even thought about just spending the bucks on 2 more SRF05's. The issue is (especially with the "single emitter" (which fire constantly)) is interference from sensor to sensor. In many instances I will have 2 sensors firing almost directly forward and the ultrasound from one will screw with the readings of the others. (All 3 sensors must be able to turn via servo). I have looked into some of our fellow LMR'ers IR distance systems but I just can't seem to get the distance I need.

What the hell can I do here?!?! Does anyone know of an upgraded Sharp? Is there a quality IR distance sensor out there? Something? Maybe a 180 degree sensor that does not have to be swept with a servo? 

Oh, and I don't have a lot of cash. 

For the love of God, help.


Just had a thought:

Has anyone tried any of the home made IR distance sensors with a lens or two to increase distance/ sensitivity? --Maybe I should experiment a bit...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
I would go with the maxbotics sonars. Take a look at this pdf about chaining several together Chris. Wire each one to an ADC for readings, plus have a digital pin to tell them when to start. They take turns pinging the distance so you dont have to worry about crosstalk.

There are several ways to go on this: Ultrasonics from canibalized Polaroid cameras:


And IR: Probably 10 years ago I was researching this subject for one of my bots. You can see the IR LEDs and Sharp receivers on the front of the bot.


I discovered you can get fairly accurate distance measurments from a high powered IR LED and a Sharp IR receiver module like was used in TV's and VCR's of the time. I'll try to find my schematics but basically you use an NE556 dual timer to drive the LED. One side of the timer forms a 40kc oscillator with a 50/50 duty cycle. This is the "carrier frequency" of the Sharp receivers. The other half of the timer is a 1kc oscillator that gates the 40kc on and off at a 50/50 duty cycle. The width of the output pulse from the Sharp receiver is proportional to the distance. As I remember, it was pretty accurate out to about 10 feet and costs less than $10.00 to build. You can use any number of methods to turn this time period into distance.



This is another of my bots using the Polaroid system out of junked cameras. The body was a vaporizer purchased at a drug store new for about $10.00.

I've heard about the polaroid...only thing is I could never get myself to canibalize a camera...as a photographer, destroying a camera is  sacrilege.....
I think I can speak for everyone here... We are all VERY interested in your system using the "VCR sharp sensor". I would assume this is similar to the 3-pin 38khz units we are using now on our picaxes. Now, in terms of the LED frequency, we can skip the 555 or 556 as the picaxe chips can easily do this via the PWM at any freq or duty cycle. Could you give us some more info about the receiving side of things? --Exact parts, psudo code etc...
I found a similar system, kinda-sorta. It seems you are talking about the "3-pin" sensor except at 40khz instead of the 38k used in remotes. I can see where this is going. Again, need...more...input...

3 pin modulated IR receivers include the Sharp GP1U58Y series (old square metal can)  see this picture, lower right :


Also the Panasonic PNA4602 (small better plastic module), Lite-On modules (metal can) sold in Radio Shack, some Sony modules I can't remember. Search DIgikey or Mouser for IR receivers. They come in various "center frequencies" and have been used in ranging detection successfully by increasing/decreasing IR LED drive or even shifting off frequency slightly while averaging input signals. Lots of trial and error in charecterising though.

So multiple emitters received by multiple receivers is a problem huh? Eliminate the muliple emitters then.

Have one emitter broadcast omnidirectional chirps. Use multiple directional receivers to interpret the echoes.

OK, it seems I have generated some interest and more than a few questions with my post about IR distance measurment. I haven't found my old notebooks yet, (still packed away after the move), so I'm going from memory here.

As I explained in the previous post, the transmitter produces 40Khz bursts with a 50/50 duty cycle because that is what the Sharp GP1U52X IR receiver module expects to see. The module was used extensively in the 80's as the IR remote receiver module in many TV's & VCR's. It was also sold by numerous outlets like Radio Shack, Electronic Goldmine, All Electronics, etc, for a couple bucks. It is a 3-pin device that has ground, VCC, and output, (open collector needs a pull-up resistor).

The module consists of a detector, (pin diode I believe), PLL, and output section. Sony sold a similar module and both were available in 38Khz and 40Khz versions. Implementation is very simple and exploits a characteristic of PLL's in order to work.

Lets say, for example, that the PLL in the Sharp module requires 5 cycles of a 40Khz signal to lock and output a signal. This is a constant. The signal we are producing with our 567 circuit is also a constant with the same number of cycles produced in each burst, (let's say 1000). At zero distance, the output switches for the period of 995 pulses and would appear to be "on" 100% of the time.

As the distance increases, some of those pulses are "lost" due to refraction, absorbion, etc. It still takes the same 5 cycles to turn on the PLL but now there are fewer cycles to keep it turned on. The output remains switched for a shorter period. So, the output period is inversely proportionally to the distance measured.

If you just need simple proximity detection, you can feed the output to a simple window comparator to give you an output at any specified distance.

Or,you can use an integrating capacitor and measure the average DC developed accross it.

For more exact distance measurements, you can use a processor to measure the pulse width and compare that with your custom "look-up" table. The custom table is necessary because due to the particular LED you use, placement, driver current, etc, measurements can varry from circuit to circuit.

Hopefully I have given you enough to play with the circuit on your own.

Ok, circuit gurus...

Picaxe can input a pulse width with no problem. And Salvage seems to have given you guys a ton of usful information here...

The question is, why have you guys not already drawn up a schematic, jpeg'ed it, uploaded it, explained it, shown me how to input it to a picaxe, and given me a code snippit? :)

Seriously though, In my brain I understand fully what is going on here with this system --However with no elec. engineering background... I mean, I don't even know how to calculate what capacitor will give a 38k or 40khz signal. (Begging now) is there anyone out there that can make this a little more tangable? 

God Bless and Go forth.

I have just re-read the post a couple times and man, even with my total lack of knowledge on the subject I think I could actually get this going. I mean, with no exterior help. --Not that I still couldn't use it...