Go Down

Topic: Ultrasonic Range Finder (Read 3902 times) previous topic - next topic

adjit

Apr 23, 2015, 06:07 am Last Edit: Apr 24, 2015, 02:08 pm by adjit
So I understand that a typical ultrasonic range finder works as below:


My idea is to essentially take away the returning wave and basically have a one way signal that will track a moving object with the transmitting sensor.

The transmitter and receiver are independent of each other, however, the challenge is to overcome calibration. This can be resolved by having a fixed starting position for the transmitter. The transmitter simply needs to be powered and maintain a consistent ping interval, and since we know the starting position of the transmitter relative to the receivers when the transmitter moves we can figure out what direction it is moving because we can track the different delays to each receiver. I don't necessarily need to know the exact distance of the object, I just need to know the position relative to the starting point.

In theory this sounds like it could work, but does this sound like it is doable? Would anyone be able to tell me a good ultrasonic independent transmitter and receiver that could work with arduino?



Progress:
I have found a good independent ultrasonic transmitter and receiver that seems like it could fit my needs. If you look at some of the videos at the bottom of the page (primarily the one with the oscilloscope) you can see the 40Khz wave that is being received. Now I just need to figure out how to determine the distance if the transmitter is always on...

Does anyone have any ideas on how I can measure the distance of the transmitter to the receiver?
- Transmitter will have a fixed starting position x cm away from the receiver. x will be known
- The transmitter will be always on at 40Khz when it is moving, however thinking about it I may need to have it pulse - am I correct in thinking this? if so how should I go about achieving this?

Wawa

Did you also think about the wavelength.
These ultrasonic devices work on ~40Khz IIRC.
That generates peaks and nulls about 4mm apart.
Leo..

adjit

#2
Apr 23, 2015, 06:27 am Last Edit: Apr 23, 2015, 06:32 am by adjit
I do not have any experience with ultrasonic devices.

Could you break that down into laymens terms please?

How does the 4mm separation between peaks and nulls affect this?

I also have no idea what IIRC means...

Wawa

#3
Apr 23, 2015, 07:32 am Last Edit: Apr 23, 2015, 09:08 am by Wawa
In dry air at 20 °C, the speed of sound is 343.59 metres per second (wikipedia).
In milimeters: 343590/40000 = 8.59mm (full wave).
Two tops and two nulls per sine wave.

IIRC = if I remember correctly.

Your idea might still work. You just have to know where the gremlins are.
Leo..

johnwasser

To get an easy answer you have to add a radio trigger to trigger the transmitter and all the receivers at the same time.  Each distance specifies a sphere and where the spheres all intersect you will find the transmitter.

Without a simultaneous trigger you will only have the differential time of arrival to go by.  That will tell you that the distance to the first receiver is 'n' cm shorter than the distance to the second receiver.  I think that defines some kind of hyperbolic plane.  Each pair of hyperbolic planes will intersect at some curved line in space.  Enough planes (3?) and you find where the curved lines intersect.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

adjit

To get an easy answer you have to add a radio trigger to trigger the transmitter and all the receivers at the same time.  Each distance specifies a sphere and where the spheres all intersect you will find the transmitter.

Want to avoid having to use some form of radio trigger for the transmitter and receivers. Is this really necessary? Because if I can get a baseline ping distance for each of the 4 sensors I should be able to determine which direction the transmitter is heading in.

Without a simultaneous trigger you will only have the differential time of arrival to go by.  That will tell you that the distance to the first receiver is 'n' cm shorter than the distance to the second receiver.  I think that defines some kind of hyperbolic plane.  Each pair of hyperbolic planes will intersect at some curved line in space.  Enough planes (3?) and you find where the curved lines intersect.

You lost me when you started talking about hyperbolic planes   :smiley-eek:
I am new to transducers / ultrasonic range finding - so I am just trying to gather all of the necessary information required.

However, I have been trying to understand Kerry Wong's DIY ultrasonic range finder but most of this is still gibberish to me. My idea being to create the 4 receivers and a singular transmitter that when you hook it up to power it continuously sends out pings at a fixed frequency.

Undermentioned

Want to avoid having to use some form of radio trigger for the transmitter and receivers. Is this really necessary? Because if I can get a baseline ping distance for each of the 4 sensors I should be able to determine which direction the transmitter is heading in.

You have to add a radio trigger to get the receiver and sender in sync these ultrasonic sensors are very time sensitive, ive done a project with them like yours but with only 2 receivers it works very well.

If you do not use a simultaneous trigger and you work out the shortest distance in cm to get your position just note your receivers need to be +- 30cm apart from each other to get a good differential reading between all the receivers .

M...........

adjit

If you do not use a simultaneous trigger and you work out the shortest distance in cm to get your position just note your receivers need to be +- 30cm apart from each other to get a good differential reading between all the receivers .

That can work - I have a 15"x15" sheet of ABS plastic that I got from servo city. Would you be able to show me your design / how you did this without a radio trigger and what ultrasonic transmitter and receivers you used?

Magician

It's not necessarily to place transmitter on moving object, you can trace "passive" things.
http://hackaday.com/2014/08/24/a-virtual-touchscreen-3d-ultrasonic-radar/

All depends on distance and resolution you need to achieve, you know wavelength and elementary school geometry (?) , do your math to see if you can get away w/o phase calculation, simply have 4 synchronous receivers.

adjit

That's an interesting concept, however that would not work for me, because I need a range of more than 3m. The transmitter is going to be moving far away - 10+m

I think I know what I need for now -

At least for proof of concept I am going to need to get 2 ultrasonic transducers - most likely 40Khz and then test to see if I can track distance and even create a transmitter to constantly send pings.

adjit

#10
Apr 24, 2015, 02:08 pm Last Edit: Apr 24, 2015, 02:10 pm by adjit
I have found a good independent ultrasonic transmitter and receiver that seems like it could fit my needs. If you look at some of the videos at the bottom of the page (primarily the one with the oscilloscope) you can see the 40Khz wave that is being received. Now I just need to figure out how to determine the distance if the transmitter is always on...

Does anyone have any ideas on how I can measure the distance of the transmitter to the receiver?
- Transmitter will have a fixed starting position x cm away from the receiver. x will be known
- The transmitter will be always on at 40Khz when it is moving, however thinking about it I may need to have it pulse - am I correct in thinking this? if so how should I go about achieving this?

AWOL

Quote
Now I just need to figure out how to determine the distance if the transmitter is always on...
How long have you got?
"Pete, it's a fool (who) looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.

adjit

How long have you got?
Care to elaborate?

I am assuming that means it is impossible. Because if the transmitter is always on at 40Khz there is no way to figure that out.

Instead what I think I need to do is make a circuit that can pulse the transmitter on/off at a certain interval that I can control. Maybe I'll be better off getting an adruino micro and programming that to pulse at a certain interval. But I believe this can be done with a circuit. Do you have any ideas?

Wawa

Instead what I think I need to do is make a circuit that can pulse the transmitter on/off at a certain interval that I can control. Maybe I'll be better off getting an adruino micro and programming that to pulse at a certain interval. But I believe this can be done with a circuit. Do you have any ideas?
A 555 timer is common and cheap. Easy to make a 40Khz transmitter with that.
A second 555 can be used to turn the transmitter on/off with a certain duty cycle.
You can also use one 556 that has two 555s in one IC.
Plenty of diagrams online.
Leo..

Magician

Quote
Does anyone have any ideas on how I can measure the distance of the transmitter to the receiver?
- Transmitter will have a fixed starting position x cm away from the receiver. x will be known
- The transmitter will be always on at 40Khz when it is moving, however thinking about it I may need to have it pulse - am I correct in thinking this? if so how should I go about achieving this?
You can't get distance, even with pulsing transmitter. Reference timing required, for example:
 - RF ping (reply #4 already advised this option);
 - IR ping, though it's not clear what distance you want to measure, IR can't traveled too far;
 - two parts ( transmitter & receiver ) synchronized to the same clock (GPS) - costly, you need 2 GPS ;
 - two parts have precise OCXO, and "preset" initially, not cheap again.
So, reply #4 is the best option, with a radio set bundle 434 MHZ for 1-2$

Go Up