Electronic – PWM Solar Battery Charger for 192V battery

chargerpwmsolar cell

I bought a solar controller for my 192V solar system that did not work as advertised (instead of MPPT, works with ON-OFF cycles – Chinese ripoff – but that is offtopic).I want to redesign the control and power stage to make it a real PWM controller. I came up with the following schematic:

enter image description here

The PV array has a maximum voltage of 340V and maximum point at 270V. The actual controller connects the PV directly to the battery until the voltage reaches 232V. Then it cuts the connection until the voltage drops to 216V when it connects the PV back. Cycle repeats. That is not fully charging the battery.
By using a variable duty cycle (generated with an Arduino), I want to reproduce the 3 stage battery charging method.

Now be gentle with me, this is my first project and all the help is apreciated.
Let's jump over the "WARNING: High Voltage message". Is taken into account 🙂

The snubber from the IGBT is made after the ones my controller has. The only difference is the controller has no gate resistors/diodes, no resistors between gate and source and has a big 1uF/450V capacitor between the PV+ and B+.

Regarding IR2110, I know using it as High Side driver requires a bootstrap circuit. Since in the first stage, the IGBTs will be continuously closed (100% Duty Cycle), I want to use an isolated dual power supply (B1 – powered from the 192V battery) to power the Arduino (5V) and IR2110 (5V/12V).


The frequency I tested the circuit with is around 100Khz. It works good until I apply a big load (I applied 24V on the PV side and 2 halogen car light bulbs in series on the output, with a variable duty so the output is around 13V), moment when, randomly, the Arduino controller either resets or locks. I am stumped ! I have no idea why this happens. If the load is smaller (like trying to charge a 12V battery), the circuit works without any issues.


Seems the resets/locks of the uC happened because of high ground bounce. I was getting between PV- and B- a potential of over 1000V (going over the scale on my digital voltmeter). I added C2 and things calmed down.


I have a strange reading on my oscilloscope, between point A and B, that I have no idea what it means. Is this reading OK ? Happens when Duty Cycle is under 20-30%. Frequency 100Khz.

enter image description here
enter image description here

Thank you !

Best Answer

MPT chargers hunt for max VI generated but the open loop method of setting PV voltage to ( I recall ) 80+/-5% , where it drops with solar E input and changes with ambient temp.

You indicated "The PV array has a maximum voltage of 370V and maximum point at 300V. The actual controller connects the PV directly to the battery until the voltage reaches 232V. Then it cuts the connection until the voltage drops to 216V when it connects the PV back"

Thus Voc=370Vdc est. Vpmt=80% of 370 = 296V is a convenient duty cycle to use for a Fixed PWM. A tracking design senses the dv/dt while sweeping PWM and has a control loop to track peak.

Then you need another buck charger regulator that has CC and CV controls with UVP protection in case Vpwm drops from excess demand-supply current. This regulates the CC target level with a 50mV current shunt R or high side current sense IC.

Often each PV panel has its own PWM incase of partial shadows, as the effective Series impedance of series PC cells will rise rapidly when a solar shadow occurs.

Let's see what your minimum PV impedance is.

What we know.

  • Vpmt= 200V

What we don't know

  • Pmax of PV array, RdsOn of MOSFETs, battery technology, capacity etc.etc.

  • Let's pick a number like 40kW then ESR of the "quasi-current source" PV panel is Pd=V^2/ESR

    • so ESR= 1 Ω and Imax = 40kW/200V=200A
  • how to choose RdsON of MOSFETs for CC mode ?

    • You don't want massive heatsinks or excessive Tj rise so a rule of thumb is <1% loss per device. or RdsOn of 10 mΩ

These are just guidelines.

Burp mode charging (on-off) Using a smoothing Choke in series, this is basicially another method of DC-DC conversion using hysteresis and a choke that is rated > Imax and impedance of choke determines the switching frequency you need such that it is much greater than the ESR of the PV This ends up being in the 10kHz to 1MHz range. If currents are too high then a boost regulator is used to raise PV DC-DC to a higher voltage like 800V, for the intermediate level then Buck to battery in order to minimize conduction losses in cables and MOSFETs but at the expense of higher performance HV Silicon Nitride FETS or IGBTs.