Author Topic: “Lab” PSU design help  (Read 5380 times)

0 Members and 1 Guest are viewing this topic.

Offline magic

  • Super Contributor
  • ***
  • Posts: 6775
  • Country: pl
Re: “Lab” PSU design help
« Reply #25 on: September 25, 2022, 09:16:57 pm »
A few remaining problems:

R14 and R12 are (almost) parallel with R11. If you think that the output of the divider is half the output voltage, it's not. Furthermore, the error varies slightly with output current (ISENSE voltage). I think a clean solution is to connect R14 directly to the output and change the differential amplifier gain to 0.5x, i.e. R13=R14=20kΩ. Or use standard 22kΩ resistors for 0.45x gain.

Also, you don't really need R9, one of the dividers could be reduced in resistance. C1 may need to be increased for stability.

The second issue is that current regulation bandwidth is not well defined; C2 is C2, but output resistance of R2 wiper varies from 5kΩ (due to R7) down to zero. I wonder if the loop is stable and works correctly at very low current limits. Frankly, I would rearrange for U1B to directly steal current from Q2, then the inputs are swapped and it's trivial to add a fixed resistor between the inverting input and ISENSE.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #26 on: September 26, 2022, 11:23:18 am »
R14 and R12 are (almost) parallel with R11. If you think that the output of the divider is half the output voltage, it's not. Furthermore, the error varies slightly with output current (ISENSE voltage). I think a clean solution is to connect R14 directly to the output and change the differential amplifier gain to 0.5x, i.e. R13=R14=20kΩ. Or use standard 22kΩ resistors for 0.45x gain.

Thank you, I see what you mean. I'll give that a try, but curious, as a learning opportunity: Would upping R12-15 to 100k also work in this case? That would make the divider network on the differential amplifier an order of magnitude larger than R11, and maybe have less impact on its operation, though I'm not sure how it would affect the operation of U2A.

Quote
Also, you don't really need R9, one of the dividers could be reduced in resistance. C1 may need to be increased for stability.

So the idea here would be to, say, change R10 and R11 to 1k each, and give them double duty as a bleeder for C5?

Quote
The second issue is that current regulation bandwidth is not well defined; C2 is C2, but output resistance of R2 wiper varies from 5kΩ (due to R7) down to zero. I wonder if the loop is stable and works correctly at very low current limits. Frankly, I would rearrange for U1B to directly steal current from Q2, then the inputs are swapped and it's trivial to add a fixed resistor between the inverting input and ISENSE.

I think I understand what you're asking me to do, but I'm not 100% sure why; I think your point is that, because RV2 is in the feedback loop, it's harder to ensure that it will operate correctly and not oscillate out of control for the pot's entire range, and so if we flip the circuit around so that the pot is on the non-inverting input of U1B, that's no longer a problem and we end up with a more stable result. Is that right?

Thanks again for all the input—I'm travelling for the next week, but I will try these modifications when I'm back home. In the meantime, I've gone ahead and ordered a PCB of my last design… it will be fun to see how it works once it's not on a breadboard. Cheers!
Lab is where your DMM is.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14192
  • Country: de
Re: “Lab” PSU design help
« Reply #27 on: September 26, 2022, 03:53:19 pm »
Increasing R12 and R14, so that the differential amplifier is not loading the FB divider so much is a good idea. The main loading effect is changing the gain, which would not be that bad, just a different adjustment range. However the load is toward the real ground. So the compensation of the drop on the shunt would not longer be full, so the regulation would be less good, with a part (e.g. some 1/4 with the 10 K resistors) of the shunt resistance added to the ouput resistance.
Lower values for R10,R11 also help, but would need a larger capacitor for the compensation. A seprate R9 has the advanatge that the current does not flow through the shunt, and thus more accurate current measurement.

The difference amplifier directly from the output is the more straight forward solution.


There is no real need to buffer the current signal - the shunt is a low imedance sgnal to start with and normally not extra buffer needed.
 
The following users thanked this post: CountChocula

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #28 on: October 01, 2022, 12:27:01 am »
The difference amplifier directly from the output is the more straight forward solution.

There is no real need to buffer the current signal - the shunt is a low imedance sgnal to start with and normally not extra buffer needed.

Thanks! I knew about not needing to buffer the current signal, but I had an extra op amp on hand anyway :)
Lab is where your DMM is.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #29 on: October 01, 2022, 12:33:16 am »
Back from my trip, and I've made a few of the changes suggested. I also received a shipment of TL431s while I was away, so I implemented the voltage references using them. Very neat parts, I love them!

Things seem to work well; this time, I tried a variety of voltages and loads, and I don't see any major instability or oscillation. I'm having a bit of trouble getting consistent readings, though, and I think it's because the breadboard and jumper cables I'm using my be just too terrible… so I think I'm going to wait for the PCBs to arrive, which should be in a few days (I could also wire-wrap a prototype, but… meh, too much work :)).

New schematic attached. I'm really warming up to the idea of adding a tracking pre-regulator like Dave did with his PSU; I think it might actually be fun to figure out how to set it up so that it's always a couple volts above the PSU's output. Maybe I'll see about getting my hands on a buck regulator to see if I can integrate it with the Frankenpower.

Cheers!
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #30 on: October 01, 2022, 03:08:44 am »
The setting of RV2 interacts with the frequency compensation of U2B.
You could remove RV2 and then connect R9 between pin 6 and GND.
RV2 can be placed across the U1 reference as RV1 is.
A 470K 47K resistor from RV2's wiper to U2B's pin 6 should give a bit over 1A adjustment range.
« Last Edit: October 01, 2022, 12:23:05 pm by xavier60 »
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 
The following users thanked this post: CountChocula

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #31 on: October 01, 2022, 12:26:31 pm »
C5 and D2 should connect to ISENSE. But this correction might reveal stability problems.
ISENSE should have the "GND" label.
« Last Edit: October 01, 2022, 12:29:47 pm by xavier60 »
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #32 on: October 01, 2022, 03:01:33 pm »
The setting of RV2 interacts with the frequency compensation of U2B.
You could remove RV2 and then connect R9 between pin 6 and GND.
RV2 can be placed across the U1 reference as RV1 is.
A 470K 47K resistor from RV2's wiper to U2B's pin 6 should give a bit over 1A adjustment range.

Thank you! I think I see what you're suggesting, but could you please help me understand how this arrangement reduces the interference with U2B's frequency compensation? Is it because there is a smaller resistance swing than with the way I had it wired, where the wiper of RV2 could change all the way from 0 to 10kΩ?

Also, I had set up a separate VREF for the current control circuit because the one used for voltage control is referenced to the high side of the sense resistors, rather than ground; my thought here was that, if I reused U1, VREF as seen by the op amp, which is referenced to GND, would change with the amount of current drawn by the load. Where is the flaw in my thinking? I'm still struggling a bit with how multiple references work—I'm used to there only being “one” ground :)

Thanks again, really appreciate the help!
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #33 on: October 01, 2022, 03:22:27 pm »
Yes, the change that I suggested reduces the change in input resistance to U2B and also allows one reference to be needed for both CV and CC regulation.
Things would make a bit more sense if the top of the ISENSE resistance is called GND especially for the CV function. The ISENSE signal now becomes negative with increasing current.
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #34 on: October 02, 2022, 02:16:49 pm »
Yes, the change that I suggested reduces the change in input resistance to U2B and also allows one reference to be needed for both CV and CC regulation.
Things would make a bit more sense if the top of the ISENSE resistance is called GND especially for the CV function. The ISENSE signal now becomes negative with increasing current.

Understood, thanks. I'll wire this up and see if I can make it work. Right now, I'm struggling to understand how I can make the op amp work if its negative rail is connected to the “new” GND—the current sensing voltage would then be negative, and I don't think the op amp would be able to deal with that because it is below its negative rail. I hope this will all become clear once I try it out in practice. Cheers!
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #35 on: October 02, 2022, 04:27:45 pm »
Leave pin 4 of the opamps connected to the same place as they are now, the lower side of the ISENE resistors.
Whenever U2B becomes active, its inputs will still be more positive than pin 4. R9 also connects to the lower side of the ISENSE resistors.
 The design I used in my bench supply operates in a similar way.
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #36 on: October 03, 2022, 01:39:39 pm »
Thank you! I will play around with this a bit and report back when I have some news (or when I hit the next brick wall, whichever comes first :) )
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #37 on: October 03, 2022, 10:38:33 pm »
I think that 0.25Ω, 4 x 1Ω resistors would be more practical for the ISENSE resistance.
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #38 on: October 04, 2022, 12:38:12 pm »
I think that 0.25Ω, 4 x 1Ω resistors would be more practical for the ISENSE resistance.

Wouldn't that make the circuit more susceptible to noise, though? With such low resistance, I wonder how stable things would be at low current limits, when the voltage drop of ISENSE would be in the low mV range. What do you think? Thanks!
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #39 on: October 04, 2022, 03:45:07 pm »
I think that 0.25Ω, 4 x 1Ω resistors would be more practical for the ISENSE resistance.

Wouldn't that make the circuit more susceptible to noise, though? With such low resistance, I wonder how stable things would be at low current limits, when the voltage drop of ISENSE would be in the low mV range. What do you think? Thanks!
It will be fine. My bench supply uses 0.05Ω with no problems at low current settings.
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #40 on: October 04, 2022, 10:23:50 pm »
Understood. Looks like I will have to order some new parts. Terrible news :)

Thanks!
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #41 on: October 04, 2022, 10:31:24 pm »
Understood. Looks like I will have to order some new parts. Terrible news :)

Thanks!
I didn't realize your parts situation. You can just leave it the way it is and decide later.
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #42 on: October 04, 2022, 10:41:58 pm »
Understood. Looks like I will have to order some new parts. Terrible news :)

Thanks!
I didn't realize your parts situation. You can just leave it the way it is and decide later.

Don't worry, I'll take any excuse for a trip to Digikey… all kinds of other things tend to get magically added to my cart when I go looking for things :)

Jokes aside, I think it's good to try out something new; a few resistors won't break the bank. Cheers!
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #43 on: October 04, 2022, 10:55:54 pm »
Do you have a collection of miscellaneous resistors for experimenting?
The current range setting resistor will need to be increased to 180K.
Q1 might need an Emitter degeneration resistor of approximately 47Ω.
« Last Edit: October 04, 2022, 10:57:41 pm by xavier60 »
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #44 on: October 04, 2022, 11:18:32 pm »
I do, thanks—I'm just short of anything either low resistance or high power… I just haven't really needed any of that stuff until now. Cheers!
Lab is where your DMM is.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #45 on: October 06, 2022, 01:52:02 am »
By way of a quick update, while I wait for the new resistors (and a bit of time to work on a new schematic), the PCBs that I had ordered have arrived.

These are based on Rev 5, which still had the zener-based references. No magic smoke, and, now that things are off of a breadboard, the regulation works remarkably well—around ±0.4% worst case scenario at 1A. Current regulation also seems to work pretty well, though I haven't yet had a chance to really dig into it.

Unfortunately, there is still a crazy amount of ripple (about 185mV RMS), so I will try to play around with the size of the output cap.

All in all, pretty happy with this—can't wait to try all the improvements. Cheers!

Some pics below (the heatsink is obviously a temp—I will eventually get something beefier).
Lab is where your DMM is.
 

Online xavier60

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: au
Re: “Lab” PSU design help
« Reply #46 on: October 06, 2022, 05:14:37 am »
That's oscillation due to design flaws or improper compensation.
Is that happening in CV or CC mode? If CV mode, try replacing C1 with a 10K and 0.1uF in series.
C5 should be grounded to the top of ISENSE. But correcting this could actually make things worse for now.
HP 54645A dso, Fluke 87V dmm,  Agilent U8002A psu,  FY6600 function gen,  Brymen BM857S, HAKKO FM-204, New! HAKKO FX-971.
 
The following users thanked this post: CountChocula

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #47 on: October 07, 2022, 01:20:48 am »
Thanks—I played with this a bit more tonight and, at first, I couldn't figure out what was going on. I tried your suggestion and a bunch of other RC combinations, but they seemed to have no effect on this oscillation.

I then had the brilliant idea to poke around with the oscilloscope to see if I could figure out whether the problem was happening in places other than the obvious one and… long story short, after swapping out the upstream power supply and banging my head against the wall for a bit, I finally figured out that the problem was my dummy load, which has inexplicably decided to start misbehaving.  |O

Anyway, if I just use plain-old resistors as the load, the “ripple” is basically gone, both with my original 100pF cap and with your suggested 10n / 10kΩ RC network, though your suggestion results in better performance, so I'm keeping it in the next revision of the circuit. The image below is 1A at 8V, and I think it's pretty respectable.

In other news, I have now procured two 0.5Ω, 50W resistors (as well as some other values, which is good since I needed them as the load!) from the local electronics store. They are comically large, but more than good enough to try your suggestion to use a smaller value for the current-sense resistor.

More to come. Cheers!


Edit: The dummy load is definitely broken—it oscillates at 500kHz even if I connect it directly to a known-good regulated power supply that I didn't design. Time to think about building a new one!

Edit 2: Load fixed; it was a bad cap (of course… it's always a bad cap).
« Last Edit: October 07, 2022, 02:59:57 am by CountChocula »
Lab is where your DMM is.
 

Offline CountChoculaTopic starter

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: “Lab” PSU design help
« Reply #48 on: November 26, 2022, 08:36:38 pm »
I thought I would provide an update on this project. I've had to travel a bunch for work in the last few weeks, but I'm finally back home for a few days and have had a chance to make some progress. Apologies in advance for the long post… lots of things have changed :)

First, I ended up switching to a common collector topology using an NPN pass transistor. In the end, I've found it much easier to stabilize this type of circuit, and the additional Vbe drop cost is not a limiting factor for my needs. The circuit can now be powered with a much higher voltage (though at the cost of control precision), so no problems there.

Second, I tried to make all the feedback loops ratiometrically controlled (I think that's the correct terminology). At the cost of a few trimmer pots, it's relatively easy to account for the inevitable variances in component specs, and use less expensive components like, for example, a cheap 0.1Ω 5% ceramic resistor.

Finally, I added a switching preregulator to remove the total amount of power dissipated by the system. Especially low power/high voltage combinations, the pass transistor was getting unacceptably hot, to the point that I was unsure that any amount of heat sinking would have been enough to prevent it from burning out.

Rather than rolling my own buck converter, I ended up buying a cheap LM2596-based module from Amazon (~$1 CAD each in a set of 10) and making a small mod to allow its output to be controlled by injecting an external voltage through a resistor into the existing feedback divider.

Finally, I decided to use an MCU to control the circuit. I added in an inexpensive Arduino Mini Pro clone and added a few 12-bit AD/DA converters to give me reasonably accurate control over voltage and current limits (I didn't bother with the preregulator, choosing instead to use the ATMega328's internal ADC and a simple PWM control as a DAC, because I only need relatively rough control over its voltage). There is no UI yet—the plan is to eventually build a separate, galvanically isolated circuit, that can control multiple floating copies of the PSU and allow things like voltage and current tracking.

With an MCU in the picture, I became worried about weird failure modes; for example, if the MCU crashes and the preregulator voltage control pin goes to 0V, the prereg will dump its maximum voltage and current into the pass transistor, regardless of what the output voltage is set to—something that doesn't sound very healthy. So, I added a line from the Arduino to LM2596's enable pin that is normally pulled high, which means that the preregulator is off unless positively turned on by the MCU. In case of failure, there is still current leaking from the base to the emitter, but this is limited by R202, which I think should be okay.

I also added a Schottky diode between the preregulator's output and the pass transistor's collector to account for the possibility that the software will crash and somehow leave the preregulator at a lower voltage than the desired output voltage. This would lead to current leaking from the transistor into the output of the LM2596, which again doesn't sound like the best thing in the world.

I breadboarded the circuit and it seems to work pretty well. Thanks to the preregulator, the pass transistor doesn't get hot at all—so much so that I think it might not even need a heatsink. The prereg gets warm, but even at 2A a small heatsink gets it below 50ºC. This is confirmed by the fact that, at 10V / 1A output (a convenient 10W), the input power draw is 11W, which implies around 90% efficiency. Line regulation is at around 0.1% and the ripple is below a level detectable with my (admittedly primitive and limited) setup and skills, though I guess we'll have to see what happens when I spin an actual PCB.

New schematics attached below, alongside a picture of the circuit in all its breadboardy glory. Apologies that the schematic is on multiple sheets—this setup just helps me think better about things.

This is easily the most complex circuit I've ever come up with, so thanks again for all your help getting me here. I'm sure there's still plenty suboptimal and/or wrong, so I welcome all suggestions as always!


—CC
Lab is where your DMM is.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf