At one point in my academic journey, I was really into circuit design and building. I even interned at Texas Instruments as an applications engineer. For fun, I am including a project that I spent many hours on: the transient load test, or "load slammer".
For any electronics that require power (which covers most circuits), it is important to test how that system's power supply will handle load transients, or sudden changes in load. Seeing the voltage response to a suddent change in load helps engineers adequately ensure that their circuits are adequately prepared to handle such transients. A transient load tester, or "load slammer", is a device with an adjustable load that can be "programmed" to different load rate of changes, known as a slew rate.
My goal was to design/fabricate a load slammer that could achieve a 5A/µs slew rate at a 10% duty cycle at 1 kHz, at a 1A to 3A step. Essentially, I designed a load that can change current from 1 A to 3 A, at a 5A/µs slew rate. Here, I show the multiple designs I went through to achieve my goal. For each design, I simulated the circuit in SPICE to choose component values and validate them.
Rev1: The Basics
As shown below, I started simple: a power transistor with a shunt resistor at the source terminal. The resistor essentially acts as a current source since its resistance is quite small, and a step voltage at the gate of the transistor is what modulates the current going trough the resistor. The value of the resistor and drain voltage dictates the load current, and the speed of the "step" is dictacted by speed of the gate voltage, and unfortunately, parasitic capacitances. I actually ended up achieving a slew rate of 8A/µs with this design. Unfortunately, this circuit has a major flaw that makes it almost unusable: it is prone to thermal runaway, and to counter it, you have to manually change the gate-to-source voltage at a rate that makes it quite annoying to use.
Rev2: Adding Feedback
To make the voltage control easier, I added a simple voltage buffer at the gate of the transistor using an OPA836. I chose this op-amp based on rail-to-rail, output drive, and bandwidth specs. By using basic properties of op-amp feedback, we can now regulate the gate-to-source voltage without having worry about thermal runaway. I simulated the circuit below in SPICE, then validated the design in real-life. With this design, I was able to achieve a slew rate of 50A/µs for a large input step! However, looking at the voltage response below, you can see a bit of a problem with adding feedback: you get oscillations and "ringing". This is just a inevitable given the control theory of op amp feedback circuits, but how can we fix this?
Rev3: Finishing Touches
The way to solve the "ringing" problem is by adding an "in-loop" capacitor. In mathematical terms, this equates to adding a "zero" to the feedback response system that stabilizes the response. There is a tradeoff between slew rate and ringing for this capacitor value. I settled on 41 pF after testing multiple values. I also added in a resistor between the op amp output and transistor gate, which can be used to tune the frequency response. I added a voltage divider at the input as a way to better adjust the input voltage. Finally, I added a non-inverting op amp at the shunt resistor to amplify the voltage for measurement purposes. I eventually settled on 5 milliohms for the shunt resistor; however there was a tradeoff between loop gain and headroom. Too small of a resistor would also allow the offset voltage of the op amp to dominate.
Final Product
The last step was to fab this on an actual board. I used Altium for layout, and used JLCPCB for the fab. Below shows the final product. At the end of the day, this load slammer had a slew rate of 45 A/µs, can slam up to 10 A, and regulates quite well under different input voltages (1V vs. 5V). Last, but not least, the ringing was reduced by a good amount that justified calling this project a success. So at a high level, this is the load transient tester!