5V Solar Power MPPT controller

kranenborg

Senior Member
Hello,

I am currently working on a small module that should deliver a steady 5V to a stand-alone small (probably picaxe-based) project using one or two small, cheap solar cells (max 2V, 200mA each). A step-up converter is needed (e.g. MAX756/856) to convert from a small solar-cell delivered voltage to 5V, but in addition to that a circuit is required that properly matches the load with the optimal transfer function of the solar cells (i.e maximum power point tracking, MPPT). In this way the maximum amount of power gets transferred.

The solar cells that I have are cheap (max 2V, 200mA) and thus have an Open Circuit (OC) voltage that appears * strongly * dependent on the irradiation level (in contrast to high-quality cells that have an almost constant OC voltage). Thus the PICAXE may be of help to calculate the appropriate OC voltage based on some LDR readings at regular intervals and control the converter appropriately. Thus I hope that it may actually be used in an in-home environment.

There is a lot of information available on MPPT controllers that monitor the transferred power (I and V readings), but a simple MPPT controller can be built using the OC voltage only. For a given OC voltage the load should be regulated such that the solar cell sees at its output between 60%-85% of the OC voltage at all times, as it is then close to the point of maximum power delivery.

The circuit that I have thought of is this one:



In this circuit the PICAXE directly controls the converter using a "sweeping" algorithm in the following way (assuming that measurerments of the OC voltage for different LDR readings are known and stored in the program (yet to be written):

1) The Converter is shut off and the Load Switch is kept open until the Buffer Cap (C1) is at 85% of the OC voltage. This allows the solar cell to fill the buffer cap without the power leaking away to the load (and thereby preventing the 85% OC voltage to be reached, particularly for larger loads)
2) When the Buffer Cap is at 85% the converter starts and the Load Switch is closed (i.e. the load is connected). Thus the Buffer Cap gets emptied. This should proceed until the buffer cap is at 60% of the OC voltage, where situation 1) applies again.

Thus packets of energy are transferred in such a way that the solar cell load is always close to optimal

The MAX 756/856 has an on-board voltage reference (sheer luck!) that is used by the picaxe to calculate the Buffer Cap voltage.

In this way the solar cell would operate continuously close to its optimal point, even for very low irradiance levels, the picaxe recalculating the OC voltage (and the corresponding 85% and 60% amounts) on a regular basis. The MPPT controller would act as a slave processor to a PICAXE node and would even allow some form of control via the "Serial In" line shown (for example for direct control of the converter, or change of the default 85%/60% percentages used).

A big issue is then the PICAXE speed, as it should be able to continuously monitor the Buffer Cap voltage and thereby control the converter. I think it is feasible if the Buffer Cap is large enough in capacity.

I am thinking of several possible extensions, but there are some people over here that might have similar ideas and can comment on the following questions:

  • Do you think that the PICAXE is quick enough for the job?
  • Would the circuit work in principle (assuming that the programming can be fixed)
  • What is an easy way to test the efficiency of the MPPT controller approach?
  • Improvement suggestions for the circuit?

I was greatly inspired by a few application notes of Maxim (AN484 on a Nicad loader based on MPPT switching, and AN150 on the addition of a load switch to allow the converter to start at high voltages), as well as the literature references found, but I would be happy if some experienced people could comment on the feasibility of the project.

If the circuit is reasonably correct, then it should be possible to built a very small version using the SO-8 variants of the chips as well as SMD components.

Best regards,
Jurjen
 
Last edited:

premelec

Senior Member
One strategy is to simply regulate to the INPUT voltage - at .43 volts per solar cell in the string since you will then be close to maximum power. Oops I'm thinking of crystaline cells and I forget if that's what you have... anyhow the idea is to regulate the current from the solar array so that the voltage that appears across it is .43v x #cells. You can get fancier but for this it mightnot be worth it... The .43 volts varies some with temperature and individual cells but should come out near...
 

kranenborg

Senior Member
Premelec,

Thanks for your reply. I have some trouble understanding your response as:

  • The circuit does regulate towards the input voltage (not the output voltage), the buffer cap only buffers the input voltage in order to give the picaxe time to monitor its charging/emptying as well as to give the converter some cycles of real activity. In this respect I apply the same strategy as Maxim's AN484 at the input side
  • The goal of the circuit (in particular, the function of the picaxe) is to take care of the fact that the "0.48" volts does not apply in practice for different irradiance levels, i.e. Figure 1 in AN484 does generally not apply for cheap cells like mine as it varies largely since the OC voltage varies largely. Still the best operating point is somewhere between 60%-85% of the OC voltage, which explains the approach. For "high-quality" cells that have a constant OC voltage (i.e. 0.48V applies generally for all practical irradiance levels) then a picaxe controller is not at all needed and I would suggest to build the AN484 circuit directly ...

/Jurjen
 

premelec

Senior Member
Well.... it is my understanding, rightly or not [!] that the MPP will occur at about .43 volts per cell at a wide range of illuminance but perhaps that is not so. Anyhow in that context I was suggesting just regulating the output _current_ so the _input_ voltage was about .43 x # cells... this is an easier approach that true MPP where you wiggle the current and see where it peaks continuously re-adjusting... which gives the maximum current into a battery for instance.

It does not make sense to regulate to the ouput _voltage_ of 5 volts expecting MPP as the 5v current load must then vary and therefore the output power varies - you could regulate the output current to produce MPP however - or use a very large capacitor to sink excess current not being used... Consider that the output load is usually pretty constant and input watts variable with insolation and haze etc... this implies smoothing current/energy sinking somewhere to even out the input variations - usually a battery or large capacitor with switching down converter.

I haven't read the AP note - I'll take a look later - I'm just dealing with the power logic... an efficient converter can be considered to be a DC impedance matching device in this case dynamically controlled to change the matching with variations in input [and perhaps output...] - the usual maximum power transfer occurs when the load is matched to the source... in this case the source pretty much a constant current device with a relatively fixed voltage around .43 volts per cell...

I hope I'm not confusing you - I'm just looking at it a bit differently!

OK I just looked at AN484 and it says pretty much what I was trying to say in more detail and .48v rather than .43 v [temperature effects!] - put a reservoir capacitor across solar cells if you are going to use a switching converter and then regulate the voltage on that capacitor to .48 x # cells... note that in AN484 the graph with different solar insolation shows the knee point voltage not varying a lot - it's the current limit that varies and the MPP occurs at Vknee x CurrKnee... basically you don't want to draw more current from the input than will keep the voltage at the input to be about .48 x #cells!

Can you do this with a PICAXE? I think so with a large capacitor on the solar panel and READADC with a stable reference voltage on the AXE and then PULSOUT to a switch at a fairly low rate [sample READADC if > .48 x #cells then PULSOUT to a switch to dump solar capacitor to output with the usual buck convertor diode & inductor [fairly big inductor at low switch rate] - the into battery and LDO regulator - with cutoff circuit for not overcharging the battery...
 
Last edited:

BeanieBots

Moderator
With a PICAXE to hand, I'm not sure why you don't go all out for an MPPT controller.:confused:
Admittedly, using an LDR to "adjust" for the optimum knee point will give better results than simple "input voltage" control. The MPPT will alway give better results.
As for circuit improvements. I'd say what you have is probably as good as it will get for what you are doing. The only significant improvement that could be made is "active rectification". The biggest saving probably being the replacement of the panel blocking diode with a transistor switch.
Short of that (and I'd not like to take it on) would be to construct your own switch controller to get rid of the internal current sense and reduce Ron of the switching transistor.

Nontheless, an interesting methodology which does have the benefit of simplicity over MPPT but only thorough testing with good test equipment will ever 'prove' if any changes result in better performance.
Good luck with it.
 

premelec

Senior Member
there is also a possible hybrid approach in which you use a commercial switching regulator with very high efficiency set up to regulate the _input_ voltage [e.g. TI TPS61200] but modulate just what that voltage is with a MOSFET or DAC set every so often by the PICAXE - so the PICAXE isn't tied up full time doing regulation... so many ways and in this case not a lot of power is being saved by getting very fancy IMHO - so I'd go for simpler. Note that the TPS61200 has pretty efficient up conversion at very little input voltage so you can use just a few solar cells in series...
 
Last edited:

moxhamj

New Member
Yes I agree Beaniebots. The load can't leak back into the solar cells due to D2. I've played with MPPT and the LDR may not be needed either. Charge up a really big cap with the solar cells - maybe enough to run the circuit for a few seconds. Now draw some power. Measure volts on the cap and amps drawn = watts. At open circuit volts the amps = zero so no watts. At a heavy load the volts will be zero so no watts. MPPT will be round 0.43V and one can adjust the current draw while measuring and peaking the watts.
 

BeanieBots

Moderator
The more I think about this the more I think "proper" MPPT is the way to go when there is 'intelligence' at hand.
I did once make a design similar to Kranenborg's proposal for a solar car competition but that was because it was a pure analog design (no processor) and "hunting" for max was not an option. However, even for that design, I used a PV cell of the exact same type as the main array for the input voltage set point adjustment. I just can't see the LDR giving useful information about what is happening to the array. Sure, a calibrated lookup table could be used, but what a performance when the same effort could be used to design a MPPT.
 
Top