Adjusting voltage from a 150V linear DC Power supply

I need to apply various voltages between 0 and 150V to a single-stack piezo crystal (C=170 nF) at 1kHz. For the PZT, 150V corresponds to a displacement of ~3 micron, and I would like to resolve at least 3nm steps (150mV steps), perhaps even 1nm steps (50mV steps). I have instruments to detect the 1-3 nm steps, it’s not an issue. If my math is correct, the max current from the PSU at these C, f and max V would be ≈20mA. I could spec in 100mA “just in case” (15W), but it’s prob an overkill.

I am not an electronics person, but can I get a decent linear 150V DC power supply and use an Arduino-controlled digital potentiometer to get the voltages I need, at the f needed, w/o compromising the ripple and stability? E.g. a 150V DC power supply I show below (see Digikey link) has a ripple of 3mV; sounds ok for my 50mV steps. If I am thinking right, for my 3-nm steps I would need 3000/3 nm = 10 bit resolution, and for 1-nm steps I would need 12 bit. At the same time, I am not seeing 12-bit digital potentiometers from good suppliers. E.g. Analog’s digipots go only to 10 bit. Not sure what to think of this.

Thank you for reading! The rest explains why I think I should go this route instead of buying a turnkey programmable lab power supply.

>>>>>>>>>>>

I could get a turnkey programmable lab power supply, but I will need 3 of them, or a 3-channel one (for 3 PZTs for XYZ). For 3 high-voltage low-ripple programmable PSUs the cost gets close to an turnkey piezo controller sold by Thorlabs, Newport etc to drive all kinds of PZTs (not only my tiny ones). These cost at least $3-4K, much more for PIs ones (theirs go to 24 bit, I believe, since they need to drive flexures at 0.1nm precision). Since I will only be using low-capacitance single-stack PZTs at relatively low frequencies, I was hoping to save $$ and bring the costs of my XYZ “controller” under 1K (hopefully well under).

From the literature, it appears that people have controlled high-voltage PSUs with Arduinos with some basic resolution, provided that the PSU had a 0-5v pin for the voltage control. E.g. this paper (10.1016/j.ohx.2022.e00382) had a 10-bit control for a 20kV PSU, but these PSUs were specialized and still quite costly.

https://www.digikey.com/en/products/detail/daburn-electronics/P35-150S/9352945

https://www.analog.com/en/parametricsearch/2420#/sort=4404,desc

You have given lots of information, but are missing one important piece. How quickly does the voltage need to change when increasing and the same for decreasing voltage? Without a significant load on the psu, the voltage going down will not change very rapidly.

Probably not. Post a circuit diagram. In the absence of other components, the current into a capacitor is determined by the power supply voltage, the value of and voltage on the capacitor and the impedance of the power supply.

I'm not sure if you can find a digital pot rated for 150V. I haven't tried to find one, but everything I've seen is much lower voltage.

No. And since your entire premise seems to hinge on this, you’re heading down the wrong path for any number of reasons.

The “answer” to this isn’t to take a 150V power supply and try to bring the voltage down by using voltage dividers/potentiometers. You basically need to build a high-voltage DAC, which is not a trivial task.

The simplest solution that I can think of would be a DAC driving a high-voltage power op-amp. 100mA is kinda high (15W output) but it can be done.

Sorry I did not make this clear. I mentioned 1kHz, but prob should have emphasized this.

Thank you. May I ask why the answer is a no?

I have read about people using the PA96 op-amp for building piezo controllers from scratch, but since I am not an electronics person I was hoping there would be a less technical (and digital) solution, more like putting parts together. I know how to code, but I know nothing about putting circuits together and debugging them.

This is where the the formula for the slew rate I used comes from (below). The amps I got are in line with the specs of turnkey drivers, adjusted for frequency.

Edit: in the OP I mistakenly put the spec as 170 pF. This is incorrect – it’s 170 nF.

The resistor in the power supply is there to set the reference voltage. The dynamics of the rest of the electronics determine the actual speed of output voltage change. You will never find a psu document that tells you that, so testing is the only way to find out is a psu meet your requirements.

Paul, OK, many thanks! I can get that PSU anyway, but I am now being told that potentiometers is not the way to go. Or, I can keep looking for controllable DC PS as described in the paper I cited (which seemed to achieve what I wanted, but for a much higher voltage at 1mA)

If you can't find reasonable priced programmable psu or high voltage digipot, there's still less elegant but quick way using servo to turn the pot..

I was thinking about turning the pot with a motor, but I do not think I can achieve the frequencies I need (1kHz) mechanically.

No way...

You might consider creating the signal at a low level, then amplifying it to get the voltage you need, since the needed current is rather low.

On another theme, do you know the voltage extremes where your piezo crystal will fracture?

150v is enough to kill you .
As you don’t seem to have the electronics experience to match , you should leave well alone .
Buy those variable supplies , there is good reason why they are expensive.

Paul, I also found a lower-specked op-amp from TI at a fraction of the cost of the PA96, with a helpful note from TI attached on how to build a piezo driver with it. Can treat it is an educational project.

The date on the data sheet is 2022 and the price for small quantities is really low. Great project!

Sorry, that makes no sense. But have fun.

I considered suggesting this but it sounded too mechanically complex

Normal regulators are designed to deliver a constant voltage at varying currents. Even the name you used: Power Supply Unit should tell you something.

A different approach is possible, using current sources and a capacitor. The drawing shows a principle, not a full design (transistors at the bottom work as current source, those at the top form a current mirror).

The simplest algorithm: set one of the outputs until the desired voltage is reached. The accuracy is limited by the delay between measurement and output, and the bit depth of the ADC.

A faster algorithm: measure the voltage, calculate the deviation and calculate a time to activate one of the outputs. Limitations are bit depth and repetition speed of the ADC. I'm not sure 1kHz is achievable, especially if you need 3 or 6 channels (6 channels if you want the center of the crystal as a common point).

KEEP IN MIND THAT HIGH VOLTAGES ARE DANGEROUS.