I am trying to drive a piezo speaker at 20kHz with maximum voltage swing from a 10V source. Previously I had used a square wave plus its inverse to give the equivalent of 20V across the speaker but I knew this could be improved. My research revealed autotransformer and LC resonant circuit options and I also came across TI's DRV8662 as well as the LT3469 from Linear.

After considering the choices I tried an autotransformer which didn't work (I guess the frequency I needed was too high for the sample autotransformer I had) so I settled on the tuned LC approach.

Fig. 1
Fig.1 is the LTSpice circuit that I breadboarded and it works pretty well. C5 represents the piezo speaker and L1 is the resonant inductor. With preferred component values I get resonance at about 23kHz. The single-ended waveform on my scope across the speaker is 38Vpp which correlates pretty well with the simulated one in fig.2 (OUT_A blue trace). In the simulation I show a 2nd output across C2 (OUT_B red trace), to show the two out of phase waveforms of equal magnitude.
Fig. 2

The goal was to connect the two complementary outputs across C5 ( omitting C2) and getting 2x the voltage swing. One difference to note between simulation and breadboard is that I use a TC4428 dual high-speed MOSFET driver with inputs from one 555 rather than the outputs from the two 555 timers as in the simulation - the second 555 in the simulation configured as an inverter was purely to get a quick LTSpice model running with a square wave source plus its inverse. The TC4428 has complementary outputs plus good drive capability for capacitive loads.

Fig. 3
Fig.3 shows what I intended to be the final differential drive setup and fig.4 shows the LTSpice waveforms. The green trace is what I was hoping to get. It all looks good but in practise I do not get the full differential waveform across the speaker and the question is why. Instead of approx. 80Vpp I am getting only 35Vpp. Each output measured separately shows they are down to about 16Vpp instead of the previous 38Vpp. My assumption at the outset was that I need the same value inductor for each of the outputs to get resonance since they are driven independently , but perhaps this assumption is wrong. The simulation seems to suggest that this assumption is indeed correct. I also included ESR in C5 as well as series resistance in L1 and L2 in the simulations. Replacing the speaker with a 100n cap on the breadboard produces the same results.
Fig. 4

It seems as though the TC4428 is running out of puff (highly unlikely - the total power drain is approx 300mA) and the power supply is not going into current limit. So I have run out of ideas.


  1. What could be causing the loss of amplitude in the individual signals and hence in the differential?
  2. Are there additional considerations that I've missed when driving the load differentially?
  3. Is my assumption about the inductor values incorrect?
  4. Is the duty cycle of the driving waveform critical to the outcome?

I have researched similar questions on this forum eg. Differential Driver Maximum Output Voltage Swing but none that I could find address this situation. Any insight would be most welcome.

  • \$\begingroup\$ Has your simulation accounted for the power removed from the resonant circuit by being acoustically coupled to the air? It will damp the resonance (reduce Q) and you can probably model it either as a high-ish resistance across the piezo, or a lowish resistance in series. If this is the problem, substitute a film capacitor for the piezo and you should see something like your simulated voltage. \$\endgroup\$ – Brian Drummond Feb 19 '16 at 19:14
  • \$\begingroup\$ The link to pictures seems to go to an empty DropBox folder. (At least, that's what I'm getting.) \$\endgroup\$ – Nick Alexeev Feb 19 '16 at 19:22
  • \$\begingroup\$ Thanks Brian I will mod the simulation as you suggest, however I have replaced the speaker (as noted in the post) with a film cap and the results are the same as for the speaker. \$\endgroup\$ – Bedouin_man Feb 19 '16 at 19:50
  • \$\begingroup\$ Nick - you were quicker off the mark than me! Pics are there now. \$\endgroup\$ – Bedouin_man Feb 19 '16 at 19:53
  • \$\begingroup\$ Have you looked at the outputs directly from the MOSFET driver? Have you tried varying the frequency to chack if you are on resonance? \$\endgroup\$ – user1582568 Feb 19 '16 at 22:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.