Driving a Piezo using the DAC

Hi,
in my current project, I want to drive a piezo crystal using the DAC of the Arduino Uno R4 Minima (it can be any other DAC as well, this way it's built in).

The piezo I am using is from Thorlabs. It needs a voltage of 0-150V and has a capacitance of 8.4 µF.
https://www.thorlabs.com/_sd.cfm?fileName=CTN015331-S01.pdf&partNumber=PK44M3B8P2

I want to control it as following:

  1. Use the DAC to set the output voltage from 0-5V.
  2. Use a current amplifier to obtain ca. 300-500mA in the 0-5V range
  3. Use a DC-DC converter from 0-5V to 0-150V.

However, I am not an electrical engineer and I don't know how to realize the current amplification. Can someone point out some components, or even a complete circuit to use. I am happy to use any breakout board or to make a circuit by myself. What do I need for it?

I dont need a particular stable or perfect voltage for the piezo, as I have a feedback look with another sensor in my system to dynamically control the piezo.

Thank you in advance!

What do you want to make it do?

If these figures are correct the you need a power plant to operate it. Perhaps they confused nF with µF?

Ah yes sorry, this crucial information was missing.

Basically, I want to increase the pressure of my system to a pre-defined set-point.
If the piezo increases its thickness, I can increase the pressure. The pressure is read out using a load-cell, used in a feedback loop.

I already tested it with some manually controlled power supply, and it works well.

This is something only Thorlabs knows..

Don't think so.

Here's the datasheet:
https://www.thorlabs.com/_sd.cfm?fileName=CTN015331-S01.pdf&partNumber=PK44M3B8P2

Note that the capacitance is measured at 1kHz @ 1Vrms.

@mk-97

I don't understand this bit. To get 300-500mV from a 0-5V range you could use an opamp. But it would be more straightforward to just output 300-500mV directly from the DAC.
But your mention of 'current amplifier' implies that maybe you mean 300-500mA, in which case my question would be why you'd want/need to do that.

Well, a linear amplifier, essentially. You could make some kind of totem-pole arrangement with two high-voltage MOSFETs and a suitable driver circuit. But I suspect that ready-made amplifiers are available for this purpose; they might be costly, but given the cost of your piezo, it's clear we're not talking a low-end hobby project here and that you have a reasonable budget.

So you do need reasonable stability, otherwise you'll run into oscillation problems.

What kind of transients do you expect to need to drive? I.e. how fast do you need to ramp up/down?

You are aware that 150VDC is in principle lethal, yes?

Your link to the data sheet is no good.
Please post the data sheet here

Piezos are typically for AC use, not DC.

I wonder about the power to spend for 150Vpp amplitude at 70 kHz into an 8 µF capacitor with 100 mOhm resonant impedance.

They seem to have a server problem. Try again.

Is it just me?

Actually this link is working for me.

I'm clicking on the link posted by the OP @mk-97

He posted 2 links, in #1 and #5. #5 seems to work better but also not always.

That was me, not OP. Out of curiosity, I dug up the datasheet based on the product number from the non-working link in #1.

This is what I mean.. sorry for the typo. To my knowledge, the DAC deliveres max. 40mA (or less, but this value I've seen in the Arduino specs). Therefore, I had an idea to amplify the current, and then use a DC-DC converter to drive the piezo.

This is true, yet commercial piezo driver are in the range of approx. 1000€ each. If there is a way to make it for less money, let's say 200-300€, I am happy to find that solution.

Can you maybe elaborate on this more?

I don't need it particular fast. Let's say to drive from minimum to maximum length within 5 seconds is sufficient.

Yes, I am well aware of this fact. Thanks for pointing it out :slight_smile:

I fixed the issues with the link.

See my #3. It depends on your use of AC or DC control of the piezo. DC is quite easy, AC becomes extreme due to the exorbitant capacity.

OK, that's really slow. In that case, you may not need much more than something like a shunt regulator. It won't be particularly efficient, but it'll be fairly easy (and cheap) to make. This is the basic topology:
image

Replace V1 with something like 155VDC - just above the max voltage you need. Replace the stack of zeners (d1...d4) with an adjustable voltage reference; this could be something as simple as the same stack of zeners with a suitable pot across it. It'll have to be pretty high value (500k or 1Meg or so) to keep dissipation down. For M1, use any N-channel MOSFET in a TO220 case and mount a heatsink to it just to be safe; it shouldn't actually dissipate much at all in your application. The 'Load' resistor is replaced with your piezo.

Two things that are missing in this setup and should be added are

  • a current limiting circuit that keeps the charge current down as you switch on the device and/or ramp up the voltage.
  • a protection against M1's drain floating at a higher voltage than its base as you remove power from the input but the piezo charge still lingers.

Just off the top of my head; I'm always willing to yield to much better ideas.

Edit: I realize it needs to be micronctroller-controlled; you could take a stable, high voltage and then derive a pwm-switched and RC-filtered reference for M1's gate from that. Something along these lines:
image
You'd have to fidget a bit with the values; R1 charges C1 so it'll float up to the supply voltage. M1 in this diagram will bleed C1 & C2 through current limiter R4. Note that R1/R4 form a divider that sets the minimum voltage level; I wouldn't try and go all the way down to 0V (R4 = 0R) unless you select M1 very carefully so it doesn't die due to the discharge of the caps. R2/C2 is a low-pass filter to clean up "HV_ref".

Note that the action will be inverted; a high duty cycle on the gate of M1 will result in a a low voltage output and vice versa. There's no pullup or pulldown of the gate in this example; I'd add one (you could argue which would be wisest)/

Heck, thinking about it, you may get away with just this and forget about the whole shunt regulator shown above.

OK, good. I'd also suggest using a power supply that's current-limited because not only is 150VDC dangerous if you touch it, it also tends to create nasty bangs and flashes if something goes wrong.

1 Like

Also, a perhaps even easier solution to all this is to just take the output from a DAC and run it into a high-voltage opamp with the gain set appropriately for your application.

E.g.

OPA455 juuuust reaches 150V: OPA455 data sheet, product information and support | TI.com
OPA462 extends a little beyond that: OPA462 data sheet, product information and support | TI.com

Or there's this: ADHV4702-1 Datasheet and Product Info | Analog Devices

And I'm sure you could find one or two others. Maybe that would make things a little easier.

2 Likes

Or use a voltage controlled power supply circuit a bit like this

Yes, it would be DC control.

Wow, that is a very detailed answer! I will look into that and may ask for more once I looked up the parts I didn't understood yet. Same for pointing out the different op-amps!
Glad you could help me :slight_smile:

Maybe i am missing something, but I don't see from the data sheet that you need a DC Voltage, in fact under the temperature rating it state the following

Typical Performance Plots
The temperature increase of the chip was measured
after applying a sine-wave drive voltage, with maximum
and peak-to-peak amplitudes of 150 V, at the specified
frequency for 10 minutes.

It would appear that it is a sin wave at 0V - 150VAC Peak to Peak

So you are willing to destroy your 200€ piezo in an effort to find some cheap driver design?
If it were me, I'd use a design that is proven to work in a real world application.