Skip to main content
Firmware Stable

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.

VariableDescription
/driver/totalLimitPosAvaliable relative current in positive direction
/driver/totalLimitNegAvaliable relative current in positive 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 dec valueDescription
0No limitation
1BMS temperature too high
2Battery temperature too low
4Battery temperature too high
8Not used
16Cell voltage too low
32Cell voltage too high
64DSC current too high
128CHG current too high

*limit is a bitwise state.

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