High frequency speaker

Hello. I am making a project that requires a speaker with high frequency, about 20 kHz. I don't know much about speakers so what could be the best option for me? I am thinking about piezo speaker but I can't find one. It will be connected to arduino or similar microcontroller. It would be great if it would work without external circuit. p.s. I don't know much about voltages either.

[u]Here[/u] is a piezo tweeter.

You can also Google "piezo transducer".

Piezo tweeters are usuallt very resonant about one frequency, a super-tweeter might be better behaved across a wider frequency range. For instance: https://cpc.farnell.com/peerless-by-tymphany/oc16sc04-04/oc-tweeter-16mm-neo-4-ohm/dp/LS05101 - don't believe those power specifications though, that's marketing lies I'm afraid, but the freq. response covers 10--30kHz reasonably well.

I don't know much about voltages either.

The regular Arduino puts-out zero or +5V (no analog) which means the tone() function gives you a 5V peak-to-peak square wave. Just about any piezo transducer can handle that. (The Arduino can't put-out enough current to directly-drive a 4 or 8-Ohm speaker.)

5V peak-to-peak is the "equivalent" of about 1/2 Watt into 4 or 8 Ohms.

The sensitivity/efficiency (dB) rating is usually measured at 1W and 1 meter. So, I'd assume about 91dB (half power is -3dB) or maybe less, considering that the output of a speaker usually drops-off around 20kHz.

I don't believe those power specifications though, that's marketing lies I'm afraid,

True, but that tweeter can probably handle normal audio from a 50W amplifier.

Speaker power ratings are tricky, and manufactures do sometimes fudge the numbers...

First, a "50W" speaker is supposed to handle a 50W amplifier that's not clipping (not distorting) that's playing regular program material. That means peaks up to 50W with an average of 5 or 10W. You can fry it with constant 50W test tones.

Next, a "50W" tweeter only has to handle the high-frequency part of the audio (depending on the crossover* frequency). With normal voice or music, most of the power is in the lower frequencies so a "50W" tweeter can probably only handle a couple of watts when playing continuous tones.

Finally, piezo transducers are high-impedance (and mostly capacitive) which means you don't get as much current which means you don't get as much wattage. i.e. With a 50W amplifier, you can't "push" 50W into a piezo tweeter. But, I would assume that 75W maximum spec means you shouldn't use an amplifier rated for more than 75W, even though you're never going get that much power out of a piezo.

  • Since piezo tweeters are capacitive, you get lower current (and lower power) at lower frequencies so you can "get by" without a crossover.

So Arduino would work fine with: https://cpc.farnell.com/peerless-by-tymphany/oc16sc04-04/oc-tweeter-16mm-neo-4-ohm/dp/LS05101 or would it need some external parts? Let's say I need 20 kHz for 3-5 meters distance.

So Arduino would work fine with: https://cpc.farnell.com/peerless-by-tymphany/oc16sc04-04/oc-tweeter-16mm-neo-4-ohm/dp/LS05101 or would it need some external parts?

No. Not without an “audio power amplifier”. That’s not a piezo transducer. It’s a regular 4-Ohm tweeter with a voice coil and magnet.

With an amplifier, yes. If you look at the frequency response graphs it extends well beyond 20kHz (on axis).

Let’s say I need 20 kHz for 3-5 meters distance.

As a speaker (for listening), sure. …If you can actually hear 20kHz. For other applications I don’t know if it will work at all.

Do you know the SPL level (loudness) you need?

A 4 ohm speaker needs an amplifier to drive it, for definite.

20kHz at 5 meters at what volume? You can calculate the required power from that and the speaker’s sensitivity.

MarkT: Do you know the SPL level (loudness) you need?

I would say about 80dB.

Is it possible to find a piezo transducer which could reproduce 20 kHz sound and would work without audio power amplifier connected to Arduino? Is it something like this: link (first link)?

So you need about 94dB at 1m distance, that tweeter I linked to is 86dB at 1W, so would need perhaps 10W for that volume.

BTW 80dB at 20kHz will drive pets crazy!

Perhaps a piezo unit is going to be more efficient and easier to drive, but don't expect brilliant linearity or level frequency response, and most will be dropping off before 20kHz. A physically smaller unit is likely to be better at higher frequencies.