12S BMS Module

12S BMS Module

 

Description

Battery Management System (BMS) for new 12S4P custom battery pack.

Engineer: @Chenxuan Yuan

 

Requirements

  • BMS IC supports:

    • 12S pack

    • 4.2*12 = 50.4V

    • Can handle drone’s max current draw of

    • Passive balancing when charging

    • Temperature monitoring using connection with battery pack’s NTC thermistors

  • Low power MCU

  • CAN

IC Component Selection

IC

Description

 

IC

Description

 

BMS: MP2791*
monolithicpower.com/en/documentview/productdocument/index/version/2/document_type/Datasheet/lang/en/sku/MP2791DFP/document_id/9998/

  • 8S to 14S support

  • VTOP 18V to 65.8V

  • Each cell voltage 1V to 5V

  • High-side N-channel MOSFET for CHG/DSG support up to 100A

 

MCU: STM32L431KC

  • low power

  • supports DSP instructions for SOC estimation

 

CAN transceiver:

 

 

VTOP to 3V3 Buck: MP4571GQB-Z

High-Efficiency, 1A, 60V, Fully Integrated Synchronous Buck Converter

  • 1A → lots of headroom for MCU, CAN, and other potential stuff

 

*not in-stock on JLCPCB, otherwise in-stock

System Overview

Block Diagram

*we already have a 12S precharge module . But the MP2791 has a very convenient soft start feature, so you can integrate a precharge circuit with it, removing the need for a separate precharge module. (monolithicpower.com/en/documentview/productdocument/index/version/2/document_type/Datasheet/lang/en/sku/MP2791DFP/document_id/9998/ page 22)

**BJT LDO to drop HV to 5V for its REGIN because the BMS IC itself needs very little current on its 5V rail. We can then use a buck to drop HV to 3.3V for the MCU+CAN (we do not want to use the 3V3 output pin of the MP2791 bc its current too low and rail not clean)

The BMS (MP2791):

  • Voltage senses each cell and balances each cell individually

    • passive balancing → only balances when charging/idle on ground

    • MP2791 has internal balancing MOSFET circuitry that provides 58mA balance current but we achieve higher balance current (300mA) using external MOSFETs to speed up charge time

  • Controls charge and discharge lines using external MOSFETs controlled by the BMS IC’s internal protection logic

  • NTC thermistors within the battery pack connects to the BMS board and monitors the temperature

 

Battery pack configuration

image-20250526-131212.png

 

Parallel first then series 12S4P, each 1S4P block is treated as one cell by the BMS, total of 13 cell sensing nodes.

Component Selection and Descriptions

TODO

 

Schematics

MP2791

image-20250526-031509.png
BMS_MP2791.sch

In-progress

POWER

in-progress, almost done

 

MCU+CAN

reference CAN DSHOT adapter

 

IO

 

Charging

TLDR Recommendation

  • Why BMS?

    • critical cell safety OV, UV, OC, OT, and SOC estimation

    • built in balancing during CV charge phase, so no need for separate balancing chargers

    • no more splitting the pack everytime we charge the pack, we charge the entire pack as a whole

    • BMS is sealed within 12S4P pack, the pack always stays intact

  • Fit our MP2791 board with external 0.3–0.5 A FET-resistors for fast balancing (balanced only during CV, no balancing in-air, so no effect on flight)

  • Buy a single 50.4V, 18–20 A CC/CV brick (e.g. Mean Well SE-1000-48 for 20A, and SE-1000-24 for 40A, SE-1000.cdr)

  • Same charge time: charging a single 12S4P pack at 1C (18A) is the same as charging 4x 6S2P subpacks each at 1C (2x4.5=9A)

  • lower cost: buying a single brick 18 A charger is far cheaper than 4–8 extra 6 S chargers at $350 a piece

  • zero extra handling, no pack-wear

  • Sealed smart packs are standard prac on commercial drones like DJI all have onboard BMS and do not require balancing chargers.

  • IMO a BMS gets you free protection, lower cost, and reduced complexity, only con would be that we would retire the 6S chargers but maybe we should be moving towards this new onboard BMS charge workflow

Currently, we are breaking apart the pack and charging each 6S block with balancing chargers. A balancing charger can be seen as a charger integrated w/ a BMS. Because we now have our own BMS attached to the battery pack, we no longer need costly balancing chargers. Instead of breaking up the pack to charge faster, we can use a standard brick charger that provides enough current and input voltage to have C-rating=1 (~18A, ~50.4V) and balancing will be done by the BMS that matches the balancing current of evpeak balancing chargers we’re currently using, so we can charge just as fast. This is standard practice; breaking apart the pack every cycle adds complexity and potential pack degradation.

image-20250526-132124.png
Fast charging a single cell

Fast charging (0.8- 1C) doesn’t really affect a single high-quality lithium cell; however, it becomes an issue when connected in series, forming a pack. Cell imbalances become worse as you increase charge speed, so the main detriment to pack health isn’t fast charging but rather inadequate balancing. The BMS starts balancing the cells nearing the end of the CC Fast Charge phase and does most of its work during the CV phase. Note that the CV phase is a natural transition in any charger, because I=V/R, so the charge current begins to taper off as the voltage difference decreases.

Charge time

We can now understand why charging at 1C does not mean it takes exactly one hour to reach 100% SOC. This means that the charger is able to maintain 1C current (eg, 18A) for the entire charge duration until 100% SOC, but this obviously isn't realistic because of the different phases and the additional time it takes to balance the cells, but oftentimes you can get pretty close to one hour. The following images show an e-bike being charged at 1C, with pretty slow internal balancing (I_bal=58mA). You can see that the main CC phase is from 10 to ~55min, and the CV phase is from 55 to 80min to reach 100% SOC. Typically, you would not charge to 100% because it's bad for the battery health while also taking up extra charge time. So around 70min (~97% SOC) you would stop charging. As aforementioned, to reduce the balancing time during CV, we can increase the balancing current of the BMS to ~300 to 400mA by using external MOSFETs rather than their 58mA I_bal internal ones.

image-20250526-142134.png
image-20250526-142247.png