Solar Micro Inverter Power Management

Thread Starter

Brian Drury

Joined May 3, 2017
9
I have solar panels on my roof with grid tie enecsys micro inverters to generate the 240V AC supply needs of the building. Surplus power is diverted to heat water tanks giving us a continuous supply of hot water. The system based on a few arduino microcontrollers has diverted about 9MWh over the last 4 years and is a great success.

Unfortunately enecsys went bust shortly after my system was installed and being concerned about the possible need to repair units in the future I spent a ridiculous amount of time reverse engineering the design to produce a schematic. The results of my efforts are attached as a pdf in case anyone here is interested.

During the last year I have helped several people with failed enecsys units by repairing them. This was only possible using the documentation I have produced.

I now wish to embark on a new battery storage extension to my system and I have some technical questions for the group which I shall put in a separate post under this thread.
 

Attachments

Thread Starter

Brian Drury

Joined May 3, 2017
9
I intend to add modular battery storage to my existing solar power management system. I am confident about some aspects of the design but the constant current buck circuit is not something I have done before and when researching the subject I realised a simple starting point would be to post a question to this knowledgeable group.

My plan is to use enecsys micro inverters (I have several spare units) to generate power from a battery of 10 X 18650 Lithium-ion cells wired in series. The controller will be arduino based slaving from my master arduino via a radio link.

Input power to the battery will come from solar panels via several enecsys micro inverters. This has many advantages including MPPT which I do not have to do.

My plan is to run the system at 48V derived from switch mode power supplies.

I have attached an outline diagram of the buck circuit I am thinking of using. The series switch Q1 is driven from an arduino at about 50kHz via MOSFET driver U1.

L2 is a simple filter but L1 is the main buck component and this is the item I need help with. The cell manufacturer recommends 1.3A charge current. I need to decide on the characteristics of L2. These will be inductance, resistance and core requirements to avoid saturation.
 

Attachments

Deleted member 440916

Joined Dec 31, 1969
0
Hello Brian,
This thing is fascinating to me as I designed and built my own (GTI) see avitar! Always interesting to see how others do it, my entire half bridge main inverter generates the 100Hz waveform whereas I see here they run there's as a straight smps delivering 500V to Q4 that reconstructs the 100Hz half sines. Could you tell me what string voltages this GTI is rated for and what PIC it uses ? just nosy :) If your going battery are you thinking of making the float voltage compatible with the GTI/PV level ?
Welcome BTW I am a new member too :)
Roger
 

Deleted member 440916

Joined Dec 31, 1969
0
I intend to add modular battery storage to my existing solar power management system. I am confident about some aspects of the design but the constant current buck circuit is not something I have done before and when researching the subject I realised a simple starting point would be to post a question to this knowledgeable group.

My plan is to use enecsys micro inverters (I have several spare units) to generate power from a battery of 10 X 18650 Lithium-ion cells wired in series. The controller will be arduino based slaving from my master arduino via a radio link.

Input power to the battery will come from solar panels via several enecsys micro inverters. This has many advantages including MPPT which I do not have to do.

My plan is to run the system at 48V derived from switch mode power supplies.

I have attached an outline diagram of the buck circuit I am thinking of using. The series switch Q1 is driven from an arduino at about 50kHz via MOSFET driver U1.

L2 is a simple filter but L1 is the main buck component and this is the item I need help with. The cell manufacturer recommends 1.3A charge current. I need to decide on the characteristics of L2. These will be inductance, resistance and core requirements to avoid saturation.
Hello again Brian,
Had you considered cell balancing, this is very important in multi-cell Lithium packs as they do nasty things when unbalanced. There are quite a few chips around to do the job and some will also regulate the charge current for you. The Arduino is not really suitable for the control loop of an smps as it simply isn't fast enough nor has it the needed peripherals such as comparators connected to the pwm etc. You would be better with an smps control chip and let the arduino do the system level stuff.
Hope this helps :)
Roger
 

Thread Starter

Brian Drury

Joined May 3, 2017
9
Hello Brian,
This thing is fascinating to me as I designed and built my own (GTI) see avitar! Always interesting to see how others do it, my entire half bridge main inverter generates the 100Hz waveform whereas I see here they run there's as a straight smps delivering 500V to Q4 that reconstructs the 100Hz half sines. Could you tell me what string voltages this GTI is rated for and what PIC it uses ? just nosy :) If your going battery are you thinking of making the float voltage compatible with the GTI/PV level ?
Welcome BTW I am a new member too :)
Roger
Hello Roger

The inverters are 'micro inverters' one per solar panel therefore no string. Input is 35 - 45V DC.

Yes the battery output is intended to be about 42V to be compatible with the micro inverter input requirement.

Thank you for the welcome! :)

Brian

Brian
 

Thread Starter

Brian Drury

Joined May 3, 2017
9
Hello again Brian,
Had you considered cell balancing, this is very important in multi-cell Lithium packs as they do nasty things when unbalanced. There are quite a few chips around to do the job and some will also regulate the charge current for you. The Arduino is not really suitable for the control loop of an smps as it simply isn't fast enough nor has it the needed peripherals such as comparators connected to the pwm etc. You would be better with an smps control chip and let the arduino do the system level stuff.
Hope this helps :)
Roger
Yes I intend to balance the cells but I also intend to use the arduino to monitor the voltage of each of the 10 cell batteries. There are ten banks of 10 cells each. If the terminal voltage of one bank drops to threshold then the load will be switched off.

A sketch I am working on is attached but this will change.

The arduino will not generate the 50kHz it will merely control it so speed is not an issue. However, it is really just a function block at the moment my focus is on the buck which is where my confidence is lagging.

Brian
 

Attachments

Deleted member 440916

Joined Dec 31, 1969
0
Yes I intend to balance the cells but I also intend to use the arduino to monitor the voltage of each of the 10 cell batteries. There are ten banks of 10 cells each. If the terminal voltage of one bank drops to threshold then the load will be switched off.

A sketch I am working on is attached but this will change.

The arduino will not generate the 50kHz it will merely control it so speed is not an issue. However, it is really just a function block at the moment my focus is on the buck which is where my confidence is lagging.

Brian
Hi Brian, I think you will find EACH CELL needs balancing! that is something measuring the voltage of every cell and providing means to partially bypass it.
As for the Arduino/buck that is what I am talking about, the current feedback loop will have to be fast and stable to ensure the minimum of ripple current in those Lithium's and frankly involving software in that control loop is not for the faint hearted!
Better to just use a standard control chip suitable for buck configurations and derive a current feedback for it possibly from a shunt in the return battery leg.
Are you familiar with what companies make these chips ? TI is a good place to start, also Maxim & Linear Tech, I think they also all make balancers :) Usually you will find in the application notes design information for the magnetics to help you :)
Roger
 

Thread Starter

Brian Drury

Joined May 3, 2017
9
Hi Brian, I think you will find EACH CELL needs balancing! that is something measuring the voltage of every cell and providing means to partially bypass it.
As for the Arduino/buck that is what I am talking about, the current feedback loop will have to be fast and stable to ensure the minimum of ripple current in those Lithium's and frankly involving software in that control loop is not for the faint hearted!
Better to just use a standard control chip suitable for buck configurations and derive a current feedback for it possibly from a shunt in the return battery leg.
Are you familiar with what companies make these chips ? TI is a good place to start, also Maxim & Linear Tech, I think they also all make balancers :) Usually you will find in the application notes design information for the magnetics to help you :)
Roger
There is a very interesting group of people building Tesla style ‘powerwalls’ using 18650 cells wired directly in parallel. They are able to do this because they balance the cells according to capacity determined by measurement.
http://http://diypowerwalls.com

I plan to use these cells in series and also will balance them for capacity by measurement but there is no need to measure each cell during operation because the packs are separated by diodes as you can see in my diagram in the last post and are not simply parallel connected. As I said before, each pack will be voltage monitored and shut down when a minimum threshold is reached.

Yes I have looked at the standard offerings for Lithium charge circuits but none I found can handle a 42V battery.

All I am interested in is some advice regarding the design of L1. :)

It will be simpler if I stopped calling the controller an arduino.


Brian
 
I suspect you are cleverer than I but have a couple of points that may be pertinent.

You will need to balance cells when charging, particularly with a string that long.
The dedicated chips I have looked at all use switched resistors but I find myself wondering about diodes/diacs or simmilar arranged with an apropriate forward voltage to bypass any high cells during charging

I have used an arduino to control a buck module that was not designed to accept any external control other than its on-board trimmers.
If you look at most basic buck modules the sense pin is simply connected to a voltage divider as you have it.
however all the boards, that I have looked at, which support currrent limiting do it the same, simple way.
The sense resistor is monitored by an opamp which increeses its output with increesing current.
The sens pin of the buck IC is now connected to a fixed resistor to ground snd the usuasl trimmer to the output voltage.
However the output of the opamp is fed by a diode, usually an LED to the sens pin....
when the current threshold is reached the output of thr opamp exceeds the forward voltage of the diode which lifts the sense pin to slightly more than its threshold value, or at least it would if that in turn didnt back off the output.

I found that adding a second diode feeding the same node and driving it with an intigrated PWM signal from the arduino gave me close control of the output voltage, essentally allowing me to bend the setpoint
It can be set up two ways with the PWM either providing a variable sink current to increase the output voltage or a source to decreese/turn it off.
Obviously when sinking steps must be taken to limit thre current when the trim pot is at a low value, I simply replaced it with a fixed resistor that gave me my desired minimum output.

It occurs to me that you might considder buying buck boards and modifying therm to gain control rather than building.
You may also want to considder hall effect current sensors rather than resistors... Simpler and very cheap.

I am sure that there are other ways to go, a digital pot perhasps of maybe fets in their linier region but the above worked for me.
my application varied the output voltage to charge a small battery. The input was a wind turbine that needed to maintain a minimum voltage well above the charging voltage to operte properly, too low and it stalled.
The arduino managed the turbine voltage, which was the input to the buck module, by managing the load voltage and hence the overall load on the turbine. in light wind it simply backed off the charge current untill the optimum turbine voltage, and thus speed, was reached which provided much more power than allowing the speed to fall until the battery voltage was reached.

Al
 

Thread Starter

Brian Drury

Joined May 3, 2017
9
Hi Al

Thank you for your comments especially regarding the Hall Effect sensor. This is especially relevant because it is bi-directional so will cater for both charging and discharge.

Brian
 

Deleted member 440916

Joined Dec 31, 1969
0
Yes I have looked at the standard offerings for Lithium charge circuits but none I found can handle a 42V battery.
All I am interested in is some advice regarding the design of L1. :)
Brian
Just one of the sites I recommended (TI) lists 39 parts that suit your requirements here http://www.ti.com/lsds/ti/power-management/step-down-buck-products.page# so get busy on the web.
For complete system design including your inductor just download the webbench designer link for the selected part and it will do everything for you except actually solder the parts together!
Good Luck
Roger
 

Thread Starter

Brian Drury

Joined May 3, 2017
9
Roger

The TI selector tool is brilliant! I found exactly what I need so thank you for that.

Also, I think you guys are correct and monitoring each cell will be a good idea. My reluctance was due to the fact that there are 100 cells.

Brian
 
you will need to do some digging but I 'think' cells in paralell would be self ballancing.
If that is the case then you could reorganise so that you have paralell units, for capacity, seriesed up for voltage.
I suspect that you would only need to monitor seriese nodes if you went that way.

Do check though, I am no expert.
However I have seen many LIPO packs that are 3S but contain 6 physical cells.

Al
 
Top