Parameters of the BMS

This page shows the parameters of the BMS.

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

  1. The common battery variables

  2. The calculated battery variables

  3. The additional battery variables

  4. The configuration variables

  5. The CAN variables

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

The BMS parameter lists

The common battery variables list

Table 1. Common battery variables list

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

The calculated battery variables list

Table 2. Calculated battery variables list

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

The additional battery variables list

Table 3. Additional battery variables list

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

The configuration variables list

Table 4. Configuration variables list

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

The can variables list

Table 5. Can variables list

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

A line means this is not implemented yet.

* These parameters will only be implemented during startup of the BMS

The hardware parameters

Table 6. 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

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

A line means this is not implemented yet.

Last updated