Discharge port (DSC)
The discharge port is the main BMS port connected to the load. The DSC port is managed by the state machine and includes precharge logic to safely bring up the output voltage before fully closing the main switch.
All mentioned variables are located in folder /driver/dsc/.
Readings
| State | Unit | Description |
|---|---|---|
idscf | A | Filtered current through DSC port |
udscf | V | Filtered voltage at the DSC port |
Protection parameters
The following parameters are located in folder /driver/.
BMS3
On BMS3, the short circuit and overcurrent disconnection is performed directly by the balancer IC.
| Parameter | Unit | Description |
|---|---|---|
idscShort | A | Short circuit disconnect threshold. When exceeded for longer than idscDelay, the port is turned off and the BMS enters PROTECT with reason 0x0002 (Shortcut). |
idscDelay | µs | Short circuit disconnect delay (steps 70/100/200/400 ...) |
ocd_treshold | A | Overcurrent disconnect threshold. When exceeded for longer than ocd_delay, the port is turned off and the BMS enters PROTECT with reason 0x0040 (Current overload on DSC). |
ocd_delay | ms | Overcurrent disconnect delay (steps 20/40/80/160 ...) |
BMS1
| Parameter | Unit | Description |
|---|---|---|
ishrt | A | Main short circuit current threshold. When exceeded, the port is turned off immediately and the BMS enters PROTECT with reason 0x0002 (Shortcut). |
iprch | A | Precharge current limit |
Every short circuit event increments the shortcut_counter permanent. When the counter exceeds the max_shortcuts parameter, the BMS enters the permanent ERROR state.
DSC port current limiter
The DSC port has its own current limiter that limits the maximum current through the discharge port independently of the pack current limiter. When active, it sets bit 256 in the limit word. (BMS1 only)
Limiter parameters are located in folder /driver/dsc/limiter/.
| Parameter | Unit | Description |
|---|---|---|
idscPos | A | DSC port maximum output current |
idscPosDec | delta A | DSC port output current limit slope (0 to disable) |
idscNegDec | delta A | DSC port input current limit slope (0 to disable) |
idscNeg | A | DSC port maximum input current |
Precharging
When the DSC port is enabled, the BMS first enters the PRECHARGING state. During precharge, a current-limited path slowly charges the output capacitors of the connected load. Once the DSC port voltage reaches a sufficient level relative to the battery voltage, the main switch is fully closed and the BMS transitions to the IDLE state.
Precharge configuration is located in folder /driver/precharge/.
| Name | Type | Unit | Description |
|---|---|---|---|
precharge_time | parameter | s | Maximum precharge time. 0 disables precharging (the switch is closed immediately). |
prch_volt | parameter | V | Maximum voltage between the DSC output and battery ground to allow closing the main switch. |
prch_timer | state | ms | Remaining precharge time. Non-zero while the BMS is precharging. |
If the voltage difference does not drop below prch_volt within precharge_time, the precharge has failed - the BMS enters the PROTECT state with reason 0x2000 (Precharge failed) in protectLog. Typical causes are a too large load capacitance or a short circuit on the output.