Autonomous solar panel maximum power point tracking with fully integrated buck-boost chargers
Resources
Hi, and welcome to this Battery Management Systems Seminar session. This is the Autonomous Solar Panel Maximum Power Point Tracking with Fully Integrated Buck-Boost Charger session. My name is Jeff Phelan, and I'll be the moderator.
A few housekeeping items before we get started. All participants are muted for the session, and please use the Q&A box to ask a question. Mike will be answering selected questions entered into chat at the end of the session. Also chat if you are having any problems hearing or seeing the presentation. The different windows on the screen are adjustable, so you can make the slide screen bigger or move it around based on your preferences. With that, I will hand it off to Mike Emanuel to get started.
Hi, guys. Thank you for joining me. I'll get started with the agenda. First, we will talk a little bit about solar panel application solutions. We'll talk about some key charger features for solar panel maximum power point tracking, or MPPT. And we'll also talk about an MPPT algorithm implementation and results.
So we'll talk a little bit about the solar panel application solutions like the I-V characteristic of the solar panel, how the irradiance and temperature affect the solar panel, as well as some overview of brief MPPT algorithms. So a solar panel has a unique I-V characteristic, which can be shown on the right here. Let me get my pointer.
I-V characteristic is shown here and here. They are high-impedance sources, and they have non-ideal parameters that can affect those I-V curves. They include resistive losses through the junctions of the diodes of the solar cell, diode leakage made by the natural PN junction of the solar cell, and material properties.
The maximum power point is affected by the irradiance. As you can see on the right here, as you increase the irradiance, you actually increase the short-circuit current. So we increase the short-circuit current on the left here from around 500 milliamps to 750 milliamps by increasing the irradiance, or the brightness of the sun.
And then also, the temperature affects the open circuit voltage. So actually, as you increase the temperature, you decrease the open circuit voltage. This is a key parameter that is different from the irradiance, whereas increasing the irradiance increased the short-circuit current. So again, increasing the temperature decreases the open circuit voltage. You need to have an MPPT algorithm that can take into account this change in temperature, and that's something that we will discuss later.
As shown, the changes in temperature and irradiance will cause the maximum power point to move. We have a green curve here, which is a power voltage curve, a blue, and a black curve. And as you can see, the voltage and power moves as the irradiance and temperature change.
Now we'll talk a little bit about different maximum power point tracking algorithms. The first is fractional open circuit voltage. This is based upon a fixed ratio of the instantaneous open circuit voltage. For this method to work, you first measure the open circuit voltage. You then multiply it by a fixed, known k-factor, and then you hold the input voltage at that point in order to maximize your input power.
Another method is called perturb and observe, also known as the hill-climbing method. Here, you manipulate the load and monitor the input power. So for example, you can start on the left at the bottom by the number 1, and you can increase from position 1 to position 2. And if you see that your power goes up, you would continue moving up the hill all the way until you reach the maximum power point. If you observe that you start to decrease your power by going this way, you would return back because you'd known that you'd passed your maximum power point.
The last method is incremental conductance. In this method, you manipulate the load and you monitor the derivative of the input power with respect to voltage. So here, it's all about the slope. You take the power, and then you take its derivative with respect to voltage.
If it is going from positive and approaching 0, you know that you're approaching the maximum power point. But if it goes to negative, you've gone past it. Again, you would just return backwards in the opposite direction, making sure that you reach that 0 slope of power with respect to voltage.
Now I'll talk a little bit about the solution comparison of the different MPPT algorithms. First, some algorithm and controller considerations. You need to be able to have software especially for perturb and observe and incremental conductance to be able to calculate those powers and also to store them. You need to have good processing power and speed for this software as well.
For the hardware, you also need to be able to sense these currents and voltages as well as store them in memory to be accessed by the software. Cost, size, speed, and efficiency are also key for the hardware. Last, you have to focus on the implementation, specifically timing and power consumption.
So here's a brief table describing the different software, hardware, and implementations of the three methods we just talked about, as well as one that I'm proposing in this presentation. For fractional open circuit voltage, you only need to calculate that k-factor multiplied by the open circuit voltage. For perturb and observe, you have to calculate the power and store some previous states. Incremental conductance requires calculating the power and the derivative of power with respect to voltage, as we said before, as well as store those previous derivatives to know where you are on the maximum power curve.
The proposed MPPT is just like the fractional open circuit voltage method. However, here you also store some minimal previous states. Specifically, you're storing the charge current.
For hardware, fractional open circuit voltage just requires a voltage sensor, but it requires you to be able to disable the input current draw. Perturb and observe and incremental conductance require voltage and current sensors, and multiplier and memory to store their previous calculated states. The proposed MPPT requires a voltage sensor for the input and a current sensor but the charge current, and requires-- my slides went backwards.
The fractional open circuit voltage method requires just the input current draw being disabled and a voltage sensor, whereas the proposed MPPT requires a charge current sensor, as well, and some memory to be able to remember that charge current. The fractional open circuit voltage method doesn't directly account for different irradiances or things like partial shading, which is why I proposed the proposed MPPT measuring the charge current. The perturb and observe requires fine stepping of the input voltage, as does incremental conductance, but that requires the instantaneous conductance to be calculated.
So now we'll talk a little bit about the solar charging solution and this 3M approach. The basic solar charger functions that we need are the ability to be able to manipulate the operating point and load conditions and to be able to temporarily stop the converter. To do this, we will make use of a high-impedance or Hi-Z mode. We will have to be able to monitor key charging and input parameters, which requires measurement capability. To do this, we will make use of an analog-to-digital converter.
Last, we need to be able to maximize the input power and charging current, which requires control of the operating point. To do this, we will make use of VnDPM, or input voltage dynamic power management. And last, we also require a wide input range for the converter to be able to accommodate these different input voltages. A charging MPPT algorithm needs accuracy in its measurement and tracking, simplicity in its communication, implementation, and integration, and low power consumption.
Now we'll talk about how we'll integrate these key charger features for solar panel MPPT. So here's the basic circuit diagram of a converter, a buck-boost converter. We need to be able to manipulate and monitor the open circuit voltage measurement. This is key for the fractional open circuit voltage measurement technique. So to make use of that, we will have an input Hi-Z mode for the converter and an ADC that can read the input voltage.
We need to have a multiplier to be able to calculate the k-factor multiplied by the open circuit voltage, and we will do this internally. Last, we need to be able to have VnDPM to be able to set and hold the MPPT input voltage. As said before, the third M is "maximize." We'll make use of a charge current measurement for optimization using the ADC, and we have a buck and boost topology or a four-switch buck-boost topology allowing for a wide input voltage range of the input and the battery.
Now we'll talk a little bit about regulating the input voltage to achieve MPPT. In a solar application, you need to be able to manipulate the operating point. This is because the panel voltage may collapse when overloaded. You need to prevent this brownout condition. As shown by points over here and here, if you draw too much current from the solar panel, you will actually crash the input voltage all the way to zero. That is an operating point that would not be useful because you would transfer zero power, and you would be shorting the panel.
So in our autonomous MPPT implementation, we periodically measure the open circuit voltage shown here and here. And then with the k-factor determined, we set the MPPT, noted as the k-factor times the open circuit voltage measurement. The VnDPM will determine the operation point and will set the MPPT.
As you can see here, we have two different open circuit voltage measurements and we have two different VnDPMs on this vertical axis. That is because, as we said earlier, as you increase the temperature, you actually decrease the open circuit voltage. So from open circuit voltage 2 to number 1, we've actually increased the temperature and decreased the open circuit voltage. Again, we will show in this presentation how we make flexible use of this temperature phenomenon in order to directly account for the different temperatures that could be present on a solar panel and still maximize the power going into the panel
Now we'll talk a little bit about input voltage dynamic power management. Input voltage dynamic power management sets the minimum input voltage to prevent the input from dropping below this threshold. So as you can see here, the input voltage is monitored in this scheme.
And if the input voltage drops below the MPPT level, we will actually reduce charge current in order to supply the system current so that we can maintain the input voltage at the right level. The reason we want to maintain the input voltage at the right level is, as shown earlier, there is a maximum power point, and we want to always operate there to be able to extract the maximum power. Again, the autonomous MPPT implementation will set the k-factor multiplied by the open circuit voltage as the input voltage dynamic power management point.
Now we'll talk a little bit about the k-factor selection of the proposed charger, the BQ25798. The k-factor is determined by the solar panel, temperatures, sunlight, partial shading, et cetera, and the BQ25798 offers different options ranging from 56.25% to 93.75%, all configurable via I2C. This multiplier is implemented automatically, so once MPPT is enabled, the open circuit voltage is measured, it is multiplied by the k-factor that you choose, and the VnDMP is set to that value automatically without further control. This will be done every time that the open circuit voltage is measured while the maximum power point tracking algorithm is enabled.
So now we'll talk a little bit about the manipulating and monitoring of this buck-boost converter. The input Hi-Z mode will disable the converter and internal biasing. This allows VBUS to see the unloaded input source voltage.
In a solar application, this is manipulating the input voltage of the panel and monitoring the input voltage of the panel. This makes it a perfect candidate for the fractional open circuit voltage measurement MPPT. So what the BQ25798 will do is it will periodically measure the open circuit voltage, multiply it by the k-factor, set the VnDPM, and then maintain the VnDPM until a further open circuit voltage measurement is taken.
Now we'll talk a little bit about a further optimization in the algorithm where you can monitor the charge current. Using host control of the ADC, you can measure the charge current to measure the output power. The reason you're able to measure the charge current to measure the output power is that in the short-term, checking Icharge maximizes the input power because the battery voltage is constant. In the short-term, the battery voltage is constant. So in this power equation with the voltage of the battery and the charge current of the battery, if the voltage remains constant, whatever setting yields the highest charge current maximizes the output power and therefore maximizes the input power.
So now I'll talk a little bit about the MPPT algorithm, how it's implemented, and some results that I collected. So here is an example of autonomous MPPT for buck operation with a 7.3-volt battery. As you can see here, I had a 15-volt input with a 1 and 1/2-amp supply current limit and a 7.3-volt battery.
The converter turns off in this area to measure the open circuit voltage of 15 volts and then it updates the VnDPM based upon a k-factor of 81.25% to be about 12.19 volts, where the input voltage settles to here. Charging will then resume for 30 seconds.
As you can see here, this is the demonstration of the buck operation. Q1 and Q2 switch while Q3 is off and Q4 is fully on. This is shown by switch 1 activity happening and no switch 2 activity happening.
We also have the ability with this four-switch buck-boost to implement boost operation. This is autonomous MPPT boost operation with an 11 and 1/2-volt battery. Here, there's a 10-volt input, 1 and 1/2-amp supply current limit, and 11 and 1/2-volt battery, so a boost operation.
Here we measure the 10-volt input during the open circuit voltage measurement, multiply it by the k-factor of 81.25%, and then achieve an 8.1 VnDPM here. Charging then resumed for 30 seconds before repeating. As shown here, Q1 is fully on and Q3 and Q4 switch, allowing for a boost operation, and this is demonstrated by switch 1 having no activity and switch 2 having activity.
Now we'll talk a key feature about this MPPT algorithm that we're using in this solar battery charger. As you can see on this graph here, if I change the temperature from 25 degrees C to, say, 0 degrees C, both the maximum power point voltage and the open circuit voltage change by roughly the same amount, by about 10%. What this means is if you change the open circuit voltage and decrease it by 10% because the temperature has gone up, say from 25 to 50, the maximum power point will also go down by the same amount.
This is crucial because if you have a solar charger that determines its VnDPM based upon a fixed ratio and the open circuit voltage, you will always be able to track the maximum power point through temperature changes. This makes it flexible for different seasons throughout the year as well as different geographical locations. And as shown here for a fully sunny day, a fixed percentage of the open circuit voltage will maximize the power throughout the day as the temperature changes based upon that fixed k-factor ratio.
So here's a little bit of detail of an algorithm flow for maximizing the charge current. First, we monitor the input voltage and charge current using an ADC. Then we tested different points using Hi-Z and VnDPM. And last, we updated the VnDPM percentage based upon which setting yielded the most charge current and repeated as the conditions changed.
So for this one, you can see that with a 56.25% k-factor, we started with about less than an amp of charge current. When we moved to 62.5% k-factor, we actually increased the charge current to slightly above an amp. We kept going and going and going until we got to 81.25% k-factor.
Here we noticed a charge current of around 1.3 amps. When we increased the k-factor to 87.5%, we noticed that the charge current went down. This would indicate that for a 1 maximum power curve, that 81.25% maximizes the input power and is the maximum power point.
Here is a little bit of an algorithm flow diagram for a single maximum power curve. First, you monitor the input voltage and charge current using the ADC. Then you test three different points using Hi-Z and VnDPM. And last, you implement the algorithm by updating the VnDPM percentage based upon which setting yielded the most charge current, and repeating as conditions change.
So here's a little bit more detail about that previous algorithm that I showed, except now we have it with charge power. This was done on a very sunny day with approximately 13-volt battery and with a solar input voltage of 10.111, 11.3, and 12.4, all boost operation. Buck-boost operation of 13 and 1/2 volts, and buck operation of 14.6 and 15.8. As we said earlier, the 81.25% k-factor maximized the input power and was the maximum power point.
But the key reason why you want to modify the k-factor and optimize a charge current is shown here. So here we have a 13-volt battery with a solar input voltage of approximately 11.3 volts, 10.1, and 12. As shown in this diagram, we have 900 milliamps of charge current for a 62.5% k-factor and around half an amp of charge current for the 56.25 and 68.75 k-factor.
In this method, there was actually a local maximum for the power curve at 62.5%. This is why in partly cloudy, partial, shading and different irradiance conditions, it might be helpful to monitor the charge current to be able to maximize your input power. So again, 62.5% k-factor or VnDPM maximizes the charge current here.
Now we'll talk a little bit about solar panel characterization to try and tie everything together. So here we have different irradiance and temperature test environments with approximately 12.8-volt battery. As you can see, ranging from a 4-volt input to an 18-volt input. This means that the converter is operating in buck and boost mode.
The maximum power point for the brighter or blue curve occurs around 14.6 volts and for the less-bright test, around 15 and 1/2 volts. You may say, well, this is different, but the key thing is if you divide it by the open circuit voltage, the k-factor that you get out of them is approximately 81.25%. In other words, 81.25% k-factor will optimize the power of these different curves regardless of the temperature and the open circuit voltage. This is what makes the BQ25798 such a flexible solution for solar battery charging. And as said before, the 81.25% setting will maximize the input power.
So we present a solar charger BQ25798. It has autonomous MPPT for solar input, making use of an input Hi-Z mode, a 16-bit integrated ADC for further system optimization by measuring the charge current, and only the need to set the k-factor and multiply by the open circuit voltage measurement to set the VnDPM and the initial algorithm. It has a buck-boost topology with a wide input voltage range ranging from 3.6 volts all the way to 24 volts.
So in summary, what we covered today. We talked about solar power tracking. How the max power depends on sunlight and temperature, how as you increase the sunlight, you increase the irradiance and the short circuit current. How when you increase the temperature, you decrease the open circuit voltage.
We talked about three different algorithms, which included fractional open circuit voltage, perturb and observe, and incremental conductance. We talked about the 3M approach for solar battery charging, which are manipulate, monitor, and maximize the input and output conditions for faster charging. The BQ25798 implements autonomous MPPT with the k-factor setting. Its integrated features allow for easy design and small solution size.
We talked about how you can implement a simple MPPT implementation on top of that by measuring the charge current and how the charge current maximizes the output power due to the steady battery voltage. Last, we talked about how the proposed algorithm here combines fractional open circuit voltage and perturb and observe approaches because we're measuring the open circuit voltage periodically, setting the VnDPM, but you can also perturb an observe around several k-factors in order to find the maximum charge current. And MPPT operations achieved under varying weather conditions and with various solar panels. That is all, and now I will be taking questions.
So the first question I'll ask is what is required for MPPT? Well, the thing that is required for MPPT is that the battery voltage has to be above the minimum system voltage. In addition, the ICO for the solar battery charger and the VnDPM determined bits cannot be active. So as long as batt is above min sys and those other conditions are met, you can enable the maximum power point tracking.
Second, what time is available for the open circuit voltage measurements? The times that are allowed in the registers are 30 seconds, 2 minutes, 10 minutes, and 30 minutes. I'll answer a question. It says, "Is the MPP sample interval at 1.4 seconds? If MPP turned off, is this 1.4-second interruption still present?"
So the maximum power point tracking algorithm has two things, one of which I just entered in the question, which is the rate at how often it measures the open circuit voltage. And then the other is a delay. I think the delay goes with 30 milliseconds, and a minute or a second are several options, but you can refer to the BQ25798 data sheet for the delay times between turning off the converter and measuring the open circuit voltage.
So we had a question that says, "Although optimized for lithium ion chemistry, is there any reason this couldn't be used to charge, like, a lead-acid battery?" The answer is yes, with software this could be used to charge a lead-acid battery.
The question is, "What is the minimum power level you would consider this solution efficient?" To look at that, you can look at the different charge efficiencies for 1S, 2S, 3S, and 4S batteries in the BQ25798 data sheet. But as op, we can go with a 1S battery at 4.2 volts with up to 5 amps. So we're looking around 20 and then up to around 45 watts.
Just a correction for earlier, we have the ability to do a 4S battery with 5 amps, so you can go up to 16 volts times 5 amps for your output power. 16.8 volts times 5 amps.
The key differences between the 792 and 798 are solar battery MPPT charging, which we presented in this presentation, as well as backup mode. The question was "The 792 and 798 have the same current rating. What are the other differences?" The other differences are the MPPT control and the backup mode.
Hey, Mike. I'm not seeing any other questions, so thanks for the presentation. That's a great job. And thank you to everyone who joined today.
You will receive an email with the link to the on-demand recording of this session. There will be a brief post-event survey that pops up after we end. We would love to have your feedback so we can continue to improve our content for future events. Thanks again and have a great rest of your day.