Home
JAQForum Ver 19.10.1
Log In or Join  
Active Topics
Local Time 10:41 19 Oct 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 : Experimental Multi-Phase Solar MPPT Controller

Author Message
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 509
Posted: 11:11am 27 Sep 2019
Copy link to clipboard 

I have always wanted to experiment building a multiple phase mppt charge controller, this is where multiple mppt sub controllers combine their outputs whilst being sourced from a common PV supply.

Reason being, having multiple phases allows for smaller inductors and capacitors, lower currents in the buck converter and less losses. The design would allow for adding on extra phase stages as required, depending on how much power is wanted, ie modular. However each buck stage has to be semi-autonomous, with its own voltage and current control, so gets pretty complex very quickly.

A multiple phase example would be say every 60 degrees a buck inverter completes its switch cycle, thus over a 360 degree period 6 cycles would occur from 6 combined buck stages. There are specialized chips out now as used in multi-phase mother board power supplies that do this and more, but they are very specialized, I want something more generic.

My thoughts were to use an 8 pin PIC cpu in each buck converter or perhaps an ATTiny85, as I have lots of spare Picaxe 08M2 chips, thought that would be a good starting point. With this chip we can have 32Khz background PWM with 1024 bit resolution or higher pwm speeds but less resolution and a 32Mhz cpu clock speed. All the chip has to do is measure its output current and voltage, limiting the voltage to a master reference input whilst running an mppt algorithm.

If I use say 5 buck circuits each limited to 30 amps, then only 2 mosfets are required in each, one for the buck stage, other for the synchronous rectifier. This gives a respectable potential of 150 amps @50vdc  or 7.5KW output, all using small easily obtainable inductor cores. In comparison the other 3KW charge controller design at 100 odd amps output uses humongous cores that are only obtainable direct from the factory in the USA.

However having multiple controllers with their own clocks etc does not give a true synchronous phase locked output, more like a random frequency and phase; which may work just as well.

Here is the proposed design.




SlaveMppt.pdf

The circuit here is a slave mppt controller that will be built on a smallish PCB, multiple pcb's can be stacked together to give the desired current output. A host controller of some sort will tell each slave what voltage and current to regulate to, along with the operation mode (bulk, equalize, float etc). However for testing the host isnt required initially as voltage set points can be code constants.

Voltage sense is multiplexed to a single pin, current is measured by the commonly available Allegro ACS 712 or 723, single CPU PWM output is split up into non-overlapping buck and synchronous rectifier drive signals, the sync rect. especially has its on period limited by monostable timeout to prevent havoc caused by battery current back feed into the buck circuit during times of discontinuous operation.

I attempted to breadboard some of this and gave up, rats nest of wires just doesn't work here; so will go straight to pcb. Am also testing the other 3KW mppt controller design, code is very similar, so will be interesting to compare both designs.

Cheers
Mike
Edited 2019-09-27 21:17 by Solar Mike
 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2755
Posted: 10:14pm 27 Sep 2019
Copy link to clipboard 

Some interesting ideas there Mike, you seem to have covered the potential problems.

Back feeding power at low duty cycles needs to be watched very closely, software should be able to handle that, although there is at least one "smart" active rectifier gate driver chip out there, but cannot now recall the type designation.

Thinking about it, a random phase/frequency relationship between individual buck modules might produce a pretty lumpy current measurement as everything drifts in and out of synchronism.  That should become less of a problem as the number of modules increase.

I built something like this a very long time ago, but it was all strictly hardware.
I used a twisted ring Johnson counter to generate multiple phase square waves.
That was turned into a bunch of triangle waves by multiple rc integrators.
Those went into multiple voltage comparators that each generated an 0% to 100% duty cycle output from a common dc control voltage. Lots of parts, but basically very simple.

It used common voltage and current measurement, and separate PID control loops for voltage and current control in the usual way. Pretty happy with how it turned out, although I have never built another one since.
Cheers, Tony.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 509
Posted: 11:28pm 27 Sep 2019
Copy link to clipboard 

  Warpspeed said  
Back feeding power at low duty cycles needs to be watched very closely, software should be able to handle that, although there is at least one "smart" active rectifier gate driver chip out there, but cannot now recall the type designation.

Yes used those chips in the 3kw design, works well, just wanted to try something different this time using common off the shelf components.

  Warpspeed said  
Thinking about it, a random phase/frequency relationship between individual buck modules might produce a pretty lumpy current measurement as everything drifts in and out of synchronism.  That should become less of a problem as the number of modules increase.

Yes they have a chaotic output, figured 5 or more would even things out.

  Warpspeed said  
I built something like this a very long time ago, but it was all strictly hardware.
I used a twisted ring Johnson counter to generate multiple phase square waves.
That was turned into a bunch of triangle waves by multiple rc integrators.
Those went into multiple voltage comparators that each generated an 0% to 100% duty cycle output from a common dc control voltage. Lots of parts, but basically very simple.

I did breadboard up a /10 counter driven by a PWM clocked input, each output was then ANDed with the original PWM to produce 10 PWMed phases, seemed to work, trouble the PWM frequency had to be 300 Khz or so, way beyond what any CPU could produce that I have here, so gave up on that idea.

Perhaps if I used a fast 32bit cpu running assembly language, one could bit bang multiple synchronous phased PWM outputs, would certainly cut down on components, perhaps in the future, can anyone suggest a suitable chip...


Cheers
Mike
 
Warpspeed
Guru

Joined: 09/08/2007
Location: Australia
Posts: 2755
Posted: 11:58pm 27 Sep 2019
Copy link to clipboard 

A different way to create multiple phases would be to start out with just one master pwm waveform, and delay that through a long shift register that is clocked at a very high frequency.
Cheers, Tony.
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 509
Posted: 10:09am 07 Oct 2019
Copy link to clipboard 

  Warpspeed said  A different way to create multiple phases would be to start out with just one master pwm waveform, and delay that through a long shift register that is clocked at a very high frequency.

Interesting idea, single CPU only required, it would have a lot of work to do managing everything.??


I have made a start on the PCB, realized needs some extra complexity to allow each slave unit to run standalone if required; have decided to use the higher current ACS723-40 current sensor (40A), the older cheap as chips ACS712-30 is no longer made nor recommended for new designs, but easier to get on AliExpress etc. Newer 723's have 1/2 the through resistance so less heat.

Another mod is for each module, control its own PV Isolation Mosfet, I was going to have this on the Main Host board, normally multiple parallel devices, but it makes sense to place with each slave, also helps allow the slave be run as standalone.

As these modules will have their own 40 fuse link joining to the common battery buss, there needs to be some mechanism to detect a blown fuse or perhaps the main battery breaker popping out, consequence of this event whilst under high charge is Buck voltages sudden dramatic increase to blow every thing up levels. Have opted for comparator sensing the voltage increase and turn on a clamp mosfet, placing a heavy load across the module, independent of CPU, this gives CPU time to shut everything down before its 5v rail dies and the perhaps sacrificial 5R power resistor going up in smoke. Connected to the last available pin on the PIC, serial input, can also be used as a Pull High input switch (detected by interrupt).




SlaveMppt_002.pdf


Cheers
Mike
Edited 2019-10-08 06:06 by Solar Mike
 
Solar Mike
Guru

Joined: 08/02/2015
Location: New Zealand
Posts: 509
Posted: 10:55am 09 Oct 2019
Copy link to clipboard 

I had a play with the Picaxe 28X2 chip to see how its HPWM Half Bridge mode worked. Running the cpu at 64 Mhz max PWM frequency is 62.5 Khz with 10bit resolution, in 1/2 bridge mode the dead time is easily set anywhere from 100 ns upwards.

The smaller chip in the X2 range 20X2 would be the same; there would be many advantages in using the 20X2 chip in the slave mppt module, the circuitry can be simplified having greater IO pins to play with along with the 1/2 bridge mode PWM outputs and the higher PWM means the buck inductor is smaller.

These CPU HPWM outputs have timing issues on cpu initialization and power off, however using Warps excellent method for connecting the opto couplers, these problems are avoided. Here is an amended simpler circuit using the 20X2, I am very tempted to now alter the PCB design to use the bigger cpu, even though it costs 3x as much. CPU connections not shown.

I ordered 4 of them and they arrived today, only thing is idiots sent me the wrong chips, they sent the rather expensive 28X2 versions, yet their web store says that one isn't in stock???




SlaveMppt_20X2.pdf

Cheers
Mike
 


To reply to this topic, you need to log in.

© JAQ Software 2019