SPV1020 Maximum Power Point Trackers
SPV1020 APPLICATION NOTE: AN3392
I designed this solar Maximum Power Point Tracker (MPPT) for use on the Phoenix, to upgrade the sorely lacking MPPTs previously used on the vehicle. These MPPTs are built around an all-in-one MPPT chip made by ST called the SPV1020. They have a number of advantages over there predecessor.
Improvements Over the Previous System
Real Maximum Power Point tracking, smaller sub array requirements as well as other perks like lower weight and built in SPI performance reporting.
One of the main improvements over the previous system is having a MPPT algorithm that finds the true maximum power point constantly. The old system had a hand trimmed "set and forget" adjustment in which the output power is tuned once. This neglects how the power point changes over temperature. The old system also had a temerature probe to componste for this problem but it was never installed. even if it was it probably wouldn't be very effective. The MPPT also can change over time as the cells degrade or get damaged.
The SPV1020 uses a perturb-and-observe algorithm that draws more current untill the power stops increasing. Then it reverses, and draws less current until the power stops increasing. it steps at 700Hz, jiggling about the MPP with check out the SPV1020 Application note for more images and explanations. (fig. 18)
Some Background Knowledge
At the heart of a solar cars performance is how much power the solar array produces. Solar vehicle race regulations restrict the size of the solar array to 6m^2 for the SUNPOWER;C60;BinJ;22.5% efficient cells that our team uses.
Dividing a Solar Array Into Sections
Each cell generates only 0.55V, so you need to put solar cells in series to get up to the voltage needed to charge a 96V battery. You can use switching voltage boost converters, but generally the more you have to boost a voltage, the more power is lost in the conversion. The problem with a series string of cells is that they need to be matched in performance. The chain is only as strong as its weakest link, and a string only produces as much current as its lowest performing cell. If some cells in the string are cracked, shaded or tilted, the whole string will not perform as well.
In the past, the Phoenix solar vehicle had its undulating service divided into 3 separate strings that created 78V each. Each string had a MPPT/Boost converter that collectively charged the 96V battery. One of the 78V strings covered The hood of the car. The hood is rather round, and some part of the string was always tilted away from the sun and impeding current flow. One thing that can be done is use diodes to completely bypass parts of the string if they are performing fr to poorly, but this also completely cuts out any energy that that section could produce.
Ideally, it would be best if each cell was independent, and yet collectively created a high voltage. This is close what the SPV1020 MPPT IC does! It can use smaller cells strings of 10-30V AND have the MPPT outputs in series with other MPPTs to create 96V. With this we can divide the round hood of the car into 4 parts.
How MPPT's Work
Maximum power point trackers are very necessary for solar panels. Due to the nature of solar cells, putting to much load on a cell can cause the voltage potential to virtually disappear. to little load and you just end up not taking advantage of the power capability a cell has. MPPTs scan for the point where it can extract the most Power (Current*Voltage). Most MPPTs also have a voltage converter that is modulated to charge a battery.
to be clear, an example:
- if a solar string is generating 100W and 80V.
- if our battery is 96V.
- if the resistance between the MPPT and Battery is 0.49ohms.
- the MPPT/Voltage converter will boost the voltage to 96.5V.
- this will generate 1.04A and 0.5V will drop across the wireing resistance and battery resistance.
- 96V will drop across the heart of the battery, storing energy at 96V*1.04A=99.84W
In this way, an MPPT uses a battery as apart of its system to accomplish its primary mission of extracting the most power out of an array. :)