Hmm.
Basically, my current plan is:
Each piezo gets its own fullbridge (via DRV84x2, around 60W with impedances between 5-50Ohm depending on load) and gets supplied a PWM waveform from a MCU (TI C2000 series).
Driver output gets passed through an LC lowpass filter (some issues with varying impedances there) and fed into the output transformer.
Current transformer provides output current, divider gives the output voltage. Both get sampled by the MCU's ADC and converted to phase info.
--
In simulations, with a direct square drive (PWM at fundamental, no filter, just some ~15u output inductors) I'm seeing a lot of harmonics reflected from the piezo (modelled as a C || series RLC) and a lower power efficiency.
With drive at fundamental, an output filter (15uH/69nf) and 100kHz, fairly good efficiency and clean waveforms. But at 40kHz the voltage waveform becomes really ugly (
). You can still detect the phase, but I feel like it'd be more reliable if the voltage didn't have the additional harmonics.
When driving with an optimal PWM (also called programmed PWM) waveform and the same output filter, I get a very clean sinewave at all frequencies of interest. That's a bit harder to simulate, though, since I need to precompute the waveforms.
--
My next course of action is to get a DRV8412 evaluation board and just see how it behaves in real life, since I know people drive ultrasonic transducers with square waves. Either they don't have feedback requirements or I'm missing something.
What control boards do you have? Maybe they'll be suitable.