Linear Regulator

In an earlier post, I introduced a project to design a precision bench power supply.  In this post, I describe a prototype linear regulator design with constant current control.  Here is the schematic:


(Please forgive the poor artistic skills.)

The design is straightforward.  The opamp U1A regulates the voltage at the load by adjusting the gate voltage of the pass transistor Q1.  The 0.2ohm resistor R1 is a high-side current sense resistor.  The voltage across R1 is fed into a 10K/390 = 25.64 gain differential amplifier.  The opamp U1D and the transistor Q2 pull down the gate voltage to maintain the current limit.  Note, this is negative feedback, since increasing the Q2 gate voltage lowers the Q1 gate voltage and hence the load voltage.  For the prototype, I used:

  • MCP4912 12-bit SPI-controlled DAC with Vref = +5V
  • Q1 is a Fairchild MTP3055VL
  • Q2 is a BS170
  • U1 is a MCP6004 quad opamp
  • it is controlled by an ATmega MCU

For what it is, the circuit seems to work nicely.  Here is an LED being driven with a 20mA constant current limit:

This circuit will require major improvements to meet the target precision and voltage range 0-30V.  The 12-bit DAC gives a resolution of ~7mA, which might be good enough.  I plan to replace the discrete differential amplifier with a TI LMP8640 High-side High-voltage Current Sense Amplifier.  A precision voltage reference will be needed for Vref.  Finally, there is the question of how to drive the high-side FET.  The MCP6004 is a single supply opamp up to +5.5V.  One option is to have a +36V or so supply voltage.  Finally, there is the subject of the controller stability and performance.  Is it stable?  What is the transient behavior like, overshoot and settling time?  What is the input noise immunity (e.g. from switching noise)?  I will return to these subjects in a later post.