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.