Go Down

Topic: Driving a piezo transducer above 20 kHz (Read 5029 times) previous topic - next topic

--james--

I am trying to find a small piezo transducer for my project and I am having trouble finding anything that matches my requirements.  Here is what I am looking for:

Frequency Range: 1 kHz to 30 kHz or so
Loudness: 50-60 dB
Voltage/Current/Power: 5V, 20 mA, ~100 mW (suitable to be driven directly off Arduino digital output)

These requirements are somewhat flexible, so I'll briefly describe what I am trying to make.  This is for a robotic cat toy, and I want it to be able to beep and squeak.  I would like to make some sounds that are audible to humans, but I would also like to be able to make some tones that are outside human hearing (nominally 20 Hz to 20 kHz), but audible to my cats (nominally 50 Hz to 64 kHz).  I think that a frequency of 30 kHz as a top end would work as it is guaranteed to be higher than a human can hear.  Tones in the 20-21 kHz range are annoying to me because I can just barely hear them.  I want the tones to be reasonable volume, meaning loud enough to match a normal conversation but not so loud as to be frightening for my cats.  I am essentially looking to be in the same general range as an ultrasonic squeak made by a real mouse.

For the power requirements, I would like to be able to drive this directly off the timer1 circuit in an ATmega328.  I am not using an Arduino specifically, but I am using the Arduino programming environment for the Pololu Baby Orangutan B (ATmega328).  I'm trying to keep the whole thing very light.  It's a very small robot driven by two tiny motors so it would be great to have something that is under 1 gram or so.

It seems that most manufacturers don't provide data for the frequency response curve above 20 kHz.  Of course this makes sense with respect to human hearing, but for my application this is a bit annoying.  Pui Audio makes a piezo that seems to be a possibility, but I am unsure if it will put out any reasonable amount of sound if I drive it up to 30 kHz.
http://www.puiaudio.com/product-detail.aspx?categoryId=2&partnumber=AT-0927-TT-2-R#

Does anybody have any experience driving a piezo out of its normal range?  The primary resonance for the above piezo (AT-0927-TT-2-R) occurs at 2730 Hz.

Thanks!
James

DVDdoug

#1
Dec 16, 2013, 07:55 pm Last Edit: Sep 07, 2017, 11:35 pm by DVDdoug
You might just have to experiment.   There are Piezo Tweeters that are rated over 20kHz, but you rarely see a response curve or any indication of how much output you get at any given frequency.   And they are too large for your application, unless you wanted to try hacking one up.

Since I assume, you don't have any way of testing above human hearing, you might have to train the cat with a food treat at lower frequencies (within your hearing range), and then test at higher frequencies to see if the cat responds.

Quote
Tones in the 20-21 kHz range are annoying to me because I can just barely hear them.
In that case, I would think 22kHz would be high enough.   But with square waves, you may excite a resonance and you may hear "something" when driving the transducer above your range of hearing.

--james--

Thanks for the link.  I don't mind having to hack an assembled speaker driver, especially given the low price of some of these units.  However, these piezo elements are mostly intended to be driven by an amp at much higher power levels than I will be using.  As far as I can tell, the size and power requirements of standard audio equipment are no good for my application.

retrolefty

That specific transducer is rated at:

Quote

Frequency: 2730 +/- 500Hz


It's output will be drastically lower above and below those limits. You would be better off looking for hi-fi stereo tweeters that can cover the frequency range you need driven with a small audio amp module/chip that also has suitable bandwidth.

Lefty

--james--

The 2730 ± 500 Hz is just the location of the first resonance mode, not the entire frequency range.  The advertised range is 1800 Hz to 20 kHz.  The output will certainly drop off at some point above that, but I suspect that 20 kHz is the top of the chart because that is where they stopped testing, not because the output suddenly drops off.  Clearly it will decrease below a usable point at some frequency, but it isn't graphed.

retrolefty


The 2730 ± 500 Hz is just the location of the first resonance mode, not the entire frequency range.  The advertised range is 1800 Hz to 20 kHz.  The output will certainly drop off at some point above that, but I suspect that 20 kHz is the top of the chart because that is where they stopped testing, not because the output suddenly drops off.  Clearly it will decrease below a usable point at some frequency, but it isn't graphed.


But the energy outside of it's fundamental frequency band would just be harmonics of the fundamental with amplitudes several decades of db loss relative to the fundamental even for just the first few harmonics? It's just the wrong transducer to use  IMHO.


--james--

I agree that its the wrong transducer.  I'm hoping that somebody will know of a transducer that would be more appropriate.  The link was really just supposed to be an example of the general size/weight/power that I was looking for.

The topic of the resonance for this particular piezo is kind of a side note, but there are many more resonant frequencies than just the primary mode and the harmonics.  Unlike a string or a simple pendulum, a 3D solid has many different modes.  This is why frequency response curves can have many peaks and valleys in seemingly random places.

monkeysarduino

Hi James, did you end up finding a good piezo for your application?  Did the cat toy work out?  Thanks!

Grumpy_Mike

James is no longer a member see his posts are marked guest - he will not be able to reply to you he will not get notification of your post.

Please start your own thread stating your own needs.

Go Up