In part 1 of this series of blog postings, I showed my preliminary design of a dual tracking linear power supply. In part 2, I showed the completed design and also the finished power supply circuits. And as promised last time, I have made a couple of videos showing the measurements of a few key parameters and will share the results here.

Load Regulation

Load regulation is one of the key parameters of any regulated power supply. It tells you how well a power supply is able to maintain its output voltage when the load changes between 0% to 100%.

In the video below, I measured the load regulation with the output set at approximately 15V. Using the electronic load I built earlier, I changed the load current from 0 to 10A and observed the changes in the output voltage (less than 0.01V). So a very rough estimate of the load regulation over the full current range is better than 0.01/15*100=0.067% at 15V. And more accurate measurements showed that the load regulation is actually just 0.03% over the full current range, and far less than 0.01% from 0A to 80% of the current capacity (8A). This kind of load regulation is far superior than what can be achieved using a standard three terminal regulator (e.g. LM317/LM337) as the typical load regulation among these linear regulators is at around 0.1%. The video also showed the current setting capability.

View on YouTube in a new window

Tracking Accuracy

Tracking accuracy defines how well the output from the slave rail tracks the output from the master rail. For this power supply, the negative rail is designed to track the positive rail. The video below shows the tracking accuracy measurements when the positive output is adjusted from 0V to 30V. At each measurement point, the negative voltage pretty much matches the positive voltage spot on except for a couple of mVs offsets. The following video shows the measurements:

View on YouTube in a new window

The voltage/current setting resolution and accuracy are largely determined by the quality of the voltage reference and DAC used. Given the 12-bit DAC I used, the voltage adjustment resolution is roughly 7.3mV and the current adjustment resolution is roughly 2.4mA. Of course, you can always use higher resolution DACs (e.g. 16 bit) to obtain even finer adjustment resolutions. But for typical use, 12-bit resolution is more than enough and it gives you the best bang for the buck. The INL/DNL error from DAC can be calibrated and corrected in software, which makes the voltage/current setting even more accurate.

Ripple noise is usually not an issue for linear power supplies. It can actually be quite tricky to measure it correctly as other electronic devices connected to the same power line can introduce significant noise and interference into the measurement. I had attempted to measure the ripple noise, but soon realized that all those CCFLs and computer switching supplies in my lab had introduced so much noise making an accurate measurement almost impossible. But by comparing the output waveforms to the output waveforms of my Topward 6603A (spec’d for <0.5Vrms), I can say that the outputs waveforms (use AC coupled, 2mV/div) of these two power supplies are quite comparable. One thing we need to pay special attention to is the decoupling of the digital circuitry power supply. Because the power supply is essentially driven by the DAC, inadequate decoupling could introduce unwanted ripple noise. But in general, because this is a linear power supply, as long as the input capacitance is large enough (I used two 22,000 uF filter caps) and as long as there is no oscillation in the control loop, ripple noise should be minimal. Perhaps one of the biggest advantages of this digitally controlled power supply is the stability of the output voltages. When a power supply uses potentiometer to adjust its output voltage, the voltage tends to drift over time as the wiper of the potentiometer settles, especially when the quality of the potentiometer is poor. Since the DAC output is very stable, the long term output voltage drift is largely determined by the temperature coefficients of the sensing resistors (R10 and R11). In my limited testing, I left the power supply on over night and the output voltage drifted only around 1 mV when the output voltage was set at 20V.

Final Thoughts

Overall, I am pretty satisfied with the performance of this power supply. Because the set output voltage is controlled by an ATmega328p, you can easily reprogram the MCU to add in more sophisticated programmability. And as I explained along the way there is a lot of flexibiliy when building this power supply. You can build just the positive portion for instance (without tracking for instance), and you can adapt the number of pass transistors to handle your maximum current requirement.

OpAmp oscillation could become an issue depending on the type of OpAmps used and the actual circuit layout. A clear indication of such oscillation is the drift of the output voltage with load. The best way to verify is using an oscilloscope to observe the AC component of the output signal. The snubber network and the RC filter within the feedback loop I mentioned previously can be adjusted accordingly to restore the correct phase margin and eliminate the oscillation. My recommendation is to build the circuit without the snubber network or the RC filter and add them back in only when stability becomes an issue.

Of course, there are a couple of areas you can still improve upon. While this power supply offers over current protection, it does not protect the output from over voltage. An over-voltage situation typically occurs when one of the pass transistors fails (e.g. a shorted collector emitter) and in that case the input voltage is applied directly to the output. When the power supply is correctly designed and the power dissipation among the pass transistors is adequately provisioned, this situation should not occur even during a prolonged dead short at the maximum allowed current for prolonged period of time. Thus, most of the lower end commercial lab power supplies do not offer over current protection. But you can always add a crowbar configuration to protect the output against this unlikely scenario. Another area some readers suggested is the over temperature protection. Again, this can be easily added if it is needed. But for the massive heatsink I used and the designed operating conditions, this is not an issue.

Be Sociable, Share!

28 Thoughts on “A Digitally Controlled Dual Tracking Power Supply — III”

  • Hi Kerry thank you for this information. You mentioned that the full code listing is available. I found the encoder software link which is great. I would like to use the standard Arduino board with 2X16 display. Do you have another link?
    Jan Heijnen

  • Hi ,
    can i have you email?
    My email is
    Would you like to email me then?
    I really want to ask you some questions about the power supply.
    Some things i dont understand and i really need to know because i am building a project for school. and it is a power supply

    But dont think is a good idea to put it in comment.

    • You can PM me by replying to this email directly. But if it is something that other people can benefit from, I’d encourage you posting your questions here.

      • I think other people also have this question so i will ask it here,
        Thanks for the quick respond btw

        I can understand the voltage control.
        That part is not so a problem for me , but i still don’t get how the current is controlled
        Can you give me an explanation for that?
        Because i have looked your story over and over but still don’t get how this works.

        • Sure thing. Let’s take a look at the schematics included in Part I.

          Let’s ignore the current limiting feature for a minute and assume that the regulator is working at a preset voltage (say 5V, it doesn’t really matter). When the voltage is set, The output from U4 will adjust until the two input voltages are equal (due to negative feedback). This output voltage raises Q2’s base voltage so Q2 is conducting and the voltage drop developed across R14 sets the operating condition for Q1 and Q3 so that the output voltage equals the set voltage.

          Now, let’s see how current limiting comes into the picture. Because the biasing for the main bypassing transistor (Q3,Q1) is provided via the voltage drop across R14, if we reduce current flow across R14 the base voltage of Q1/Q3 pair would be lower and thus they will be less conductive and the output voltage will be lowered. So the plan is to pull down Q2’s base voltage to drop the output voltage and thus limit the current.

          Here’s how the current limiting portion of the circuit works: voltage drop across R1 gets amplified by LT6105, and the output is compared with a preset value (the desired current limit), when the limit is reached the negative input of the OpAmp U1 will be higher than the positive input so the OpAmp will lower it’s output voltage trying to adjust via the feedback loop to make both inputs equal again. This is achieved by outputting a lower voltage than what is currently at the base of Q2. Thus current flows through D1 and sinks into U1. Because R10 is connected to the base as well, the additional current flow through D1 will increase the voltage drop across R10 and thus lower the base voltage of Q2. As the base voltage of Q2 drops, Q2 becomes less conductive and thus the current flows through R14 drops so Q3/Q1 becomes less conductive and thus the output voltage drops. This correction will reach an equilibrium when the current flows through R1 drops to a point so that the potentials at both inputs to U1 are equal.

          But wait, wouldn’t U4 try to adjust to make its inputs equal again? Well, yes, it certainly tries. But given the supply rail limitations, it can only do so much before it’s output reaches either of the power rail and at that point, it can no longer adjust it’s output. And that’s exactly what happens in the over-current situation. If you measure the voltage between the two inputs to U4 during an over-current event, you will notice that the voltage is no longer 0.

          The best way to understand how the circuit works is to run the simulation I included with my first post, and change some parameters and check to see the effect of the change.

    • I took a quick look. First you will need to add a current sensing resistor between the voltage input and your main pass transistor. Without measuring the current you will not be able to limit it.

      After that, you will need to a way to either lower Uadj (Pin 3) or the base of Q1 in an over current situation. One of the approaches was described in my posting earlier, but you can find many variations that would achieve the same result utilizing similar principles.

  • I have made your concept in multisim but then it doesnt work.

    is it correct that the transistors in your schema have been measured out to match each other?

    I can’t come with wich transistors i need to use.

    Can you help me with that?

    I need to get An output voltage from 0-25 with a current of approx 5A.

    Can you help me to pick the transistors.
    I dont need the current limiting system

    • Did you try the SPICE model in the first post? The transistors do not need to be matched and in fact you can pretty much use any transistors you have (as long as Ic and BVceo are sufficent).

      Which part of your circuit did not work?

    • Unless I am missing something, the transistor you used to drive your three parallel pass transistors should be a PNP (Q8 (the one connected to the base of TIP41) should be a PNP)

  • I watched soms othere power supplys and they have made it with only npn transistors

    so both the pre amp transistors need to Be pnp?

    • Ah.. I didn’t look carefully. Your circuit is totally different than what I had ( you are outputting via emitter), and yes in that case you could use all NPNs, but the regulation is poor as Vbe is a function of the current.

  • I Will buy some. Tip41. Tip 42 and tip35.
    my opamp is the lm358. With supply voltage of approx 24v. Will This work?

    i Will stop asking questions but i am going to build your thing

  • My opamp can generate up to 30 volts so the regulation i would say is pretty good
    seen the fact that the opamp generates a voltage in comparation to the voltage divider

  • Hello!

    And many thanks for this brilliant article. I´m planning to make control section for my HUUUUGE 24 V 20 A SMPSU.
    I wonder if it is enough to add another set of four TIP35C (and resistors too, of course) to achieve nearly 20 amps?
    And do i have to make any modifications on the software?
    Keep up the good work!

    Pauli Valkama from sunny Finland :-)

    • It all depends on what’s the worst case input-output voltage differential. If you use a single output transformer, a reasonable assumption is that your input voltage is at around 30V. So you are talking about dissipating 120W (20x(30-24)) across 4 TIP35 which is quite reasonable given sufficient cooling.

      But if the input-output voltage difference is higher, you will need more than 4 in parallel (take a look at the safe operating region (SOA) in As a rule of thumb, each transistor should dissipate less than 50W (Tc=100 degree C) and should pass less than 7A (at Vce=10V). And the maximum current a single transistor can withstand is heavily dependent on the Vce (e.g. when Vce=30V you probably want to keep the current less than 2A to keep the transistor running within its SOA).

  • Yes, that´s true BUT I´m thinking to make this SMPSU adjustable (I bought it second handed andit has fixed output voltages: 24V 20A, 12 V 8 A and 5V 10 A, as I remember) so that I can adjust current limit up to 20 A and this 24V adjustable 0 to 24 V…
    I think that to be on the safe side I´ll put another set of four of these TIPs and those resistors.
    Haven´t put my mind (yet) to this software side although I´ve glanced it a bit. What I assume that I must somehow to modify this current setting and maybe voltage setting part?
    Anyway, thanks for quick reply and keep on rolling :-)

    • Cool. Good luck with your project! Yes, the current setting code will depend on the sense resistor value you use, but that is pretty straight forward.

  • Hi Kerry

    Awesome work on the power supply!.

    I second the Eagle/DIPTrace files if you have them. :)

    Either that or the power ratings/BOM on the passive components.

    Dave Boechler

Leave a Reply

Your email address will not be published.