MPPT charge controller circuit's parts selection

Thread Starter

SHARANYADAS

Joined Apr 13, 2017
65
Hi experts
I am designing a MPPT charge controller(based on synchronous Buck topology) for my home use.The parameters are as follows:

1)PV voltage range(19-55v).
2)Max output current - 20A.
3)Output voltage for battery - 12v/150AH(I will use existing 12v battery & 600W inverter for cost optimization).

Now for the Buck converter,i am using atmega328p.The pwm frequency is 62.5khz.I am using IR2104 H-bridge as mosfet driver.

First of all,i am designing a 1.5A output buck for test purpose.But the main problem is how to find the Input cap/Output cap/Inductor value for this type of variable output buck?
I am attaching my test circuit(The Buck converter part).I have prepared a Excel (depending on the formulas from different App notes from ON & TI).
Currently i am using 150uH inductor,100uF output cap & 100uH input cap.(For 13.6v output@1.5A max,the values calculated L-137uH,Cin - 79uF,Cout - 80uF).
Please take a look & tell me if i am going into right direction!!

buck_schematic.png
 

Attachments

Solar Mike

Joined Apr 26, 2018
33
Hi, Quickly looking at your cct.
R8 should go to Q2 source.
IR2104 has limited drive current, you may want to use another in the series.
You may have problems when the battery is fully charged, the very low duty cycle of Q1 means Q2 will have a long cycle time mostly on, this will allow current to back feed from the battery via the output inductor, when Q2 turns off in this condition damaging spikes may do some serious damage. You need a method to detect this condition and turn Q2 off to asynchronous mode. Also place a suitable high power fast diode across Q2, the internal mosfet diode is not very fast.
I would use a separate isolated 12V dc supply rather than the bootstrap cct, bootstraps get unreliable if the system goes to non continuous mode say when under light or low load, ie battery fully charged.
How much duty cycle resolution do you have with that cpu for voltage control.

Cheers
Mike
 

Thread Starter

SHARANYADAS

Joined Apr 13, 2017
65
Hi, Quickly looking at your cct.
R8 should go to Q2 source.
IR2104 has limited drive current, you may want to use another in the series.
You may have problems when the battery is fully charged, the very low duty cycle of Q1 means Q2 will have a long cycle time mostly on, this will allow current to back feed from the battery via the output inductor, when Q2 turns off in this condition damaging spikes may do some serious damage. You need a method to detect this condition and turn Q2 off to asynchronous mode. Also place a suitable high power fast diode across Q2, the internal mosfet diode is not very fast.
I would use a separate isolated 12V dc supply rather than the bootstrap cct, bootstraps get unreliable if the system goes to non continuous mode say when under light or low load, ie battery fully charged.
How much duty cycle resolution do you have with that cpu for voltage control.

Cheers
Mike
Is there any definite need for R7 & R8(I found those in the internet)?Also,can you suggest some fast recovery diode for this circuit?(I think the diode should be able to handle 20A).Also,If the circuit operates at a min of 21v(nominal voltage for a 24v PV),then the duty cycle is 64.And for 41v(max voltage from PV),the duty cycle is 33.
If the light is low or the battery is fully charged,then i will simply turn off the IR2104 circuitry by Shutdown pin.Also,this is not the final circuit.This is the test circuit,so the reverse voltage from the battery to PV is not taken into account right now.
& Please also suggest some suitable values for R1,C1,R2,C2 & the MOSFET gate resistors i.e R3 & R4
 
Last edited:

Solar Mike

Joined Apr 26, 2018
33
Hi

Is there any definite need for R7 & R8: no, but recommended, use 10k
Fast recovery diode, use one of those TO220 types, so you can bolt it to your heatsink eg IDP20C65D2
R1\C1 etc snubber components, can only be determined by observing frequency of ringing waveform and calculation from there. I suggest you start at low power and use scope to observe; then add snubbers.
Gate resistors: try 10r

Cheers
Mike
 

Thread Starter

SHARANYADAS

Joined Apr 13, 2017
65
Ok....I am back with the results!
With all the components attached in the circuit,i had a heavy ringing at the PWM output of atmega328p of the circuit.
Then i omitted some components.Now the output is much stable as compared to previous state.
First of all,i would like to say about the changes that i made.
1)R7,R8,D2 removed.Also I am using 47R as the MOSFET gate resistance as using 10R,i was having the ringing.
2)No snubber attached.(R1+C1 & R2+C2).
3)Added a UF4007 diode across the Drain & Source of Q2.
4)Removed C4 as it was holding charge & the atmega328p was not adjusting the output promptly when load current draw changes!

Now I am getting about more than 90% efficiency.I am calculating like this below.
(Pout/Pin)*100%

I am attaching some pics of my setup.The current measuring part is not used right now as I am only regulating the output voltage.

1_.jpg

Total setup.The left wooden box my dummy load which is drawing 1A.The voltage is set at 12v.My Fluke 87V is reading 12.08v.The oscilloscope is showing the PWM output of the atmega328p(Arduino nano).In the right,that is my power supply.The PCB contains the Buck converter circuit.The Breadboard contains the atmega328p(arduino nano) & the REF02 voltage reference(5v).Main power is coming into the Buck board & distributed to the breadboard.Although I am using a Arduino nano which is being powered from USB(common ground) with the input power rail of the Buck board.As you can see,the input power is 17v*.78A=13.26W.The output is 12.06v * 1A=12.06W.So the efficiency is (12.06/13.26) * 100 i.e 90%.

Is the calculation correct??

2_.jpg

In this pic,you can clearly see that the PWM output of the atmega328p is distorted due to ringing.I measured it by zooming & found that the frequency was about 22MHz.

Now Please help me calculating the snubber!!

3_.jpg

This is the Buck board & the arduino board together.


5_.jpg

This is under no load condition.I am getting around 0.1v off as compared with the Multimetr(Although I have written the firmware very loosely & if needed,i will use MCP3424 18 bit ADC for my final setup)
 
Last edited:

Solar Mike

Joined Apr 26, 2018
33
In this pic,you can clearly see that the PWM output of the atmega328p is distorted due to ringing.I measured it by zooming & found that the frequency was about 22MHz.
Now Please help me calculating the snubber!!
Glad you have got something working, excellent, not sure about the ringing you are measuring, you should be measuring it directly across each of the mosfets, ideally with some sort of isolated probe, failing that a probe with very short earthing wire, eg coax cable with small cap for isolation + termination resistor with outer braid soldered directly to each mosfet source pin, the cap going to drain to measure the wave forms. Using a standard scope probe with its long earth lead isnt really suitable. I butchered an old scope probe, pulled it apart and modified it just for this sort of thing, use google to find out how to do this.
Here is a good document to read to get you started for working out the snubbers. https://assets.nexperia.com/documents/application-note/AN11160.pdf

Cheers
Mike
 

ebp

Joined Feb 8, 2018
2,332
Before worrying about snubbers on the FETs (which are rarely used in buck converters), there are lots of other things that need to be considered.

You probably have ground loops a dozen different ways.

What appears to be ringing on the signal may actually be ringing on power connections. There are probably significant current transients on your connection between the converter and your power supply. While you have twisted the input wires to the board together, which is good practice, I can't tell about the rest of the connection. Inductance in those connections will ring with lumped or stray capacitance.

Your circuit board also looks like it probably has very large "loop areas" - areas bounded by the conductors that carry high, fast changing currents. If loop areas are minimized, the inductance of the paths are minimized. If "out" and "return" paths for current are very close to each other then some degree of magnetic field cancellation will occur and inductance will be reduced.

It looks like the input capacitor on the switcher is just a small ordinary electrolytic. Buck switchers "chop" the input current and require rather a lot of low ESR capacitance at the input to keep the chop off of the input leads. The output capacitor must also be low ESR.

90% efficiency with sync rectification is not very good, but the IRF540 is a long long way from a high performance FET. For some reason it seems to be popular in the hobby community, but the gate charge is high as is the ON resistance. The inductor looks like it has a Micrometals type 26 powdered iron core (yellow with one side white?). It isn't terrible at 60 kHz, but there are lower loss core materials. Keep in mind that your circuit forces continuous inductor current, so you may be shifting energy back into the inductor from the output via the rectifier FET each cycle (easy calc, but I haven't done to check)., which is not helpful for efficiency.
 

Thread Starter

SHARANYADAS

Joined Apr 13, 2017
65
Thanks a lot for your nice explanation.The pic below is my buck PCB's layout.Please take a look.Although R8 is in wrong place(Although I didn't use C9,C11,R1,C1,R2,C2,R7,R8,D2,R9,R10,C8).Also I used a UF4007 in across from Source to Drain of Q2 which is not shown here.

pcb_layout.png
It looks like the input capacitor on the switcher is just a small ordinary electrolytic. Buck switchers "chop" the input current and require rather a lot of low ESR capacitance at the input to keep the chop off of the input leads. The output capacitor must also be low ESR.
Yes,I am using 100uF Normal cap for both input & output filter.I will be highly obliged if you take a look at my Calculation for Cap & inductor in the Excel file attached in the first post to check whether it is right or not!

The inductor looks like it has a Micrometals type 26 powdered iron core (yellow with one side white?)
This is the link regarding the Inductor.

the IRF540 is a long long way from a high performance FET
I didn't have any other MOSFET's.This is only the buck converter prototype,not the final design.I will equip all the necessary part for the final design.Please suggest me some good quality high performance FETs.Is IRFB4410 a good choice for the final design??
Another two things i would like you to ask!
1)To prevent the current flow from going from the battery to Solar panel(when the panel voltage is low),can I use some high capacity schottky diode in the positive rail after the solar panel?Or should I use some other MOSFET?
2)Why there are so many capacitors used in parallel for both Input & output rather than using a single high value low ESR cap?
 
Last edited:

ebp

Joined Feb 8, 2018
2,332
I'm sorry, I missed your reply to my previous post (I don't accept email notification). I have to go out soon but I'll try to respond in the next few hours.
 

Solar Mike

Joined Apr 26, 2018
33
1)To prevent the current flow from going from the battery to Solar panel(when the panel voltage is low),can I use some high capacity schottky diode in the positive rail after the solar panel?Or should I use some other MOSFET?
2)Why there are so many capacitors used in parallel for both Input & output rather than using a single high value low ESR cap?
1: you can use a diode for this function if you want, or a high side mosfet; all depends on how much power you want to loose, in a low power app as this its not worth the extra complexity of adding a mosfet, I'm currently building a 4KW mppt solar charger for a 48 volt Lifepo4 bank, with max power panel voltages around 130 dc, the currents are substantial so am using IRFP4668's in parallel as the PV isolator; but you have to add another source of isolated drive voltage into the mix, thus the added complexity. Note this device is not continually switched as per the buck elements so little power is lost when using very low rds devices.

2: very low esr caps are extremely expensive when you have ripple currents around 80amps, it is better to use many smaller devices, this divides the esr proportionately and increases the overall ripple rating by the same amount, also adds to the total capacitor surface area so overall they run cooler and last longer. Another advantage having many smaller devices is you can place them closer to your active switching elements, thus cutting down current path lengths. Its important to look at the manufactures spec sheets for these capacitors, they will have the max ripple rating at differing temperatures.

Looking at your PCB, the main input caps are too far away from the power devices, move them up near the main inductor, so to reduce the track current loop distances, place the two mosfets immediately side by side and keep all high current tracks as short as possible; this will allow them to share a common heat sink surface and allow the driver chip to be located closer to the gate inputs. Do that and you will have few issues with ringing.

Cheers
Mike
 

Thread Starter

SHARANYADAS

Joined Apr 13, 2017
65
I noticed one thing.Putting a 47uF cap at the power rail near the arduino at the breadboard significantly reducing the ringing!!Any idea whats happeing....
Also,did u check my excel for the calculations if they are correct?You have to simply put the max input voltage,output voltage & the max output current. All the rest of the parameters will be then calculated depending on these three values!!
 
Last edited:

ebp

Joined Feb 8, 2018
2,332
regarding cap near Arduino - The capacitor is providing a local charge supply that decouples the arduino power from the current transients and resulting voltage transients in the power path.

layout - The sense connection from R6 & C4 makes a mess of the ground path. Trace the path from input [+] to input [-] through Q1, the inductor and the output filter caps. It has to go a very very long way around because of that sense track. In switchers, the power path must always take priority. Sometimes that means using jumper wires for signals, even on double-sided boards. You may be able to make some worthwhile improvement by soldering some (3 or 4) bridge wires over the sense track between the ground foils on each side in the area between C2 and C4. Put two bridge wires across the sense trace that ends at C8. Again, the objective is to keep the loop areas for power paths as small as possible. The input capacitors would be a bit more effective closer to Q1, but because you have a large, low-inductance foil area between Q1 and the caps, it probably isn't too bad, and not easy to improve on greatly with a single-sided PCB. You could get the positive side closer to the FET, but then you have the negative to deal with. With a double-sided board, you could have ground foil on the opposite side from the positive foil, making the loop area very small ("out" and "return" paths separated by the board thickness).

FETs - there are many amazingly good FETs available. Typically when I select FETs for switchers I ignore the current rating almost completely and select based on ON resistance and gate charge. Low ON resistance obviously reduces conduction losses. Low gate charge makes it easier to reduce switching losses by reducing the amount of gate drive current required for fast switching. You need to have some margin in voltage rating, but there is no need for a lot of margin. Typically I might choose a FET with a voltage rating of no more than 20% above the maximum voltage to which it would be subjected - but it is necessary to carefully analyze what the maximum would be. For your ap, you would need to consider the open circuit voltage of the PV array at the lowest operating temperature. If 55 V is the absolute maximum at open-circuit at low temperature, a 60 V rating might be OK, but it is probably better to select a higher rating. I haven't looked at what is available between 60 V and 100 V in a long time. If there are parts rated at 70 or 80 V, they might be a good choice, but you might actually have better choices with 100 V rating - it comes down to the markets that the manufacturers are targeting and what is popular.

- more later
 

Thread Starter

SHARANYADAS

Joined Apr 13, 2017
65
FETs - there are many amazingly good FETs available. Typically when I select FETs for switchers I ignore the current rating almost completely and select based on ON resistance and gate charge. Low ON resistance obviously reduces conduction losses. Low gate charge makes it easier to reduce switching losses by reducing the amount of gate drive current required for fast switching. You need to have some margin in voltage rating, but there is no need for a lot of margin. Typically I might choose a FET with a voltage rating of no more than 20% above the maximum voltage to which it would be subjected - but it is necessary to carefully analyze what the maximum would be. For your ap, you would need to consider the open circuit voltage of the PV array at the lowest operating temperature. If 55 V is the absolute maximum at open-circuit at low temperature, a 60 V rating might be OK, but it is probably better to select a higher rating. I haven't looked at what is available between 60 V and 100 V in a long time. If there are parts rated at 70 or 80 V, they might be a good choice, but you might actually have better choices with 100 V rating - it comes down to the markets that the manufacturers are targeting and what is popular.
Today morning(befor your reply),I have already ordered IRFB4410ZPBF.From the datasheet,it looks like it can do the job!Please give your opinion regarding this!
The main problem is,I live in a very remote village in India.My only hope regarding the parts is a distributor of Mouser(Mouser doesn't sell parts to individuals in India).It takes generally 10-15 days for the parts to arrive.Also,in my area,local shops doesn't even sell Mosfets!!And also,if somehow i can arrange from other online sites in India,the products are 100% chinese counterfeit.....What else I can say!:(:(
 

Solar Mike

Joined Apr 26, 2018
33
...I have already ordered IRFB4410ZPBF.From the datasheet,it looks like it can do the job!Please give your opinion regarding this!
That would be ok for your application, the Chinese copy clone HY3810 available on aliexpress would probably be ok as well and inexpensive. I wouldnt however trust any online purchases of IR mosfets from Aliexpress or Ebay, they are mostly all counterfeit and suspect specifications.

Cheers
Mike
 

Thread Starter

SHARANYADAS

Joined Apr 13, 2017
65
Ok...I am building a v2 PCB for this test circuit(I will use this test circuit as a small universal battery charger).I have omitted some parts & add a schottky diode(to prevent current from battery to source).
The power parts are placed.Please take a look if it is going into the right direction.Another thing,please check VCC pin of the IR2104.The power path is taken from the MOSFET's drain.If it is allright or should I reroute the IR2104's VCC via the red line?
This will not be a dual layer pcb.I will join tjhe top tracks using wires!
The INA5819 diode will be replaced by a ultrafast UF4007 diode in the design..

V2_SCH.png V2.png
 
Last edited:

ebp

Joined Feb 8, 2018
2,332
Your new layout is much better. Clearly you understand the issues and have thought about how to deal with them. Well done!

suggestions for some minor changes:
I would fill more of the area under the inductor with ground foil to shorten the path even more. Toroid inductors are very good at "containing" the magnetic field, so there is no problem with causing unwanted currents in the ground foil due to the magnetic field of the inductor. You could eliminate some of the ground foil at the right hand end of the board so you would have room to route several of the signal traces. The foil to the right of C11 would carry very little high-frequency current, just the DC current to the battery. Since that current is not very high for this version, you don't need a lot of copper.

Vcc for the IR2104 should be OK as you have done it. I would suggest adding a ceramic capacitor in parallel with C7.

I agree that you new FET should be good.
 

Solar Mike

Joined Apr 26, 2018
33
Much better:
Possible improvements: D2, is that the PV \ Battery isolation diode, I would place it on the PV input, where the current is smaller. Ground plane near bottom of IR2104, fill that blank area in, just use a copper pour with 1mm clearance, extend it under the chip. Simple re-arrangement R5 will eliminate feedback path jumper. Straighten up the 45 degree cap, the gnd is really thick there wont matter if you loose a bit to make room. SD input pin3, I would add a 4k7 to 0v to make sure it is low and chip disabled when your cpu is first initializing as i that state its io pins are probably high impedance (the pull down inside the chip is weak)

Cheers
Mike
 
Top