I am driving a piezo buzzer with a PWM signal (typical freq. 100Hz-1kHz) in order to generate 'beeps'. However due to software constrains (*), when the PWM signal is stopped I can't control if it stays at a high or a low level.
If it stays at a high level when stopped, then the power consumption of the buzzer increases, and it also generates more heat. I believe this could be solved if I could somehow block the DC component of the PWM signal that goes to the buzzer. Can anyone point at a sample circuit or application note on how to do this?
(*) Update: There is a (software) device driver which is not my own that turns the PWM signal on and off; when turning off, the PWM output stays at whatever level it was at that point.
Best Answer
A capacitor blocks DC and passes AC broadly speaking. maybe try a 10 uF capacitor. At 100 Hz it will have an AC impedance of 159 ohms. At 1 kHz it will be 15.9 ohms. Here's how: -
Your piezo load is the resistor in the above.