This page shows the parameters of the BMS.
This page will describe the variables of the BMS. There are 6 kind of parameters
The common battery variables
The calculated battery variables
The additional battery variables
The configuration variables
The CAN variables
The hardware parameters
In the console (CLI) type "bms get all" to get all the parameters and its current value.
In the console (CLI) type: "bms help parameters" to get more info on the parameters.
Table 1. Common battery variables list
Table 2. Calculated battery variables list
Table 3. Additional battery variables list
Table 4. Configuration variables list
Table 5. Can variables list
A line means this is not implemented yet.
* These parameters will only be implemented during startup of the BMS
Table 6. BMS hardware parameters list
A line means this is not implemented yet.
Parameter
Unit
Datatype
Description
Default
RO/RW
No
v-out
V
float
The voltage of the BMS output
0
RO
0
v-batt
V
float
The voltage of the battery pack
0
RO
1
n-cells
-
uint8_t
Number of cells used in the BMS board
3
RW
2
v-cell1
V
float
The voltage of cell 1
0
RO
3
v-cell2
V
float
The voltage of cell 2
0
RO
4
v-cell3
V
float
The voltage of cell 3
0
RO
5
v-cell4
V
float
The voltage of cell 4
0
RO
6
v-cell5
V
float
The voltage of cell 5
0
RO
7
v-cell6
V
float
The voltage of cell 6
0
RO
8
i-batt
A
float
The last recorded current of the battery
0
RO
9
i-batt-avg
A
float
The average current since the last
measurement (period t-meas (default 1s))
0
RO
10
i-batt-10s-avg
A
float
The 10s rolling average current, updated
each t-meas, default 1000 (ms)
0
RO
11
sensor-enable
-
bool
This variable is used to enable or disable
the battery temperature sensor, 0 is
disabled, 1 is enabled
0
RW
12
c-batt
C
float
The temperature of the external battery
temperature sensor
0
RO
13
c-afe
C
float
The temperature of the analog front end
0
RO
14
c-t
C
float
The temperature of the transistor (switch)
0
RO
15
c-r
C
float
The temperature of the sense resistor
0
RO
16
Parameter
Unit
Datatype
Description
Default
RO/RW
No
p-avg
W
float
Average power consumption over the
last 10 seconds.
0
RO
17
e-used
Wh
float
Power consumption since device boot
0
RO
18
t-full
h
float
Charging is expected to complete in this
time; zero if not charging.
0
RO
19
a-rem
Ah
float
Remaining capacity in the battery
0
RW
20
a-full
Ah
float
Full charge capacity, predicted battery
capacity when it is fully charged.
Decreases with aging.
4.6
RW
21
a-factory
Ah
float
Battery capacity stated by the factory
4.6
RW
22
s-charge
%
uint8_t
Percentage of the full charge 0 - 100%.
0
RO
23
s-health
%
uint8_t
Health of the battery in percentage, use
STATE_OF_HEALTH_UNKNOWN =
127 if cannot be estimated.
127
RO
24
s-out
-
bool
This is true if the output power is enabled.
0
RO
25
s-in-flight
-
bool
This is true if the system is in flight (with
flight-mode-enable and i-flight-mode)
0
RO
26
batt-id
-
uint8_t
Identifies the battery within this vehicle,
0 - primary battery.
0
RW
27
Parameter
Unit
Datatype
Description
Default
RO/RW
No
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
28
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
29
v-cell-nominal
V
float
Battery nominal voltage for one cell. will be used for energy calculation.
3.7
RW
30
v-storage
V
float
The voltage what is specified as storage voltage for a cell
3.8
RW
31
v-cell-margin
mV
uint8_t
Cell voltage charge margin to decide or not to go through another topping charge cycle
50
RW
32
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
33
i-peak-max
A
float
Maximum peak current threshold to open the switch during normal operation, can't be overruled
200
RW
34
i-out-max
A
float
Maximum current threshold to open the switch during normal operation, if not overruled
60
RW
35
i-out-nominal
A
float
Nominal discharge current (informative only)
60
RW
36
i-flight-mode
A
uint8_t
Current threshold to not disable the power in flight mode
5
RW
37
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
38
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
39
i-charge-max
A
float
Maximum current threshold to open the
switch during charging
4.6
RW
40
i-charge-nominal
A
float
Nominal charge current (informative
only)
4.6
RW
41
i-charge-full
mA
uint16_t
Current threshold to detect end of charge
sequence
50
RW
42
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
43
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
44
c-pcb-ot
C
float
PCB Ambient temperature over temperature
threshold
45
RW
45
c-pcb-ut
C
float
PCB Ambient temperature under Temperature
threshold
-20
RW
46
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
47
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
48
n-charges
-
uint16_t
The number of charges done
0
RW
49
n-charges-full
-
uint16_t
The number of complete charges
0
RW
50
ocv-slope
mV/A.min
float
The slope of the OCV curve. This will
be used to calculate the balance time.
5.3
RW
51
battery-type
-
uint8_t
The type of battery attached to it.
0 = LiPo, 1 = LiFePO4, 2 = LiFeYPO4,
3 = NMC (LiPo type, LiNiMnCoO2),
4 = Na-ion (Sodium-ion, SIB). Could be
extended. Will change OV, UV, v-storage,
OCV/SoC table if changed runtime.
3
RW
52
Parameter
Unit
Datatype
Description
Default
RO/RW
No
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
53
t-ftti
ms
uint16_t
Cycle of the battery to perform diagnostics (Fault Tolerant Time Interval)
1000
RW
54
t-bms-timeout
s
uint16_t
Timeout for the BMS to go to SLEEP mode when the battery is not used.
600
RW
55
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
56
t-bcc-sleep-cyclic
s
uint8_t
Wake up cyclic timing of the AFE (after front end) during sleep mode
1
RW
57
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
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
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
61
t-cb-delay
s
uint8_t
Time for the cell balancing function to start after entering the CHARGE mode
120
RW
62
t-charge-relax
s
uint16_t
Relaxation time after the charge is complete before going to another charge round.
300
RW
63
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
64
s-flags
-
uint8_t
This contains the status flags as
described in BMS_status_flags_t
255
RO
65
self-discharge-enable
-
bool
This variable is used to enable or disable the SELF_DISCHARGE state, 0 is disabled, 1 is enabled
1
RW
66
flight-mode-enable
-
bool
This variable is used to enable or disable flight mode, is used together with i-flight-mode. 0 is disabled
0
RW
67
emergency-button-enable
-
bool
This variable is used to enable or disable the emergency button on PTE8.
0
RW
68
smbus-enable
-
bool
This variable is used to enable or disable the SMBus update.
0
RW
69
gate-check-enable
-
bool
This variable is used to enable or disable the gate safety check. If true, it will check if it can be turned off, based on output voltage.
1
RW
70
model-id
-
uint64_t
Model id, set to 0 if not applicable
0
RW
71
model-name
-
char[32]
Battery model name, model name is a
human-readable string that could
include the vendor, model, chemistry.
"BMS772"
RW
72
Parameter
Unit
Datatype
Description
Default
RO/RW
No
cyphal-node-static-id*
-
uint8_t
This is the node ID of the CYPHAL node. Should be between 1 - 127 or 255 for PNP.
255
RW
73
cyphal-es-sub-id*
-
uint16_t
This is the subject ID of the energy source CYPHAL message (1...100Hz)
4096
RW
74
cyphal-bs-sub-id*
-
uint16_t
This is the subject ID of the battery status CYPHAL message (1Hz)
4097
RW
75
cyphal-bp-sub-id*
-
uint16_t
This is the subject ID of the battery parameters CYPHAL message (0.2Hz)
4098
RW
76
cyphal-legacy-bi-sub-id*
-
uint16_t
This is the subject ID of the battery info legacy CYPHAL message (0.2 ~ 1Hz)
65535
RW
77
dronecan-node-static-id
-
uint8_t
This is the node ID of the DRONECAN node. Should be between 1 - 127 or 255 for dynamic node id.
0
RW
78
dronecan-bat-continuous
-
uint8_t
This indicates if the particular DroneCAN topic has to be published
0
RW
79
dronecan-bat-periodic
-
uint8_t
This indicates if the particular DroneCAN topic has to be published
0
RW
80
dronecan-bat-cells
-
uint8_t
This indicates if the particular DroneCAN topic has to be published
0
RW
81
dronecan-bat-info
-
uint8_t
This indicates if the particular DroneCAN topic has to be published
1
RW
82
dronecan-bat-info-aux
-
uint8_t
This indicates if the particular DroneCAN topic has to be published
1
RW
83
can-mode
-
char[32]
Options “OFF”, "DRONECAN" and "CYPHAL". To indicate which is used.
“OFF”
RW
84
can-fd-mode*
-
uint8_t
If true CANFD is used, otherwise classic CAN is used
0
RW
85
can-bitrate*
bit/s
int32_t
The bitrate of classical can or CAN FD arbitration bitrate
1000000
RW
86
can-fd-bitrate*
bit/s
int32_t
The bitrate of CAN FD data bitrate
4000000
RW
87
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
88
v-max
V
uint8_t
Maximum stack voltage allowed by the BMS board
26
RW
89
i-range-max
A
uint16_t
Maximum current that can be measured by the BMS board
300
RW
90
i-max
A
uint8_t
Maximum DC current allowed in the BMS board (limited by power dissipation in the MOSFETs). For info only. Use i-out-max for a limit.
60
RW
91
i-short
A
uint16_t
Short circuit current threshold (typical: 550A, min: 500A, max: 600A)
500
RW
92
t-short
us
uint8_t
Blanking time for the short circuit detection
20
RW
93
i-bal
mA
uint8_t
Cell balancing current under 4.2V with cell balancing resistors of 82 ohms
50
RW
94
m-mass
kg
float
The total mass of the (smart) battery
0
RW
95
f-v-out-divider-factor
-
float
The factor of the output voltage divider as component tolerances could be different to not result in 11.0.
11.0
RW
96