Open solar resources - MPPT development - technical questions

rice81
rice81 Registered Users Posts: 25
I'm developing some tools to allow developers and others to experiment with various sorts of solar electronics. It will include circuit boards, software and other items that I hope will aid in decreased cost and increased availability of equipment and electronics through collaborative work and experimentation. Novel improvements on existing ways to advance PV and other sustainable resource technologies may emerge as well.

But . . . that is not the point of this thread.

I am working on the first version of an MPPT development board and have a couple of questions.

MPPT circuitry typically incorporates switching power technology, current and voltage monitoring and a microprocessor to deliver increased efficiency of the PV to batter interface. Because the internal resistance and voltage of this power source (the PV panel) varies constantly with insolation, temperature and other factors, the load impedance (typically a battery +/- a load) will rarely match the source impedance, a condition for maximum power delivery to the load. Typical design incorporates a "buck" or step-down switching circuit topology to maximize PV power delivery to the battery.

The development board I am designing will have transducers for both PV panel output voltage and current and battery input voltage and current. I have footprints for a couple of different MOSFET or IGBT packages and different types of drivers that I want to experiment with. Here are a couple of technical questions that I have.

1) MPPT circuits seem to calculate the power out of the PV panel and attempt to maximize that value. My first impression was to measure power into the battery and to maximize that measurement. First of all, it seems to me that they should give equivalent results as far as tracking the MPP since the power can only go into the battery less a bit wasted in the circuit. Battery voltage should be monitored in order not to over charge it and to detect fault conditions. But consider the following - Let's assume I will be using battery / load power to maximize the MPP. Is there any reason to include battery voltage in the calculation? That is, the battery voltage is a 'constant' with respect to the switching parameters of the MPPT circuit, unlike the PV panel voltage which varies with the PV parameters (insolation, etc) but in addition, varies with the PWM duty cycle. Thus optimizing the sole parameter of battery charging amperage should optimize the MPP of the PV panel.

Since I will be transducing the four parameters, I can try any algorithm I choose. I'm just thinking that monitoring just battery charge amps could simplify calculations slightly and might even lead to an analog solution to perturbing and optimizing the PWM duty cycle which might be practical in some instance.

2) Any thoughts on using a Schottky diode vs an additional switching semiconductor (MOSFET or IGBT). I'm thinking the addtional switch probably adds some efficiency because of the obligatory forward bias voltage of the diode plus any internal resistance. But I have not researched this. There are some cheap and convenient half bridge drivers that could be implemented for complementary drive of dual MOSFETs.

3) MOSFET vs IGBT? I'm thinking MOSFET due to lower voltage and relatively lower power application. Can get MOSFET with really low RDSon and that probably beats the loss from the IGBT forward bias voltage drop.

4) How about using a non-inverting buck-boost circuit instead of just buck? In that way, when PV voltage drops below battery voltage, charging could still occur. Although I suspect that this only happens at such low insolation that the power at that point would be minimal. That is, it seems that a PV panel will put out 18 volts or so even when dimly lit with very little current output. Could test this idea.

5) Any idea what is the common range for PWM frequency on an MPPT controller? I'm trying to get an idea for inductor size and the tradeoffs associated with higher vs lower PWM frequency.

Next on the list - DIY microinverters?

Cheers . . .

Comments

  • BB.
    BB. Super Moderators, Administrators Posts: 33,431 admin
    Re: Open solar resources - MPPT development - technical questions
    rice81 wrote: »
    I'm developing some tools to allow developers and others to experiment with various sorts of solar electronics. It will include circuit boards, software and other items that I hope will aid in decreased cost and increased availability of equipment and electronics through collaborative work and experimentation. Novel improvements on existing ways to advance PV and other sustainable resource technologies may emerge as well.

    But . . . that is not the point of this thread.

    I am working on the first version of an MPPT development board and have a couple of questions.

    MPPT circuitry typically incorporates switching power technology, current and voltage monitoring and a microprocessor to deliver increased efficiency of the PV to batter interface. Because the internal resistance and voltage of this power source (the PV panel) varies constantly with insolation, temperature and other factors, the load impedance (typically a battery +/- a load) will rarely match the source impedance, a condition for maximum power delivery to the load. Typical design incorporates a "buck" or step-down switching circuit topology to maximize PV power delivery to the battery.

    The development board I am designing will have transducers for both PV panel output voltage and current and battery input voltage and current. I have footprints for a couple of different MOSFET or IGBT packages and different types of drivers that I want to experiment with. Here are a couple of technical questions that I have.

    Welcome to the Forum... Poster "Solar Guppy" has designed MPPT controllers and here is his starting point (plus you can go back to the original thread for a bit more discussion (the link is still good):
    Here is a thesis written by Hannes Knopf in 1999 ... its what I used as the initial understanding of what Mppt is and the characterization of solar panels and power harvest ( It's referenced in my patents )

    Mppt Thesis Hannes Knopf 1999
    1) MPPT circuits seem to calculate the power out of the PV panel and attempt to maximize that value. My first impression was to measure power into the battery and to maximize that measurement. First of all, it seems to me that they should give equivalent results as far as tracking the MPP since the power can only go into the battery less a bit wasted in the circuit. Battery voltage should be monitored in order not to over charge it and to detect fault conditions. But consider the following - Let's assume I will be using battery / load power to maximize the MPP. Is there any reason to include battery voltage in the calculation? That is, the battery voltage is a 'constant' with respect to the switching parameters of the MPPT circuit, unlike the PV panel voltage which varies with the PV parameters (insolation, etc) but in addition, varies with the PWM duty cycle. Thus optimizing the sole parameter of battery charging amperage should optimize the MPP of the PV panel.

    Battery voltage will vary from ~10.5 volts (dead) to over 15 volts (very cold battery bank with roughly -5mv per degree C temperature change with ~25 C as nominal).... That is a wide enough range to take battery voltage into account...

    Plus, of course, you have to accurately regulate on battery voltage any wave.
    2) Any thoughts on using a Schottky diode vs an additional switching semiconductor (MOSFET or IGBT). I'm thinking the addtional switch probably adds some efficiency because of the obligatory forward bias voltage of the diode plus any internal resistance. But I have not researched this. There are some cheap and convenient half bridge drivers that could be implemented for complementary drive of dual MOSFETs.

    The aim point for MPPT efficiency (at least claimed efficiency) is in the 95 to 98% range these days. Syncronous rectification is probably a requirement here--Especially if you are working with higher powered MPPT Controllers (upwards of 96 amps is a "large" controller this days).

    Add issues of input voltage--~140-150 VDC max input is typical... And there are those with 250-600 VDC maximum input voltage (roughly 400 VDC typical Vmp-array working voltage).
    3) MOSFET vs IGBT? I'm thinking MOSFET due to lower voltage and relatively lower power application. Can get MOSFET with really low RDSon and that probably beats the loss from the IGBT forward bias voltage drop.

    Out of my depth.
    4) How about using a non-inverting buck-boost circuit instead of just buck? In that way, when PV voltage drops below battery voltage, charging could still occur. Although I suspect that this only happens at such low insolation that the power at that point would be minimal. That is, it seems that a PV panel will put out 18 volts or so even when dimly lit with very little current output. Could test this idea.

    In general, as you surmise, the panel will not produce any "useful" current until it can support ~Vmp rated. There is almost no useful power when array Vmp collapses due to weak lighting (You can get about 1% out of an array with Vmp-rated and clouds/shading/weak sun--Getting less than 1% is not really useful--And the losses when running >50% will probably hurt your overall efficiency under normal operational conditions (lose multiple percentage worth of production to save a faction of a percent under poor light--Plus the thermal management issues of the extra losses due to buck-boost converters--Could do a parallel "low power" buck-boost--but is the cost/complexity worth it?).
    5) Any idea what is the common range for PWM frequency on an MPPT controller? I'm trying to get an idea for inductor size and the tradeoffs associated with higher vs lower PWM frequency.

    Again, I don't have experience.... For many off grid folks, they are worried about reliability and RF interference. Big electrolytic caps may last 10 years--Good enough? Emissions control for fast switch currents (plus parasitics) mean trade offs in design.

    There are now a few "higher voltage" input MPPT charge controllers (250 to 600 VDC input). The 600 Volt ones are "expensive". But very nice if you already have a Grid Tied Centeral Inverter that is running Vmp~200-400 VDC--Gives customer away of running off grid if the grid power has failed. There are something like 3 US vendors offering higher voltage MPPT off grid battery chargers at the moment.
    Next on the list - DIY microinverters?

    Are you looking at Grid Tied Micro Inverters--Need UL/NRTL for connecting to grid (and building inspectors).

    Or some sort of "micro inverter" for off grid power?

    -Bill
    Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset
  • zoneblue
    zoneblue Solar Expert Posts: 1,220 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    Take a look also at this:
    http://www.timnolan.com/index.php?page=arduino-ppt-solar-charger

    He documents his arduino mppt controller and code. AFAIK he uses the input voltage and current to track the max power point. Uses a MOSFET as a reverse flow diode, a pair do MOSFETs for the buck converter and a mosfet driver chip. The arduino does the rest.

    MPPT is interesting, but in some ways its a lot of fuss, introduces inefficencys of its own, and as bill said relies on elctrolytics. After all, a given pv panel has a fairly stable vmp, it varys only by a few percent with temperature and insolation, inversely. The obvious benefit is that a mmpt controller will work for any panels and in a wide range of configurations. It seems to me that the first thing the microcontroller should do is work out the mean vmp for the connected panels, and store this as the default. Any "hill climbing" type algorithym then starts from the default to prevent it sweeping too far from vmp. MPPT controllers are rated on how accurate the mppt algorithym is.

    Attachment not found.

    You can also see from this that a typical PWM controller (24V with 72cell iv) will operate about 25% below Wp.
    1.8kWp CSUN, 10kWh AGM, Midnite Classic 150, Outback VFX3024E,
    http://zoneblue.org/cms/page.php?view=off-grid-solar


  • zoneblue
    zoneblue Solar Expert Posts: 1,220 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    And BTW heres a set of 1second curves from the acknowledged champion (midnite classic) from today (vmp 72.2V STC).

    Attachment not found.

    Its tempting to say that it might have been better off sticking with 75V for the duration of bulk, and thus avoiding the sweep downtime.
    1.8kWp CSUN, 10kWh AGM, Midnite Classic 150, Outback VFX3024E,
    http://zoneblue.org/cms/page.php?view=off-grid-solar


  • rice81
    rice81 Registered Users Posts: 25
    Re: Open solar resources - MPPT development - technical questions

    Thanks for reading. I think I have come to the right place.

    Bill,

    Re. Hannes Knopf in 1999 thesis:

    Thanks. That is an excellent reference and overview of Pb batteries, PV cell modeling and overview of the common power switching topologies (buck, boost, buck-boost).

    Before I forget, I will mention another topology that I came across. It is a buck-boost topology that offers both increased efficiency over the standard buck-boost circuit but moreover, it offers a non-inverting output. The standard buck-boost circuit has a diminished efficiency if used primarily for buck and it inverts the voltage with respect to ground, providing a negatively regulated voltage.

    This new one is simply the buck and the boost circuit together using one inductor and two switches and two Schottky diodes and under uP control to insure that only one switch or the other is used in order to employ one mode or the other. And it is non-inverting. Analysis is a simple as either the buck or boost analyzed separately.

    See this article: Figure 6 shows the circuit

    http://iaesjournal.com/online/index.php/IJECE/article/viewFile/2772/pdf

    A Novel Two Switch Non-inverting Buck-Boost Converter
    based Maximum Power Point Tracking System
    International Journal of Electrical and Computer Engineering (IJECE)
    Vol. 3, No. 4, August 2013, pp. 467~477
    ISSN: 2088-8708
    Khandker Tawfique Ahmed, Mithun Datta, Nur Mohammad
    Departement of Electrical and Electronic Engineering, Chittagong University of Engineering & Technology
    (CUET), Chittagong, Bangladesh
    Battery voltage will vary from ~10.5 volts (dead) to over 15 volts (very cold battery bank with roughly -5mv per degree C temperature change with ~25 C as nominal).... That is a wide enough range to take battery voltage into account...

    Plus, of course, you have to accurately regulate on battery voltage any way.

    Regarding #1 in my original post, monitoring only battery amperage, I was pleased to see that they had considered the merit of this in the thesis.

    Quote from thesis:
    Sullivan and Powers [SP93] as well as Burger [Bur97] present a new method
    of MPPT using only a current measurement to get information on the system's
    present operating point.
    Their method is based on the assumption that the system's battery pack always
    operates at a nearly constant voltage level. Therefore a maximization of the power
    fed into the battery would be equal to maximizing the battery charge current Ib.
    This means that instead of nding and minimizing dP
    dV, this technique seeks to control and minimize the derivative dIb dV. The information gained from the current
    measurement is interpreted in the same manner as the power signal has been
    used in the previous tracking methods. This means that either the analog MPPT
    methods as proposed by Sullivan and Powers or microprocessor based methods as
    proposed by Burger with the standard MPPT algorithms (see sections 3.4.1 and
    3.4.2) are applicable.
    The advantage of this method is that it does not require the complexity, cost
    and power necessary to sense and multiply two different operating parameters.

    This explains my thoughts better. That is, the battery voltage and other characteristics such as internal resistance, change on a very slow time scale (minutes vs milliseconds) and do not change with respect to any of the controllable parameters within the MPPT algorithm. Thus one could argue that battery voltage could be left out of the millisecond to millisecond changes in the algorithm. As I mentioned originally, battery voltage is, however, important in knowing the overall charge state of the battery and thus is transduced.
    In general, as you surmise, the panel will not produce any "useful" current until it can support ~Vmp rated. There is almost no useful power when array Vmp collapses due to weak lighting (You can get about 1% out of an array with Vmp-rated and clouds/shading/weak sun--Getting less than 1% is not really useful--And the losses when running >50% will probably hurt your overall efficiency under normal operational conditions (lose multiple percentage worth of production to save a faction of a percent under poor light--Plus the thermal management issues of the extra losses due to buck-boost converters--Could do a parallel "low power" buck-boost--but is the cost/complexity worth it?).

    Thanks for confirming that. It seemed like the current gets down to 1% or less of Isc before the Voc panel voltage begins to drop.

    5) Any idea what is the common range for PWM frequency on an MPPT controller? I'm trying to get an idea for inductor size and the tradeoffs associated with higher vs lower PWM frequency.
    Again, I don't have experience.... For many off grid folks, they are worried about reliability and RF interference. Big electrolytic caps may last 10 years--Good enough? Emissions control for fast switch currents (plus parasitics) mean trade offs in design.

    I can experiment with this. Higher frequencies mean lower cost due to smaller caps and inductors with increasing switching losses and more critical circuit and board design.
    Next on the list - DIY microinverters?
    Are you looking at Grid Tied Micro Inverters--Need UL/NRTL for connecting to grid (and building inspectors).

    Or some sort of "micro inverter" for off grid power?

    I think the idea of being able to incrementally add panels, modules or whatever to an installation greatly lowers the threshold for entry into the PV world and that is something I like about the general concept and modularity of microinverters. Going full-on solar is a rather daunting proposition. Instead of a threshold of many thousands of dollars and a sizable construction project and the worry about whether one is dealing with the 'best' contractor or implementing the best scheme in the case of DIY, one could more easily buy a module and connect and see an incremental step in reduced utility costs / reduced dependence on the grid. We could see more adoption of solar renewable energy and momentum toward that individual continuing to grow his off-grid power source.

    As we know, the benefits of micro as it is now marketed are touted as above plus the ability to optimize the power point of each panel as well as monitoring and trouble shooting of collections of panels / microinverters. The only available microinverter company that I know of has taken the approach of charging for monitoring and selling a 'crippled' system unless you choose to pay more to unlock monitoring and other optimization features. This further reliability on a 'service' is precisely contrary to what renewable energy fans are trying to achieve.

    A microinverter is simply an AC implementation of an MPPT scheme, pumping the grid with power instead of a battery. I'll have to give some thought as to how an off-grid microinverter system should operate. Enphase will tell you they don't work in an off-grid fashion. And that is true as the system is designed. The micros have to have an AC load to pump the power into and the 'grid' represents this load as a sort of AC battery (using the concept of an MPPT circuit to battery application.)

    What would an off-grid microinverter system look like? Or perhaps a better question is - how could an open source grid tie microinverter system function as an off-grid installation in the event of grid loss. You could spend $10-$15K on a nice enphase microinverter grid tied system and you would save money on your utilities but be out of luck in the event of a power failure. That would be very unappealing to me.

    I have some ideas on the above question, but I've been typing too long so I'll save them for later.

    And zoneblue - Yes I have seen Tim Nolan's site, a nice documentation for the hardware and software for an MPPT implementation. I have studied his circuit and I understand it except for the fact that he as two N-channel MOSFETs in series (Q1 and Q2) implementing the main buck circuit switch. Certainly there is a reason for it, but I can't figure it out. Their gates are separated by a high speed diode. R3 biases Q1 'on'. The half-bridge driver chip, IC2 cannot do anything to turn off Q1 because of the direction of the diode. Thus it looks like Q2 is the only thing that is switched. Feel free to comment on this. I have emailed Tim at the only email address on the site but did not hear from him.
  • BB.
    BB. Super Moderators, Administrators Posts: 33,431 admin
    Re: Open solar resources - MPPT development - technical questions

    A couple of short comments:
    rice81 wrote: »
    This explains my thoughts better. That is, the battery voltage and other characteristics such as internal resistance, change on a very slow time scale (minutes vs milliseconds) and do not change with respect to any of the controllable parameters within the MPPT algorithm. Thus one could argue that battery voltage could be left out of the millisecond to millisecond changes in the algorithm. As I mentioned originally, battery voltage is, however, important in knowing the overall charge state of the battery and thus is transduced.
    This has been a problem with some MPPT implementations... I have not understood why, but many (some/most/all/older?) implementations basically "perturbe" the array once every few minutes or so. And they can takes seconds or even 10's of seconds to do this.

    Part of what happens is the controller has to dump 100% of available current into the DC battery bus during the sweep. If the battery is near full charge and/or there are no loads, large solar arrays with smaller battery banks (call well below 100 AH per 1kW array @ 48 volts "small"), the battery bank will not accept enough charging current to stay "regulated" (going out of regulation appears to be >60-72 VDC, depending on the attached "appliances/inverter/etc."). And (from what I can tell reading on the forum) that is what is causing over voltage faults on some systems. AGM batteries can even be worse (voltage can really spike with a 100% full AGM vs flooded lead acid which may just gas more?).

    So, why make many second MPPT sweeps--Would not a fraction of a second be "fast enough" for scans. And if the battery bank voltage does spike--Go to some modified or "historic" value for MPPT and flag the battery as fully charged (or possibly sulfating from age).

    We have had quite a few arguments here about micro inverter vs central inverter... Yes, shading is an issue were micro inverters (or per panel MPPT) could help. However, just clearing shade (trimming bushes, moving vent stacks, placing panels away from property lines where neighbor construction/plantings could "someday" block sunlight is usually a better answer.

    The question of on panel inverters (MPPT DC somethings) has always been a question of reliability. The older Enphase used Electrolytic capacitors--New models may not (?).

    Isolating a failed module and replacing has always been a concern with a large roof array.

    Add Enphase got "beat up" here alot for web charges for the priviledge of monitoring individual panel output (they later went "free"--Now may be charging a $250 per site licensing fee again for "professional" per inverter statistics?). An open source version of micro inverter(mppt) monitoring would be very nice... Still pushes the issue of a low cost/low power platform for monitoring (reliably) on off grid systems that do not have internet and would find it difficult to justify a "higher power" monitoring solution--Unless it included better/more sophisticated DC/AC off grid load side of system.

    We have some folks here already doing some of that now with today's off grid systems.
    I can experiment with this. Higher frequencies mean lower cost due to smaller caps and inductors with increasing switching losses and more critical circuit and board design.

    The two types of systems that seem that would have a "built in" market would be those that want to add battery backup to their "high voltage" GT system (i.e., 200-600 VDC input MPPT battery charger). And folks that need to send power >100' from the array to the home/cabin/battery shed.

    Also, personally I am really like "no fan" / no external air circulation systems ("sealed"). High efficiency obviously means less heat to dissipate.
    I think the idea of being able to incrementally add panels, modules or whatever to an installation greatly lowers the threshold for entry into the PV world and that is something I like about the general concept and modularity of microinverters. Going full-on solar is a rather daunting proposition. Instead of a threshold of many thousands of dollars and a sizable construction project and the worry about whether one is dealing with the 'best' contractor or implementing the best scheme in the case of DIY, one could more easily buy a module and connect and see an incremental step in reduced utility costs / reduced dependence on the grid. We could see more adoption of solar renewable energy and momentum toward that individual continuing to grow his off-grid power source.

    We really try to dissuade folks from incremental growth. It is better to have a actual loads (measured, or at least solid estimates), then design the system around the loads.

    For every ~2-3x increase in loads (system power), is almost a redesign (12 volt to 24 volt to 48 volt systems)... We have Solar charge controllers that will charge any 12-48 volt+ battery bank. What we don't have are battery bus voltage agnostic AC inverters--And we may never have those.

    Another market that may be of interest... Many people are looking at alternative battery technologies. Some like various Lithium types really need per cell battery monitoring (and per cell equalization is very nice too). So far, BMS has been an expensive/not well integrated into popular charge controllers.
    What would an off-grid microinverter system look like? Or perhaps a better question is - how could an open source grid tie microinverter system function as an off-grid installation in the event of grid loss. You could spend $10-$15K on a nice enphase microinverter grid tied system and you would save money on your utilities but be out of luck in the event of a power failure. That would be very unappealing to me.

    Done "sort of" today... Set up an off grid AC inverter with bidirectional power flow/energy management (i.e., push AC power "backwards" through AC inverter to recharge the battery bank--Knock inverter off 60 HZ +/- 1 Hz or so kicks micro inverters "off line" to stop charging).

    SMA does this very nicely with a central GT inverter--Frequency "drift" can throttle GT inverter output to better manage battery bank charging.

    Another issue has been monitoring charging current into the battery bank directly (charge controller only "know" their output current--They do not know the split between loads and battery bank current flow).

    Midnite has a nice remote current shunt that allows them to controller/monitor battery state of charge directly with measured current at battery bank.

    -Bill
    Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset
  • zoneblue
    zoneblue Solar Expert Posts: 1,220 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions
    rice81 wrote: »
    I understand it except for the fact that he as two N-channel MOSFETs in series (Q1 and Q2) implementing the main buck circuit switch. Certainly there is a reason for it, but I can't figure it out. Their gates are separated by a high speed diode. R3 biases Q1 'on'. The half-bridge driver chip, IC2 cannot do anything to turn off Q1 because of the direction of the diode. Thus it looks like Q2 is the only thing that is switched. Feel free to comment on this. I have emailed Tim at the only email address on the site but did not hear from him.

    My quick look at the datasheet for ir2104 showed up those as complimentary high and low side drives. Symetric gate driver. The lower mosfet, im guesssing might also assume a more efficient version of the schotky, although why the diode remains is unclear to me. Not my field.
    1.8kWp CSUN, 10kWh AGM, Midnite Classic 150, Outback VFX3024E,
    http://zoneblue.org/cms/page.php?view=off-grid-solar


  • rice81
    rice81 Registered Users Posts: 25
    Re: Open solar resources - MPPT development - technical questions

    Can see that it could be overwhelming to address all the issues around opening up solar technologies and addressing all issues. Will have to think about what open 'development tools' could allow persons such as those on the forum to improve and develop.
    This has been a problem with some MPPT implementations... I have not understood why, but many (some/most/all/older?) implementations basically "perturbe" the array once every few minutes or so. And they can takes seconds or even 10's of seconds to do this.

    Part of what happens is the controller has to dump 100% of available current into the DC battery bus during the sweep. If the battery is near full charge and/or there are no loads, large solar arrays with smaller battery banks (call well below 100 AH per 1kW array @ 48 volts "small"), the battery bank will not accept enough charging current to stay "regulated" (going out of regulation appears to be >60-72 VDC, depending on the attached "appliances/inverter/etc."). And (from what I can tell reading on the forum) that is what is causing over voltage faults on some systems. AGM batteries can even be worse (voltage can really spike with a 100% full AGM vs flooded lead acid which may just gas more?).

    This would seem to me to be a software issue! Looking at the response times in the thesis paper and the proposed solutions to delays in tracking, response should pretty much be instantaneous. Some algorithms (according to the thesis) induced slow tracking because, the change in insolation, delta-I, (depending of the direction and where the algorithm was in its state) could trick the algorithm into thinking it was moving in the correct direction until delta-I went to zero. Keep in mind, the thesis was based on creating a very responsive system for a solar powered vehicle, sort of the ultimate in radical issues with shading an delta-I.

    I could certainly be naive here, but I would say that a well programmed MPPT using the incremental conductance technique (flow chart on p. 74) would zoom in on the MPP even with a quickly changing insolation. It does not oscillate since it watches the voltage on the PV cap for changes first. This gives it a bit of advantage. However, I would think that the oscillation would only introduce a trivial amount of inefficiency since it can be a tiny part of the overall duty cycle, like 1 part in 1024 in Tim Nolan's model.

    As far as why some chargers would dump too much power into somewhat undersized battery banks, once again, sounds like poor programming. Watch the battery voltage - all the time! And your idea about learning the system is a good one. Maybe the system should learn historical 'response times'. Having a web interface into the charger through WiFi like you do with a modem or thermostat these days could open up all sorts of detailed information and parameters about the system.

    Micro vs central - I certainly see both sides of that coin. And I can see how incremental growth could give you a mess of a system.

    Battery bus voltage independent inverters - could certainly be done but with a circuit whose efficiency is key, a circuit tailored for one voltage will probably outperform a one-size-fits-all inverter. That is, unless one were to build multiple software or manually selectable circuits within the inverter (several inverters within your inverter). Then it is a matter of size and cost. An interesting proposition - how much would one pay in size and dollar costs to have that option. The output stages of your smart inverter would be common, so maybe there would not be much up front cost. Or perhaps plug-in modules could interface to different bus voltages.

    BMS - don't know much - put on to-do list

    Also have to think more about the micro system idea with off-grid capability.
    Another issue has been monitoring charging current into the battery bank directly (charge controller only "know" their output current--They do not know the split between loads and battery bank current flow).

    Current monitoring is easy either through resistive shunts or electromagnetically. Just need to have modules that speak the same language to share the data. CAN (controller area network)? wireless (zigbee / xbee)? Introducing the new solar area network comm protocol . . .
  • BB.
    BB. Super Moderators, Administrators Posts: 33,431 admin
    Re: Open solar resources - MPPT development - technical questions
    rice81 wrote: »
    As far as why some chargers would dump too much power into somewhat undersized battery banks, once again, sounds like poor programming. Watch the battery voltage - all the time! And your idea about learning the system is a good one. Maybe the system should learn historical 'response times'. Having a web interface into the charger through WiFi like you do with a modem or thermostat these days could open up all sorts of detailed information and parameters about the system.

    I will warn about "self learning/self correcting" systems... I have seen such systems basically self adjust until they don't run (was an autoloading 9 track tape drive--Would "micro adjust" and after a few months, it would finally fail to load until it was manually trained again--20 second process with a full tape, no loose end--But still a pain).
    Battery bus voltage independent inverters - could certainly be done but with a circuit whose efficiency is key, a circuit tailored for one voltage will probably outperform a one-size-fits-all inverter. That is, unless one were to build multiple software or manually selectable circuits within the inverter (several inverters within your inverter). Then it is a matter of size and cost. An interesting proposition - how much would one pay in size and dollar costs to have that option. The output stages of your smart inverter would be common, so maybe there would not be much up front cost. Or perhaps plug-in modules could interface to different bus voltages.

    When we help people here--We are all about designing "balanced" systems that will support the loads. More or less, there is roughly a 2:1 to 3:1 span of panel size to battery size to bus voltages to loads (and surge loads)--When you pull any one of those parameters/components outside that (relatively) narrow range, the system won't usually work well.

    I.e., if you want 2x more power, you (usually) want a 2x larger battery, 2x larger array, 2x larger AC inverter, 2x heavier wiring, etc...

    Pretty much, the old engineering rule of thumb is things that are less than a factor of 2 different--Are pretty much the same. Things that are 10x or more different--They are so different, you can usually "forget" the smaller item (i.e., a 1,000 watt array and 1,100 watt area are almost indistinguishable in daily use--That "extra" 100 watts is almost nothing).
    BMS - don't know much - put on to-do list

    BMS, if it can be done "right"0--Is probably the one thing that will dramatically cut battery failures. A fair number of batteries are "murdered"--Especially by first time users and guests to the off grid cabins/homes.

    A BMS system that can monitor multiple current sources, battery (and ideally) even cell voltages/water levels, states of charge, connect to a scaled disconnect (i.e., cut optional loads first, cut manditory loads last, SMS message a cell phone, etc.) would be "interesting".

    Current BMS systems are expensive, not well integrated, and have limited accuracy (calculated state of charge drifts from actual state of charge). Shunts are normally used for DC current (heavy cabling, expensive shunts, plus sense voltage wiring). Per cell and per battery monitoring--Another one or two wires to each sense point. All cables together (no wifi, Bluetooth, etc.--If you are lucky RS 232 or RS 422, or perhaps Ethernet--If you want to cost of processing power--money and power usage).

    If it is not somebody running a heavy load, something gone wrong with a charge controller, or failing to check water levels, many times it is a single failed cell (open or shorted), or failed connection that takes out a battery string or bank.
    Current monitoring is easy either through resistive shunts or electromagnetically. Just need to have modules that speak the same language to share the data. CAN (controller area network)? wireless (zigbee / xbee)? Introducing the new solar area network comm protocol . . .

    Tablets and smart phones--Wifi or BlueTooth--Or the up and coming Near Field communications would be interesting.

    CAN or other industrial bus would be interesting/perhaps more reliable--But getting data to the end user--A $40 CAN adapter and flaky Windows/Mac/Linux/Android/Ios/etc. software--Seems to be more trouble than it is worth if you want an end user to run simple configurations and installs.

    -Bill
    Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset
  • bill von novak
    bill von novak Solar Expert Posts: 891 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    A few notes:
    rice81 wrote: »
    The development board I am designing will have transducers for both PV panel output voltage and current and battery input voltage and current.

    You really only need three of those (you can deduce the fourth.) But no reason not to if you want to experiment.
    1) MPPT circuits seem to calculate the power out of the PV panel and attempt to maximize that value. My first impression was to measure power into the battery and to maximize that measurement. First of all, it seems to me that they should give equivalent results as far as tracking the MPP since the power can only go into the battery less a bit wasted in the circuit. Battery voltage should be monitored in order not to over charge it and to detect fault conditions. But consider the following - Let's assume I will be using battery / load power to maximize the MPP. Is there
    any reason to include battery voltage in the calculation?

    There is a very slight dependency. High input voltages to low output voltages are less efficient. Hence a dropping battery voltage will tend to mean a more efficient point at a slightly lower array voltage. But this is a very minor effect.
    2) Any thoughts on using a Schottky diode vs an additional switching semiconductor (MOSFET or IGBT). I'm thinking the addtional switch probably adds some efficiency because of the obligatory forward bias voltage of the diode plus any internal resistance. But I have not researched this. There are some cheap and convenient half bridge drivers that could be implemented for complementary drive of dual MOSFETs.

    Do the math. Low voltage outputs benefit from synchronous (FET-based) inverters. High voltage outputs - less so.
    3) MOSFET vs IGBT? I'm thinking MOSFET due to lower voltage and relatively lower power application. Can get MOSFET with really low RDSon and that probably beats the loss from the IGBT forward bias voltage drop.

    In general MOSFETs below about 200 volts, IGBTs above 300 volts.
    4) How about using a non-inverting buck-boost circuit instead of just buck? In that way, when PV voltage drops below battery voltage, charging could still occur. Although I suspect that this only happens at such low insolation that the power at that point would be minimal. That is, it seems that a PV panel will put out 18 volts or so even when dimly lit with very little current output. Could test this idea.

    Which topology? There are a lot of them out there (Sepic, Cuk, 4-switch etc.) All of them are higher loss than a straight buck.
    5) Any idea what is the common range for PWM frequency on an MPPT controller? I'm trying to get an idea for inductor size and the tradeoffs associated with higher vs lower PWM frequency.

    You're going to choose that to minimize your switching losses, inductor size and capacitor size. (Higher = smaller components, lower = lower loss.) Will depend on component selection. 100KHz or so is a good starting point for a HF low voltage design.
  • zoneblue
    zoneblue Solar Expert Posts: 1,220 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    Now you got me all interested in this. I found two other noteworthy pages on the subject:

    The rambling chaos that is
    http://www.freechargecontroller.org/

    and the more methodical:

    http://www.re-innovation.co.uk/web12/index.php/en/?option=com_content&view=article&id=161:solar-charge-regulator&catid=48:blog&Itemid=75

    And a much better answer than mine about the high side driver.

    http://tahmidmc.blogspot.co.nz/2013/01/using-high-low-side-driver-ir2110-with.html
    1.8kWp CSUN, 10kWh AGM, Midnite Classic 150, Outback VFX3024E,
    http://zoneblue.org/cms/page.php?view=off-grid-solar


  • rice81
    rice81 Registered Users Posts: 25
    Re: Open solar resources - MPPT development - technical questions

    Zone,

    Some great links! Need a bit to study them a bit but wanted to acknowledge what you have found. Thanks, will get back to you soon.
  • rice81
    rice81 Registered Users Posts: 25
    Re: Open solar resources - MPPT development - technical questions

    I'm still looking at the links above but discovered an answer to a question I had asked earlier. I did not understand why the need for the extra MOSFET in the synchronous buck circuit show by Tim Nolan's design. I discovered the answer on a youtube reverse engineering of a PWM controller by Julian Ilett. BTW he has an excellent collection of technical tutorials re solar and general electronics, MOSFET drivers, etc. Here is the partial circuit in question:

    Attachment not found.

    I mistakenly said that Q1 and Q2 were connected in series. They are actually back to back with the drains connected together. Q1 is 'backwards'. So what does this do? When the high side is driven, both Q1 and Q2 are turned on. Q1 conducts backwards, which a MOSFET can do. So what is the purpose? N-channel MOSFETs have in internal 'body diode' that points in the direction of the source. This diode is part of the FET that results from its construction and is always there. I have drawn in functionally where the diode is in the circuit. In normal FET operation, drain positive, the diode is reverse biased and does nothing. In this circuit it is being used to stop the battery from discharging when the system is off or the PV voltage is less than battery voltage.

    Why not just use a diode, you might ask? A typical diode has a forward bias voltage of 0.7 volts and this is characteristic of the body diode as well. This diode would significantly diminish the efficiency of the panel by losing 0.7 volts of its voltage, not an insignificant amount, maybe 5% during MPP operation. However, when Q1 is turned on and conducts backwards in this odd configuration, there is a parallel current path within the FET and the diode is essentially shunted by the FET's Rds-on, the internal resistance of the FET (a few milli-ohms). This small resistance is a great savings over the power loss of almost a volt using a diode to block dark current flow.

    Thus, when the circuit is off, current is blocked by a FET's internal diode, but when it is on, the diode is shorted out by a minimal resistance to reduce losses.
  • bill von novak
    bill von novak Solar Expert Posts: 891 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions
    rice81 wrote: »
    In this circuit it is being used to stop the battery from discharging when the system is off or the PV voltage is less than battery voltage.
    It is also a safety issue. This way a short in the PV circuit will not discharge battery current through the charge controller.
  • rice81
    rice81 Registered Users Posts: 25
    Re: Open solar resources - MPPT development - technical questions

    I was back on Nolan's site, which I should have explored more carefully earlier on as he has a pretty good explanation of the circuit and addresses some issues. One is the ability of the circuit to draw from the battery if a fault were to occur in the controller.
    Attachment not found.
    The blue arrows show the expected current flow in the buck circuit. The red arrow shows how current could flow in a fault condition or with some combination of too small inductor, too slow of a pwm frequency or too low of a duty cycle.

    He points out that he burned up a few MOSFETs before he figured out what was happening. If the microcontroller spends any prolonged time driving Q3 'on' then the battery is directly shorted through the inductor to ground. If the software hangs up with IC2 pin 3 (chip enable) active and pin 2 low, then Q3 remains on. I guess this is a down side to a synchronous vs asynchronous buck circuit that I had not considered.

    I would also be concerned about startup state of the microcontroller. Hopefully, pin 3 defaults to 'high' on the micro at startup but he did not address this. Tim says he added a diode to the circuit (drawn in black) while experimenting to prevent burnt up MOSFETs. Might be nice to have a circuit in there to prevent this, but I'm not sure exactly what and if the circuit powers up and down without incident when properly programmed, then I guess it isn't necessary.

    One other point that I did not appreciate until recently about MOSFETs is that they conduct well in both directions when 'on'. I only recently thought about how Q3's conduction (as well as Q1's) during normal operation is opposite that of Q2's conduction (drain to source vs source to drain). One of the youtube tutorials points out this bidirectionality. In designing for the bidirectionality, one must consider the body diode is always present and may be conducting in the source to drain direction. In the case of a synchronous buck circuit, even with the low side MOSFET off, this MOSFET provides a 'free wheeling' current path.
  • jonr
    jonr Solar Expert Posts: 1,386 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    As far as I can tell, there aren't any off-the-shelf buck converters that are controllable from a micro-controller. Ie, something useful for solar MPPT or battery charging development.

    I am available for custom hardware/firmware development

  • BB.
    BB. Super Moderators, Administrators Posts: 33,431 admin
    Re: Open solar resources - MPPT development - technical questions

    Some earlier threads:

    Solar
    energy and Linux

    High voltage charge controller?
    diy MPPT data


    -Bill
    Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset
  • zoneblue
    zoneblue Solar Expert Posts: 1,220 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    Heres another good paper:

    Practical Guide to Implementing Solar Panel MPPT Algorithms
    http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en561417

    Theres code for both P&O and inc conductance, and a particular focus on sepic converters, among other things gets around the FET killing half H bridge used in Nolans approach.
    1.8kWp CSUN, 10kWh AGM, Midnite Classic 150, Outback VFX3024E,
    http://zoneblue.org/cms/page.php?view=off-grid-solar


  • jonr
    jonr Solar Expert Posts: 1,386 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    They write "Ideally, each panel or small cluster of panels should have their own MPPT controller". Battery people say a similar thing (each battery or even cell would be best off with its own charger). Such concepts just need better prices.

    It would be interesting if one of the commercially available MPPT controllers went open source. I suspect that people would make significant improvements and they would sell more hardware.

    I am available for custom hardware/firmware development

  • zoneblue
    zoneblue Solar Expert Posts: 1,220 ✭✭✭✭
    Re: Open solar resources - MPPT development - technical questions

    Open hardware must be becoming big business?. You can win a trip into space with hackadays competition:

    http://hackaday.com/
    1.8kWp CSUN, 10kWh AGM, Midnite Classic 150, Outback VFX3024E,
    http://zoneblue.org/cms/page.php?view=off-grid-solar


  • Rusdy
    Rusdy Registered Users Posts: 2
    Re: Open solar resources - MPPT development - technical questions
    rice81 wrote: »
    ... that I hope will aid in decreased cost and increased availability of equipment and electronics through collaborative work and experimentation.
    Cheers . . .

    Looking forward to it.

    When I got an absolute bargain for 12V panel, I thought it would be easy to find solar charger for my 36V lithium electric bike battery. However, to date, I still haven't managed to find an 'affordable' boost MPPT charger. The best one I found so far is from Genasun. But, that's USD320 a pop for custom voltage. My requirement is pretty low in power (less than 100W), so I thought there would be several cheap solar charger out there. For buck topology, this is correct, but no cheap one for boost topology :( .

    So, that was the start of my saga to build my own boost MPPT charger. In short, I'm trying to create el-cheapo version of Genasun boost MPPT lithium charger. To my own amazement, I've managed to create one. The first copy is only 87% efficient. I'm in the process of changing the inductor and adding MOSFET gate driver to add more efficiency.

    What amazes me, is that I can do it with Arduino Uno with very minimal extra components. Getting 87% efficiency in the first iteration is also beyond my expectation. Well, this is me, who never used Arduino Uno before, designing my own Arduino Uno shield board using Microsoft Word (very sad isn't it). So, if it's so easily done, I would thought there will be one out there already. Sadly, this is not the case.

    Anyway, just in case anyone out there has same problem with me, that is trying to charge batteries that have higher voltages than the panel, here it is:

    http://epxhilon.blogspot.com.au/2014/04/bmppt-solar-charger-2.html

    All components can be purchase under USD100. Output voltages (float voltage) is fully programmable. If you know how to program Arduino, you can even create your own charging profile.
  • BB.
    BB. Super Moderators, Administrators Posts: 33,431 admin
    Re: Open solar resources - MPPT development - technical questions

    Remember, in engineering, 20% is the straight line implementation, the other 80% is error handling and recovery.

    -Bill
    Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset