question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

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

  1. some references
  2. a specification of the inputs required
  3. an implementation of a published algorithm

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!

vtest = SUM(Vtest_i) = SUM(Pmp1/itest + Pmp2/itest + ...) = SUM(Pmp_i)/itest
# so
ifixed = SUM(Pmp_i)/vfixed

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:

  • a fixed loss
  • a variable loss that scales with the voltage, but since this is fixed for a given inverter it can be combined with the fixed loss for a particular DC-optimizers & inverter pair.

Summary algorithm:

  1. ~Apply the DC loss to the inverter fixed voltage to get V_fixed = V_inverter * (1-DC_loss)~ wrong this goes to power!
  2. Combine IV curves for pairs of modules.
  3. For each pair of modules, find MPP and (Pmp = Imp*Vmp) of combined IV curve
  4. ~for all DC optimizers in a string, loop over a range of currents~
  5. ~given current (I_i) calculate V_i = (Pmp)/I_i~
  6. ~calculate SUM(V_i) and check if it is within tolerance of inverter fixed voltage (V_fixed)~
  7. calculate I_fixed from total power and fixed voltage Pmp*(1-DC_loss) / v_fixed <- loss goes here!
  8. when V_i for all DC optimizers has been found, use the grid-connected Sandia model to get inverter efficiency based on P_dc = V_fixed * I_i

Additional context If anyone has references, please list them here

Issue Analytics

  • State:open
  • Created 10 months ago
  • Comments:14 (14 by maintainers)

github_iconTop GitHub Comments

2reactions
cwhansecommented, Dec 1, 2022

@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?

1reaction
cwhansecommented, Nov 10, 2022

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).

Read more comments on GitHub >

github_iconTop Results From Across the Web

What Are DC Power Optimizers? - SolarReviews
DC optimizers track each solar module's peak output and regulate voltage before the power along to a central inverter. · That makes them...
Read more >
SolarEdge | Power Optimizer Increases Energy Output
The SolarEdge Power Optimizer is a DC/DC converter which is connected by installers to each solar module, turning them into smart modules.
Read more >
Power optimizer - Wikipedia
A power optimizer is a DC to DC converter technology developed to maximize the energy harvest from solar photovoltaic or wind turbine systems....
Read more >
Five myths about DC power optimizers
Do power optimizers really make PV systems safer? We clear up the misleading information about module level power electronics.
Read more >
Micro-inverters VS DC Optimizers (Solar Inverter) - YouTube
Book a Call with Solar Surge: https://www.solarsurge.net/Optimized Solar Inverter OR Micro-Inverters Comparison:In this video, Joe presents ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found