Class BatteryProtection
java.lang.Object
io.openems.edge.battery.protection.BatteryProtection
This utility class provides algorithms to calculate maximum allowed charge
and discharge currents for batteries.
The logic uses:
- Allowed Current Limit provided by Battery Management System
- Voltage-to-Percent characteristics based on Min- and Max-Cell-Voltage
- Temperature-to-Percent characteristics based on Min- and Max-Cell-Temperature
- Linear max increase limit (e.g. 0.5 A per second)
- Force Charge/Discharge mode (e.g. -1 A to enforce charge/discharge)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static enum
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
BatteryProtection
(Battery battery, ChargeMaxCurrentHandler chargeMaxCurrentHandler, DischargeMaxCurrentHandler dischargeMaxCurrentHandler) -
Method Summary
Modifier and TypeMethodDescriptionvoid
apply()
Apply the logic on theBattery
.static BatteryProtection.Builder
Create aBatteryProtection
using builder pattern.
-
Constructor Details
-
BatteryProtection
protected BatteryProtection(Battery battery, ChargeMaxCurrentHandler chargeMaxCurrentHandler, DischargeMaxCurrentHandler dischargeMaxCurrentHandler)
-
-
Method Details
-
create
Create aBatteryProtection
using builder pattern.- Parameters:
battery
- theBattery
- Returns:
- a
BatteryProtection.Builder
-
apply
public void apply()Apply the logic on theBattery
.- Set CHARGE_MAX_CURRENT Channel
- Set DISCHARGE_MAX_CURRENT Channel
- Set FORCE_DISCHARGE_ACTIVE State-Channel if Charge-Max-Current < 0
- Set FORCE_CHARGE_ACTIVE State-Channel if Discharge-Max-Current < 0
- SET
-