Home
JAQForum Ver 19.8.18
Log In or Join  
Active Topics
Local Time 08:27 23 Sep 2019 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Solar : Build a Mppt 3 Kw Charge Controller

     Page 1 of 10    
Author Message
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 03:45am 16 Dec 2017
Copy link to clipboard 

Whilst waiting for parts to arrive for other projects have decided to have a go at designing a high power mppt PV charge controller. I have a requirement for three of these in the new year and they are not cheap to purchase new. Initially I figured it would be easier to use 60 cell PV panels with a Pmax voltage of 32 volts @9amps, two of these in series is a pretty good match for a 50 volt battery system, and so just parallel them up for the required power output and use a simple PWM charger; any losses etc could be made up by purchasing a couple of more panels.

But when you take in the cable run lengths one way of 10m to the combiner fuse box, ie 20m there and back per string, suddenly using standard solar 4mm2 cable, the voltage drops start adding up, getting to around 5% just for 4 panels, and I have 30 odd panels to put up. NZ does have regulations that limit the power loss to 3% and ideally 1% if I want to get the installation certified; running lots of cables or going to much more expensive bigger cables suddenly gets very expensive and time consuming, leaving perhaps the Mppt option...Hmmm.

My requirement is to have 4 panels in a series string to each fuse in the combiner, then parallel these strings to a charge controller(s); this results in a Vmp of 128 to 148 depending on whether 60 or 72 cell panels are used and an OC unloaded voltage up to 184v.

We can use the good old buck down converter here where the high voltage lower current PV input is transformed by the buck inverter to high current lower voltage output. The buck switching mosfet is pulse width modulated in a control loop to achieve the desired output voltage, when it is on, energy from the PV array cap is stored in the output inductor, when its off the field reverses and the high voltage can be transformed to a lower voltage, increased current at the load. To keep things rational and DIY using 2oz copper double sided PCB, a upper limit of around 60 amps seems a reasonable value of output current, which equates to approx 3KW. Extra efficiency can be gained by using synchronous switching and keeping the PWM frequency high, a smaller low loss inductor is required and easier to wind. Thus the output inductor is very important, for 60 amps load it must be rated for 77 - 80 amps without saturating and have a low winding resistance; having an inductance saturation curve tracer certainly helped here in getting readily available off the shelf powered iron cores to work.

A reasonable upper voltage input limit of 200v seems a good idea with a practical value around 130-150 volts. 200 volt low esr caps are not too expensive and 200 volt rated mosfets with a very low on resistance devices can be used, the mosfets specified are IRFP4668, 200V, 130amp, Rds 0.009R; 4 devices are required, 1 for PV battery blocking, 1 for PWM buck, 2 in parallel for the synchronous diode switching. A high speed dual emitter switching rectifier is also used in parallel with the 2 mosfets to catch the initial back emf from the coil prior to the mosfets turn on for synchronous switching.

Low esr main electrolytics are required, PV input has 3 in parallel to lower the esr, the outputs ones have big circulating currents so 10 are required to get the esr down for max efficiency and limit the output ripple voltage. Multiple smaller ones are better than paying stupid prices for much larger devices.

Power semi-conductors are bolted via insulpads to a 5mm thick aluminium plate, protruding off the end of the pcb, this is in turn bolted to a 40x15m alloy bar bolted to the back panel of the case housing the board. Calculated switching losses are quite low at approx 50 watts or 1.6% of 3KW at full load.

If the PWM frequency is increased then its easier to make the inductor as can be smaller, so PWM spec is 100 Khz in this design, the mosfets are in a half bridge arrangement driven by an IR21844S driver, these are easy to use, the dead time delay for synchronous switching is built in and set by a resistor. It has two inputs a device enable and PWM signal. To block the battery discharging into the PV array at night I have added a simple mosfet switch controlled by an isolated 12 to 12 volt converter thats turned on when the circuit is enabled.

For PV and Battery current sensing I have used 5 volt ACS770 100U and 50U devices, these are directional 80mv/amp output.

The main power board has a 20 pin IDC connector to a controller yet to be determind, could be a Pic, MMite, or Arduino, all the signals are there, not sure what cpu at this stage is the best capable. The main problem is the 100 Khz PWM and how much PWM duty cycle control resolution do these chips have at this frequency, depends on CPU speed/ pre-scale counter settings etc. Not enough resolution will cause under/over shoot of the output voltage settings in the feedback loop. I'm going to try a Pic running at 64 Mhz and see how it goes. Another idea would be to use a switching reg IC as the controller and alter its feedback loop voltage with the 1024 DAC output of one of the cpus above.


Once I have this built and working to any degree, I will post the gerbers and any amended circuit to the forum for others to play with.

Schematic


PCB Overlay





Cheers
Mike



 
Madness

Guru

Joined: 08/10/2011
Location: Australia
Posts: 2421
Posted: 08:44am 16 Dec 2017
Copy link to clipboard 

I will be watching with great interest, I know Arduino can do PWM up to 4MHZ but resolution at that speed only gives you 0, 33%, 66% and 100%. Should be plenty of resolution available at 100 Khz, standard PWM is 62,500 Hz on a couple pins.
There are only 10 types of people in the world: those who understand binary, and those who don't.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 09:25am 16 Dec 2017
Copy link to clipboard 

Rant/ Well at the moment I cannot even test it, both my orders for the IRFP4668 mosfets from our two international based NZ agency suppliers were suspect fake counterfeit devices, the device logo's were incorrect matched against published IR spec on TO-247AC packages and the leads were shiny solder dipped, real devices are matte HASL coating; so I have had to start the battle for returning and refunds, one supplier refunded my money immediately, the other has refused to acknowledge my concerned email and has done nothing over the past ten days; even their web store shows a photo of a suspect fake device.
Currently its impossible to purchase genuine devices here in NZ, have had to resort ordering direct from a distributor in the USA and waiting for items to arrive (actually works out at 1/2 the price of the NZ supplier, albeit at 25 off)

This is the fourth occasion I have had to return suspect fake mosfets purchased from our favorite TRUSTED NZ suppliers.
/End Rant

I have an Arduino pro-mini micro clone here but after reading up on it, its PWM wont do it; perhaps someone from the MM community can tell me what they are capable of in this respect. Need 512 to 1024 bits PWM resolution I suspect.

Cheers
Mike


 
Madness

Guru

Joined: 08/10/2011
Location: Australia
Posts: 2421
Posted: 10:42am 16 Dec 2017
Copy link to clipboard 

I have had very good results from this supplier from China, they have the IRFP4668-IRFP4668PBF-TO-247

A 16MHZ Arduino is not going to give you any more than 160 different levels at 100 kHz.
There are only 10 types of people in the world: those who understand binary, and those who don't.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 11:05am 16 Dec 2017
Copy link to clipboard 

  Madness said   I have had very good results from this supplier from China, they have the IRFP4668-IRFP4668PBF-TO-247


Thanks for that had a quick look...
Hmm, that photo they show looks like a counterfeit, its likely been refurbished from god knows what, note the original IR logo is covered over and the leads have been solder dipped. Cannot be trusted, if the mppt charger blows up, is it a fault in the design or crappy mosfets not meeting spec ....

Cheers
Mike
 
noneyabussiness
Senior Member

Joined: 31/07/2017
Location: Australia
Posts: 193
Posted: 11:55am 16 Dec 2017
Copy link to clipboard 

Mike, have you thought about the stm32.... they can be used via the arduino ide, very cheap and 72mhz... also have 16bit pwm (4 channels by memory ) the only drawback is 3.3v logic...

http://www.stm32duino.com

The site for reference. ..
 
noneyabussiness
Senior Member

Joined: 31/07/2017
Location: Australia
Posts: 193
Posted: 11:56am 16 Dec 2017
Copy link to clipboard 

1 pices STM32F103C8T6 ARM STM32 Minimum System Development Board Module For arduino Sensing Evaluation for Skiller

http://s.aliexpress.com/rmammquq

Aliexpress link to the " blue pill " board. .

Also has a 12 bit adc...Edited by noneyabussiness 2017-12-17
 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2739
Posted: 08:52pm 16 Dec 2017
Copy link to clipboard 

While switching at 100 Khz is certainly possible, there are going to be a lot more problems with layout and switching losses than switching at only 20 Khz. The only real disadvantage of 20Khz operation will be the much larger inductor, although that can be iron cored if the ripple current is kept very low.

Synchronous operation should certainly reduce conduction losses, but it has one peculiarity, it makes the buck converter bi directional.
That can be a problem if a synchronous buck regulator has a battery at the output.
It will work fine with a normal dissipative load, but it will do strange things with a battery load.

Beware of destructively high voltages being created at the input at low duty cycles.

I have built circuits like this myself, and much prefer a shottky rectifier catch diode than an active circuit when feeding into a battery. The output can then be throttled right down to zero without the destructive overvoltage problem at the input.

Great work there Mike.
Just want to save you from some of the grief I have suffered in the past trying out a similar idea.

To make this a bit clearer, here is the same circuit drawn ass backwards.
*edit* Opps just realised, low duty cycle should be 10% on, 90% off, but you can see what is going to happen...


Edited by Warpspeed 2017-12-18
Cheers, Tony.
 
Madness

Guru

Joined: 08/10/2011
Location: Australia
Posts: 2421
Posted: 09:09pm 16 Dec 2017
Copy link to clipboard 

The inductors in the Midnite MPPT charge controllers I have has a copper strip approximately 50mm wide it wound with the yellow tape you see on transformers to insulate each turn. This video showing how to change the inductor shows a bit more detail.
There are only 10 types of people in the world: those who understand binary, and those who don't.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 09:50pm 16 Dec 2017
Copy link to clipboard 

Hi noneyabussiness, thanks will investigate.



  Warpspeed said  
That can be a problem if a synchronous buck regulator has a battery at the output.
It will work fine with a normal dissipative load, but it will do strange things with a battery load.

Beware of destructively high voltages being created at the input at low duty cycles.


Cool thanks for that input Warp, I see what you mean, the synchronous switching mosfet is now acting as a voltage boost, assuming the inductors magnetic field has been reset and started flowing back the other way, prior to the mosfet turning off, this could also happen at first turn on, as the top mosfet doesnt have any gate voltage until the lower mosfet has cycled its bootstrap cap.

I will add a 180V transorb across the inductor to catch any spikes, although the main PV input caps should absorb this.


My thoughts on the PWM are leaning towards using a common buck controller IC to feed the main board and have a PIC or other cpu modify its feedback control voltage loop; this will get around the issue of number of bits of PWM resolution available.


Cheers
Mike

 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2739
Posted: 11:53pm 16 Dec 2017
Copy link to clipboard 

The sketch I did tells it all, but the reality is that in the example of 10% duty cycle, the lower mosfet will be hard on for 90% of the time.
A lot of potential flyback energy is going to get stored in that choke.
The voltage really will try to rise to ten times battery voltage.

There will be enough power produced to easily fry anything you use to clamp that voltage. Its not some wimpy little spike, there is serious power !
Best to avoid the problem altogether.

I definitely agree that a hardware PWM controller is the better approach, and use software and a DAC to control the operating setpoint.
Get the hardware working properly first so it works flawlessly as expected, with its own soft start and fast overcurrent shutdown.

Then you can really give it some smarts with a nice control program knowing the hardware will behave well all by itself.
Cheers, Tony.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 01:48am 17 Dec 2017
Copy link to clipboard 

  Warpspeed said   There will be enough power produced to easily fry anything you use to clamp that voltage. Its not some wimpy little spike, there is serious power !
Best to avoid the problem altogether./QUOTE]

Ok, so this situation can only occur as a consequence of the reverse current flowing from the battery through the inductor via the mosfet to ground whilst its turned on, so building up a potentially destructive voltage on magnetic field collapse.
I already have a current sensing device in that part of the circuit, at the moment uni-directional, if I swap it for a bi-directional one, then I can detect any reversed current flow and apply logic to the mosfet gate drive to ensure it turns off in that situation. Yes?

Cheers
Mike
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 03:47am 17 Dec 2017
Copy link to clipboard 

Further thoughts, it may be simpler for the lower mosfets to be gated off during low duty cycles and the external fast diode would be used; as the power in these conditions is low, ie the batteries are fully charged, not a lot of power will be wasted. I might make a few changes now before the mosfets turn up.

Cheers
Mike
 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2739
Posted: 04:03am 17 Dec 2017
Copy link to clipboard 

  Solar Mike said  
I already have a current sensing device in that part of the circuit, at the moment uni-directional, if I swap it for a bi-directional one, then I can detect any reversed current flow and apply logic to the mosfet gate drive to ensure it turns off in that situation. Yes?

Cheers
Mike

Now that is very clever.
I like it.

I suggest you breadboard a very low power version to verify operation of the whole concept and observe this bidirectional power flow effect in action, its actually rather interesting.

If you hypothetically had a 12v battery and a 48v battery and run 1:4 duty cycle no current will flow. But if the voltages are not exactly 1:4 (or whatever the ratio actually is) current can flow either way to correct the situation.

Another point to be very aware of in all this, is using a voltage pump for gate drive power. That needs watching very carefully up near full maximum duty cycle. I am probably stating the obvious here, but this detail has also caused me a lot of grief in the past. At sunrise it will probably start off at 100% and it may go erratic on you. If the gate does not have an undervoltage shut down, the mosfet may not fully turn on, and go high dissipation.

These days I now supply full time isolated dc gate drive power to all my buck designs. Its one less detail to worry about in the great scheme of things. Edited by Warpspeed 2017-12-18
Cheers, Tony.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 12:06pm 20 Dec 2017
Copy link to clipboard 

Have made a few alterations:
1: Added Buffer drivers for mosfets, these mosfets have large input charge and the original driver was marginal at 100 kHZ.

2: Added shutdown of the synchronous mosfets when current through the main inductor < approx 2.7 amps, this I hope will alleviate any issues of large duty cycles of the synchronous mosfets causing reverse currents to flow in the main inductor and thus generate silicon destroying voltage transients. When switched out, their drive is shorted out thus they turn off, the main fast rectifier will simply take over and being a diode will not allow reverse current from the battery. This will affect efficiency but only at low charge currents, probably hardly noticeable.

3: Removed bootstrap voltage generation, so fully powered by isolated 2 watt supply.

4: Simplified switch on/off of PV reverse current mosfet, uses a diode that holds the gate charge whilst the other mosfets are switching.
2017-12-20_215353_Schematic_Power_Board_1.02.pdf



I will amend any bugs in the cct as I design the new pcb, so its not advised to use this schematic as is.

Cheers
Mike
 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2739
Posted: 07:52pm 20 Dec 2017
Copy link to clipboard 

Looking good there Mike.

Just looked up some data on those high frequency Sendust powdered iron toroids.
http://www.micrometalsarnoldpowdercores.com/products/materials/sendust-high-frequency

http://www.coilws.com/index.php?main_page=page&id=41

Which permeability 2.25 inch cores are you using, and how many turns ?Edited by Warpspeed 2017-12-22
Cheers, Tony.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 09:50pm 20 Dec 2017
Copy link to clipboard 

  Warpspeed said  Which permeability 2.25 inch cores are you using, and how many turns ?


I purchased from AliExpress Seller (u125, al156) 6 turns.

These are not the best cores to use, a lower permeability type would be better, thus having to stack them to get the turns down, but as I already had these they will do for experimentation, That seller has other cores but they all seem horrendously expensive. I was looking at the USA Micrometals cores T300-14D or 63D, yet to price them. Its the shipping that adds to the cost, cannot purchase any any of these types of core in NZ.

Cheers
Mike
 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2739
Posted: 10:38pm 20 Dec 2017
Copy link to clipboard 

Just did a few very rough calcs, and it all looks very nice indeed.

I get magnetizing force 42 Orsteads.
Permeability drop (due to dc) down to 45% at 80 amps which is ideal.
At 80 amps, Al now reduced 70

Five cores stacked about 12.6uH at 80 amps, (maybe 28uH at zero amps).

Ac loss is right at the bottom of the curve !! 10mW per cm cubed (207mW per core)
Should run stone cold from just ac core loses.
Plenty of room for six turns of really fat wire, so I like your solution very much.

An extra turn or two might be nice if it can be made to fit.

Cheers, Tony.
 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2739
Posted: 11:02pm 20 Dec 2017
Copy link to clipboard 

  Warpspeed said  

Five cores stacked about 12.6uH at 80 amps, (maybe 28uH at zero amps).


Thinking about that a bit more, if we ramp up from zero to 80 amps, the inductance changes from around 28uH to 12uH.
Over the whole ramp it probably averages out around 20uH which is what you were seeing on your inductance tester.
Altogether a very nice result.
Cheers, Tony.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 499
Posted: 03:23am 21 Dec 2017
Copy link to clipboard 

  Warpspeed said  
Thinking about that a bit more, if we ramp up from zero to 80 amps, the inductance changes from around 28uH to 12uH.
Over the whole ramp it probably averages out around 20uH which is what you were seeing on your inductance tester.
Altogether a very nice result.


Shows the value of a saturation tester, makes it dead easy to sort out correct core without doing any calculations.
Doing the maths for values for the buck inverter components, calculated required value for inductor was 22uH at peak currents of 77 amps; for 60 amp charge current. The ripple gets smaller if the L value is increased somewhat, but the thing cannot be allowed to saturate too much, so my design value is 80 amps, if that doesn't saturate then it should be fine, when this type of core goes into saturation its very gradual not radically sharp knee like ferrite, which is good. Would still prefer a lower u core material, but will play with this first, see how many mosfets I can blow up, assuming I can actually get any genuine ones; still waiting...

I probably have too much output capacitance, I think the design calculations are for power supplies not battery chargers, where the battery here is an infinite capacitor. Testing will tell.


Think I will go for a TL494 in the control board, it has 2 feedback inputs, one of which can be used for remote control feedback from a DAC output of a CPU, the other is used for output voltage sensing; so the control board could run independently of a CPU if required as a manual charger, then I don't care about CPU PWM duty cycle resolution, so any CPU could be used. All the CPU has to do is look at battery currents, voltages etc to do MPPT algorithm and display the data.


Cheers
Mike

 
     Page 1 of 10    
© JAQ Software 2019