Thursday, 6 October 2016

arduino - What will increase output volume (dB) on a Piezo Transducer?


I need to achieve 110dB at 25khz from a Piezo Transducer. According to the datasheet, the resonant frequency of the Piezo is 25khz and at 10 vrms it will produce 110dB.


I will be using an MSP430G2553 controller's PWM pins to bit-bang it.


Currently, though, I am using an Arduino Mega 2560 to do a 'push-pull'. I have connected the 2 pins of the transducer to 2 separate PWM pins on the arduino and am using a library that synchronizes the PWM output on the 2 pins so that they are opposite of each other. This gives full motion to the piezo instead of having it vibrate between 0 - 3.3v, it oscillates between -3.3v->3.3v. This doubles the voltage and got my output from 50dB up to 80dB. However, I need to get up to 110dB.


So, the big question again is: How do I increase the volume up to 110dB ? (Basically, I need to achieve -5v -> +5v instead of -3.3v -> +3.3v) How do I get the voltage up without screwing up the 25khz oscillation? I need a circuit that will accomplish this.


Here's the current wiring:


Resister is 100ohm Piezo has capacitance of 2500pf Voltage from Arduino Mega 2560 goes from -3.3v to 0 and 0 to 3.3v on the 2 PWM pins. These are set to oscillate at 25khz.


Wiring



Answer




If you have the 5V available somewhere, it is easy. Put a 74HCT buffer or inverter between your both signals and the piezo. I can suggest 74HCT2G125 or 74HCT2G14 (thay are small, and 2-gates only, so it won't clutter your circuit).


74HCT can drive +/-20mA, which should be enough (see next paragraph), and it accepts 3.3V signals as input (74HCT uses 5V TTL levels, wich are compatible with 3.3V CMOS levels - don't use 74HC, they won't be appropriate). They will output 5V.


Note that in order to avoid overcurrent on the 74HCT outputs, you should make your resistor a little bit higher (at least 470 Ohm). This will limit the output current to the specified 20mA, but this won't affect your signal much, even at 25KHz. Given your piezo, this will give a rise/fall time of about 4µS, so with a period of 40µS, it is still acceptable.


If you don't have 5V available: here is a circuit that works like a charge pump (or voltage multiplier), with your two out-of-phase signals (they really need to be symmetrical, or you'll end up wasting some power)


enter image description here


It will provide +/-6V to the piezo (modelized by the 2500p capacitor).


But Dave Tweed made a good point, and even +/-6V is not enough to reach the dB level you need. You could multiply this again by two, by chaining the above circuit twice (with some adjustments), but I'm afraid it would start to be ineffective at this point - and clumsy.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...