Electronic – Understanding an ultrasonic piezo driver circuit

inductorpiezopwmtransistors

[Disclaimer: I'm okay-ish with digital electronics, but somewhat a noob with analog stuff. Since this circuit is a) pretty simple and b) still covers both areas, I was hoping that somebody here could help me clear up a few things].

I came across this circuit for driving an ultrasonic transducer:

enter image description here

originally from http://blog.mbedded.ninja/electronics/components/piezos. A similar circuit is also mentioned in https://electronics.stackexchange.com/a/22058/30433.

This fits my application scenario perfectly, but I have a couple of questions:

  1. Why isn't there a diode between the LC circuit and the supply rail? Wouldn't the coil put some pretty nasty voltage spikes onto the supply rail, too?

  2. As far as I understand, I could just as well use a MOSFET in place of the BJT (as long as it can also deal with the coil's voltage spikes), is that correct? In that case, I can also get rid of R1, correct?

  3. The target frequency in my application is in the range of 19 – 21 kHz (slightly variable, the PWM will be adjusted accordingly). Should I try to tune the LC circuit to the center frequency of 20 kHz, or is that a waste of effort?

Best Answer

  1. Why isn't there a diode between the LC circuit and the supply rail? Wouldn't the coil put some pretty nasty voltage spikes onto the supply rail, too?
  • Because the piezoelectric device is a (nonlinear) capacitor from the electrical point of view, therefore prevents the \$V_\mathrm{CE}\$ of \$T_1\$ to rise toward infinity. Precisely, during \$T_1\$ turn-off phase, the voltage \$V_\mathrm{L_1}\$ tends to rise since the inductor tends to keep its stored magnetic energy by keeping a current flow \$I_\mathrm{L_1}\$ through its terminal: however, since \$L_1\$ is connected in parallel to \$LS_1\$, the piezoelectric device sinks the following current $$ I_{LS_1}=\frac{\mathrm{d}(C_\mathrm{LS_1}V_\mathrm{LS_1})}{\mathrm{d}t}=\frac{\mathrm{d}(C_\mathrm{LS_1}V_\mathrm{L_1})}{\mathrm{d}t} $$ The sinked current bounds the rise of the Collector-Emitter voltage \$V_\mathrm{CE}\$ of \$T_1\$.
  1. As far as I understand, I could just as well use a MOSFET in place of the BJT (as long as it can also deal with the coil's voltage spikes), is that correct? In that case, I can also get rid of R1, correct?
  • Yes, you can use a (Logic Level) MOSFET, i.e a MOSFET device which is fully on at \$V_\mathrm{GS}=+5\mathrm{V}\$. However do not eliminate completely \$R_1\$: it can be lowered to 1/20 of the actual value, depending on the current driving capability of your gate drive stage, but it must be present in order to limit the inrush current of the MOSFET gate.
  1. The target frequency in my application is in the range of 19 - 21 kHz (slightly variable, the PWM will be adjusted accordingly). Should I try to tune the LC circuit to the center frequency of 20 kHz, or is that a waste of effort?
  • Tuning the circuit lowers the collector current of \$T_1\$: therefore, its up to you choosing to search the resonance frequency of the BJT load or not. If the power dissipation is not critical, you can avoid the complication of a self tuning circuit (this is not possible if you are driving a piezoelectric actuator): remember that such circuit should include a precision current measuring shunt resistor and the track(s) to measure the voltage across it by the microcontroller.