An toàn pin lithium-ion: vì sao cháy nổ, cách sạc, bảo quản, mang lên máy bay và xử lý sự cố
An toàn pin lithium-ion: thoát nhiệt là gì, nguyên nhân cháy nổ thường gặp, sạc và bảo quản đúng cách, dấu hiệu pin hỏng, xử lý khi pin bốc cháy, mang pin lên máy bay theo Wh, script kiểm tra pin.
Pin lithium-ion có mặt khắp nơi: điện thoại, sạc dự phòng, xe điện, flycam, mạch ESP32 chạy pin 18650, khối pin tự ghép cho dụng cụ. Năng lượng lớn trong thể tích nhỏ cũng có nghĩa là khi hỏng, pin có thể nóng lên, phụt khí và cháy rất mạnh. Bài này giải thích vì sao pin lithium cháy nổ (hiện tượng thoát nhiệt), các nguyên nhân thường gặp, cách sạc, cất giữ, mang lên máy bay, thải bỏ, và cách xử lý khi pin phồng, nóng hay bốc cháy. Bài có script Python kiểm tra một khối pin: năng lượng Wh, dòng xả, độ lệch áp giữa các cell.
1. Vì sao pin lithium cháy nổ: thoát nhiệt

Bên trong cell lithium-ion có cực dương, cực âm, một màng ngăn mỏng bằng nhựa xốp, và chất điện giải là dung môi hữu cơ dễ cháy. Khi cell nóng lên quá mức, các phản ứng phụ bắt đầu tỏa nhiệt:
- lớp màng mỏng trên bề mặt cực âm (SEI) phân hủy;
- màng ngăn chảy, co lại, hai cực chạm nhau gây chập trong;
- vật liệu cực dương phân hủy nhả oxy, chất điện giải bốc hơi và cháy.
Mỗi bước sinh nhiệt làm bước sau xảy ra nhanh hơn: đó là thoát nhiệt (thermal runaway). Khi đã bắt đầu, cell tự cấp nhiệt và oxy nên ngắt điện cũng không dừng được; khí nóng phụt ra có thể làm cell bên cạnh thoát nhiệt theo.
Vì vậy an toàn pin lithium chủ yếu là phòng: không để cell chập, sạc quá, xả quá sâu, hỏng vỏ hay quá nóng ngay từ đầu. Loại hóa học cũng ảnh hưởng nhiều: cell LiFePO4 (LFP) bền nhiệt hơn hẳn các loại NMC, NCA, LCO thường dùng trong pin 18650.
2. Nguyên nhân thường gặp

- Chập mạch ngoài: cell rời bỏ trong túi chạm chìa khóa, đồng xu; dây trần chạm nhau khi lắp khối pin. Cell 18650 có thể cho dòng chập hàng chục ampe, đủ làm dây đỏ rực và cell nóng tới mức thoát nhiệt.
- Sạc quá áp: dùng bộ sạc sai loại, sạc khối nhiều cell nối tiếp không có mạch bảo vệ, các cell lệch nhau khiến một cell bị sạc vượt 4,2 V.
- Xả quá sâu rồi sạc lại: cell để cạn dưới khoảng 2 V lâu ngày, đồng ở cực âm hòa tan; khi sạc lại, kim loại kết tủa thành nhánh nhọn có thể đâm xuyên màng ngăn. Cell đã xuống dưới 2,5 V nên loại bỏ, không cố sạc lại.
- Hỏng cơ khí: rơi, móp, bị đâm, vỏ co nhiệt rách làm lộ vỏ kim loại (vỏ cell 18650 là cực âm).
- Nhiệt độ cao: để trong xe ô tô ngoài nắng, gần bếp, sạc ngay khi pin còn nóng sau khi xả mạnh.
- Cell kém chất lượng, cell tái chế dán nhãn mới: cách nhận biết có ở bài pin 18650 thật giả cùng cụm chủ đề.
Với khối pin tự ghép, mạch bảo vệ BMS ngắt khi quá áp, thấp áp, quá dòng, ngắn mạch là phần bắt buộc. Cách chọn BMS cho khối 3S, 4S, 7S có ở bài chọn mạch BMS cùng cụm chủ đề.
3. Sạc và bảo quản

- Bộ sạc đúng loại: pin lithium-ion sạc theo dòng không đổi rồi áp không đổi (CC/CV), dừng ở 4,2 V mỗi cell (một số loại 4,35 V, LiFePO4 là 3,6 V). Không sạc pin lithium bằng bộ sạc ắc quy chì, bộ sạc NiMH. Mạch sạc một cell cho ESP32 có ở bài cấp nguồn ESP32 bằng pin 18650 sạc qua jack Type-C.
- Nhiệt độ sạc thường trong khoảng 0–45 °C. Sạc khi pin dưới 0 °C làm lithium kết tủa kim loại trên cực âm, hỏng cell dù không thấy ngay.
- Có người trông khi sạc, nhất là khối pin tự ghép, pin flycam, pin xe điện. Đặt trên mặt không cháy, xa rèm, giấy, xăng dầu; có thể dùng túi chống cháy cho pin flycam.
- Cất giữ lâu ở khoảng 40–60 % dung lượng (3,7–3,85 V mỗi cell), nơi khô, mát, kiểm tra lại mỗi 3–6 tháng. Để đầy 100 % lâu ngày làm cell già nhanh; để cạn thì cell tự xả tới mức xả quá sâu.
- Cell rời cất trong hộp nhựa có ngăn hoặc nắp che cực.
4. Dấu hiệu pin không còn an toàn
- Phồng (pin túi nhôm, pin điện thoại, pin flycam), vỏ cell móp, vỏ co nhiệt rách.
- Nóng bất thường khi sạc hoặc khi để yên.
- Mùi ngọt hắc của dung môi, rỉ chất lỏng ở đầu cell.
- Dung lượng giảm mạnh, điện áp tụt nhanh sau khi sạc đầy (tự xả lớn), cell trong khối lệch áp nhiều so với các cell khác.
Gặp các dấu hiệu này: ngừng dùng, ngừng sạc, để pin ở nơi thoáng, trên nền không cháy, xa vật dễ cháy. Không chọc thủng, ép xẹp pin phồng. Đem tới điểm thu gom pin cũ, không vứt chung rác sinh hoạt.
5. Khi pin bốc khói, bốc cháy
- Tránh xa, không hít khói: khí thoát ra từ pin cháy độc.
- Ngắt nguồn sạc nếu làm được an toàn. Pin nhỏ (sạc dự phòng, cell lẻ) nếu chưa cháy lớn và có thể di chuyển an toàn thì chuyển ra chỗ trống, không chứa vật dễ cháy.
- Dùng nhiều nước để làm mát pin và ngăn lửa lan; bình chữa cháy có thể dập ngọn lửa nhưng cell vẫn có thể bùng lại vì phản ứng bên trong chưa dừng. Pin lithium-ion không chứa lithium kim loại nên dùng nước làm mát được; nhưng thiết bị đang cắm điện lưới thì phải ngắt điện trước.
- Đám cháy lớn, khối pin lớn (xe điện, lưu trữ điện): gọi lực lượng chữa cháy (số 114) và tránh xa; khối pin lớn có thể cháy lại nhiều giờ sau.
- Sau khi tắt, để pin ở chỗ trống, theo dõi nhiều giờ trước khi thu gom.
6. Mang pin lên máy bay và vận chuyển

Pin dự phòng, pin rời phải để trong hành lý xách tay, không được ký gửi, vì khi cháy trong khoang hành lý không ai phát hiện kịp. Giới hạn tính theo năng lượng Wh (oát giờ) = điện áp danh định × dung lượng Ah. Ví dụ sạc dự phòng 20.000 mAh ghi điện áp cell 3,7 V có năng lượng 3,7 × 20 = 74 Wh. Quy định cụ thể (số lượng, loại thiết bị) tùy hãng bay và thay đổi theo thời gian: xem trang của hãng trước chuyến bay.
Gửi pin qua đơn vị vận chuyển cũng phải khai báo là hàng có pin lithium; khối pin lớn là hàng nguy hiểm, cần đóng gói và giấy tờ theo quy định riêng của đơn vị vận chuyển.
# PYWORLD.VN - Kiểm tra nhanh một khối pin lithium-ion: năng lượng Wh theo nSmP, mức được mang lên máy bay (theo ngưỡng Wh)
# PYWORLD.VN - Điện áp nên để khi cất giữ lâu, dòng xả so với khả năng của cell (C-rate), cảnh báo cell lệch áp
# PYWORLD.VN - Chạy: python kiem_tra_pin.py --s 3 --p 2 --ah 2.5 --dong 6 hoặc thêm --ap 3.95,3.94,3.71 để kiểm tra lệch áp
"""Tính năng lượng, mức mang lên máy bay, điện áp cất giữ, C-rate cho khối pin lithium-ion."""
from __future__ import annotations
import argparse
def muc_hang_khong(wh: float) -> str:
"""Ngưỡng phổ biến cho pin dự phòng mang theo người (quy định hãng bay có thể chặt hơn, phải xem trước)."""
if wh <= 100:
return "<= 100 Wh: thuong duoc mang trong hanh ly xach tay, khong ky gui"
if wh <= 160:
return "100-160 Wh: can hang bay chap thuan, chi xach tay, gioi han so luong"
return "> 160 Wh: khong duoc mang theo nguoi; phai van chuyen nhu hang nguy hiem"
def kiem_tra(s: int, p: int, v_cell: float, ah_cell: float, dong: float, c_max: float, ap: list[float]) -> list[str]:
v_khoi = s * v_cell
ah_khoi = p * ah_cell
wh = v_khoi * ah_khoi
ra = [f"Khoi {s}S{p}P: {v_khoi:.1f} V danh dinh x {ah_khoi:.2f} Ah = {wh:.1f} Wh",
f" May bay: {muc_hang_khong(wh)}",
f" Cat giu lau: de moi cell khoang 3,7-3,85 V (40-60 %), tuc {s * 3.7:.1f}-{s * 3.85:.1f} V ca khoi; kiem tra lai moi 3-6 thang"]
c = dong / ah_khoi
ra.append(f" Dong xa {dong:g} A = {c:.2f}C cho khoi, moi cell {dong / p:.2f} A" + (
f" -> VUOT muc {c_max:g}C cua cell" if c > c_max else f" (cell chiu {c_max:g}C: dat)"))
if ap:
lech = max(ap) - min(ap)
ra.append(f" Ap tung nhom: {', '.join(f'{v:.2f}' for v in ap)} V -> lech {lech * 1000:.0f} mV" + (
" -> LECH LON, can can bang hoac kiem tra cell yeu" if lech > 0.1 else " (chap nhan duoc)"))
if min(ap) < 2.5:
ra.append(" Co nhom duoi 2,5 V: cell da xa qua sau, KHONG sac lai, loai bo dung cach")
if max(ap) > 4.25:
ra.append(" Co nhom tren 4,25 V: sac qua nguong, ngung sac, kiem tra bo sac va BMS")
return ra
def main() -> None:
ap = argparse.ArgumentParser(description=__doc__)
ap.add_argument("--s", type=int, default=3, help="số cell nối tiếp")
ap.add_argument("--p", type=int, default=2, help="số cell song song")
ap.add_argument("--v", type=float, default=3.6, help="điện áp danh định mỗi cell, V")
ap.add_argument("--ah", type=float, default=2.5, help="dung lượng mỗi cell, Ah")
ap.add_argument("--dong", type=float, default=6.0, help="dòng xả lớn nhất của thiết bị, A")
ap.add_argument("--c-max", type=float, default=2.0, help="dòng xả liên tục tối đa của cell, tính theo C")
ap.add_argument("--ap", default="", help="điện áp từng nhóm nối tiếp, V, cách nhau dấu phẩy")
a = ap.parse_args()
ap_nhom = [float(x) for x in a.ap.split(",")] if a.ap else []
print("\n".join(kiem_tra(a.s, a.p, a.v, a.ah, a.dong, a.c_max, ap_nhom)))
if __name__ == "__main__":
main()

Script cho biết với một khối pin:
- năng lượng Wh và mức mang lên máy bay;
- điện áp nên để khi cất giữ;
- dòng xả tính theo C, so với khả năng của cell;
- nếu nhập điện áp từng nhóm nối tiếp: độ lệch giữa các nhóm và cảnh báo nhóm xả quá sâu, sạc quá áp.
Cách đo điện trở trong để biết cell nào yếu có ở bài nội trở pin cùng cụm chủ đề.
7. Lưu ý khi tự ghép khối pin
- Chỉ ghép các cell cùng loại, cùng đợt, cùng điện áp (lệch dưới khoảng 0,05 V) trước khi nối.
- Hàn bấm bằng máy hàn điểm với kẽm nickel, không hàn thiếc trực tiếp lên cell bằng mỏ hàn: nhiệt lâu làm hỏng cell.
- Có BMS đúng số cell, cầu chì ở đầu ra, dây đủ tiết diện, cách điện giữa các cell và với vỏ hộp.
- Thử khối pin lần đầu ở nơi an toàn, có người trông.
8. Xem thêm
- Cấp nguồn ESP32 bằng pin 18650 sạc qua jack Type-C tích hợp mạch sạc
- Cấp nguồn cho ESP32 đúng cách: cổng USB, chân VIN, 3V3, pin 18650
Bài cùng cụm chủ đề: BMS là gì; chọn mạch BMS cho khối pin 3S, 4S, 7S; pin 18650 thật giả; chọn cell 18650 theo dòng xả; nội trở pin.
Xem thêm