150V 45A MPPT - roll your own

Author Message


Joined: 02/02/2017
Location: Australia
Posts: 1400
Posted: 07:20am 24 Mar 2020      

I am a strong believer in making your own inverters. The benefit is you can fix the damnned thing when it smokes. No need to return to the manufacturer at your cost including freight or postage. I had a Victron 3kW inverter. It cost me $2,700 AU and lasted 25 months. Warranty is 24 months. So that made me angry. Anger is an energy..

Time to make a MPPT of a useful size and (limited) function.
And when it dies, I can fix it.

I use at the moment 2 charge controllers. I have 3kW panels facing North and another 3kW panels facing East. The North facing array is 3 in series x 4 giving about 105V open circuit. This goes to the Morningstar 60A MPPT controller. The East facing array is 2 in series x 6 going to a Morningstar 60A PWM controller.
(2 in series is quite close to battery voltage and I am happy with the results)

Prices for the controllers (with $1 AU = $0.55 US) are:
MPPT 60A $1122
PWM 60A  $425
That's a lot of fun tickets. And - get this - you can blow up the MPPT controller just by enabling battery voltage when the device still has a large voltage stored in it's caps. Do not, ever, use the modbus command to reset. You will blow it.
I am so tired of fragile and expensive devices we depend upon for our solar power systems.

The boards cost $100 AU for 5 boards plus about $100 for main components for 2 boards. I have a lot of 560uF 450V caps from dead grid tie inverters so I will use them. It may be that it is not enough capacitance. We will find out.

Input voltage: up to 150V
Output voltage: 55V (i.e. a 48 V lead acid battery)
Output current: 45A, nominal. Probably handle more but we will see.
Home built with easy to source parts, simple construction, no bells and whistles,
just get the current into the battery and don't over charge it for Dog's sake.
PWM freq: 20KHz (due to the size of the inductor I have spare)
control: Arduino nano. We all give a collective groan but I don't care.
Open source project?: of course.
One microcontroller, simple with low parts count.
Heat sink: the biggest thing you have laying in the shed.
efficiency: the buck converter will get maybe 90% at full load, 93% at low outputs.
MPPT efficiency: near enough. The code will search for max power once a minute. Then run the standard peak finding algorithm used by all and his dog.
Interface: LCD maybe, only if it does not upset PWM function.

code outline: ignore battery temperature. Charge to a conservative voltage. No float function. In my case it will be 55V. Find max power and send it to the battery if voltage is less than 55V. Limit output current to 45A. If at 55V, just maintain it there. Show some useful info on LCD if possible. Be aware of no solar voltage. Be aware of no battery connection.
Do not over charge. Later if people want add temperature compensated charge voltages.

Nick (nickskethisniks) has kindly given me the design file for his solar buck converter. I have ordered 5 boards, 2 oz copper, and ordered some parts as needed.
These arrive in 5 or so days.

Time to start coding. I have a test setup on the bench, just a buck converter with input volts, output volts and output current sensed. This is enough to start fleshing out some code.

In time nickskethisniks or me will publish the PCB files. I want to ensure the PCB has no problems first.

(by the way, the nanoverter/madness 6kW powerboard inverter I built is running well. I started using it back in early September 2019. So it seems I have found a long lived inverter design and will stick with it. And I know how to repair it too. This is a most pleasant feeling - to be able to fix expensive things yourself.)
wronger than a phone book full of wrong phone numbers