Battery charger and MPPT controller

Thread Starter

Maurine

Joined Jun 29, 2026
1
Having designed numerous MPPT battery chargers, have never had any reason to implement a boost stage prior to the buck circuit; its just inefficient and a waste of power. Unless you are using tiny PV 6v panels (toys) or something very small, I wouldn't recommend it.

For a battery charger the most important measure is charge current and battery voltage; for mppt the requirement is to measure the instantaneous charge current and attempt to maximize it for all levels of PV illumination by varying the buck PWM. At each charge current measure, note the battery end point voltage; when in in Bulk phase and that end point is reached then start a constant voltage timer and keep the voltage constant to allowing the current to taper, then switch to float. These settings being set by the battery chemistry.

I generally stay in MPPT mode as much as possible, but backing off as required depending on the dynamic loads on the battery bank under charge; - talking about large systems here perhaps powering a house etc.

If implementing some sort of pre-boost stage then fix it at times 2 or similar going into your buck stage, do your control in the buck aiming for max current.

Cheers
Mike
Having designed numerous MPPT battery chargers, have never had any reason to implement a boost stage prior to the buck circuit; its just inefficient and a waste of power. Unless you are using tiny PV 6v panels (toys) or something very small, I wouldn't recommend it.

For a battery charger the most important measure is charge current and battery voltage; for mppt the requirement is to measure the instantaneous charge current and attempt to maximize it for all levels of PV illumination by varying the buck PWM. At each charge current measure, note the battery end point voltage; when in in Bulk phase and that end point is reached then start a constant voltage timer and keep the voltage constant to allowing the current to taper, then switch to float. These settings being set by the battery chemistry.

I generally stay in MPPT mode as much as possible, but backing off as required depending on the dynamic loads on the battery bank under charge; - talking about large systems here perhaps powering a house etc.

If implementing some sort of pre-boost stage then fix it at times 2 or similar going into your buck stage, do your control in the buck aiming for max current.

Cheers
Mike
I'm working on my final year project mppt solar charge controller Arduino based with a buck converter, to charge a 12 volt 60ah lead acid battery from a 150w solar panel, 18.5v, 8.11A. I’m using proteus to design but it’s not working properly please I need help
 

Attachments

U3 should get its input from the battery being charged, not the PV panel.
IR2110, H0 upper stage mosfet bias power wont work properly using a bootstrap diode arrangement, when working asynchronously, this only works with synchronous rectification with a mosfet L0 stage.
I would use one of those miniature 4 pin 1watt 12-12 volt isolating power supplies to power the H0 bias supply.

Rather than the IR2110, I would use a UCC5350SB, for this design + the 12-12-1W bias power, this is an isolated controller, provides a lot more protection to your CPU if something in the buck stage blows up.

I normally place the isolated current sensor in the lead going to the battery, as I want to know the actual charging current. For mppt operation all you are interested in is maximizing the charge into the battery, PV current isn't really required.

Your PV\Battery volts sense points should have a small capacitor to get rid of HF noise say 0.1uf.

Replace D3 with an 1N5819 schottky diode, lower R6 to 5.6R.

Mike
 
Last edited:
Top