Go Down

Topic: reading a ultrasonic transducer? (Read 5440 times) previous topic - next topic

anchange

I'm a newbie.  How do I read from an ultrasonic transducer?

I'm trying to have these two transducers talk to each other - http://www.allelectronics.com/make-a-store/item/XDR-24/ULTRASONIC-TRANSDUCER//1.html

I was going to have one attach directly to an arduino to emit a pulse.  The arduino itself would generate the pulse timing.  If I just plug the transducer directly into a digital out of the arduino and flip the pin high/low will that be enough power to create the pulse?

The other transducer would attach to another arduino through this opamp - http://www.sparkfun.com/commerce/product_info.php?products_id=9816

Will that work?  Is that all I need to make this work?  What am I missing???

cr0sh

Quote
I was going to have one attach directly to an arduino to emit a pulse.  The arduino itself would generate the pulse timing.  If I just plug the transducer directly into a digital out of the arduino and flip the pin high/low will that be enough power to create the pulse?


No - although you're on the right track with the receiver portion; here's a three-part blog posting about how to (potentially) use similar ultrasonic transducers with a microcontroller:

Part 1: http://www.neufeld.newton.ks.us/electronics/?p=36
Part 2: http://www.neufeld.newton.ks.us/electronics/?p=37
Part 3: http://www.neufeld.newton.ks.us/electronics/?p=42

One thing you'll notice right off is the need for a frequency generator and an oscilloscope; you might be able to get something working without them, but it will likely take some trial and error.

Lastly, you'll notice from the circuits that you need to employ an "amplification" circuit on both the transmitter and receiver; ultrasonic transducers typically take a bit of voltage and current to get a decent pulsetrain out of them, and the reflected pulsetrain needs to be amplified a bit before it can be sensed.

You're on the right track with that op-amp...but the transmitter section needs work.

Good luck, hope this helps.

:)
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

anchange

Wow this is very helpful thank you!!!

cr0sh

One thing to keep in mind, but you rarely see it used in most hobbyist ultrasonic distance sensing setups, is that with the right transducer, you can use a single transducer and a special setup of circuit to allow you to use only one transducer for sending and receiving.

A good place I have found for circuit examples showing how this can be done is found here:

http://www.hexamite.com/

This company sells ultrasonic transducers (they aren't cheap, which is why you don't typically see this on hobbyist level devices), and they supply reference schematics for driver circuits for them.

These kind of transducers (that can send and receive), as noted, tend to be expensive; the cheapest form I have seen (which also has a very narrow pattern with long distance throw, BTW) has been the Polaroid 6500 series system; the company that makes it now is called SensComp, and AcroName is a distributor:

http://www.acroname.com/robotics/parts/c_Sensors.html (scroll towards the bottom to find them)

They are more expensive than your typical "Ping"-style ultrasonic sensors, buy they are nice units, and have been used by hobbyists for decades. The cheapest way to get them are to find old Polaroid cameras (Sun 660 and Spectra, for instance) at a thrift stor and hack the sensor to use them with a microcontroller (there was a recent writeup on how to do this in an issue of Servo Magazine, IIRC). You shouldn't spend more the five dollars for the camera (do not buy one on Ebay - the sellers there are selling to the Polaroid enthusiast market - I don't know how, but there are enthusiasts for that thing - and they charge way more than the cameras are worth).

Other similar send/receive ultrasonic tranducer/sensor packages are the ones made my MaxBotix:

http://www.maxbotix.com/

:)
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

UltraMagnus

#4
Aug 15, 2010, 11:58 pm Last Edit: Aug 16, 2010, 12:08 am by UltraMagnus Reason: 1
the transducers can be driven by transistor apparently http://docs.google.com/fileview?id=0BxZP7V7UPw_zNDA1YTkwMzUtNDdjNi00YjFhLWJmZmItMTAxNDdmNzNlYWRi&hl=en

5v should work, but they really need a higher voltage to get the best out of them.

the polaroid modules are great if you just want a self contained distance sensors, the is a good writeup on the conversion here http://www.uoxray.uoregon.edu/polamod/

cr0sh

Quote
the polaroid modules are great if you just want a self contained distance sensors


The modules have been in use in one form or another since the 1980's, perhaps even a bit further back, by a lot of robotics hobbyists. Polaroid used to sell a kit (basically the same as the SensComp kit; although I think the new kit may be a bit more efficient); hobbyists soon found how to mod the Polaroid camera modules.

The link you posted is a good one for that; some other good links are found on the Seattle Robotics Society site:

http://www.seattlerobotics.org/encoder/may97/sonar2.html
http://www.seattlerobotics.org/encoder/200010/dlcsonar.html
http://www.seattlerobotics.org/encoder/jul97/gensys.html
http://www.seattlerobotics.org/encoder/200008/daniel.html
http://www.seattlerobotics.org/encoder/apr97/sonar.html
http://www.seattlerobotics.org/encoder/nov99/Firstsonar.htm
http://www.seattlerobotics.org/encoder/200002/dougl.html

Recently, in Servo Magazine (July 2010, "Ask Mr. Roboto", page 13), Dennis Clark (who writes the column, and wrote the Seattle Robotics page at the second link, above) was asked how to interface the Polaroid sonar units to the Arduino - apparently it isn't as simple as what was already presented, so he wrote up for the column a new schematic to use with the Arduino, plus some code to get it to work (not sure how well this link will work, but here it is):

http://servo.texterity.com/servo/201007/?folio=13#pg13

Ultimately, the nice thing about the Polaroid camera sonars is that they have a good range, with a fairly narrow "beam" (15-30 degrees), which makes them ideal for "scanning" a room; even so, they do have drawbacks, but information at this link (referenced above):

http://www.seattlerobotics.org/encoder/may97/sonar2.html

...gives some info on how to further narrow the beam, and make it more "accurate"...

For the price (if you can pick one of the cameras up cheap at a thrift store or yard sale), and you don't mind spending time to mod it - it's a pretty good deal.

:)
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

UltraMagnus

seems like a lot of work to save an IO pin, a Schmitt trigger would have have converted the voltage levels.  

I don't know why everyone seems to hate the edge connector that comes on these modules, a standard pin header fits it perfectly...

Go Up