Parameters of the BMS
This page shows the parameters of the BMS.
Last updated
This page shows the parameters of the BMS.
Last updated
This page will describe the variables of the BMS. There are 3 kind of parameters
The BMS variables
The BMS configuration parameters
The hardware parameters
The BMS variables give the variables of the BMS, like the voltages, currents and temperatures. The BMS configuration parameters are the parameters that could be used to configure the BMS, like the battery parameters, BMS parameters and more. The hardware parameters could be used to keep track of the parameters of the hardware parameters, like the maximum current that is limited by the MOSFETs power dissipation.
In the console (CLI) type "bms get all" to get all the parameters and its current value.
A line means this is not implemented yet.
*these parameters will only be implemented during startup of the BMS
Parameter
Unit
Datatype
Description
Default
RO/RW
No
c-batt
C
float
The temperature of the external battery temperature sensor
0
RO
0
v-out
V
float
The voltage of the BMS output
0
RO
1
v-batt
V
float
The voltage of the battery pack
0
RO
2
i-batt
A
float
The last recorded current of the battery
0
RO
3
i-batt-avg
A
float
The average current since the last
measurement (period t_meas (defaults))
0
RO
4
i-batt-10s-avg
A
float
The 10s rollling average current, updated each 1s with T_meas 1000 (ms)
0
RO
5
s-out
-
bool
This is true if the output power is enabled
0
RO
6
s-in-flight
-
bool
This is true if the system is in flight (with flight-mode-enable and i-flight-mode)
0
RO
7
p-avg
W
float
Average power consumption over the last
10 seconds
0
RO
8
e-used
Wh
float
Power consumption since device boot
0
RO
9
a-rem
Ah
float
Remaining capacity in the battery
0
RW
10
a-full
Ah
float
Full charge capacity, predicted battery capacity when it is fully charged. Falls with aging
4.6
RW
11
t-full
h
float
Charging is expected to complete in this
time; zero if not charging
0
RO
12
s-flags
-
uint8_t
This contains the status flags as
described in BMS_status_flags_t
255
RO
13
s-health
%
uint8_t
Health of the battery in percentage, use
STATE_OF_HEALTH_UNKNOWN = 127
if cannot be estimated
127
RO
14
s-charge
%
uint8_t
Percentage of the full charge 0, 100
0
RO
15
batt-id
-
uint8_t
Identifies the battery within this vehicle,
0 - primary battery.
0
RW
16
model-id
-
uint64_t
Model id, set to 0 if not applicable
0
RW
17
model-name
-
char[32]
Battery model name, model name is a
human-readable string that normally
should include the vendor name, model
name and chemistry
"BMS
test"
RW
18
v-cell1
V
float
The voltage of cell 1
0
RO
19
v-cell2
V
float
The voltage of cell 2
0
RO
20
v-cell3
V
float
The voltage of cell 3
0
RO
21
v-cell4
V
float
The voltage of cell 4
0
RO
22
v-cell5
V
float
The voltage of cell 5
0
RO
23
v-cell6
V
float
The voltage of cell 6
0
RO
24
c-afe
C
float
The temperature of the analog front end
0
RO
25
c-t
C
float
The temperature of the transistor
0
RO
26
c-r
C
float
The temperature of the sense resistor
0
RO
27
n-charges
-
uint16_t
The number of charges done
0
RW
28
n-charges-full
-
uint16_t
The number of complete charges
0
RW
29
Parameter
Unit
Datatype
Description
Default
RO/RW
No
n-cells
-
uint8_t
Number of cells used in the BMS board
3
RW
30
t-meas
ms
uint16_t
Cycle of the battery to perform a complete battery measurement and SOC estimation can only be 10000 or a whole division of 10000 (For example: 5000, 1000, 500)
1000
RW
31
t-ftti
ms
uint16_t
Cycle of the battery to perform diagnostics (Fault Tolerant Time Interval)
1000
RW
32
t-cyclic
s
uint8_t
Wake up cyclic timing of the AFE (after front end) during sleep mode
1
RW
33
i-sleep-oc
mA
uint8_t
Overcurrent threshold detection in sleep mode that will wake up the BMS and also the threshold to detect the battery is not in use
30
RW
34
v-cell-ov
V
float
Battery maximum allowed voltage for one cell. Exceeding this voltage, the BMS will go to fault mode
4.2
RW
35
v-cell-uv
V
float
Battery minimum allowed voltage for one cell. Going below this voltage, the BMS will go to fault mode (followed by deepsleep after t-fault-timeout)
3
RW
36
v-cell-nominal
V
float
Battery nominal voltage for one cell. will be used for energy calculation
3.7
RW
37
c-cell-ot
C
float
Over temperature threshold for the cells. Going over this threshold and the BMS will go to FAULT mode
45
RW
38
c-cell-ot-charge
C
float
Over temperature threshold for the cells during charging. Going over this threshold and the BMS will go to FAULT mode
40
RW
39
c-cell-ut
C
float
Under temperature threshold for the cells. Going under this threshold and the BMS will go to FAULT mode
(-20)
RW
40
c-cell-ut-charge
C
float
Under temperature threshold for the cells during charging. Going under this threshold during charging and the BMS will go to FAULT mode
0
RW
41
a-factory
Ah
float
Battery capacity stated by the factory
4.6
RW
42
t-bms-timeout
s
uint16_t
Timeout for the BMS to go to SLEEP mode when the battery is not used.
600
RW
43
t-fault-timeout
s
uint16_t
After this timeout, with an undervoltage fault the battery will go to DEEPSLEEP mode to preserve power. 0 sec is disabled.
60
RW
44
t-sleep-timeout
h
uint8_t
When the BMS is in sleep mode for this period it will go to the self-discharge mode, 0 if disabled
24
RW
45
t-charge-detect
s
uint8_t
During NORMAL mode, if the battery current is positive for more than this time, then the BMS will go to CHARGE mode
1
RW
46
t-cb-delay
s
uint8_t
Time for the cell balancing function to start after entering the CHARGE mode
120
RW
47
t-charge-relax
s
uint16_t
Relaxation time after the charge is complete before going to another charge round.
300
RW
48
i-charge-full
mA
uint16_t
Current threshold to detect end of charge sequence
50
RW
49
i-system
mA
uint8_t
Current of the BMS board itself, this is measured (as well) during charging, so this needs to be subtracted
40
RW
50
i-charge-max
A
float
Maximum current threshold to open the switch during charging
9.2
RW
51
i-charge-nominal
A
float
Nominal charge current (informative only)
4.6
RW
52
i-out-max
A
float
Maximum current threshold to open the switch during normal operation, if not overruled
60
RW
53
i-peak-max
A
float
Maximum peak current threshold to open the switch during normal operation, can't be overruled
200
RW
54
i-out-nominal
A
float
Nominal discharge current (informative only)
60
RW
55
i-flight-mode
A
float
Current threshold to not disable the power in flight mode
5
RW
56
v-cell-margin
mV
uint8_t
Cell voltage charge margin to decide or not to go through another topping charge cycle
50
RW
57
v-recharge-margin
mV
uint16_t
Cell voltage charge complete margin to decide or not to do a battery re-charge, to keep the cell voltages at max this much difference with the cell-ov
200
RW
58
t-ocv-cyclic0
s
int32_t
OCV measurement cyclic timer start (timer is increase by 50% at each cycle)
300
RW
59
t-ocv-cyclic1
s
int32_t
OCV measurement cyclic timer final value (limit)
86400
RW
60
c-pcb-ut
C
float
PCB Ambient temperature under temperature threshold
-20
RW
61
c-pcb-ot
C
float
PCB Ambient temperature over temperature threshold
45
RW
62
v-storage
V
float
The voltage what is specified as storage voltage for a cell
3.8
RW
63
ocv-slope
mV/A.min
float
The slope of the OCV curve. This will be used to calculate the balance time
5.3
RW
64
batt-eol
%
uint8_t
Percentage at which the battery is end-of-life and shouldn’t be used anymore Typically between 90%-50%
80
RW
65
battery-type
-
uint8_t
The type of battery attached to it. 0 = LiPo, 1 = LiFePo4, 2 = LiFeYPo4. Could be extended. Will change OV, UV, v-storage, OCV/SoC table if changed runtime
0
RW
66
sensor-enable
-
bool
This variable is used to enable or disable the battery temperature sensor, 0 is disabled, 1 is enabled
0
RW
67
self-discharge-enable
-
bool
This variable is used to enable or disable the SELF_DISCHARGE state, 0 is disabled, 1 is enabled
1
RW
68
flight-mode-enable
-
bool
This variable is used to enable or disable flight mode, is used together with i-flight-mode
0
RW
69
emergency-button-enable
-
bool
This variable is used to enable or disable the emergency button on PTE8
0
RW
70
smbus-enable
-
bool
This variable is used to enable or disable the SMBus update
0
RW
71
uavcan_node_static_id*
-
uint8_t
This is the node ID of the UAVCAN message
255
RW
72
uavcan-es-sub-id*
-
uint16_t
This is the subject ID of the energy source UAVCAN message (1...100Hz)
4096
RW
73
uavcan-bs-sub-id*
-
uint16_t
This is the subject ID of the battery status UAVCAN message (1Hz)
4097
RW
74
uavcan-bp-sub-id*
-
uint16_t
This is the subject ID of the battery parameters UAVCAN message (0.2Hz)
4098
RW
75
uavcan-legacy-bi-sub-id*
-
uint16_t
This is the subject ID of the battery info legacy UAVCAN message (0.2 ~ 1Hz)
65535
RW
76
uavcan-fd-mode*
-
uint8_t
If true CANFD is used, otherwise classic CAN is used
0
RW
77
uavcan-bitrate*
bit/s
int32_t
The bitrate of classical can or CAN FD arbitration bitrate
1000000
RW
78
uavcan-fd-bitrate*
bit/s
int32_t
The bitrate of CAN FD data bitrate
4000000
RW
79
Parameter
Unit
Datatype
Description
Default
RO/RW
No
v-min
V
uint8_t
Minimum stack voltage for the BMS board to be fully functional
6
RW
80
v-max
V
uint8_t
Maximum stack voltage allowed by the BMS board
26
RW
81
i-range-max
A
uint16_t
Maximum current that can be measured by the BMS board
300
RW
82
i-max
A
uint8_t
Maximum DC current allowed in the BMS board (limited by power dissipation in the MOSFETs)
60
RW
83
i-short
A
uint16_t
short circuit current threshold (typical: 550A, min: 500A, max: 600A)
500
RW
84
t-short
us
uint8_t
Blanking time for the short circuit detection
20
RW
85
i-bal
mA
uint8_t
Cell balancing current under 4.2V with cell balancing resistors of 82 ohms
50
RW
86
m-mass
kg
float
The total mass of the (smart) battery
0
RW
87