Skip to content

Commit

Permalink
Fix: maxIncrease for overscaling solar inverter
Browse files Browse the repository at this point in the history
Use inverter maxPower instead of configuredMaxPower when overscaling is enabled for a solar inverter to calculate the maxIncrease, because the limit will be overscaled to allow every MPPT to provide its maximum power.
  • Loading branch information
AndreasBoehm committed Jan 10, 2025
1 parent 1647c59 commit c5f97ef
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/PowerLimiterSolarInverter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,13 @@ uint16_t PowerLimiterSolarInverter::getMaxIncreaseWatts() const
return maxTotalIncrease;
}

// for inverter with PDL we use the max power of the inverter because each MPPT can deliver its max power,
// for inverters without PDL we use the configured max power, because the limit will be divided equally across the MPPTs by the inverter.
int16_t inverterMaxPower = _spInverter->supportsPowerDistributionLogic() ? getInverterMaxPowerWatts() : getConfiguredMaxPowerWatts();
int16_t inverterMaxPower = getConfiguredMaxPowerWatts();

// for inverter with PDL or when overscaling is enabled we use the max power of the inverter because each MPPT can deliver its max power.
if (_spInverter->supportsPowerDistributionLogic() || _config.UseOverscaling) {
inverterMaxPower = getInverterMaxPowerWatts();
}

int16_t maxPowerPerMppt = inverterMaxPower / dcTotalMppts;

Expand Down

0 comments on commit c5f97ef

Please sign in to comment.