Electronic – PID Control implementation for charging battery really necessary

battery-chargingpid controller

If one is to make a battery charger, lets say a Li-Ion battery charger (using a micro-controller with buck converter), is it necessary to do some kind of control implementation inside the micro-controller for e.g P , PI , PID ?

Like generally we would be measuring the voltage and current being fed to the battery, and try to keep the current constant (by adjusting PWM duty cycle being fed to the buck converter) for the first phase of charging. After that when a certain Voltage is reached, we would try to maintain that voltage by reducing the current, until a current value is reached where charging has to be terminated.

But my MAIN QUESTION is that, is it necessary always to implement some kind of control technique (P,PI or PID) in our micro-controller to adjust this value of voltage and current being fed to the battery (by adjusting the PWM cycle off course) ? If yes why ? and if not then why not ?

P.S i searched online and came to find out mostly people have implemented PID control in micro-controllers for running motors. I couldn't find much regarding this with respect to battery charging. I was thinking that may be its because the response time of the system (time to implement the current/voltage change needed) is very small in case of motors operation as that compared to battery charging. Am i right ?

Thankyou !

Best Answer

You said yourself that depending on what part of the charging process you are in, you keep the current constant or try to maintain that voltage. That's going to require some kind of controller, though not necessarily PID or some subset thereof.

The characteristics of a charging battery change very slowly relative to what even a slow microcontroller can measure and react to. Batteries also don't exhibit second order effects like inertia, like motor speed as a function of current does. Both these together allow very simple control schemes to work well.

Probably about the simplest control scheme for a switching power supply is pulse on demand. It is always stable and robust, although results in more ripple than a more finely tuned control scheme can accomplish.

When the output is below the regulation threshold, you do a pulse, else you don't. To avoid inductor saturation, you may always not do a pulse at the next slot immediately after a previos one, but that's a detail.

I've done pulse on demand switching power supplies with the PIC 10F204 a bunch of times. The code spins in a loop checking the comparator output as long as it is indicating the output is above the regulation threshold. When the output falls below the threshold, the code following the loop is executed, which produces a pulse. The instruction cycles to jump back to the top of the loop and do the next comparator check usually take enough time so that it's OK to do the next pulse righ away if the comparator indicates the output is still below the threshold.

Sometimes this can go meta-stable by producing two pulses in a row before the feedback catches up to the output having gone higher, but in all cases it remains stable as long as the maximum load isn't exceeded.

This sort of system is fine for battery charging, except that you have two thresholds, one for voltage and one for current. You only do a pulse if the output is below both. The higher level logic can adjust the limits as the battery progresses thru the charging procedure.