Protection and limitation
There are two ways how the BMS can protect the battery:
- Turn off the BMS ports
- Limitation - send a CAN message and ask the connected device to reduce the current
Limitation
The limitation concept is, that the connected device is listening to the BMS and reducing the current if the BMS asks for it. If the device listens to the BMS, the BMS is not forced to turn off the ports. This results in a better user experience, because the user can still use the device, but with reduced power.
The BMS can send a CAN message with a limitation request. This message is implemented on the application level - the BMS must send the message and the controller must react to it, otherwise, the BMS will turn off the ports and the limitation concept will not work.
| Variable | Description |
|---|---|
/driver/totalLimitPos | Available relative current in positive direction |
/driver/totalLimitNeg | Available relative current in negative direction |
Both variables have a range from 0 - 1. If the value is 0, it means, that there is 0 current available. If the value is 1, it means, that the full current is available.
If there is any limitation active, the BMS will indicate what is causing the limitation with state /driver/limit. Use the wtf command to see the reason for the limitation and check "Limiter state" section. More about diagnostic
limit bit | Description |
|---|---|
| 1 | BMS temperature too high |
| 2 | Battery temperature too low |
| 4 | Battery temperature too high |
| 16 | Cell voltage too low |
| 32 | Cell voltage too high |
| 64 | DSC port current too high |
| 128 | CHG port current too high |
| 256 | DSC port current limiter |
| 512 | CHG port current limiter |
limit is a bitwise state.
Pack current limiter configuration
Pack current limiter parameters are located in folder /driver/limiter/.
The pack-level current limiter sets the absolute overcurrent thresholds for the entire battery pack. When these thresholds are exceeded, the BMS will turn off the ports.
| Parameter | Unit | Description |
|---|---|---|
iPos | A | Pack discharge overcurrent threshold |
iPosDec | delta A | Pack discharge current limit slope |
iNegDec | delta A | Pack charge current limit slope |
iNeg | A | Pack charge overcurrent threshold |
In addition to the pack-level limiter, each port has its own independent current limiter. See CHG port limiter and DSC port limiter for details.
Protection - turn off the BMS ports
Turning the ports off is always the last resort. If the BMS turns off the ports, the user must turn them back on. The BMS will not turn the ports back on automatically.
If the ports are turned off due to the protection of the battery and BMS, the BMS will enter PROTECT state.. Use the wtf command to see the reason for the protection. More about diagnostic