Chọn mạch BMS cho khối pin 3S, 4S, 7S: tính nSmP, dòng BMS, cầu chì, dây cân bằng, nhiệt độ

Chọn mạch BMS cho khối pin 3S, 4S, 7S: tính số cell nối tiếp, song song, dòng BMS, cầu chì, tiết diện dây; đấu dây cân bằng đúng thứ tự; cảm biến nhiệt, tản nhiệt; kiểm tra BMS mới.

Bài này hướng dẫn chọn mạch BMS cho các khối pin lithium hay tự làm: 3S (12 V), 4S (12,8 V LiFePO4 hoặc 14,8 V Li-ion), 7S (24 V). Nội dung gồm tính số cell nối tiếp, song song từ điện áp, dòng, dung lượng cần dùng; chọn dòng BMS, cầu chì, tiết diện dây; đấu dây cân bằng đúng thứ tự; đặt cảm biến nhiệt; kiểm tra BMS mới trước khi dùng. Bài có script Python tính cấu hình khối pin.

BMS là gì, bên trong có gì, ngưỡng bảo vệ, cân bằng thụ động và chủ động, cổng chung và cổng riêng có ở bài BMS là gì cùng cụm chủ đề; bài này đi thẳng vào chọn và lắp.

1. Chọn cấu hình nSmP

  • Số cell nối tiếp (S) quyết định điện áp: điện áp danh định ÷ 3,6 V với Li-ion, ÷ 3,2 V với LiFePO4. Thiết bị 12 V dùng 3S Li-ion hoặc 4S LiFePO4; 24 V dùng 7S Li-ion hoặc 8S LiFePO4.
  • Số cell song song (P) lấy số lớn hơn giữa hai điều kiện: đủ dung lượng (Ah cần ÷ Ah mỗi cell) và đủ dòng (dòng tải ÷ dòng xả liên tục cho phép của mỗi cell). Thiết bị dòng lớn với cell dung lượng cao, dòng xả thấp thì số P do dòng quyết định. Cách chọn cell theo dòng xả có ở bài chọn cell 18650 theo dòng xả cùng cụm.
  • Các cell trong khối phải cùng loại, cùng dung lượng, cùng tuổi, nội trở gần nhau; ghép nối tiếp, song song tính thế nào có ở bài ghép pin 18650 nối tiếp, song song.
Bảng cấu hình hay gặp: 3S Li-ion 10,8 đến 12,6 V sạc 12,6 V cho đèn LED, router, loa kéo; 4S LiFePO4 12,8 đến 14,6 V thay ắc quy chì; 4S Li-ion 14,4 đến 16,8 V cho dụng cụ điện, flycam; 7S Li-ion 25,2 đến 29,4 V cho xe điện nhỏ 24 V
Bộ sạc phải đúng số cell và loại pin.

2. Script tính khối pin, BMS, cầu chì, dây

# PYWORLD.VN - Thiết kế khối pin và chọn BMS: số cell nối tiếp (S), song song (P), dòng BMS, cầu chì, tiết diện dây, bộ sạc
# PYWORLD.VN - Mức dây và cầu chì là mức thận trọng cho dây đồng ngắn trong không khí; tra thông số của đúng dây, cầu chì khi làm thật
# PYWORLD.VN - Ví dụ: python thiet_ke_khoi_pin.py --dien-ap 24 --dong 10 --dung-luong 10 --cell-mah 2500 --cell-dong 20
"""Từ điện áp, dòng, dung lượng cần có, tính cấu hình khối pin nSmP và thông số BMS, dây, cầu chì."""
from __future__ import annotations

import argparse
import math

LOAI = {"li-ion": (3.6, 4.2, 3.0), "lifepo4": (3.2, 3.65, 2.5)}   # danh định, sạc đầy, hết pin (V/cell)
# Tiết diện dây đồng (mm²) và dòng liên tục thận trọng (A) cho đoạn dây ngắn, đặt thoáng
DAY = [(0.5, 3), (0.75, 6), (1.0, 8), (1.5, 12), (2.5, 18), (4.0, 25), (6.0, 32), (10.0, 45)]
CAU_CHI = [3, 5, 7.5, 10, 15, 20, 25, 30, 40, 50, 60, 80, 100]


def thiet_ke(dien_ap: float, dong: float, dung_luong_ah: float, loai: str, cell_mah: int, cell_dong: float) -> list[str]:
    dd, day, het = LOAI[loai]
    s = max(1, round(dien_ap / dd))
    p_dung_luong = math.ceil(dung_luong_ah * 1000 / cell_mah)
    p_dong = math.ceil(dong / cell_dong)
    p = max(p_dung_luong, p_dong)
    bms = math.ceil(dong * 1.3)
    cau_chi = next((c for c in CAU_CHI if c >= dong * 1.25), CAU_CHI[-1])
    day_mm2 = next((mm2 for mm2, a in DAY if a >= cau_chi), None)
    ra = [f"Can {dien_ap:g} V, {dong:g} A, {dung_luong_ah:g} Ah; cell {loai} {cell_mah} mAh, toi da {cell_dong:g} A/cell",
          f"  Cau hinh {s}S{p}P = {s * p} cell (P theo dung luong {p_dung_luong}, theo dong {p_dong})",
          f"  Dien ap khoi: danh dinh {s * dd:.1f} V, sac day {s * day:.1f} V, het pin {s * het:.1f} V",
          f"  Dung luong {p * cell_mah / 1000:.1f} Ah, nang luong khoang {s * dd * p * cell_mah / 1000:.0f} Wh",
          f"  BMS {s}S {loai}, dong lien tuc tu {bms} A; bo sac {s * day:.1f} V",
          f"  Cau chi {cau_chi:g} A gan cuc duong khoi pin; day dong tu {day_mm2 if day_mm2 else '>10'} mm2"]
    if p_dong > p_dung_luong:
        ra.append("  Luu y: so cell song song do DONG quyet dinh, khong phai dung luong")
    return ra


def main() -> None:
    ap = argparse.ArgumentParser(description=__doc__)
    ap.add_argument("--dien-ap", type=float, help="dien ap danh dinh can, V")
    ap.add_argument("--dong", type=float, help="dong tai lien tuc, A")
    ap.add_argument("--dung-luong", type=float, help="dung luong can, Ah")
    ap.add_argument("--loai", choices=list(LOAI), default="li-ion")
    ap.add_argument("--cell-mah", type=int, default=2500)
    ap.add_argument("--cell-dong", type=float, default=10, help="dong lien tuc toi da moi cell, A")
    a = ap.parse_args()
    if a.dien_ap is None:
        vi_du = [(11.1, 3, 5, "li-ion", 2500, 10), (12.8, 8, 12, "lifepo4", 6000, 12), (25.2, 12, 10, "li-ion", 2500, 20)]
        for v in vi_du:
            print("\n".join(thiet_ke(*v)))
        return
    print("\n".join(thiet_ke(a.dien_ap, a.dong, a.dung_luong, a.loai, a.cell_mah, a.cell_dong)))


if __name__ == "__main__":
    main()
Kết quả script: 3S Li-ion 3 A 5 Ah ra 3S2P, BMS từ 4 A, cầu chì 5 A, dây 0,75 mm2; 4S LiFePO4 8 A 12 Ah ra 4S2P, BMS từ 11 A, cầu chì 10 A, dây 1,5 mm2; 7S Li-ion 12 A 10 Ah ra 7S4P 28 cell, BMS từ 16 A, cầu chì 15 A, dây 2,5 mm2
Chạy không tham số để xem ba ví dụ.
  • Dòng BMS: lấy dư khoảng 30 % so với dòng tải liên tục. BMS ghi "20 A" thường là dòng chịu được khi có tản nhiệt tốt; lắp trong hộp kín thì nên dư nhiều hơn.
  • Dòng đỉnh: động cơ, máy khoan, inverter có dòng khởi động gấp nhiều lần; xem ngưỡng quá dòng và thời gian trễ trong thông số BMS, nếu không BMS sẽ ngắt mỗi lần khởi động.
  • Cầu chì đặt gần cực dương khối pin, bảo vệ dây khi có chập trước BMS hoặc khi MOSFET của BMS hỏng ở trạng thái dẫn. Chọn khoảng 1,25 lần dòng tải, và nhỏ hơn khả năng chịu dòng của dây.
  • Dây: bảng trong script là mức thận trọng cho dây đồng ngắn, đặt thoáng; dây silicone chịu nhiệt chịu được dòng cao hơn. Dây dài thì tính thêm sụt áp.

3. Đấu dây cân bằng đúng thứ tự

Sơ đồ dây cân bằng: 3S có B−, B1, B2, B+ với điện áp 0; 3,7; 7,4; 11,1 V; 4S thêm B3 14,8 V; 7S có B− tới B6 và B+ 25,9 V
Mỗi bậc tăng khoảng một cell.
  • B− là âm của cả khối, B1 là điểm nối cell 1 với cell 2, B2 là điểm nối cell 2 với cell 3…, B+ là dương của cả khối. Khối 3S có 4 dây cân bằng, 4S có 5, 7S có 8.
  • Trước khi cắm giắc vào BMS, đo điện áp từng chân so với B−: phải tăng đều khoảng một cell mỗi bậc (khoảng 3,7 V với Li-ion đang ở giữa mức pin). Sai thứ tự, thiếu dây, đảo dây là lý do hay gặp nhất làm hỏng IC bảo vệ.
  • Thứ tự thường được nhà sản xuất khuyên: nối dây âm lớn B− trước, cắm giắc cân bằng sau cùng. Tháo thì làm ngược lại.
  • Khối nhiều cell song song: dây cân bằng nối vào thanh nối chung của cả nhóm song song đó, không cần dây riêng cho từng cell.

4. Nhiệt độ: cảm biến và tản nhiệt

  • BMS có cảm biến nhiệt (NTC) thì dán đầu NTC vào giữa các cell, chỗ nóng nhất, cố định bằng băng keo chịu nhiệt; treo NTC ngoài không khí thì BMS đo sai.
  • Pin Li-ion không nên sạc dưới khoảng 0 °C; BMS có NTC cài ngưỡng nhiệt thấp sẽ chặn sạc khi lạnh. Ở Việt Nam hay gặp phía ngược lại: khối pin trong hộp kín đặt ngoài nắng quá nóng.
  • MOSFET của BMS tỏa nhiệt theo bình phương dòng: áp mặt tản nhiệt vào vỏ hộp kim loại, chừa đường cho nhiệt thoát, không quấn BMS kín trong lớp màng co cùng các cell.

5. Kiểm tra và lắp

Bảng kiểm tra lắp BMS: đúng số cell và loại pin; đo thứ tự dây cân bằng trước khi cắm; BMS mới đầu ra 0 V thì cắm sạc để đánh thức; dán NTC giữa các cell; tản nhiệt MOSFET; giấy cách điện và cầu chì
Làm theo thứ tự trên xuống.

Sau khi lắp: đo điện áp giữa P+ và P− (nhiều BMS mới cần cắm sạc một lần để mở đầu ra), thử tải nhỏ trước, rồi tải thật; theo dõi nhiệt độ BMS trong lần chạy đầu. Sạc bằng bộ sạc đúng điện áp (12,6 V cho 3S Li-ion, 14,6 V cho 4S LiFePO4, 29,4 V cho 7S Li-ion). Với khối pin nhỏ sạc từ cổng 5 V Type-C có thể dùng mạch sạc tăng áp 2S–4S, đấu như bài mạch sạc pin 2S, 3S, 4S từ Type-C; cell 18650 nhỏ lẻ lắp gọn bằng khay pin 18650.

6. Lỗi hay gặp

Hiện tượngNguyên nhân thường gặpCách xử lý
BMS nóng, ngắt khi chạy lâuDòng gần định mức, tản nhiệt kémBMS dòng lớn hơn; áp tản nhiệt vào vỏ
Ngắt ngay khi bật máyDòng khởi động vượt ngưỡng quá dòng; tụ lớn của inverterBMS dòng đỉnh cao hơn; mạch nạp trước (pre-charge)
Khối pin tụt nhanh ở cuốiMột nhóm cell yếu chạm ngưỡng quá xả trướcĐo từng nhóm; thay nhóm yếu, ghép lại cell đều nhau
Sạc không đầyCell lệch, cân bằng thụ động quá chậmSạc cân bằng từng cell một lần; BMS cân bằng chủ động cho khối lớn
Hỏng BMS lúc cắm giắcSai thứ tự dây cân bằngĐo từng chân trước khi cắm
Đứt cầu chì khi chạy bình thườngCầu chì nhỏ hơn dòng thậtĐo dòng thật; chọn cầu chì khoảng 1,25 lần

7. Xem thêm

Bài cùng cụm chủ đề: BMS là gì; nội trở pin; chọn cell 18650 theo dòng xả.


Tin tức liên quan

Logic analyzer 8 kênh và PulseView: bắt và giải mã UART, I2C, SPI, PWM của ESP32
Logic analyzer 8 kênh và PulseView: bắt và giải mã UART, I2C, SPI, PWM của ESP32

Dùng logic analyzer 8 kênh giá rẻ với PulseView: nối dây với ESP32, cài driver bằng Zadig, bắt tín hiệu bằng kích hoạt, giải mã UART, I2C, SPI, đo PWM và chọn tốc độ lấy mẫu.

Để học lập trình phát triển tư duy toàn diện cho trẻ: 7 điều kiện và bảng theo dõi cho phụ huynh
Để học lập trình phát triển tư duy toàn diện cho trẻ: 7 điều kiện và bảng theo dõi cho phụ huynh

Bảy điều kiện từ các nghiên cứu giúp việc học lập trình phát triển tư duy toàn diện cho trẻ, kèm bảng theo dõi tiến bộ, mẫu buổi học 45 phút và câu hỏi khi chọn lớp học.

Động cơ bước cho máy CNC: NEMA 17, NEMA 23, mô-men giữ, vi bước, vì sao rung và mất bước
Động cơ bước cho máy CNC: NEMA 17, NEMA 23, mô-men giữ, vi bước, vì sao rung và mất bước

Động cơ bước quay thế nào, cỡ NEMA 17, NEMA 23 khác nhau ra sao, vi bước, vì sao mô-men giảm khi quay nhanh, cách tìm cặp dây cuộn và cách xử lý khi động cơ rung, mất bước.

Giáo dục STEM là gì? STEM, STEAM khác nhau thế nào và vì sao giúp trẻ phát triển tư duy
Giáo dục STEM là gì? STEM, STEAM khác nhau thế nào và vì sao giúp trẻ phát triển tư duy

Giáo dục STEM là gì, gồm những lĩnh vực nào, STEM và STEAM khác nhau ra sao, giáo dục STEM ở trường phổ thông Việt Nam và cách bắt đầu STEM với trẻ ở nhà theo độ tuổi.

Queue, semaphore, mutex trong FreeRTOS: chia sẻ dữ liệu an toàn giữa các task trên ESP32
Queue, semaphore, mutex trong FreeRTOS: chia sẻ dữ liệu an toàn giữa các task trên ESP32

Vì sao biến dùng chung bị sai trên ESP32 hai nhân, queue chuyển dữ liệu, semaphore để ngắt báo cho task, mutex bảo vệ Serial, thí nghiệm hai nhân cùng tăng một biến.

Cách đấu jack Type-C tích hợp mạch sạc với pin 18650, Li-po: sơ đồ, đèn báo và lỗi thường gặp
Cách đấu jack Type-C tích hợp mạch sạc với pin 18650, Li-po: sơ đồ, đèn báo và lỗi thường gặp

Hướng dẫn đấu jack Type-C tích hợp mạch sạc với pin 18650 hoặc Li-po một cell: dây đỏ, dây đen nối vào đâu, tải nối thế nào, khi nào cần mạch bảo vệ, cách đọc đèn đỏ xanh và bảng tra lỗi thường gặp.

Quy tắc quyết định và tỉ số TUR: khi nào được kết luận đạt, dải bảo vệ và rủi ro chấp nhận sai
Quy tắc quyết định và tỉ số TUR: khi nào được kết luận đạt, dải bảo vệ và rủi ro chấp nhận sai

Quy tắc quyết định theo ISO/IEC 17025 và ILAC-G8: bốn trường hợp kết quả sát giới hạn, chấp nhận đơn giản và dải bảo vệ, rủi ro chấp nhận sai, tỉ số TUR 4:1 và cách chọn quy tắc.

Watchdog trên ESP32: vì sao mạch tự khởi động lại, đọc lý do reset và tự cứu khi chương trình treo
Watchdog trên ESP32: vì sao mạch tự khởi động lại, đọc lý do reset và tự cứu khi chương trình treo

Watchdog là gì, task watchdog, interrupt watchdog, panic và brownout trên ESP32, in lý do khởi động lại bằng esp_reset_reason, đếm số lần khởi động, cho task tự đăng ký watchdog.


Bình luận
Đã thêm vào giỏ hàng