Dynamic Load Management
Managing power for multiple Charging Stations is challenging when current is limited. Bender’s Dynamic Load Management (DLM) system solves this by automatically adjusting charging currents to match available power.
Unlike traditional systems that need extra hardware or struggle with compatibility, the DLM is part of the Charge Controller's core functionality.
A designated Charging Station acts as the DLM Master, managing the others and communicating with an External Meter through standard interfaces like Modbus or Ethernet. The DLM Master collects real-time data every 30 seconds, including Charging Station occupancy, vehicle charging status, phases in use, and available power. It calculates and distributes power based on this data, ensuring efficient and balanced charging.
Example Scenarios:
- Scenario 1: If one Charging Station is in use, the DLM Master provides the full 32A required for charging.
- Scenario 2: If two or more Charging Stations are in use, the DLM Master divides the available 50A supply among the active stations.
1. Basic Setup
1.1. DLM Master/Slave Setup
We advise you to leave Disable Discovery Broadcasting
turned Off
. Otherwise the installation of a connection can not be assured.
1.2. Phase rotation
Charging Stations are designed to work with either one phase or three phases. A car can charge using one phase (L1) or three phases (L1, L2, L3), with the phases always positioned 120° apart.
To manage the load effectively and prevent unbalanced power distribution, the system needs to know how each Charging Station’s phases are set or aligned. Without this information, it becomes harder to optimize the charging current and ensure stable operation.
The load management system uses the phase position or rotation data for each Charging Station to evenly distribute the charging current. To further balance loads, the phases are rotated in the sub-distribution system, improving efficiency and stability.
Example:
Charging Station 1
L 1 | L 2 | L 3 |
---|---|---|
L1 | L2 | L3 |
Charging Station 2
L 1 | L 2 | L 3 |
---|---|---|
L2 | L3 | L1 |
Charging Station 3
L 1 | L 2 | L 3 |
---|---|---|
L3 | L1 | L2 |
This rotation is done in order to distribute the load generated by single-phase charging cars as evenly as possible to all phases.
The parameter Phase rotation of the Charging Station
is set in the Charging Station itself as the installer has intended for this Charging Station.
Double Charging Stations may already be connected through phase rotation.
2. Configuration
The Setup and configuration can be done either locally via the web Interface or remotely using OCPP Change Configuration.
The following table offers an overview of the different available settings found under LOAD MANAGEMENT > Dynamic Load Management:
3. Usage Scenarios
3.1. with external meter
Dynamic load management (DLM) must account for the total load at the house connection, including both charging currents and other household power usage. This allows for real-time adjustments in power distribution to Charging Stations.
In some cases, Grid Connection Points (GCPs) seem unsuitable for adding Charging Stations because fixed power allocation isn’t possible. Additionally, electric vehicles rarely use their maximum charging capacity, which can lead to underutilized power. Without a system to measure and allocate unused power, efficiency suffers.
The DLM continuously measures power usage at the GCP to identify reserves during periods of lower building demand (e.g., "load valleys"). It dynamically allocates this unused power to Charging Stations.
Charging current is adjustable based on the vehicle’s requirements, and the DLM ensures any unused capacity is distributed efficiently among other stations. Depending on the setup, an additional meter can be placed either after the grid operator’s meter (including EVSE sub-distribution) or within the sub-distribution (excluding EVSE sub-distribution). This setup incorporates household loads into DLM calculations, ensuring efficient and balanced power distribution.
3.2. Load Throw-Off Management
In environments with multiple consumers, some need a constant electrical supply, while others have variable electrical needs.
Without proper management, electrical supply distribution can lead to overloads or inefficient use of available power.
The load throw-off feature ensures efficient distribution of electrical supply, preventing overloads and optimizing power usage. Below are scenarios illustrating how this feature works.
Example Scenario 1: Factory with Staff Canteen and EV Chargers
A factory operates a staff canteen and provides 10 EV chargers for company fleet cars. Both facilities share a contract with load limits of 3 x 250A. During service hours, the kitchen consumes 150A on L1, 100A on L2, and 100A on L3. A signal is provided when the kitchen is not busy, and consumption falls below 10A.
In this scenario, the load throw-off process operates as follows:
-
When the kitchen is not busy, the EV charging infrastructure may consume up to 240A (250A – 10A). The control electronics provide a 12V DC signal, allowing the DLM system to use the full 3 x 240A.
-
When the kitchen is in use, the load of 140A on L1, 90A on L2, and 90A on L3 needs to be thrown off to avoid exceeding the 3 x 250A limit. In this case, the DLM may only consume 100A on L1, 150A on L2, and 150A on L3.
Configuring the Master Controller
-
Apply the following configuration:
- At the bottom of the Config UI, click , then click to apply the changes
Configuring the Slave Controller
-
Apply the following configuration:
- At the bottom of the Config UI, click , then click to apply the changes
Example Scenario 2: Grid Operator with Ripple Control In this example, one or more 22kW wall boxes must reduce load to 3 x 7A (5kW) when a control signal is low.
Configuring the Master Controller
-
Apply the following configuration:
- At the bottom of the Config UI, click , then click to apply the changes
Configuring the Slave Controller
-
Apply the following configuration:
- At the bottom of the Config UI, click , then click to apply the changes
Limitations of the Load throw-off function
- The load can only be reduced instantly and not gradually over a time interval
- With DLM active, only the current can be reduced, not the power (reduction 32A 🡒 7A, but not 22kW 🡒 5kW)
3.3. Phase-specific load management
A rechargeable electric vehicle is equipped with a built-in charger that connects to a compatible Charging Station via a cable, and can draw power from a single-phase or three-phase network.
Many competitor systems assume equal loading on all phases, regardless of actual usage, which leads to inefficient power distribution.
The DLM system detects whether the vehicle is using a single-phase or three-phase charger. For example, if a vehicle with a single-phase charger draws 16A, only the corresponding phase is used, keeping other phases available for additional charging. The system also takes phase rotation into account. For more details, see the "Phase Rotation of the ChargePoint" section.
3.4. Imbalance Prevention
In Germany, network operators must comply with technical connection conditions (TAB), which limit the apparent power of a phase to 4.6 kVA compared to the neighboring phases.
This means single-phase loads can draw a maximum of 20A if the other phases are not loaded. A skew load occurs when one phase conductor is loaded by more than 20A compared to the other two phases in a three-wire system.
To avoid skew load, it is essential to ensure that the phase currents are balanced, keeping the load within the required limits.
Electric vehicles can vary in their charging behavior, sometimes drawing over 20A even at a 3 x 32 amp Charging Station, which can lead to unbalanced loads due to a lack of communication between the vehicle's on-board charger phase and the Charging Station.
This imbalance occurs because the vehicle and Charging Station may not coordinate properly, potentially causing overloads or inefficient power usage.
Our Dynamic Load Management (DLM) system provides a solution through Current Imbalance Prevention, which monitors and corrects any asymmetry above a specified threshold. The system’s skew load limit ensures that single-phase loads over 20A are allowed if balanced across phases.
For example, three vehicles with 32-amp chargers can charge on separate phases without exceeding limits. The system detects and adjusts the current, enabling 1 x 32-amp Charging Stations or limiting unbalanced loads for 3 x 32-amp points.
3.5. The "Maximum Current Scheduler" function
In addition to the function of load management without or with an external metering, there is another function to (semi-)dynamically control the load management without external metering.
The function Maximum Current Scheduler
under Load Management > Dynamic Load Management allows to determine the parameters of the Operator EVSE Sub-Distribution Limit
via a time table depending on the time of day.
With a known and recurring load profile, the charging currents can thus be increased or decreased at times when sufficient reserves are always available. For example, in a single-family home where 60% reserve is always available at the house connection at night, the available charging currents could be ramped up at exactly these times.
- To configure the Time Profile turn
Maximum Current Scheduler
On
- Click on
Add Entry
At least two entries are necessary. The set currents are always valid from the set time. That means, from the entered time to the next following time this charging current is valid for the DLM. This also applies if the times are not displayed in chronological order. In the example on the right, this means that no charging current is available from 1 o'clock to 4 o'clock. Here it does not matter that the time point '1 o'clock' is at the top and the time point '4 o'clock' is at the bottom.
The times are entered according to Coordinated Universal Time (UTC). The time in Germany is therefore in winter one hour later UTC + 1 = CET - Central European Time and in summer two hours later UTC + 2 = CEST - Central European Summer Time. The fully resolved and chronologically ordered would translate into the following table:
- At the bottom of the Config UI, click , then click to apply the changes
3.6. Solar Dynamic Load Management (SDLM)
Firmware v5.33.4 or above is recommended for customers using SDLM features.
Solar Dynamic Load Management (SDLM) extends the DLM algorithm for charging stations with Photovoltaic (PV) systems, allowing them to use generated solar power for charging without needing an external energy management system.
Ensure that the PV meter is placed behind the inverter or at the grid connection point. The Solar DLM algorithm prioritizes solar power for non-solar connectors first, then allocates remaining energy to solar-mode-enabled connectors to avoid using grid electricity. Solar connectors are powered on a first-come, first-served basis. Non-solar connectors charge from the PV system or grid, depending on solar production. The algorithm uses a balancing grid meter to distribute current based on production and consumption phases.
3.6.1. Prerequisites
- A basic DLM setup
- A PV system
- An external meter measuring positive PV energy production, placed behind the inverter or at the grid connection point
3.6.2. Configuration
- Log in to the Config UI using the Operator Login Credentials
-
Apply the following configuration:
Settings for the DLM Master:
Settings for the DLM Slave:
- At the bottom of the Config UI, click , then click to apply the changes
4. Hierarchial Dynamic Load Management (HDLM)
Efficient load distribution and control are critical when managing power across multiple Distributed Load Management (DLM) systems, particularly when several systems rely on a limited power supply. The need arises to coordinate these systems while maintaining safety and optimizing performance.
As power demand grows, such as when multiple Charging Stations or other devices such as DC chargers are added, it becomes harder to share power safely and avoid overloading the system.
The Hierarchical Dynamic Load Management (HDLM) helps by enabling a central Charge Controller to oversee several DLM systems, each with its own Master Charge Controller. It gathers information about power use, applies limits, and adjusts power sharing in real time. This ensures power is distributed safely and efficiently, starting from the main power source down to individual DLM systems.
4.1. Hardware parts
The HDLM system consists of several components, each with a specific role:
Chargers
Chargers are elements that consume current and can also vary their current consumption to comply with the coordinator requests. In a “pure” setup each charger is also a participant. In a “hybrid” setup, only “masters” are participants- “slaves” are not because they do not directly communicate with the coordinator.
External loads
External loads consume current but cannot be controlled. The DLM system must adjust the charger to compensate for the loads.
When external loads are present, there must be corresponding external meters to be able to estimate their contribution to the network.
External meters
External (i.e. standalone) meters are set up to measure the external loads. There are two types of connections:
in-line
The meter is on the line itself and measures all current passing through.
branch
The meter only measures the external load.
4.2. Creating the constraint file
The constraint configuration file defines the setup for a Hierarchical Dynamic Load Management (HDLM) system. It controls power distribution, monitors current limits, and manages the load across multiple Charging Stations and electrical lines.
Naming Scheme
Objects in the DLM system (electrical lines, meters and participants) should have a name that is unique within each category.
Names have the same restrictions as domain names:
- Between 1 and 63 characters.
- Can contain only alphanumeric characters and dashes (no spaces).
- Cannot start nor end with a dash.
The main components of this file are:
- ID
- Lines
- Groups
- Meters
1. ID The id is an optional field that serves as an identifier for the configuration file. It's used to validate that the daemons have loaded the correct file by matching it with the Constraints Id property in status messages.
2. Lines The lines section defines the different electrical lines and their maximum current ratings across three phases (L1, L2, L3). Each line can be described with its CurrentLimit and Parent property.
- Root Line: The root line (e.g., main) represents the connection to the utility grid and is the central bus for the entire system.
- Child Lines: Other lines like line1, line2, etc., branch out from the root and inherit properties from their parent unless explicitly defined.
For example:
"lines": {
"main": {
"CurrentLimit": {
"L1": 40,
"L2": 40,
"L3": 40
}
},
"line1": {
"CurrentLimit": {
"L1": 32,
"L2": 32,
"L3": 32
},
"Parent": "main"
},
"line2": {
"CurrentLimit": {
"L1": 20,
"L2": 20,
"L3": 20
},
"Parent": "main"
},
"line3": {
"CurrentLimit": {
"L1": 20,
"L2": 20,
"L3": 20
},
"Parent": "main"
}
},
line1 has a parent line called main and a specific CurrentLimit.
Handling External Loads:
In-line Loads: Use the ExternalLoadCurrent property for any line with external loads connected directly. For example:
{
"$comment": "Branch load example",
"lines": {
"main": {
"CurrentLimit": { "L1": 20, "L2": 20, "L3": 20 },
"ExternalLoadCurrent": { "L1": 20, "L2": 20, "L3": 20 },
}
},
"groups": {
"test": {
"Elements": ["c1", "c2", "c3", "c4"],
"Parent": "main"
}
},
"meters": {
"a1": {
"Model": "EEM-MB371",
"Parent": "main",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "192.168.1.53",
"TCPPort": 1505
}
}
}
}
Branch Loads: Create a virtual line without chargers that contain ExternalLoadCurrent to manage these loads separately. For example:
{
"$comment": "Branch load example",
"lines": {
"main": {
"CurrentLimit": { "L1": 20, "L2": 20, "L3": 20 }
},
"main-h1": {
"CurrentLimit": { "L1": 20, "L2": 20, "L3": 20 },
"ExternalLoadCurrent": { "L1": 20, "L2": 20, "L3": 20 },
"Parent": "main"
}
},
"groups": {
"test": {
"Elements": ["c1", "c2", "c3", "c4"],
"Parent": "main"
}
},
"meters": {
"a1": {
"Model": "EEM-MB371",
"Parent": "main-h1",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "192.168.1.53",
"TCPPort": 1505
}
}
}
}
3. Groups
The groups section defines participants (e.g., Charging Stations) that are connected to each line.
Instead of specifying each participant individually, they are grouped together based on shared properties.
For example:
"groups": {
"deck-1": {
"Elements": ["X1A", "X1B", "X1C"],
"Parent": "line1"
},
"deck-2": {
"Elements": ["X2A", "X2B", "X2C"],
"Parent": "line2"
},
"deck-3": {
"Elements": ["X3A", "X3B", "X3C"],
"Parent": "line3"
}
},
4. Meters The meters section defines any external Modbus TCP meters that monitor the system's load.
Key Properties:
- Model: Specifies the meter model.
- Parent: Identifies the line that the meter is connected to.
- Interface: Provides the communication method with fields like Type (e.g., modbus-tcp), IPAddress, and optional TCPPort and SlaveID.
For example:
"meters": {
"Main": {
"Model": "EEM-MB371",
"Parent": "main",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "10.1.2.3"
}
},
"parkingLotLight": {
"Model": "EEM-MB371",
"Parent": "line3",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "10.2.3.4"
}
}
}
}
This defines a meter monitoring the main line.
There can be used more than one meter. For a list of compatible meters click here.
Final Setup
{
"$schema": "./constraints.schema.json",
"lines": {
"main": {
"CurrentLimit": {
"L1": 40,
"L2": 40,
"L3": 40
}
},
"line1": {
"CurrentLimit": {
"L1": 32,
"L2": 32,
"L3": 32
},
"Parent": "main"
},
"line2": {
"CurrentLimit": {
"L1": 20,
"L2": 20,
"L3": 20
},
"Parent": "main"
},
"line3": {
"CurrentLimit": {
"L1": 20,
"L2": 20,
"L3": 20
},
"Parent": "main"
}
},
"groups": {
"deck-1": {
"Elements": ["X1A", "X1B", "X1C", "X1D", "X1E"],
"Parent": "line1"
},
"deck-2": {
"Elements": ["X2A", "X2B", "X2C"],
"Parent": "line2"
},
"deck-3": {
"Elements": ["X3A", "X3B", "X3C"],
"Parent": "line3"
}
},
"meters": {
"Main": {
"Model": "EEM-MB371",
"Parent": "main",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "10.1.2.3"
}
},
"parkingLotLight": {
"Model": "EEM-MB371",
"Parent": "line3",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "10.2.3.4"
}
}
}
}