Current Limiting Overshoot
Last time I described a problem where the voltage would overshoot the set point when the circuit comes out of current limiting mode (see below). When the current returns below the current limit the voltage (blue trace) shoots back up but overshoots.
I experimented with various things. The main things were trying to use a diode to bypass the capacitor when the voltage drops. I also tried reducing the current flowing through the diodes (increased the pull-up resistor to 47K) and this also didn't have any effect. On the plus side it draws less current however so I will keep the change.
A bit stuck I turned to my trusty guide - the Agilent E3634 service manual and schematics. They take a different approach in that they sum the reference voltage and the inverted output voltage to drive the MOSFET. I noticed that there was a capacitor across the diode that joins the voltage error amplifier to the MOSFET gate. I wasn't exactly sure what this did but I tried it out. The circuit essentially now looks like this (I have added C8).
While it did not totally eliminate the over-shoot it reduced it to the point where it is negligible. I don't quite understand how this works - it is essentially capacitor coupling the voltage error amplifier with the gate driver.
When I tested this on the breadboard it looked like this (see below). The yellow trace show the current flow measured by the dummy load (1V/A) and the blue trace is the voltage output. The voltage shoots from zero up to 26V when the current drops. You can see a very slight upward deflection in the voltage and the top of the blue trace but otherwise it is pretty smooth.
I did have a slight concern that this would effect the speed of the transient load response but here is the output voltage when the load switches from 0-2A and back again. It is still responding with 10uS in both directions:
This looks perfect to me! I am calling it fixed!
Pre-regulator
The other problem is that I found that if I set the pre-regulator to track the output voltage, when the supply goes into current limiting mode and then returned to constant voltage mode, the voltage would not return to the set voltage.
Having the pre-regulator track the output voltage is important. Otherwise if the pre-regulator sets the capacitor voltage based on the desired set voltage and you short the output terminals, the MOSFET would have to drop virtually the entire output power. I'd have to use a massive heatsink to support this. Setting the pre-regulator from the output voltage means that in current limit mode the MOSFET only has to drop a few volts.
To illustrate the problem, here is a trace showing the load current (yellow), the output voltage (blue) and the capacitor voltage (green). The output was set to 25V and limited to 500mA. The dummy load was set for 1A so you can see short spikes before the limiting takes over. The voltage never makes it back to 25V when the current drops as the pre-regulator voltage hovers around 19V.
Interestingly if you set the output voltage lower it works and although it isn't clear why.
It took me some time to replicate this behaviour in LTSPICE. I figured out that as I was simulating the transition from 3A to 1.5A and back again it was different to the breadboard test. I also had to increase the simulation time as the capacitor would take time to discharge.
I tried changing the Zener diode in the pre-regulator that determines how far above the set point it is aiming for but this didn't have much effect. I tried increasing the capacitor on the servo op-amp that controls the firing point but this made it worse. Then I experimented with smaller values and found that if I used a 470n capacitor it would work. The downside is that the charging of the bulk capacitor is less frequent (more sporadic) but it does work.
Here is another test with the 470n capacitor, with the dummy load set for 3A and the limit set to 500mA and the voltage set to 25V. The pre-regulator holds the voltage comfortably above the output and the circuit is functioning correctly.
When I vary the output voltage the pre-regulator moves accordingly which is fine.
Again I think I will call this fixed. I think the dissipation on the MOSFET is still significantly reduced by the pre-regulator. When I set the dummy load for a constant (and large current) and set the limit for a smaller output, the pre-regulator does a good job of maintaining a lower capacitor voltage so the output holds at the desired voltage and the current holds constant.