## A Digitally Controlled Dual Tracking Power Supply — II

In my previous post, I showed my design of a dual tracking ±30V linear power supply. My goal was to use the transformer (28V+28V, center tapped) from an old Deltron W127G open-frame power supply and build a lab supply that can be digitally adjusted in both constant voltage and constant current modes. I also wanted each of the channels to be able to deliver up to 10 Amps of current so that I could fully utilize the 540VA transfomer from the W127G.

The following is the finalized schematic for the positive power supply portion (pretty much identical to the schematic I used in my simulations earlier). Here, I used four TIP35C‘s in parallel as the NPN transistor in the Sziklai pair. Because the input voltage is fixed at roughly 30V under maximum load, in a dead short scenario the power dissipated in the pass transistors is at least 300W and thus four transistors are needed to be able to share this worst case load. If you are building a power supply that is rated for just a couple of Amps, you can use just a single power transistor. I also added a buffer between the DAC and the voltage control loop OpAmp (IC1A) to improve stability. Because the digital/analog converter is not isolated, using a buffer between the DAC and the control point can greatly reduce the risk of damaging the DAC or the MCU should one of the OpAmps fail during operation. Similarly, a voltage follower was also added to buffer the current setting output from IC1B. The protection diodes were included to protect the inputs of the OpAmps during large voltage swings in transient events (such as power on).

The temperature stability of the regulated output voltage is largely dependent on the temperature coefficients of the resistor divider R10 and R11. As I explained previously, the output voltage is determined by:

$V_o = \frac{R_{10} + R_{11}}{R_{11}}V_{Ctrl}$

So using resistors with similar tempco characteristics and low tempcos is preferred if low output drift is desired. Similarly, the resistors used in the current amplifier (R14-R16) along with the current shunt resistor R13 need to be high accuracy and low tempco reistors as well if precise constant current setting is required.

The schematic for the negative power supply portion is shown below. Again, the main differences between this finalized schematic and the one I used in simulation previously are the paralleled pass transistors and the buffered tracking output. As I mentioned before, for accurate tracking performance we only require that R10 and R11 to be equal in value. And as long as they are chosen from the same batch (i.e. same tempco) their temperature drifts can be largely canceled out when they are thermally coupled (e.g. placed side by side). The negative portion of the circuit does not have the current setting capability for reasons I explained earlier, rather the maximum supply current is limited by the Vbe of T7 and the value of R13. For the values given, the current limiter starts to kick in when the load current reaches around 7A. The load current will continue to increase slowly if the load is increased after this point and will plateau at around 10A when the load is completely shorted.

Most modern power supplies utilize two separate transformer windings for the two output channels and the circuits for each channel (except for the tracking portion) are made identical. This would be the preferred approach as the characteristics of the two channels can be made near identical. But here I am limited by the center-tapped transformer I’ve got.

I used two MCP4821‘s to drive the voltage control OpAmp and the current control OpAmp since I’ve got quite of few of these single 12-bit DAC’s. Of course you should consider using a single two channel DAC such as MCP4822 (see my code examples) if you are buying new parts, using a single two channel chip can free up a pin for the chip select and you can use it for other purposes. Voltage and current limit adjustments are achieved via two encoders. The encoders I used also have buttons built in, so as with my electronic load design, by pressing the buttons you can change the adjustment ranges between fine and coarse (x1, x10 and x100 per step).

Here are the auxiliary power supply circuits. The ±12V rails are used for the OpAmps and the +5V rail is used for the MCU and DAC. The diodes are needed to drop the input voltages that go into the three terminal regulators to be within the maximum allowed voltage (~37V).

Here are a couple of pictures of the MCU/DAC board. The microcontroller I used is an ATmega328P and the pin designations shown below are compatible to the standard Arduino pinout. The full code listing can be downloaded towards the end:

And here is a picture showing the overall layout of the power supply. The transistors for the positive channel are mounted towards the upper edge and the transistors for the negative channel are mounted towards the bottom. The two regulators for the ±12V voltages are located towards the center left (I used LM317/LM337 instead of 7812/7912 since I have plenty of them) and the 5V regulator is mounted on the other end of the board (hidden under the MCU board assembly).

The picture on the left below is a closeup of the OpAmp board. Towards the back on the right you can see the aforementioned 5V regulator. The picture to the right is a closeup of the positive supply portion. Underneath the metal bar are the power pass transistors, you can infer their locations by the placements of the four 0.1 ohm resistors. The leftmost transistor is a TIP42 (T5). Technically speaking, it does not require heat sink. But it is convenient enough to put it along with all the other power transistors.

So, does it work? For those who are impatient, here’s a picture showing the power supply set for the maximum output voltage and maximum current limit:

In my next post I will take some measurements and take a look at the some specs of this power supply.

Be Sociable, Share!

1. Kev Scott says:

Very interesting article! Did you have a ripple voltage target in mind at the start of the design?

• kwong says:

I didn’t specifically have that as part of my design parameters, but as with most linear power supplies, the PSRR largely depends upon the voltage reference quality and the error amplifier. I will do some measurements and report my findings next time.

2. Jim B says:

Kerry, thanks for sharing your work. At the end you show the power supply delivering maximum power, but perhaps a more stressful test is to deliver maximum current at low voltage, as that is when the pass transistors of the linear regulator have to dissipate the most power. Also, some non-linearities which might not be obvious at higher voltages will show up when you drive the output voltage low.

I found that out the first time I built a simple linear supply and watched my output voltage bounce up and down as the thermal cutout kicked in, cooled off the regulator, turned off, and the cycle repeated.

All the same — great job!

• kwong says:

Hi Jim,

Yep, I had tested the PS against deadshort (the worst case scenario). I will include some tests in my next post.

3. […] Kerry D. Wong writes: […]

4. Fake Name says:

I’m curious about R8/C3 on both schematics.

It’s a resistor & capacitor straight from the op-amp output to ground. Since it’s within the op-amp feedback loop, it won’t affect the loop under normal circumstances, except to perhaps reduce the phase margin slightly.

The only thing I can think of is it’s either related to dealing with turn-on transients, or you’re doing something clever with the op-amp’s internal output resistance (which is specified in the datasheet).

What is the intension behind these parts?

• kwong says:

The R/C at the output of the opamps are the snubber networks intended to improve stability (more detail at http://www.st.com/st-web-ui/static/active/jp/resource/technical/document/application_note/CD00176008.pdf).

• Fake Name says:

It *is* doing something clever with the op-amp’s internal output resistance.

Interesting. Have you tested the circuit without the snubber network? Considering that there is likely very little capacitive load on the op-amp output, I’d think it would be stable even without it, and you’ll probably somewhat better transient regulation.

• kwong says:

During my simulation, the snubber network’s effect is pretty dramatic, without which the circuit would encounter some oscillation problems under certain current limiting conditions.

But in practice, I started without using them but later added them in so that they match my simulation. I did not see any “noticeable” effects. But if the calculations were correct, they do improve phase margin somewhat making oscillation even less likely.

5. Donatas says:

Hi,
would it be possible to use your design’s positive part to make 0-30V power supply? Or I would need to make some modifications (aside from software)?

• kwong says:

The circuit for the positive rail is fully independent of the tracking negative rail, so absolutely! You don’t even need to change the software as tracking is realized by IC1A, R10 and R11 on the negative side.

• Donatas says:

That’s great news! But do I need to provide negative voltage for IC1A?

• kwong says:

The reason for using a dual supply for the NE5532 OpAmp is that it is not a rail-to-rail OpAmp. So if you are going to use a single power supply (you will need to adjust the VGrnd reference for all the OpAmps), you will not be able to adjust the output voltage down to 0V.

• Donatas says:

Thank you for this info. So if I provide negative voltage for OpAmps, I don’t have to change a bit in your schematics?

• kwong says:

Correct. You can just build the positive portion if you want to.

• Donatas says:

That’s really great news. I was looking for DIY bench power supply for more than 3 years and I finally found one. I really like the design and definetely will build one. I will post a link to your blog in my personal blog.

• kwong says:

Thanks! Definitely let me know how it goes!

6. Jan Heijnen says:

Hi Kerry
Thank you for sharing your designs with us. I am impressed with the simplicity of the tracking power supply. Just a question, what is the status of the supply when you switch on, does it indicate the same voltage as the time when you have switched it off or will it be a random value?
Regards
Jan Heijnen

• kwong says:

Hi Jan,

The power-on values are set to 0V/0A in my implementation, but you can program it in EEPROM and recall the voltage if you’d like. Because the DAC is held in reset states during power on, the output transient is quite clean.

7. […] set out to build a digitally controlled dual supply for his bench. He’s already built a supply based on the LM338 linear regulator, but the goal […]

8. dan21 says:

Hi Kerry !
Nice work !! I’d like to build this PWS but only positive rail and only to 5A. So I assume I’ll need only two TIP35′s. Correct ? One more question. In your firmware you are using some libraries (arduino LiquidCrystal, SPI) but I could not find Encoder library. Is it some “custom” or not includeed in arduino ?

THX
Dan

9. Rix says:

Hi
Nice project! I am planing to build the PSU. I want to add the possibilities to read out the current consumption, both on the positive and negative rail. How easy can this be done and how?

• kwong says:

Hi Rix,

Measuring positive side is easy, you can simply measure the output voltage from LT1605 (pin 5) as it is proportional to the current passing through R13. Using the parameters given, the output voltage goes from 0 to 2V when the current changes from 0A to 10A. You could just use one of the remaining analog pins on the MCU to measure this voltage, but the resolution would be limited to at most 10bits.

The negative side is a bit tricky if you do not want to use a separate power supply. As I explained in my post, the negative rail goes below the common input range for most current sensing opamps. But, if you have a separate power supply, you could easily monitor the current going through the 0.1 Ohm resistor on the negative rail using low side current sensing (treat the negative rail as ground and power your current sensing opamp independently). Hope this helps.

10. Jan Heijnen says:

Hi Kerry
I see that you have a encoder.h file which I have found. Where can I get the SPI.h file?
regards
Jan Heijnen

11. Neil Fryer says:

Hi,
Thanks for sharing this PS project, it’s just what I’m looking for, high current but simple. I’m not sure if your aware that according to page 20 of the LT6105 datasheet it can be used to sense the negative current. If that’s right I assume the negative layout can be the same as the positive with the two limit inputs. Are the big 10 watt ceramic resistors, the 0.1 ohm current sense resistors, and are R1 to R4 higher wattage resistors as well.
Thanks

• kwong says:

Yes, I did see that.

What’s tricky is that the common mode input is not symmetrical about V- (44V about to 0.3V below). This means you must power the V- from the negative input (after the rectified and filtered output) directly. Quoting from the datasheet:

The only requirement for negative
supply monitoring, in addition to the usual constraints of
the absolute maximum ratings, is that the negative supply
to that LT6105 be at least as negative as the supply it is
monitoring.

Since the maximum allowed power supply range is 36V, you will not be able to use it since the input voltage is already at approximately 40V and you still need a V+ of 5V.

That said, if your power supply design calls for an output voltage of ±20V (instead of ±30V or above like the one I had), then you could use LT6105 on both positive and negative side.

12. Neil Fryer says:

Ah, I see, so the problem is that the difference between V- and V+ exceeds 36V. I was intending to reduce the current as I was going to power op-amp circuits and so I could also reduce the voltage to ±20V and use the LT6105 and have a separate high current 30V variable supply as well. Does the input voltage to the regulator need to be a certain amount over the highest regulated output voltage as you need with standard to220 regulators.

• kwong says:

Not only the difference between V+ and V- cannot exceed 36V. When you measure negative voltages, the negative voltage can not be more than 0.3V below V- (whereas when you measure positive side the voltage can be 44V higher than V+).

Anyway, the minimum input/output difference (i.e. dropout voltage) is around 1V, but you should allow plenty of margin (i.e. 2V) to ensure proper regulation.

13. Christian says:

Hi Kwong,

Nice project. Is there any current fold back implemented as well as overcurrent/overvoltage/thermal protection? Can it sink current?

Regards,

Christian

• kwong says:

Now, it doesn’t have current fold back, over voltage or thermal protection. It does have precision constant current capability. Like most power supplies, this one can only source current but not sink current.

• Christian says:

Well, is there any protection at all? (like fuses)

For me, it would be a nice feature to monitor temperature and/or current state by time to implement a protection when not in constant current mode. (Like shutdown when trip_current is valid for >= \$time)

Anyway, great project.

Regards,

Christian

14. Rix says:

Hey Kwong,

Now, I am finish with build the PSU, but i have oscillation problems. I are using LF353 as op-amps, and i have placed the caps very close to the op-amps. What could be the problem?

Regards,
Rix

• kwong says:

Hi Rix,

As a first try, could you disconnect D1 to isolate the current limiting portion of the circuit and see if it oscillate? If it still oscillates, temporarily disconnect C3,C4,R8,R12 from IC1A and observe the output and add back the feedback to see if the oscillation still persist.

Because the open loop gain of the opamp is high and combining with the none-linearity of T6, it can easily lead to oscillation if the values of the feedback network/snubber network did not match the oscillation frequency.

Also, you could try increase C1 to 10uF to see if the oscillation stops.