Parameters of the BMS

This page shows the parameters of the BMS.

This page will describe the variables of the BMS. There are 3 kind of parameters

  1. The BMS variables

  2. The BMS configuration parameters

  3. 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.

BMS variables list

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

BMS configuration parameters list

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

A line means this is not implemented yet. *these parameters will only be implemented during startup of the BMS

BMS hardware parameters list

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

Last updated