Solar buck converter with MPPT
|
|
TheMerovingian
|
Wed Apr 18 2012, 07:22PM
|
|
|
Registered Member #14
Joined: Thu Feb 02 2006, 01:04PM
Location: Prato/italy
Posts: 383
|
My local electronics store sells photovoltaltaic modules in various sizes, so i bought one rated for 10W. Unfortunately those modules has the maximum efficiency at 18V while the battery charges at 14.4V. So charging the battery directly through a diode will result at maximum to have an efficiency of 80%
I decided to design my own MPPT using the minimum component count but with the highest efficiency possible.
The circuit consist in a PIC16F88 using the PWM channel to drive directly a sinchronous mosfet driver (high and low side). THe operating frequency was chosen for the smallest inductor possibile but limited to 200 Khz to limit switching losses.
I decided to use 156 KHz as PWM operating frequency (20MHz master PIC frequency) as a good compromise between core dimension and PWM bit resolution (7 bits, 128).
I used surface mount mosfet driver and mosfets (rated for 50A current and 0.002 Ohms resistance , bought at 0.70 euros at rs components)
The voltages are measured using the on board adcs (hardware filtered with RC = 0.2s and software averaged n=16) and the current are measured direcly through a shunt (100mohm). I don't use differential amplifiers but measure directly the shunt voltages (and calculate the currents of output as difference since it is referenced to PGND). Voltages and current are calibrated in software.
The final prototype has a 93% efficiency at rated power (10W) but probably can bu pushed further changing the shunts.
The software prevents battery overcharging by switching to "trickle mode (13.7V)" when the battery voltage exceeds 15.2V and going back to "power tracking mode" when the voltage drops under 13.2V
The tracking algorithm is optimized for robustness tested under various conditions (power fluctuations and so on) and is able to track the power very rapidly
video of operation:

The LCD is only for debug purposes, and will be removed and the code deactivated by cutting a jumper
|
Back to top
|
|
Moderator(s): Chris Russell, Noelle, Alex, Tesladownunder, Dave Marshall, Dave Billington, Bjørn, Steve Conner, Wolfram, Kizmo, Mads Barnkob
|
|
Powered by e107 Forum System
|