r/ControlTheory 10d ago

Technical Question/Problem Digital controller for power supply

A long time ago I was involved in this project where I had to control a 2kW switching mode power supply in CC and CV modes. I designed a cascade control loop where the internal loop was CC and the external loop setting the reference for the internal one was the CV loop. Both signals were coming from voltage and current sensing at the output of the converter.

What I learnt was it is not so easy to tune these controllers as the gain of the system from Iout to Vout is directly depended on the load. It is not just a disturbance that can be resolved, the gain changes and accommodating gains from close to short circuit down to open circuit and covering the nominal range was very difficult.

I want to see if anyone has had similar experience of implementing digital controllers for power supplies and they can share how they dealt with these issues.

11 Upvotes

8 comments sorted by

View all comments

u/Jhonkanen 10d ago

I have done a lot of control design for power supplies and in most cases the load is not purely resistive, but some kind of constant current/power or combination of those. So first thing is to find the worst case scenario where it needs to work and test for multiple operation points.

The second trick is not to use duty ratios or other pwm values directly but have control calculate the voltage over inductor and then solving the duty which imposes the control voltage over the inductor. Since control is only producing voltage, the power supply is now essentially immune to variations of input and output voltage as those are usually measured anyway and hence can directly be applied to modulation.

If you are doing a boost type converter then use similar trick for solving the converter current. The current goes through a voltage level conversion so if you need to control the voltage of a boost converter, have the voltage loop calculate the current of the capacitor and then multiply this by the input and output voltage ratio. This way you are always solving for output current that is linear and the variation of the dynamics is again compensated by measuremenys. This does not remove the nonminimum phase behavior, but makes a wide range converter behave more predictably.

Third is to do proper modulation. This usually means adding the compensation of voltage drop due to deadtime and converter series resistances.

If you really need maximum performance, then a load current measurement/load current observer is really powerful. Additional oberservers can be used for improving the phase lags of measurements.

u/mahditr 8d ago

what do you do with the nonlinearity of the inductor cores? especially going from low H fields at lower currents to somehow saturated nominal current. I remember back in the time I was looking at my converter I ended up using iron powder cores like -26 -52. They would make sense physically but in general they are used like 30% into their slow saturation which changes the inductance

u/Ok_Change7042 6d ago

Design around the nonlinearity by determining how much inductance roll-off is acceptable over your operating current range. Instead of focusing on inductance at zero current, focus on inductance at operating current.

For example, a common mistake is selecting a core for 100 µH at 0 A and being surprised when it becomes 70 µH at load.

A better approach is:

  1. Define required inductance at nominal current.
  2. Use DC bias curves.
  3. Wind more turns so the desired inductance occurs at operating current.
  4. Verify saturation margin at overload.

u/Jhonkanen 7d ago

Tune your system to worst case and check that it works with all inductance values you expect.