Shop OBEX P1 Docs P2 Docs Learn Events
MPPT Controller — Parallax Forums

MPPT Controller

PhilldapillPhilldapill Posts: 1,283
edited 2008-06-26 22:36 in Propeller 1
I've been testing some solar panels I have and was just curious about the whole MPPT thing... If I modeled the panel as a voltage source(36Voc) with a resistor in series with it, then logically the maximum power point will be when the load resistance matches the internal(series) resistance of the panel... Let's say I measure my panel to be 36V open circuit, and find that the internal resistance is 25ohms. Then, to get the most power out of the panel, I would need a resistance of 25 ohms as a load. This would deliver about 13 watts. I could go into WHY this is the maximum power, but if you that is even more off topic of this forum than this post already is.

Now, with that in mind, this also means that the maximum power point is achieved when the panel's voltage is kept at exactly half the open circuit voltage. This is because the two identical resistances create a voltage divider and cut it in half. If this is the case, then it doesn't seem that the MPP is all that hard to find. Simply measure the panel open circuit, then devise a circuit that will mantain the panels output voltage at half the open circuit voltage...

I was thinking about using a propeller to do all this with ADC's and what not, but I think I've found a simpler method that uses a single quad opamp, a decent size filter capacitor, and a mosfet(or 2 or more) to bleed the energy from the panel to a load. Basically what it does, is the opamp creates a PWM signal with a constantly adjusting duty cycle. The filter capacitor is connected to the panel in parallel to keep·the panel at a·fairly constant voltage level(half the OC voltage). The opamp is watching that voltage and if it gets too high, it increases the duty cycle - too low, and it cuts the duty back. This PWM signal is then fed to a mosfet which connects the panel/capacitor to a load. In my design, the load is actually another filter capacitor which is the source for a buck converter to charge a battery. With this scheme, I should be getting the most power from my panels by keeping them at their MPP voltage, and then I'll be able to down convert that higher voltage(~18V) directly to maximum current with the buck converters.

Here is where the propeller comes in. This may be over kill, but in addition to the following, I'd like to use it to do data logging and what not. For peak efficiency, I'm thinking I will need at least 2 buck converts, working asynchronously. i.e. - when one is charging it's inductor, the other is discharging, and vise versa. This way, I will always be utilizing some current. What I need the propeller for is to simply govern the buck converter singals. Two converters is the minimum I need, and more should increase efficiency even more. If I were to have only three of these, then each will be 120 degrees out of phase. This switching scheme seems well suited for a uC since the switching can get rather complex.

Bean, I saw your post earlier about your panels and that's what inspired this post. Any input is greatly appreciated.
«1

Comments

  • JonathanJonathan Posts: 1,023
    edited 2008-06-09 13:41
    Phill,

    I have no input to offer, but I am very interested in this stuff, as I am destined to live off the grid in a year or so. Any good links on MMPT and so on? I am finacially challenged, so milking every bit of power from a PV panel is of great intrest to me.

    Thanks!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • BeanBean Posts: 8,129
    edited 2008-06-09 14:35
    Philldapill,
    From experiments with my solar panels, they don't behave like the graphs of "typical" solar panels.

    Here is how I "think" the MPPT controller works:
    · 1) The panel has a certain resistance (this varies from panel to panel AND with lighting).

    · 2) Assume a load of 10 ohms, and the panel resistance is equivilant to 15 ohms.

    · 3) To get the most power from the panel you would want to add a 5 ohms resistor in series (so the load matches the input).

    · 4) Instead of adding a 5 ohms resistor to the 10 ohms load, use a PWM switch with a 66% on time. This will appear to the panel as a 15 ohms load, but all the power will be transferred to the 10 ohm load. I think you'll need a cap before the PWM swich to "store" the panel current when the switch is off.

    I may be all wet... Please let me know if I am. The rest of the MPPT circuit just figures out what the panel and load resistances are, so it knows what duty cycle to operate the PWM switch at.

    Bean.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Did you know that 111,111,111 multiplied by 111,111,111 equals 12345678987654321 ?

    www.iElectronicDesigns.com



    Post Edited (Bean (Hitt Consulting)) : 6/9/2008 5:15:49 PM GMT
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-09 17:08
    I should have added this earlier to clarify the idea. I hope it makes sense since it took 2 seconds to make and all...

    Anyway, the solar panel is modeled simply as a voltage source and a resistor, but could be a current source and resistor in parallel. For this concept, it doesn't matter much. The filter capacitor needs to have SOME internal resistance to really work right, which all capacitors do. The N_Channel Mosfet is what is used to "bleed" some charge off the filter capacitor into C2(Never mind the values of any component...oops!). The "Solar Panel Load PWM" is a circuit that monitors the voltage that the panel/filter capacitor are at, and adjusts the PWM signal to the mosfet to bring get the voltage back to the correct MPP voltage of the panel. From the mosfet into C2, the rest is just a run of the mill buck converter. This works by Q2 turning on for a slight moment to allow some current to flow from C2, through the inductor, into the battery. The inductor resists the change in current, but as the current starts to rise to a certain point, Q2 shuts off. Since the current wants to keep flowing through the inductor, it has no other path to do so except through the battery through the DIODE, back to the inductor. This setup further maximizes the power output from the panels. If you were to simply connect the N_Channel Mosfet to the battery, you would be applying about 18V with current X to the battery, while this setup you apply 2X the current.

    Anyone please, correct me if I'm wrong as I am trying to understand this myself.
    788 x 599 - 35K
  • StefanL38StefanL38 Posts: 2,292
    edited 2008-06-09 19:33
    hello Phil,

    by googling i found this article about MPPT.

    http://www.hamill.co.uk/pdfs/smpptfpa.pdf

    The article says that the circuit has
    "Excellent tracking effectiveness and rapid dynamic response"


    So a propeller seems to be oversized for MPPT

    If counting Amper-hours in and out of the battery it mit be different

    The article mentions that
    "Most maximum power point trackers (MPPTs) are based on the perturb and
    observe approach (P&O), implemented by a hill climbing algorithm
    often on a microcontroller . This approach is complex, can be slow
    and thus can become ‘confused’ if the MPP moves abruptly"

    So it might be difficult to program an algorithm that can cope with that.

    In this case my choice would be to test this circuit for MPPT and still add
    the propeller for counting AH managing the display and dataloging and what ever

    best regards

    Stefan
  • GreyBox TimGreyBox Tim Posts: 60
    edited 2008-06-10 00:54
    Phildapill,

    ···· I have to agree with Stephan about the MPPT thing - a Propeller is probably not the most cost effictive solution to solely operate MPPT.· I would offer that if you were to integrate the Propeller into a charger design, it would be very well suited as a charge management processor.· I posted some information you may or may not have already seen in this thread: http://forums.parallax.com/showthread.php?p=729786·- I would offer that using the Propeller to control the set-points of the charger and to monitor the state of charge (like a batery fuel gauge) of the battery would be very useful.· Most of these "dumb" MPPT chargers are using a differential op-amp to observe and regulate the system's voltage and current.· By adding another pair of those - and some D/A converters, you can adjust the values the circuits will see to match set-points the Propeller determines.· This will allow you to do "smart" 3-stage charging or even dump non-essential loads when you won't have enough power to run more than your critical loads.

    3-Stage charging consists of the following stages:
    Bulk (voltage setpoint, until batery achieves voltage·- unlimited current, based on battery temperature)
    Absorption (voltage setpoint for time interval·- tapered current, based on battery temperature)
    Float (lower voltage setpoint, "trickle" current - can be kicked out of this back into "Bulk" by load drawing power)


    One other idea I've been meaning to dabble in - Texas Instruments is making what they call the "Pure-Path" line of digitally driven class-D amplifiers...· I've always wanted to use one of those, driven by an I2S audio 60Hz sine-wave output from a Propeller, low-pass filtered, then sent·into a toroidal transformer to generate point-of-load "pure sine wave" 120V-AC power...

    TI I2S-to-PWM processor: http://focus.ti.com/docs/prod/folders/print/tas5001.html
    TI 315W PWM Power Stage: http://focus.ti.com/docs/prod/folders/print/tas5261.html


    Here is another link to a fairly simple MPPT charger: http://electronicdesign.com/Articles/Print.cfm?ArticleID=6262

    -Tim

    P.S. for the big file in the other thread, just download·the file here: ftp://ftp.parallax.com/Mobile%20Power%20FAQ%20(Victron%20Energy)%20and%20Battery%20FAQ%20(Web).pdf·- thanks again Jeremie from Parallax for hosting the file!
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-10 02:21
    I think there is a misunderstanding... I never wanted to use the propeller directly to do the MPPT. I wanted to use it mainly for datalogging and since it would already be running, do some misc. tasks... The circuit I designed with the quad opamp does the MPPT.

    Tim, are you talking about a pure-sine inverter you want to build? I would love to build something like that...
  • JonathanJonathan Posts: 1,023
    edited 2008-06-10 12:56
    Phill,

    Could we see the schematic of the MMPT circuit you designed?

    Thanks!

    Jonathan

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • RaymanRayman Posts: 14,616
    edited 2008-06-10 16:42
    I just did a quick read on a website about MMPT... It appears to me that the goal is not to maximize the power output of a solar panel, but to maximize to the power into a 12V lead-acid battery that the solar panel is meant to charge. The heart of this is a DC-DC converter that dynamically adjust output voltage to maximize current into the battery.
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-10 18:04
    Sure, Johnathan. I've attached a rough schematic of what goes on. XFG1 is actually going to be the other 2 opamps on a single quad opamp chip. These two that are replaced with the function generator are configured in a triangle wave generator. Together with the two opamps shown, they form a PWM circuit that compares the voltage from the panels to the reference voltage(Some kind of external source for now...). This reference voltage should be dynamic, however, for best adaptation to changing light/temp/etc. To do this dynamic reference voltage, I was thinking every so often, stop the PWM signal, so that something can read the OC voltage of the panel, then reconnect and set the refernce to half of this OC voltage.

    If you werer wondering, the network of capacitors/resistors is to get a very clean, smooth, noise-free voltage reading for U3 or any other component, like and ADC. Many of the misc. resistors like the 10mOhm, 100K are there for simulation purposes to model real components. These values are probably not even correct, but MultiSim likes it this way...

    Also, the IRF840 might not be the best mosfet for this job, but it's just a quick mosfet to use in this prototype. From the mosfet, the output is fed into another "reservoir" capacitor. This capacitor is what feeds the buck converter circuit(s) that do the actual charging. Now, I'm SURE I could add more elaborate circuits for "ideal" charging of the battery(i.e. float, bulk, trickle, etc.), but I hope you get the idea...

    In summary, the solar panel is held at a particular voltage for maximum power output. The excess power is then fed into a holding capacitor that is then fed to a buck converter to increase current/decrease voltage. I haven't actually built this yet, but will be doing so today.
    1191 x 666 - 18K
  • GreyBox TimGreyBox Tim Posts: 60
    edited 2008-06-10 18:10
    Understood Phildapill, I must have glazed over that portion of the schematic...

    Yeah - the electronics industry is going to "point-of-load" for high power components (just like on current Intel and AMD motherboards), where they have something like 12VDC from the mains PSU going to withing a few CM of the component - and then a high-efficiency switching supply to drop the voltage down to what the part requires (like 1.2VDC).

    The same thing kind of applies to a battery-run A/C load.· If you have something like an Energy-Star compliant referidgerator, and you want to run it off batteries, they prefer a pure-sine-wave for the induction motors in the refridgerant compressor.· The thermostat in the refer is usually a dumb "switch", which can be used to control a small inverter (this can be done with an off-the-sheft inverter, but the Wattage ratings are usually standardized, and not tuned for the load).· Replacing the "dumb thermostat" with a temperature sensor (and maybe a door switch input for fast recovery) and running·a pure-sine-wave generator into a step-up transformer right at the compressor, would take a lot of the losses out - and allow for a specifically tuned inverter for that specific load (the same thing could be done for a microwave oven, where the electronics usually run on low-voltage DC - and the magnetron runs on AC).

    My big reason for even going in this direction - is the market's lack of sub 1KW pure-sine-wave inverters that accept·a 24VDC input...

    -Tim
  • JonathanJonathan Posts: 1,023
    edited 2008-06-10 18:15
    Phill,

    Thanks! That gives me a place to start. Fooling about with some PV panels I have I found my MPP at the time, with the condidtions as they were, was around 16V. I could pull 18 watts from one panel and 7.68 watts from the other. A big difference that suits my cheepness factor.

    I think this afternoon I'll mess with using a prop to to do a lil MMPT experiment, simply because I have the hardware to play with. Yes, I realize that in the end I won't use a prop, but it will make it easy to play with today.

    Thanks again for the food for thought! If you don't mind, I'd like to email you off the forum, as this is wandering a lil OT.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-10 18:26
    Johnathan,
    You said you found your MPP... What was the open circuit voltage of the panel, and at what voltage did you find your MPP at? I'm hoping it was HALF the OC voltage...

    As for playing with the prop... I've wanted to do the same for this type of project. What I had in mind was using two ADC's. One for measuring panel voltage, one for measuring average current. From there, the prop multiplies the two and gets power. You would control the voltage from the panel using a capacitor like in my schematic, and PWM to bleed off excess charge to a load. You could use a simple algorithm that works like this...

    Start at 0% duty cycle for PWM. Increase to 1% duty. Check to see if the power increased. If it did, increase to 2%. Check again... Repeat this until the power DECREASED. If it power decreased, scale back the PWM signal by 1%. Bascially, the PWM acts as a variable resistive load. With this, the propeller should mantain an approx. MPP. Hey, if anything, you can just tell the prop to keep increasing the duty cycle, and just log the power points so you can view a graph of them. That's what I'm going to do!
  • JonathanJonathan Posts: 1,023
    edited 2008-06-10 20:06
    Tim,

    My OC voltage is ~20. My (maybe) MPP was 16V. What I did was use some large variable power resistors. Set the voltage, measure the current. I logged from 19V to 12V in .5V increments. I'm not sure if this is the *proper* way to do it.

    What you talk of above is generally what I was thinking. Right now I'm digging up some MOSFETS and getting the Prop to drive them, then I'll move on. I have some pnp transistors and IRFP250 fets. Should be able to get something cooking. Hopefully not literally... [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-10 20:29
    Sounds good except for the prop driving them part. I hope you meant using the signal from the prop to drive them. It would be better to use the ouput of the prop to drive a mosfet so the mosfet can drive the mosfets. Otherwise, it's a big current surge from the prop.
  • JonathanJonathan Posts: 1,023
    edited 2008-06-10 20:36
    Yes, signal to drive. Why did you ask if my MPP was 1/2 of OC? Just curious, as mine is closer to 3/4 of OC.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-11 04:44
    Well, I just got back from a day trip and have been trying to figure out why your MPP is 16V... The only thing I can think of is that you were only measuring the power dissipated by the resistor. That is, if you had a 12V battery in series. The easiest and simplest way to model a solar panel is a voltage source in series with a resistance(Internal resistance). The reason you MPP should be about half of your OC voltage is that the internal resistance will drop half the voltage and your load, in this case a resistor, will drop the other half. You can make an excel sheet to look at the power curve of all I'm saying if you want.

    Basically, the power produced by the panel is dissipated in two ways. The first is IN the panel itself - the internal resistance. The second way, is through an external load. The amount of power the external load dissipates can never exceed the amount dissipated in the internal resistance. When you have a small battery shorted, it gets warm because of the power being dissipated INSIDE. 100% of the power dissipated is inside. The second thing to understand, is that the maximum amount of power is dissipated when ALL the power is dissipated inside.

    Think of it like this. You said your panel is 20V OC. Let's just say hypothetically, that your short circuit current is 1A. If this is the case, we can say your internal resistance is about 20 ohms. If you remember that the power PRODUCED is always equal to the power DISSIPATED, then the maximum amount of power produced is when the current in the circuit is highest. The power produced would be modeled as your 20V voltage source with 1 amp going through it(short circuit). This gives a max power of 20 watts. All that 20 watts is dissipated in your panel's internal resistance when you short circuit the leads. Now, since the total power is a function of 12V times the current in the circuit, adding anymore resistance will only decrease the power produced because the decrease in current. This will also decrease the power dissipated inside the panel's internal resistance, but you will dissipate some power in your external load. Now, remembering that the external power dissipation can never exceed the internal power dissipation, this leads to the fact that there is a point somewhere between a short circuit, no power in the load, and exactly half the power being dissipated in the load. Since we have the same current through the internal resistance and the load resistance as they are in series, they must drop equal voltages... Which concludes why the MPP should occur at HALF the OC voltage.

    Remember, this is all a bunch of "on paper" BS and rarely works exactly the way it should... But I hope that explains it a little.

    Now, back to your 16V MPP... Like I said, The only thing I can think of is that you were adjusting a resistor in series with the panel and in series with a 12V battery. If that's the case, the voltage between the panel and the battery is 20V - 12V = 8V. Your resistor must have dropped HALF the voltage difference, which is 4 volts. Now, if you measured the voltage between the resistor and your battery, you would read 16V...

    Ugh, I almost want to scratch everything I've just said. All that is assuming your internal resistance is fairly constant under the same lighting/temp conditions, but with changing loads...
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-11 04:50
    Oh yeah, with the 12V battery... I ran a simulation and I hope you were only measuring the power dissipated by the resistor and not your 12V battery added in... Otherwise, if you weren't doing it that way, the laws of physics have come crashing down or I'm entering a psychotic episode where nothing makes sense...

    If you WERE doing it the way I figured, the MPP voltage is actually BELOW 12V, which means you would need to mantain the panel voltage at 10V, and use a boost converter to up the voltage to 12V... Seems kinda silly, but that's the way to max out the power from the panel into your battery.
  • JonathanJonathan Posts: 1,023
    edited 2008-06-11 13:07
    Phill,

    Maybe I have "special" (read "short bus") physicis here, I dunno...

    What did was this: The - side of the panel went into a VOM to measure current. The output (+ side) of the VOM went to one side of the variable resistor, and the + lead of the PV panel went to the other side of the variable resistor. In fact I had two variable resistors in series, but whatever.

    Anyway, I would adjust the the pot until I got the desired voltage, read across the pot, then read the current on the meter. As I said, I tested from 19 to 12V in .5 degree increments. I didn't test below 12 as the power output was steadily decreasing. There was a distinct "knee" in the curve at 16V, so I figured I had found the MMP. I'll test again to see if there is another knee at lower voltages, although this doesn't jibe with what little I have read on the subject. Here is one reference: http://www.drgw.net/workshop/MPPT/mppt.html

    I'll also measure the short circuit current today. I'm assuming that is done in full sunlight.

    Fascinating stuff. Thanks a lot for taking the time to discuss this, I have much to learn.

    Jonathan

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • JonathanJonathan Posts: 1,023
    edited 2008-06-11 13:12
    Oh yeah Tim, meant to say that no battery was in the circuit when I was testing, and that there was no blocking diode in place.

    Which reminds me, what is the best way to test if a panel has a built in bocking diode?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • JonathanJonathan Posts: 1,023
    edited 2008-06-11 17:46
    Tim,

    A little more data. I repeated the MPP test. This time the MPP was at 15V, and the increase in power was much less, only 4 watts or so. This is accounted for by the fact that this test was done later in the day, with fuller sunlight. So it seems the savings will be mostly during less than optimum solar conditions and less so on sunny days, which is great in any case. I'll be repeating the experiment in various lighting conditions to confirm this.

    My dead short current is on the order of ~ 3.0 amps and as I said OC is ~ 20V. Looks like that accounts for the higher MPP.

    Jonathan

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-11 18:27
    Jonathan,
    What was your MPP resistance that you put on at 16V or 15V? Anywhere in the neighborhood of 6-7 ohms perhaps? Or, maybe 26?
  • GreyBox TimGreyBox Tim Posts: 60
    edited 2008-06-11 19:40
    There seems to be some confusion about the MPP of a solar array here...
    ·
    Phil, the MPP is not going to be a nice round number like 50% of OC voltage...· I've attached a picture below which I grabbed from this site: http://www.solar-electric.com/charge_controls/mppt.htm, which better illustrates the current vs. voltage for a given instantaneous sample.
    ·
    The maximum-power-point is the point at which the Watts-produced is highest for the available light and the light conversion efficiency.· This does not dictate that the voltage will remain constant!!!!
    ·
    This is the reason that I stated the Propeller is probably not the best controller for MPPT – but rather a current/voltage detection circuit in a switch voltage regulator would operate more effectively (and a whole lot faster).
    ·
    The voltage and current at the MPP is dictated by the temperature of the array, the amount of light hitting the surface of the array, and the efficiency of the array at converting light energy into electrical energy.· Since the temperature, amount of light, and the efficiency of the conversion (at different temperatures) varies – it is impossible to lock down a voltage and current and deem it “Maximum Power Point”.· You need a circuit which dynamically observes the current produced and the voltage available and adjusts the output current of the supply to provide the “maximum power” that the array can deliver at a given moment.· If you draw more current than is produced by the panel – the output voltage will begin to drop off, and so will the output POWER (remember that “Watts = Volts x Amps&#8221[noparse];)[/noparse].· This excess load will cause the panels in the array to warm up and their light to electricity conversion efficiency will go down (causing the voltage to drop even more – so the output power will go down even faster).
    ·
    What MPP also entails however, is the ability to use all of the power provided by that array so you’re not wasting your sun-time…· Thus, if you have a battery and it no longer needs any charging energy – you will not be at the MPP if you are not doing anything with the excess energy that CAN be produced by the array.· This is where diversion loads come into play – heat water or air, run a ventilation fan, or run a·pump to fill a high-mounted water tank for hydro-electric "make-up" power to run peak loads at night...
    ·
    ·
    Where a Propeller becomes useful in a solar power system is right after the MPPT circuit – but using the “power” information that is available from the MPPT circuit (namely – what percentage of the available power is being utilized, or changing the voltage set-point for the output of the MPPT circuit for smarter battery charging).· You can also track the KW-Hours produced by the array, and accumulate them so you have an indication at what speed you are getting an ROI.· With power management run by the Propeller, you can select loads to run based on the battery’s state-of-charge, or make decisions about diversion loads to turn on when there is more power available from the solar array than the current loads are consuming.· You can also “lock out” non-essential high power loads if the battery and array cannot recover the used power with the current availability of light (this would be like shutting off power to a TV at 9PM – but keeping power available to lights for safety, which would extend the run-time for those lights).
    ·
    ·
    Hopefully this clarifies what MPP is and how to most effectively use solar power – rather than causing confusion…
    ·
    -Tim

    Post Edited (GreyBox Tim) : 6/11/2008 7:52:23 PM GMT
    547 x 346 - 38K
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-12 05:12
    Tim, Jonathan,
    I've spent today making a quick and dirty MPPT. It consists of two 14-bit ADC's - one to measure voltage, and one to measure current across a shunt. Tomorrow should be pretty sunny, so I'll test it out then.

    Now, here is how it works. The propeller will output a PWM signal that will feed a mosfet driver chip. This chip will of course drive a mosfet on and off. The panel will be connected in parallel with a 14,000uF capacitor. This duo will be connected in series with the mosfet and a power resistor. I will use one ADC to measure the voltage at the panel, and the other ADC to measure the drop across the resistor only. The voltage off the resistor will be very sporadic, so I am going to instead add an RC network to filter the voltage drop and smooth it. Running a simulation, I will need about 4 filtering stages to get less than 50mV ripple. I will then connect the second ADC here as this will represent current(Voltage/Resistance = Current). Once the ADC data has been aquired, I will have the propeller multiply the voltage and current for power.

    When this is first turned on, I will have the PWM duty set to 0%. It will increment 1%(or 0.1% if I want exreme precision) and check to see if the power has increased, it PROBABLY will, so it will increase again. If the power increases, it will increment the duty cycle again and so on until the power decreases. At this point, it will decrease the duty, and back and forth so that it SHOULD hold around the MPP. I'll post my findings tomorrow, but for now, here is some crude data from the panel I will test. I have some 0.01% precision power resistors with odd values so that's why they are strange. As you can see, MY panel's MPP seems to be around 1/2 the OC voltage. Maybe others are different I guess. Anyway, tomorrow I'll post some data.
    1056 x 652 - 27K
  • Tracy AllenTracy Allen Posts: 6,663
    edited 2008-06-12 07:20
    Phil,

    Don't get too hung up on the circuit model. The solar panel is a good current source toward the short-circuit end of its IV curve, and a mediocre voltage source at the the open-circuit end, but the model breaks down in the middle, and that is where you would want to operate MPP controller. You can't design an MPP controller by thinking of it as a voltage or current source in series/parallel with a resistor. In the sandbox thread, there seemed to be excess resistance, possible a defective solar panel that was not behaving like a good current source even as it approached the short-circuit end.

    Another point, I think you can't achieve MPP operation without an inductor. That may be what your latest idea is aiming to achieve, and it is on the right track. While your scheme can hold the capacitor across the solar panel at the optimum point, when the MOSFET connects that to a capacitor or battery on the other side, there are ohmic losses and energy is lost. To put it another way, the solar panel will indeed be operating at its maximum power point, but not all that energy will be transferred to a battery operating at a different voltage. The only way around that is to use a high Q inductor to store the energy, and low loss switches.

    Below is another graph that shows a family of I-V curves for a single solar cell at different levels of illumination. The superimposed blue line curves up and crosses each knee at the corresponding maximum power point as would be the MPP peak in the MPPTChart.jpg in Tim's previous post. The MPP changes with the level of illumination, coming at a slightly higher voltage when the illiumination is brighter. Each IV curve is an excellent current source (slope dI/dV = 0) well to the left of the MPP on the short-circuit side, and it is a mediocre voltage source (dV/dI=0) well to the right of the MPP on the open-circuit side. IV is non-linear it passes through the MPP.

    Solar-Cell-IV-curve-with-MPP.png

    The Maxim app-note www.maxim-ic.com/an484 shows a switching controller and inductor made to operate near the MPP. A nice writeup. However, it cheats a little by assuming that the MPP occurs at a constant voltage, choose a vertical line through the knees in the graph above, instead of the "real" varying MPP. On the input side, a feedback loop holds the voltage on a capacitor in parallel with the solar panel at or near the MPP. On the output side another feedback loop meets the current and voltage requirements of the battery and may either require as much power as possible or throttle back when the battery is fully charged.

    This article, electronicdesign.com/Articles/Print.cfm?ArticleID=6262 is more sophisticated, because it uses a clever feedback loop to find the MPP dynamically. It does that by dithering the duty cycle of the LTC1149 switcher controller, and an external synchronous rectifier and an integrator produce an error signal moves the duty cycle from either from the left or from the right toward the MPP. The feedback will operate regardless of temperature or aging or shading or other factors. But this circuit is not so sophisticated as the Maxim circuit in its care and feeding of the battery.

    I really think a Propeller could make a good controller for this, to handle the various slow feedback loops. The external switching controller like the LTC1149 would probably be a good idea, with the Propeller only having to apply the slow control inputs. Dither could be applied via software, and along with simple current and voltage sensing on the input and output side, the Prop could calculate the power at the dither points and move the operation in the required direction. And the Prop could combine that with optimal charging for the battery chemistry. With gobs of cogs left over for auxiliary functions.

    My own requirement is not for big panels, but for efficient use of small panels (5 or 10 watts, as small and inconspicuous as possible) to run instrumentation.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Tracy Allen
    www.emesystems.com

    Post Edited (Tracy Allen) : 6/12/2008 7:36:01 AM GMT
  • JonathanJonathan Posts: 1,023
    edited 2008-06-12 15:08
    Wow, great discussion and links. Learning a lot here...

    Tracy, do you employ MMPT for your remote data logging sites, and if so, what circuit do you use?

    Phill, any details on your quick and dirty MPPT? Do you think that 14 bit ADC are required for this job? From playing with my panels it seems like .1V resolution would be enough, whch I can get easily with a 12 bit ADC through a 5:1 voltage divider.

    Id like to be able to make a MPPT controller easily and cheaply enough that I can use them in several places. For example, the well pump will be on it's own power supply, as it is located fairly far from the building site. In that case I'll be (I think) using a different sort of MMPT device, desinged to run an inductive load. Here is a link to a circuit I found and have ordered the few parts that I don't have to try.
    http://www.suburbia.com.au/~mickgg/minimax/minimax.htm

    For a PV to 220VAC inverter setup, I'm still looking for a circuit simple enough for me to buld and experiment with. I like the idea of MCU control instead of an analog circuit, as that is easier for me to deal with. The links Tracy so kindly provided are for smaller systems than mine, one charges a few nicads, the other is limited to 20W. I would trade some efficieny for simplicity.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • GreyBox TimGreyBox Tim Posts: 60
    edited 2008-06-13 01:40
    Hi Jonathan,
    ·
    ···· I looked over the design in your link (http://www.suburbia.com.au/~mickgg/minimax/minimax.htm), it is a switched circuit... What they have basically built here is a "chopper" motor controller, which is controlled by the solar-cell voltage (so again it’s not really MPP – but rather a voltage regulator that holds the array down to a certain voltage).· It’s basically the inverse of the solar cell – where a solar cell is a current source (variable voltage with load), and this controller is a voltage source (variable current with load).
    ·
    What this is doing is, the solar array charges the capacitor.· When the capacitor is charged to a voltage set-point, the FET switch turns on connecting the motor to the solar array and the capacitor.· The motor load draws down the capacitor (and the solar array) until it falls to the "off" set-point.· At this time the FET turns off, and the motor "coasts" while the solar array charges up the capacitor again.· This cycle repeats as long as the motor is switched "on" - and there is enough sun-light to charge the capacitor...
    ·
    ·
    A few points:
    ·
    1. As opposed to simply hooking up a DC motor to a solar panel - this is may a better method...· Motors like to see their design voltage and current – even if they are switched on and off very fast (if you feed a motor a lower voltage it will may not turn – but rather will convert all of the input energy into HEAT which would burn it out…
    2. This circuit does not seem to have any maximum voltage regulation – this means that if your motor is off, and the sun is shining – the array will eventually charge the capacitor to the OC voltage (if your motor is 24v and the array puts out 36v OC – can it take that?)
    3. A battery is like a big capacitor – only it’s a lot cheaper·yeah.gif· A properly sized solar array and battery should be able to make up any load discharge within one day’s worst case capabilities (this would probably be winter for those of us in North America, on a cloudy or rainy day&#8230[noparse];)[/noparse]
    ·
    ·
    A MPP circuit used for charging a battery would be a good use of solar energy because the battery (again if sized properly) would allow the motor to run continuously (not pulse chopped).· This should result in a shorter run-time over-all, and would enable the motor to run at night (this may be required if the well-pump is used for toilet flushing&#8230[noparse];)[/noparse].·· As always with inductive loads – the more capacitance you have on the supply, the more responsive the motor start-up will be.· Try going out and getting a 2Farad Cap for car audio to help with start-up currents…


    If you do use the circuit you mentioned so that you don't need a battery - for something like a well, it would seem that some form of storage tank either above ground (up a hill) or in a tower would be ideal for domestic water service to take care of water demand at night.· A “dumb” float switch in the tank can connect the solar array to the motor controller to prevent an over charge of the capacitor (in the event that your motor can’t take the extra voltage).· This way, when the tank is full, the solar array gets disconnected, and no extra power goes to the capacitor and motor (the motor will draw down the capacitor until the FET shuts off).· The next time the float switch moves into a position where the motor should be turned on – the circuit falls back to the state of charge on the capacitor (i.e. if there isn’t enough sun – the motor won’t run).
    ·
    -Tim

    P.S.: I whipped up a quick schematic to show what I mean... -T

    Post Edited (GreyBox Tim) : 6/13/2008 5:41:33 AM GMT
    725 x 368 - 40K
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-13 01:46
    Sorry, I'm actually using a couple of 12bit converters... Don't know why I thought they were 14 bit. I'm using some free samples from TI. Here is a link to them if you want to order some, totally free. I've already gone through the hassle of making a driver object for it, so if you want, I'll send it. I made it so there are two modes... Only grab a sample from the ADC when needed(1 sample), or devote a cog to constantly sampling 100 samples, finding an average, and grabbing the average from another cog when needed. I find the average technique has a LOT less jitter and seems more accurate.

    As for details about the MPPT itself, well, I'll have to wait until parallax sends me a couple new propellers - I had an accident just as I got it all working right and was going to take it outside and test it. Remember, whenever you are sampling a higher voltage than 5V and your using a voltage divider to step the voltage down to a 5V scale, never connect the ADC input to the high voltage... A careless mistake on my part, but it somehow took out both ADC's, a propeller and maybe an EEPROM... We'll see.

    When I DO get it working, I'll be sure to post some data. I'm going to be logging the power/current/voltage/etc. onto an SD Card and I'll pull that into Excel to see the data more clearly. Until then, it's a waiting game...
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-13 02:38
    Tim,
    Just wanted to drop a little tid bit in on this... My brother lives in Austin(Hippy town, no offense hippy [noparse]:)[/noparse] and is really into the whole self-sufficient thing, even in his suburban backyard. He got an underground tank to store rainwater to water his plants. He also bought a little 30W pump to push the water up and out through a water hose I have a lot of these 15W panels, so I gave him a couple to do this with. He has no experience with electronics, so we got together and went the crude route... He has a few 29Ah batteries, so we are using the PV panels to charge the batteries which can power the pump on a cloudy day... The other good thing about the batteries is that, like you said, they add a tremendous amount of power capacity. The pump can barely run off the panels, but when its not running, the panels store up the energy in the batteries for when you need a bunch of power. Like I said, he put a 55gallon tank underground, which rain water collects into. We now have it setup so that when the batteries are full, and the panels are putting out some juice, the pump pumps some water up into a 20 gallon tank ~10 feet in the air - MORE energy capacity. This tank is actually what he uses to water his plants with and if it gets low, the pump pumps more water from the underground tank into it.

    My point to all this, is that the MPPT is great when your overall energy usage is borderline of what you need, but there are always great mechanical ways of getting just a little more energy.
  • GreyBox TimGreyBox Tim Posts: 60
    edited 2008-06-13 05:53
    Hey Phil,

    At ~30Ah, I imagine he should get roughly an hour of solid use out of the pump (at 30W), with the speed tapering off as the battery depletes. Sounds like a slick system... Very much like what I described above. A few months ago, I gave my dad a similar intro into solar power - he wanted to put work-lights in his utility shed and motorcycle barn. He also didn't want to pay $1,000US to have an electrician come out and pull 120VAC and conduit the 30 feet from the breaker box on his house. I suggested that the location was just right for a small-scale solar installation. The parts cost for the install was less than a third of the cost of the electrician's visit (turned out to be about $300 - including the steel for the array frame and mount).

    The whole install took about 6 hours (including the shopping, welding, painting, and wiring). Now he has two "zones" of lighting (each with 14Watt CFL - 60Watt incandescent equivalent) and won't have to pay for any power. He can get over 4 hours of light with both circuits on (which is well over the usage pattern he expects). This system was specifically designed to collect energy during the day to use at night.

    -Tim
  • PhilldapillPhilldapill Posts: 1,283
    edited 2008-06-13 06:04
    Yeah, it's a pretty cool and simple system. Energy isn't really a problem at all since it's central texas. The only real problem to it is the water itself! In the summer, we've been known to go a good 3 months without rain. Now, if we could only figure a way to convert sunlight into water, he'd be set... [noparse]:)[/noparse]

    Your setup is rather funny to me. This has got to be the first story I've heard of where it's actually MORE economical to put solar in and it's not 5 miles back in the woods. Awesome!
Sign In or Register to comment.