I want to drive this piezo transducer (https://www.mouser.com/datasheet/2/670/cpt-9019s-smt-1310960.pdf) at 3V and 4kHz with STM32F0 microcontroller. This is a follow-up to my previous question (Is this circuit for Piezo Transducer sufficient?). Since then, I've made some progress and come up with this circuit:
simulate this circuit – Schematic created using CircuitLab
R1 is to limit the amount of current the microcontroller pin draws and R2 is to discharge the speaker when there is no output to the speaker (since it acts like a capacitor). The MCU can draw a max of 25mA of current, but the speaker only uses a max of 5mA when driven at 3V and 4kHz. So I will limit the current draw from the MCU to 10mA. This gives i_c a value of 10mA and R1 a value of \$330\Omega\$. (R1 = \$\frac{3.3V}{10mA}\$). Since the speaker draws a max of 5mA, i_s = 5mA and i_b = 5mA. The schematic with the values plugged in is:
To determine R2, I know I want 3V to be applied to the speaker, so the voltage drop over R2 will be 3V. Using Ohm's Law, \$R2 = \frac{3V}{5mA} = 600\Omega\$.
My two main questions are:
- Is this circuit fundamentally correct to drive the transducer?
- Do the values for resistors R1 and R2 make sense or am I overlooking something?
Answer
If the piezo speaker only draws 5 mA at 4 kHz when driven with a peak positive voltage of 3 volts then there is no need for a current limiting resistor if you are driving it with a peak voltage of 3 volts.
On the other hand, it might be a good idea to have a series resistor to prevent the instantaneous current draw from the MCU pin exceeding limits stated in the data sheet so, focus on that and not the speaker.
You don’t need a parallel resistor to discharge the piezo speaker capacitance because when the MCU pin cycles naturally through a low part of the waveform, it will discharge the piezo capacitance.
Your calculation for R2 is fundamentally misplaced in theory.
No comments:
Post a Comment