Piezo transducer polarisation identification

I recently purchased a cheap piezo transducer/buzzer to try out as a bleeper for an Arduino project. It was only after I peeled off and disposed of the sticky label on it, marked '+ Remove after washing', that I realised the '+' on it was the polarity marking - and seemingly the only one at that.

Is there an easy/simple/safe way to identify the polarity of these devices?

Put an oscilloscope across it and flick it with your finger.
You might try a meter but you might have to put a small capacitor of about 1nF so the charge is held long enough to register.

Is this just a piezo element, or does it take DC and have its own oscillator built-in? If it requires a drive signal, then polarity does not matter. If it has an oscillator built-in, I'd put something like a 4.7k resistor in series with a 5V power source and try it both ways. It'll only make noise one way.

Thanks both. It's this one - 5V Piezo Buzzer - ABT-402-RC - Alan Butcher Components

I now have another problem though. I put it down to type the OP and can't find the flaming thing again. I might need some help with that as well. Standby...

That transducer needs to be driven with AC, for example a 5V peak-to-peak square wave. The polarity doesn't matter unless you care about the phase of the sound waves coming out of it - which only makes a difference if you are feeding more than one transducer with the same (or a related) audio signal..

Still looking.

@dc42: My intention - should I ever find it again - was to drive it using the tone() function as described in the adafruit tutorial here - Playing a Scale | Arduino Lesson 10. Making Sounds | Adafruit Learning System

It is generally a bad idea to feed a piezo with DC, I've been told, but after all, the piezo buzzers that are self-driven have simply a one transistor oscillator using an extra isolated patch on the piezo as feedback. So those are being driven by pulsating DC, too.

Something to keep in mind - piezos are not simply capacitive. They can and do feed back to the driver, especially when driving by a square wave, and under shock. So it isn't a bad idea to take steps to protect your Arduino pin. A couple of diodes connected to Vcc and ground such that they are normally reversed biased with the center point connected to the Arduino's pin, and maybe some resistor between the pin and the piezo.

I'm rather paranoid about my circuits, however. I don't like things I've built to come back.

petethegeek:
@dc42: My intention - should I ever find it again - was to drive it using the tone() function as described in the adafruit tutorial here - Playing a Scale | Arduino Lesson 10. Making Sounds | Adafruit Learning System

I don't like that arrangement, for two reasons:

  1. Piezo transducers have lots of capacitance, so they should not be connected direct to Arduino pins because that will cause peak currents in excess of 40mA to be drawn. Use a 150 ohm series resistor.

  2. Putting a DC bias across a piezo shortens its life. So, although you can get away with nothing more than the 150 ohm series resistor, if you ever build one into some equipment AND use the piezo to make noises a lot, AND want it to last a long time, then you also need a series capacitor (between 1uF and 10uF is good) and a resistor directly in parallel with the piezo (about 10K or 22k).

[EDIT: polymorph got there first. He is right, a piezo driven near to its resonant frequency can feed back to the driver. Perhaps this can happen at other frequencies too, I don't know. I've never worried about this - maybe the series resistor provides enough protection, maybe not. One day I might connect up an oscilloscope to one and take a look.]

OK That sounds more like the circuit in the Arduino Cookbook (Ch9 P328) which has a 100uF capacitor connected in series with a 2-500 ohm variable resistor between an output pin and ground. The positive end of the capacitor being on the output pin. The piezo is then connected across the centre tap on the variable resistor and the ground end.

I have a couple piezo buzzers. They are for dc. There is a polarity (as the photo of this one shows +). Mine, have a long and short leg. The Long leg is for positive voltage. But for testing as stated, just put a 4k in series, and try it each way.

Outside of the resonant frequency, you can still get ringing at the edge of the rising and falling edges. Especially if you drive it below the resonant frequency, and especially if you change that pin to an input while it is still ringing. Not that the input is any less forgiving than an output to pulses above Vcc or below ground, but that as an output the impedance is low, and as an input the impedance is very high.

I've used piezos before as both an input and an output. Either as a microphone, or as a tap/physical shock sensor. They can generate quite a high voltage due to physical shocks if you don't do something to load them down.

I'm glad to hear I'm not the only one who worries about damaging piezos with DC.

Found it. The piezo was on the kitchen table when I went down for breakfast this morning. Who knew that?

I also received an email from the people I bought it from informing me that all the remaining ones in stock have the '+' sticker on the side with the product identifier written on it, so I've gone with that. However the piezo itself has now all but disappeared again into the forest of ancillary components that have been suggested. I've added the 150 ohm resister and a 10 uF capacitor in series, along with a 10k ohm resistor in parallel with the piezo. I left out the diodes as I judged the danger of me mis-wiring them considerably outweighed the other potential hazards described.

As a result though, it now has the resonance of Marlene Dietrich at her peak and is doing exactly what I was looking for. Many thanks for your assistance, and just as importantly the food for thought that has been provided.