1. Home
  2. /
  3. Products
  4. /
  5. Power
  6. /
  7. D200 Battery Management System...

D200 Battery Management System (BMS)

Introducing our cutting-edge Battery Management System (BMS) designed specifically for the use in robotics and drones.

This advanced BMS supports cascadable batteries via isolated CAN, providing a reliable alternative to Chinese manufactured products. Based on the NXP RDDRONE-BMS772 reference design, this BMS ensures optimal performance and reliability.

Whether you need detailed battery parameter logging or seamless integration and scalability, our BMS is engineered to meet the most demanding applications.

  • 6S (LiPo) BMS with balancer, switch, CAN, RFID
  • 10A to 50A power out (upgradeable)
  • Minimal standby power consumption 
  • Batteries cascadable with isolated CAN bus
  • Comprehensive battery parameter logging: SOC, SOH, temperature and mating cycles
  • Read out of battery parameters via CAN, UART (J31 or RFID (planed))
  • Supports 3S to 6S battery systems with integrated cell balancing
  • SAMTEC-HSEC8-120-01-S-DV-A plug
    • Simple power distribution board must be developed
  • Power distribution boards for evaluation are available for single batteries and two cascaded batteries 
  • LCD display connection
  • Based on the NXP RDDRONE-BMS772 reference design
  • Designed to be hot pluggable
  • 50A M4 screw sockets for battery plus and battery minus
  • Size: 48mm x 80mm (LxW)
  • Non cascadable variant (non isolated) available
  • List price 129,00
    • for volume orders please ask for a quote
Status: Prototypes are available for custom projects. Please contact our sales team.
Download
     

Delivery Time: ca. 48 hours
SKU: 70012 Category: Tags: ,
Caption

Description

LCD setup / Simple cascaded power distribution board setup

Parameters of the BMS
GitBook
The common battery variables list
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.
ParameterUnitDatatypeDescriptionDefaultRO/RWNo
v-outVfloatThe voltage of the BMS output0RO0
v-battVfloatThe voltage of the battery pack0RO1
n-cellsuint8_tNumber of cells used in the BMS board3RW2
v-cell1 VfloatThe voltage of cell 10RO3
v-cell2 VfloatThe voltage of cell 20RO4
v-cell3 VfloatThe voltage of cell 30RO5
v-cell4 VfloatThe voltage of cell 40RO6
v-cell5 VfloatThe voltage of cell 50RO7
v-cell6VfloatThe voltage of cell 60RO8
i-battAfloatThe last recorded current of the battery0RO9
i-batt-avgAfloatThe average current since the last measurement (period t-meas (default 1s))0RO10
i-batt-10s-avgAfloatThe 10s rolling average current, updated each t-meas, default 1000 (ms)0RO11
sensor-enableboolThis variable is used to enable or disable
the battery temperature sensor, 0 is disabled, 1 is enabled
0RW12
c-battCfloatThe temperature of the external battery temperature sensor0RO13
c-afeCfloatThe temperature of the analog front end0RO14
c-tCfloatThe temperature of the transistor (switch)0RO15
c-rCfloatThe temperature of the sense resistor0RO16
The calculated battery variables list
ParameterUnitDatatypeDescriptionDefaultRO/RWNo
p-avgWfloatAverage power consumption over the last 10 seconds.0RO17
e-usedWhfloatPower consumption since device boot0RO18
t-fullhfloatCharging is expected to complete in this time; zero if not charging.0RO19
a-remAhfloatRemaining capacity in the battery0RW20
a-fullAhfloatFull charge capacity, predicted battery capacity when it is fully charged.
Decreases with aging.
4.6RW21
a-factoryAhfloatBattery capacity stated by the factory4.6RW22
s-charge%uint8_tPercentage of the full charge 0 – 100%0RO23
s-health%uint8_tHealth of the battery in percentage, use STATE_OF_HEALTH_UNKNOWN = 127 if cannot be estimated.127RO24
s-outboolThis is true if the output power is enabled.0RO25
s-in-flightboolThis is true if the system is in flight (with flight-mode-enable and i-flight-mode)0RO26
batt-iduint8_tIdentifies the battery within this vehicle, 0 – primary battery.0RW27
The additional battery variables list
ParameterUnitDatatypeDescriptionDefaultRO/RWNo
v-cell-ovVfloatBattery maximum allowed voltage for one cell. Exceeding this voltage, the BMS will go to fault mode4.2RW28
v-cell-uvVfloatBattery minimum allowed voltage for one cell. Going below this voltage, the BMS will go to fault mode followed by deepsleep after t-fault-timeout3RW29
v-cell-nominalVfloatBattery nominal voltage for one cell. Will be used for energy calculation.3.7RW30
v-storageVfloatThe voltage what is specified as storage voltage for a cell3.8RW31
v-cell-marginmVuint8_tCell voltage charge margin to decide or not to go through another topping charge cycle50RW32
v-recharge-marginmVuint16_tCell 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-ov200RW33
i-peak-maxAfloatMaximum peak current threshold to open the switch during normal operation, can’t be overruled200RW34
i-out-maxAfloatMaximum current threshold to open the switch during normal operation, if not overruled60RW35
i-out-nominalAfloatNominal discharge current (informative only)60RW36
i-flight-modeAuint8_tCurrent threshold to not disable the power in flight mode5RW37
i-sleep-ocmAuint8_tOvercurrent threshold detection in sleep mode that will wake up the BMS and also the threshold to detect the battery is not in use30RW38
i-systemmAuint8_tCurrent of the BMS board itself, this is measured (as well) during charging, so this needs to be subtracted40RW39
i-charge-maxAfloatMaximum current threshold to open the switch during charging4.6RW40
i-charge-nominalAfloatNominal charge current (informative only)4.6RW41
i-charge-fullmAuint16_tCurrent threshold to detect end of charge sequence50RW42
c-cell-otCfloatOver temperature threshold for the cells. Going over this threshold and the BMS will go to FAULT mode45RW43
c-cell-utCfloatUnder temperature threshold for the cells.
Going under this threshold and the BMS will go to FAULT mode
-20RW44
c-pcb-otCfloatPCB Ambient temperature over temperature threshold45RW45
c-pcb-utCfloatPCB Ambient temperature under Temperature threshold-20RW46
c-cell-ot-chargeCfloatOver temperature threshold for the cells
During charging. Going over this threshold and the BMS will go to FAULT mode.
40RW47
c-cell-ut-chargeCfloatUnder temperature threshold for the cells during charging. Going under this threshold during charging and the BMS will go to FAULT mode0RW48
n-chargesuint16_tThe number of charges done0RW49
n-charges-fulluint16_tThe number of complete charges0RW50
ocv-slopemV/A.
min
floatThe slope of the OCV curve. This will be used to calculate the balance time.5.3RW51
battery-typeuint8_tThe 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.
3RW52
The configuration variable list
ParameterUnitDatatypeDescriptionDefaultRO/RWNo
t-measmsuint16_tCycle 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)1000RW53
t-fttimsuint16_tCycle of the battery to perform diagnostics (Fault Tolerant Time Interval)1000RW54
t-bms-timeoutsuint16_tTimeout for the BMS to go to SLEEP mode when the battery is not used.600RW55
t-fault-timeoutsuint16_tAfter this timeout, with an undervoltage fault the battery will go to DEEPSLEEP mode to preserve power. 0 sec is disabled.60RW56
t-bcc-sleep-cyclicsuint8_tWake up cyclic timing of the AFE (after front end) during sleep mode1RW57
t-sleep-timeouthuint8_tWhen the BMS is in sleep mode for this period it will go to the self- discharge mode, 0 if disabled.24RW58
t-ocv-cyclic0sint32_tOCV measurement cyclic timer start (timer is increase by 50% at each cycle)300RW59
t-ocv-cyclic1sint32_tOCV measurement cyclic timer final value (limit)86400RW60
t-charge-detectsuint8_tDuring NORMAL mode, if the battery current is positive for more than this time, then the BMS will go to CHARGE mode1RW61
t-cb-delaysuint8_tTime for the cell balancing function to start after entering the CHARGE mode120RW62
t-charge-relaxsuint16_tRelaxation time after the charge is complete before going to another charge round.300RW63
batt-eol%uint8_tPercentage at which the battery is end-of-life and shouldn’t be used anymore Typically between 90%- 50%80RW64
s-flagsuint8_tThis contains the status flags as described in BMS_status_flags_t255RO65
self-discharge-enableboolThis variable is used to enable or disable the SELF_DISCHARGE state, 0 is disabled, 1 is enabled1RW66
flight-mode-enableboolThis variable is used to enable or disable flight mode, is used together with i-flight-mode. 0 is disabled0RW67
emergency-button-enableboolThis variable is used to enable or disable the emergency button on PTE8.0RW68
smbus-enableboolThis variable is used to enable or disable the SMBus update.0RW69
gate-check-enableboolThis 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.1RW70
model-iduint64_tModel id, set to 0 if not applicable0RW71
model-namechar[32]Battery model name, model name is a
human-readable string that could
include the vendor, model, chemistry.
“BMS772”RW72
A line means this is not implemented yet.
The can variables list
ParameterUnitDatatypeDescriptionDefaultRO/RWNo
cyphal-node-static-id*uint8_tThis is the node ID of the CYPHAL node. Should be between 1 – 127 or 255 for PNP.255RW73
cyphal-es-sub-id*uint16_tThis is the subject ID of the energy source CYPHAL message (1…100Hz)4096RW74
cyphal-bs-sub-id*uint16_tThis is the subject ID of the battery status CYPHAL message (1Hz)4097RW75
cyphal-bp-sub-id*uint16_tThis is the subject ID of the battery parameters CYPHAL message (0.2Hz)4098RW76
cyphal-legacy-bi-sub-id*uint16_tThis is the subject ID of the battery info legacy CYPHAL message (0.2 ~ 1Hz)65535RW77
dronecan-node-static-iduint8_tThis is the node ID of the DRONECAN node. Should be between 1 – 127 or 255 for dynamic node id.0RW78
dronecan-bat-continuousuint8_tThis indicates if the particular DroneCAN topic has to be published0RW79
dronecan-bat-periodicuint8_tThis indicates if the particular DroneCAN topic has to be published0RW80
dronecan-bat-cellsuint8_tThis indicates if the particular DroneCAN topic has to be published0RW81
dronecan-bat-infouint8_tThis indicates if the particular DroneCAN topic has to be published1RW82
dronecan-bat-info-auxuint8_tThis indicates if the particular DroneCAN topic has to be published1RW83
can-modechar[32]Options “OFF”, “DRONECAN” and “CYPHAL”. To indicate which is used.“OFF”RW84
can-fd-mode*uint8_tIf true CANFD is used, otherwise classic CAN is used0RW85
can-bitrate*bit/sint32_tThe bitrate of classical can or CAN FD arbitration bitrate1000000RW86
can-fd-bitrate*bit/sint32_tThe bitrate of CAN FD data bitrate4000000RW87
* These parameters will only be implemented during startup of the BMS
The hardware parameters
ParameterUnitDatatypeDescriptionDefaultRO/RWNo
v-minVuint8_tMinimum stack voltage for the BMS board to be fully functional6RW88
v-maxVuint8_tMaximum stack voltage allowed by the BMS board26RW89
i-range-maxAuint16_tMaximum current that can be measured by the BMS board300RW90
i-maxAuint8_tMaximum DC current allowed in the BMS board (limited by power dissipation in the MOSFETs). For info only. Use i- out-max for a limit.60RW91
i-shortAuint16_tShort circuit current threshold (typical: 550A, min: 500A, max: 600A)500RW92
t-shortusuint8_tBlanking time for the short circuit detection20RW93
i-balmAuint8_tCell balancing current under 4.2V with cell balancing resistors of 82 ohms50RW94
m-masskgfloatThe total mass of the (smart) battery0RW95
f-v-out-divider-factorfloatThe factor of the output voltage divider as component tolerances could be different to not result in 11.0.11.0RW96