Maximum power point tracking using microcontroller

I have a microcontroller project that needs to run at night, and I'd like to use a solar panel to charge an AA NiMH battery during the day to power it. The battery will then feed a switching converter to power the project at night.

I have seen some maximum power point tracking chips for battery charging, but they're relatively expensive. Since I have some extra pins on the uC available, I'm wondering if I could use it and the (inexpensive) boost converter I have already to implement maximum power point tracking for the panel. Not a complete circuit, but a sketch of the idea here:

formatting link

The uC can run on voltages between ~1.6 and 5.5 volts. During the day, the solar panel feeds the converter (something like a TI TPS61220) which can output between 1.8 and 5.5 volts, which powers the uC and charges the battery. The uC measures the battery charging current and panel voltage, and tries to adjust the boost converter voltage via PWM and the feedback pin to track the maximum power point. At night, the boost is switched from the panel to the battery to power the uC and the rest of the circuitry.

Does this approach seem reasonable? Any comments or suggestions? Thanks.

Reply to
bitrex
Loading thread data ...

AA might be awfully small -- or, is your *panel* really tiny as well? I.e., you may not need much smarts to ensure the battery gets topped off -- regardless of panel operating point!

Use your favorite search engine and you should turn up several similar designs.

Reply to
Don Y

FB as in, -in to the error amp? As in, the boost wants to see 2.500V (or whatever Vref is) at that point? You'll have a hard time controlling it; if it's not the kind of converter that brings its error amplifier output to a pin (for compensation; in this case, so it can be wired for fixed DC gain), you'll need to use a different type.

Something like UC3843 won't run on the low voltage, but as an example, it can be configured for inverting gain of 1, allowing external control (most frequently, an optoisolator and TL431).

As for designing an MPPT, could be interesting mathematically... you're looking for the point where the derivative equals zero, so you could have it always dithering between two sample setpoints and taking the difference. Or three or more, and do a parabolic fit. It's not something traditional [linear] control theory plays with (it would fit into state variable theory, but so what).

Tim

--
Deep Friar: a very philosophical monk. 
Website: http://www.seventransistorlabs.com/
Reply to
Tim Williams

Feasable, take a look here

Also look at the Exxon Patent for MPPT US 4375662 A

Hard part is calculating the Max power point to begin with based on how bright the sun is at that given time, then to adjust your alogrithim to be stable around that changing point. You will wind up constantly hunting for that point.

Cheers

Reply to
Martin Riddle

Yes, I see what you mean. The large gain of the error amp will make the output voltage vary greatly with small changes to the FB pin voltage. A different idea occurred to me - use a fixed output converter and adjust the charging current by PWMing the enable pin of the converter.

The method I was considering using was:

formatting link

as the algorithm leads nicely to a state machine implementation.

Reply to
bitrex

o
e
h
e
.

As to panel size (mass), I too was concerned about the power needed to reor ient it, but I'm not an expert in solar tracking.

I was also wondering if you rig a tilt (i.e., sun-tracking) mechanism using the physical properties of an appropriate substance (a fluid, maybe?), tha t when heated up by the Sun, could facilitate the tracking? Maybe electron ics is the best way to do it, but there seems to be enough constants here t hat a Rube-Goldberg might be worthwhile. (?)

Reply to
mpm

It looks like the incremental conductance method is just a computationally intensive way of doing the perturb and observe method. I'd go P & O and see if it works, then get fancy from there.

--
Tim Wescott 
Control system and signal processing consulting 
www.wescottdesign.com
Reply to
Tim Wescott

[Perhaps a misunderstanding? The goal is to shape the ELECTRICAL load seen by the solar panel in an attempt to harvest the most *power* (V * I) from the panel in a given set of illumination, temperature, etc. conditions. *Not* physically reorienting the panel to gain the most "solar exposure"]

I think the first order of business is to sort out what you can expect to get from the cell/panel by orienting it in a *fixed* position (after sorting out what that might want to be for the particular location/climate). And, a "naive" load implementation. If this gives you enough power to replenish the "battery" between solar exposures, then there's little value to adding complexity to increase efficiency (unless, of course, your solar exposure varies significantly from day to day!)

I had started exploring an MPPT design to charge a battery used to run a pump that we use to move "harvested" rainwater for irrigation. But, some casual measurements made it obvious that we had far more power generation capability than the pump could ever *use*! Lots of sunshine -- even on those days when it can be expected to rain -- and not enough harvesting capability to severely tax the pump (roughly 10,000G per year -- but, it comes in a very short time period and we just can't "carry" that volume of water for a long period)

You can, of course, use harvested power to control a mechanism. You'd need to work the tradeoff calculations to see what you can "expend" vs. "garner". And, whether it is smarter to reposition the collector at the end of the day in anticipation of the next cycle (as this will require the most continuous load on the system); or, to reposition it "at sunrise" (depends on what sort of power you can *expect* to gather at the end/start of the day!)

You can also do some things with collector design to ensure more of it remains exposed to the anticipated path of the Sun throughout the day. Accounting for it's motion through the seasons is a bit more involved (but, still predictable for a given latitude)

Reply to
Don Y

Well, yeah, it has to be hunting, at least in the sense of a Calculus infinnitessimal. Although simulated oscillators sometimes do not start, real oscillators always do, thanks to noise; noise provides ubiquitous AC to a circuit. Of course, it would be difficult to harness noise usefully here, so we'll have to provide our own noise (or, instead of random noise, a more suitable signal if possible).

PID control loops are easy enough, but nonlinear systems don't work so well. How can we take a function, which is not one-to-one, and convert it to one that is? For this case, taking the derivative, and finding where it's closest to zero, will do. If the power curve is quadratic (the ideal Thevenin case), the derivative is perfectly linear, which is nice. Solar cells have a more square shaped curve, so the derivative will also be bent (and the gain will vary sharply when away from the point, making dynamics tougher), but it will remain one-to-one. So that's good.

If you rephrase the problem as a computational one, it's just Newton's method, with a finite difference substituting for the analytical derivative. Rather than dynamic stability, you need only ensure each stage of the computation has settled out, and run it slow enough; solutions can still diverge, but now they are numerical problems, not dynamic.

With this method, as the root (or rather, the root of dP/dx) is approached, the magnitude of the difference can also be reduced, so that both test points asymptotically approach the ideal point.

In reality, the setpoint will drift around chaotically with wind speed and cloud cover, so an extremely precise, and rather slow, method won't make any difference.

Tim

--
Deep Friar: a very philosophical monk. 
Website: http://www.seventransistorlabs.com/
Reply to
Tim Williams

I think that MPPT is going to be WAY overkill for such a small battery. If you're planning on using an itsy-bitsy calculator sized solar panel, then the switcher is most likely going to eat up a lot of your power and efficiency.

Do you already have a PV module or some cells in hand ?

If not, I'd just use a larg(er) PV module and set your input voltage to somewhere around 75% to 80% of the module's open circuit voltage (Voc) and that is normally extremely close to the MPP voltage unless the module(s) are partially shaded. Then all bets are off.

Chances are you're going to have way too much power for such a small battery and it is going to reach maximum charge current (and voltage) very quickly even if you're somewhat off the max power point.

How about charging up more batteres at once and get more out of the project ?

boB K7IQ

Reply to
boB

You probably only need to defend the AA batteries from ever being overcharged and tweak the solar cell with a pair of mirrors to make better us of it. Simplest is this trough configuration ASCII art:

\ / \___/

Half of a hexagon where all sides are equal. It roughly doubles output.

You can do better with opposing truncated parabolas with the focus of one at the base of the other - lookup non focussing flux concentrators.

Importantly these methods double (or Ntuple) output from diffuse light. Unfortunately if you overdo it they will also cook the PV resulting in long term damage to the epoxy packaging.

--
Regards, 
Martin Brown
Reply to
Martin Brown

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.