Skip to content

DC Optimizer #1588

Open
Open
@mikofski

Description

@mikofski

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions