Bench Power Supply
The UNLV Engineering Electronics Lab is the point at which I feel students' work could actually be confused for engineering. The curriculum focuses on several different techniques and technologies used to design amplifiers and shows some of the pros and cons of each method. For our final project my partner and I decided to couple this knowledge with some techniques from other classes to design a modular bench power supply stage.
Our idea sounded simple enough. Find a power MOSFET that can run continuously in it's linear region and design two feedback circuits. One feedback circuit to limit voltage and the other will limit current. We chose the output range of 0V-30V and 0A-5A. This is a pretty common range for commercially available power supplies and is well within our needs for home use. One of the problems that DIY power supplies often have is supplying voltages below the MOSFET's threshold voltage. We were going to find a way to design around this allowing our power supply to be a "true zero" source. Another common issue with home built power supplies is output power being limited preventing full current from being available at maximum voltage. This issue is almost entirely the product of heat so we knew that our design would have to include some pretty serious thermal management.
The first task, and our first hiccup, was to find a power MOSFET capable of delivering 5 amps with a drain-to-source voltage of at least 30 volts. We sorted through dozens and dozens of MOSFETs sold as being able of handle hundreds of volts with current capacities several times what we were looking for. Once we looked at the safe operating area chart in each datasheet we realized that all of that capacity information is only useful for pulses that last for microseconds. We never found a good way to sift through the parts that are available on the market, but after some time we did eventually find the IRFP460. A 500V 80A N-channel MOSFET that was both economic enough for our project and claimed with perfect cooling to be able to handle 20A continuously at 30V drain-to-source for 10ms. It's safe operating area graph didn't include a continuous region and we didn't know exactly how good our cooling solution would be, but we felt that this gave us enough headroom that we felt safe selecting this MOSFET for our power supply.
Now that we had a transistor we had to figure out how to drive it. During our research we came across Peter Oakes' power supply design and we used many of his insights to craft our design. His design used a weak 6V pull-up on the gate of the MOSFET so that the default state of the circuit is to drive the MOSFET into saturation allowing, essentially, the full raw input to pass. Both feedback circuits would be monitoring the power supply output and once they see either the voltage or the current go higher than its setpoint then that respective feedback loop would begin to pull the gate voltage down regulating the voltage and current flow through the MOSFET. The genius of this design is that a diode is placed between the gate and each feedback loop so that each respective feedback signal can only sink the gate to match the difference between their setpoint and the output value. The lower of the two signals does all the sinking and the more positive signal has no effect because it is blocked my the diode. This means that both feedback loops, and any others a designer might want, can operate independently of each other which greatly simplifies the feedback loop design.
There are several other very smart choices made in Peter Oakes' design that we used in ours. Placing the current sense resistor on the high side of the output and before the voltage feedback circuit allows the voltage measured at the positive Vout to be referenced to ground for a true measurement. It also means that the feedback circuit doesn't need to include the current sense resistor. Peter also references a 0V virtual ground for the feedback logic to the source of the MOSFET. This allows a +/-12V signal to drive the full 30V range because the virtual ground floats along on top of whatever the MOSFET source voltage is. Because the gate acts to open or close the MOSFET based on it's voltage relative to the source this allows for a much more reasonable voltage range for all of the logic components and enabled us to use much cheaper and more commonly available parts.
With our control circuit mostly in place we started to design our feedback loops. Generally, the feedback circuit works by having a positive voltage when the output is below the setpoint and a negative one when the output is above it. We decided to use a 0V-5V signal to be the setpoint and designed inverting amplifiers to scale the output level appropriately to match. These signals are connected by two resistors of matching value and the center point of the resistor divider is the signal that gets sent to the gate driving circuit. For example, if the setpoint is at 5 volts, but the feedback is only producing a -2.5 volt signal then the voltage at the center of the resistor divider will be 1.25V which will allow the MOSFET pass more power provided it's not being pulled down by the other feedback loop. On the other hand, if the setpoint is 1 volt and the feedback was producing -5 volts then the voltage sent to the gate would be -3 volts which would pull the MOSFET into its cutoff state. In an effort to smooth out the response of the MOSFET, we ran the signals from the center of the resistor dividers through integrators. This will maintain the power supply's ability to respond to large changes, but will prevent it from oscillating due to over-correction from the feedback loop.
For voltage control we had to design an amplifier with a gain of -1/6. Looking for standard values, a feedback resistor of 18kΩ and a source resistor of 108kΩ would be a perfect -1/6 gain. Sadly a 108kΩ resistor is not a standard value so we used a series combination of a 100kΩ and an 8.2kΩ resistor. We added an 18Ω resistor to the feedback loop to compensate that side. Because the supply voltage of the op amp is referenced to the virtual ground and not the output ground we had to mirror this circuit for the non-inverting input of the op amp that is connected to the 0 volt output terminal. Instead of the feedback circuit going from the op amp output back to the non-inverting input it was connected between the virtual ground and the non-inverting input. This prevented the op amp from seeing negative voltages outside of it's supply range on the input that is usually grounded in this configuration.
For the current control circuit we designed an amplifier to use differential inputs connected to each side of the 50mΩ current sense resistor. A 5A range of current over a 50mΩ resistor results in an input range of 0V - 250mV so we needed an amplifier gain of 20. Connecting the high side of the current sense resistor to the inverting input and the low side to the non-inverting input ensured that the output of the amplifier was always a negative voltage. Again we wanted to use standard values for our amplifier resistors. We chose a 10kΩ for the current sense signals to run through and a series combination of a 180kΩ and a 10kΩ for the feedback loop. Because our virtual ground was tied to the high side of the current sense resistor (the source of the MOSFET) no additional ground trickery was needed.
This effectively completed the design of the functional part of our power supply. In order to protect the design from a wide variety of potential input and feedback impedances we also put an op amp in a unity gain configuration on all of the inputs and outputs. This allows the power stage to truly be modular as the power supply with perform in the same manner if the input signal is created with a potentiometer, a DAC, or any other desired method.
With the schematic complete we moved on to the PCB layout. Obviously with the potential for 5 amps to flow through the main traces through the MOSFET it was important to make those traces much larger than the logical traces. We also routed them around the perimeter of the board to allow the logical traces in the center to be relatively safe from interference. This board was to be hand soldered so for standard sizes we chose 0805 capacitors, 1206 diodes, and 1210 resistors. We also chose some rather small SOIC-8 op amp packages that we knew would be a little challenging to hand solder, but they were not an unreasonable challenge. We found a reasonably high performance quad op amp IC from ON semiconductor that came in a DIP package (The MC33074APG). We used that chip to drive the 4 amplifier circuits in the main power supply loop. Having a DIP package meant we could use a socket to allow the chip to be easily replaced should we let the magic smoke out on accident.
We packaged that up and sent the PCB out to be fabricated. We then started to consider how we would demonstrate our creation. The op amps protecting the inputs gave us a lot of flexibility on how we produced the setpoint signals so we decided to do something a bit more interesting than a couple of potentiometers. We used two mechanical encoders connected to a Diligent chipKIT to adjust our setpoints. The chipKIT would then communicate over SPI with a digital-to-analog converter to actually produce the setpoint voltages. This allowed us to make significant changes in our adjustment resolution easily in software without having to swap physical devices in our system. We attempted to display the feedback on the same board as the encoders using an OLED screen that we had on hand, but that screen communicated over I2C and the mix of the two protocols slowed the response of the chipKIT beyond what was acceptable in our eyes. If there is a second revision of this project it will probably use an I2C DAC and a better interrupt routine for the encoders to solve this problem.
We could test our voltage control with basically any load, but in order to test our current limiting circuit we needed a load that could take a reasonable amount of current. Sadly we didn't have access to a dedicated DC load which would have been the right tool, but during our prototyping we put together 120 30Ω resistors in a parallel and series array that gave us a 30W 36Ω load. This drew a little over 800mA at 30V which wasn't that close to our design's capacity, but was more than enough for us to see the current limiting half of the supply work as designed. On our last day of testing we found some low resistance 5W resistors and we were able to test the power supply all the way up to 5A. It produces a lot of heat at that current level so a better cooling strategy would be needed for long term use, but the supply itself was able to handle it which fulfilled our design goals.
We had one issue with our bill of materials and the part that we ordered to be our high current connection points into and out of the board did not arrive as described. We did not have enough time to order a replacement part that fit in the footprint so we soldered the cable directly to the board and used some insulated solid wire as a strain relief as seen below on the completed unit.
Overall, the power supply performed better that expected. The functional voltage range of 116mV - 30V is not "true zero" per se, but it is certainly close enough for home use. The current limiting side was able to drive the output all the way down to 0mV so it seems that with some tuning of the amplifiers this design could have true zero performance. Our transient response was a pretty lackadaisical 16ms, but the output ripple was below the noise floor of the lab. This leads us to believe that the 1000uF smoothing capacitor could be swapped for something much smaller (maybe 470uF or 220uF) to significantly improve transient response while still having an acceptably small ripple on the output. Our voltage regulation for a 6V load was 3.8% for a change from ~0A to 5A. That is not lab grade performance by any means, but we were very happy to see it well below 5%. We presented this project as part of UNLV's Spring 2017 Junior Design Contest where we beat out several very interesting projects to win first place.
It is important to say that this was an academic project and does not necessarily represent industry best practices. Any attempt to recreate the work here is done at your own risk! All of our prototyping and testing were done in an electronics lab that had many additional safety precautions that are not present in a normal home lab. Be smart out there!