Open mikofski opened 2 years ago
here's the cleaned up algorithm:
I made an example in this gist: https://gist.github.com/mikofski/70f29b7ea8d7fa91b5e6e02551bf42d2
Find MPP of modules connected to DC optimizer
Do you mean the MPP of the combined IV curve? Vfixed is an input to this algorithm, correct?
We may want to make space for DC_loss
to be a function of power and input voltage (although a default 1% seems appropriate). See this note.
Do you mean the MPP of the combined IV curve?
yes, that's correct. Find the MPP of the combined IV curves. Usually 2 modules are connected to a DC optimizer.
Vfixed is an input to this algorithm, correct?
Yes, Vfixed is an input, should be in the specification of the string inverter that's part of the DC optimizer & inverter pair.
We may want to make space for
DC_loss
to be a function of power and input voltage (although a default 1% seems appropriate).
Aha that's very interesting, I see from that note that a fixed loss is too restrictive and that DC optimizer efficiency is a function of both power and voltage, although
It looks very similar to an inverter curve to me, and I think our best bet is to just use raw data and interpolate if we can. Baring that, I wonder if perhaps we can determine generic inverter inputs and reuse the Sandia grid-connected inverter model?
[edited: ignore what I said earlier about voltage regulators. I was uninformed. Sorry :(]
The curve should look similar to an inverter because the same loss mechanisms are at work (or play). See the adr inverter references for more explanations. I started generalizing here but it is a background task.
The wiggles in the curves are probably because the dc/dc converters are programmed to be by-passed under conditions when they would be expected to lose more than they gain.
Can we get access to the curves? I am going to start looking at data sheets
DC-DC optimizer datasheets (usually) have two efficiency values (maximum and weighted), so I'd expect users to have those values and probably not the full curve. There's no list of optimizer parameters, that I'm aware of. Most of the energy production will be at high power, so I think a constant efficiency is OK for many use cases. Perhaps an initial function could accept an array and interpolate (I think that could also work for a length-one array).
More links:
The solaredge curves (like pretty much all datasheet curves) are heavily smoothed and based on an unknown number of measurements, so it's probably not a good idea to try to use them for model development.
@mikofski I shared this discussion with a colleague who has a deep understanding of inverters and DC-DC optimization algorithms. His response: "looks like an entirely reasonable approach." One suggestion is to include an MPPT efficiency term unless we want to simplify by accounting for MPPT efficiency in the DC optimizer loss.
PVSC poster perhaps?
Maybe an MPPT efficiency term should be applied to all inverters, not just MLPE?
DC-DC optimizer datasheets (usually) have two efficiency values (maximum and weighted), so I'd expect users to have those values and probably not the full curve.
I'd like to learn more about these two parameters and start from there. How do I use the max and weighted efficiencies to get a curve of dc-optimizer loss vs. output power? Jeff Newmiller had derived some equations to convert max/weighted eff for SolarFarmer which is in the SF calculation theory docs. Does that look right?
Does anyone have any examples of dc optimizer data sheets we could link to as test cases? thanks! I think we should try to cover at least SE, Tigo, and Ampt.
Point of clarification: this issue doesn't include micro-inverters like Enphase, which I believe can be modelled using the existing Sandia grid-connected inverter model or Anton's ADR model. Am I correct?
Jeff Newmiller had derived some equations to convert max/weighted eff for SolarFarmer which is in the SF calculation theory docs. Does that look right?
Are the referenced research notes published? Some assumptions need to be made to produce a curve from two data points.
Point of clarification: this issue doesn't include micro-inverters like Enphase, which I believe can be modeled using the existing Sandia grid-connected inverter model or Anton's ADR model. Am I correct?
I think these models are indifferent to size/scale of inverter, so they work equally well with microinverters. However, they rely on the PV module/array calculations to provide the correct operating point. None of the models/implementations currently have the inverter and module/array interacting to find the correct operating point under constraints.
I'd like to learn more about these two parameters and start from there. How do I use the max and weighted efficiencies to get a curve of dc-optimizer loss vs. output power? Jeff Newmiller had derived some equations to convert max/weighted eff for SolarFarmer which is in the [SF calculation theory docs]
That actually looks to me like its own inverter model (calculates power not delivered as AC as a function of input DC power, given CEC or EU weighted, and maximum, efficiencies; hence it converts DC power to AC power delivered).
Is your feature request related to a problem? Please describe. related to #1581 - a model for systems with DC optimizers and coupled string inverters would be useful
Describe the solution you'd like
Describe alternatives you've considered I think DC optimizers can be considered to be like the MPPT of an inverter. Connected either singly or to pairs of modules, they will find the max power point (Imp, Vmp) of those modules, then convert that to an equivalent operating condition (I, V) that when combined with other optimizers in the string will add up to the a fixed voltage (Vfix) that the string inverter expects, which then converts that to AC like a normal inverter, except it operates at constant input voltage, IE no MPPT, b/c that's handled by the DC optimizer. Because the DC optimzers are in series they are constrained by their current, they must all have identical current. ~Therefore all of the DC optimizers will have to sweep across a range of currents to find the current for which the sum of voltages (from all the DC optimizers in the string) corresponds to the fixed voltage of the inverter.~
Actually, the current can be solved analytically directly from the total power because it's a linear relation!
IE the voltage from each dc optimizer is the power divided by the test current, which is constant for all dc optimizers in the series. This is equivalent to summing the powers from all the optimizers and dividing the sum by the test current. QED
Then the inverter is like a grid-connected SAPM inverter.
There can be additional losses for the DC optimizers:
Summary algorithm:
Additional context If anyone has references, please list them here