Diode TVS là gì: bảo vệ ESD cho cổng USB, chân cảm biến, nguồn 24 V và RS485

Diode TVS là gì, ba thông số VRWM, VBR, VC; ESD khác xung quá áp; đặt TVS sát đầu nối; chọn bảo vệ cho cổng USB, chân GPIO, nguồn 12 V, 24 V, RS485; script Python chọn TVS họ SMBJ.

Chạm tay vào cổng USB vào ngày hanh khô, cắm dây cảm biến dài ngoài sân, cắm rút nguồn 24 V có tải cuộn cảm: mỗi lần như vậy mạch có thể nhận một xung vài nghìn vôn trong vài nano giây. Chip vẫn chạy, nhưng chân GPIO hỏng dần, cổng USB lúc nhận lúc không. Diode TVS là linh kiện dùng để chặn các xung này. Bài giải thích diode TVS là gì, ba thông số VRWM, VBR, VC, đặt TVS ở đâu trên mạch, chọn linh kiện cho cổng USB, chân cảm biến, nguồn 12 V, 24 V và RS485. Cuối bài có script Python chọn TVS họ SMBJ theo điện áp của đường dây.

1. Diode TVS là gì

TVS (Transient Voltage Suppressor) là diode được chế tạo để chịu dòng xung lớn khi bị đánh thủng. Ở điện áp làm việc bình thường, TVS gần như hở mạch, chỉ có dòng rò rất nhỏ. Khi xuất hiện xung cao hơn ngưỡng đánh thủng, TVS dẫn mạnh xuống GND gần như ngay lập tức và giữ điện áp trên đường dây ở một mức gọi là điện áp kẹp. Hết xung, TVS trở lại trạng thái hở mạch.

Về cấu tạo, TVS giống diode zener, nhưng diện tích tiếp giáp lớn hơn nhiều để hấp thụ được năng lượng xung. Zener dùng để ổn áp dòng nhỏ liên tục; TVS dùng để chịu xung ngắn, dòng lớn. Phần diode, zener cơ bản có ở bài diode: tiếp giáp p-n, chỉnh lưu, chống cắm ngược nguồn và diode bảo vệ.

Có hai loại:

  • Một chiều (unidirectional, đuôi A như SMBJ24A): kẹp xung dương ở mức VC, còn xung âm thì dẫn thuận như diode thường, kẹp ở khoảng −1 V. Dùng cho đường nguồn và tín hiệu chỉ có điện áp dương.
  • Hai chiều (bidirectional, đuôi CA như SMBJ24CA): kẹp cả hai phía. Dùng cho đường tín hiệu có điện áp âm, ví dụ RS485, RS232, tín hiệu xoay chiều.

2. Ba thông số chính: VRWM, VBR, VC

Đặc tuyến dòng theo điện áp của diode TVS SMBJ24A: VRWM 24 V chưa dẫn, VBR 26,7 V bắt đầu dẫn, VC 38,9 V ở dòng xung 15,4 A
Đặc tuyến TVS 600 W loại 24 V, vẽ qua các điểm trong bảng thông số.
  • VRWM (điện áp làm việc ngược lớn nhất, có hãng ghi VR): ở điện áp này TVS vẫn chưa dẫn, chỉ có dòng rò cỡ micro ampe. Đây là thông số chọn đầu tiên: VRWM phải lớn hơn hoặc bằng điện áp lớn nhất mà đường dây có trong lúc làm việc bình thường.
  • VBR (điện áp đánh thủng): điện áp đo ở dòng thử nhỏ (thường 1 mA) khi TVS bắt đầu dẫn. VBR luôn cao hơn VRWM khoảng 10 %.
  • VC (điện áp kẹp): điện áp hai đầu TVS khi dòng xung đạt IPP, dòng xung lớn nhất mà linh kiện chịu được. Mạch phía sau sẽ thấy điện áp gần bằng VC trong lúc có xung, nên VC phải thấp hơn mức chịu tối đa của linh kiện cần bảo vệ.

Với họ SMBJ (vỏ SMB, 600 W), VC × IPP xấp xỉ 600 W, đo với xung chuẩn 10/1000 µs (sườn lên 10 µs, giảm còn một nửa sau 1000 µs). Lấy SMBJ24A: VRWM 24 V, VBR từ 26,7 V, VC 38,9 V ở 15,4 A. Như vậy một đường 24 V được bảo vệ sẽ có lúc lên gần 39 V trong thời gian xung: mạch phía sau phải chịu được mức đó, hoặc cần thêm tầng bảo vệ.

Ngoài ra cần xem thêm:

  • Điện dung: TVS công suất lớn có điện dung hàng trăm pF tới vài nF. Trên đường nguồn thì không sao, trên đường dữ liệu tốc độ cao thì làm méo tín hiệu.
  • Công suất xung: 400 W (SMAJ), 600 W (SMBJ), 1500 W (SMCJ). Xung lớn, dây dài ngoài trời thì chọn loại công suất cao hơn.

3. ESD khác xung quá áp thế nào

Bảng mức thử ESD theo IEC 61000-4-2: mức 1 đến mức 4, phóng tiếp xúc 2, 4, 6, 8 kV, phóng qua không khí 2, 4, 8, 15 kV
Các mức thử ESD trong tiêu chuẩn IEC 61000-4-2.

ESD (phóng tĩnh điện) là xung từ người hoặc vật tích điện chạm vào cổng: điện áp cao (vài kV tới 15 kV) nhưng rất ngắn, sườn lên dưới 1 ns, toàn bộ xung kéo dài khoảng 100 ns. Với mức thử 8 kV phóng tiếp xúc, dòng đỉnh khoảng 30 A, còn khoảng 16 A sau 30 ns và 8 A sau 60 ns. Năng lượng nhỏ nhưng tốc độ rất nhanh, nên linh kiện bảo vệ phải phản ứng nhanh và nằm sát cổng.

Xung quá áp (surge) do sét lan truyền, cắm rút nguồn, đóng cắt tải cuộn cảm như relay, động cơ, van điện từ: điện áp thấp hơn ESD nhưng kéo dài tới hàng chục, hàng trăm micro giây, năng lượng lớn hơn rất nhiều. Đây là loại xung mà thông số 10/1000 µs của SMBJ, SMCJ mô tả.

Chip vi điều khiển thường chỉ được thử ESD theo mô hình HBM (cỡ 2 kV), mô phỏng việc cầm chip lúc lắp ráp trong nhà máy có kiểm soát tĩnh điện. Mức đó không đủ cho một cổng mà người dùng chạm tay vào hằng ngày, hay một dây cảm biến dài vài mét. Vì vậy các cổng đi ra ngoài hộp cần linh kiện bảo vệ riêng.

4. Đặt TVS ở đâu trên mạch

Sơ đồ một đường tín hiệu: đầu nối cáp ra ngoài, diode TVS nối xuống GND bằng đường ngắn ngay sát đầu nối, điện trở 100 đến 330 ohm nối tiếp, rồi tới chân GPIO 3,3 V của ESP32
Thứ tự trên đường tín hiệu: đầu nối, TVS, điện trở, IC.

Vị trí quan trọng không kém việc chọn linh kiện. Dòng ESD sườn lên dưới 1 ns, nên vài milimét đường mạch đã có điện cảm đủ để tạo thêm hàng chục vôn. Các nguyên tắc:

  1. Đặt TVS sát đầu nối, trước mọi linh kiện khác. Dòng xung phải được dẫn xuống GND ngay ở cửa vào, không được chạy qua mạch tới IC rồi mới gặp TVS.
  2. Đường xuống GND ngắn, rộng, nối thẳng vào mặt GND bằng một hoặc vài lỗ xuyên ngay cạnh chân TVS. Đường GND dài làm điện áp kẹp thực tế cao hơn nhiều so với VC trong bảng thông số.
  3. Đường tín hiệu đi qua chân TVS, không rẽ nhánh dài sang TVS rồi quay lại.
  4. Thêm điện trở nối tiếp 100–330 Ω giữa TVS và chân vào của vi điều khiển khi tín hiệu chậm (nút nhấn, cảm biến số, đầu vào analog). Phần điện áp còn lọt qua TVS sẽ rơi trên điện trở, và dòng vào diode bảo vệ bên trong chip được hạn chế.

Với ESP32 làm việc ở 3,3 V, chân GPIO không được đưa vào điện áp cao hơn điện áp nguồn của chip. Diode bảo vệ bên trong chip chỉ chịu được dòng nhỏ; không nên coi nó là phần bảo vệ chính.

5. Chọn bảo vệ cho từng loại cổng

Bảng chọn bảo vệ: USB D+ D− dùng mảng TVS điện dung thấp 5 V; VBUS 5 V dùng TVS 5 V một chiều; GPIO 3,3 V dùng diode ESD 3,3 V cộng điện trở; nguồn 12 V, 24 V dùng TVS 12 V, 24 V cùng cầu chì và diode chống ngược; RS485 dùng TVS hai chiều cho dải âm 7 tới dương 12 V
Gợi ý linh kiện bảo vệ theo từng loại cổng.

5.1. Cổng USB

  • D+, D−: không dùng TVS công suất như SMBJ vì điện dung quá lớn. Dùng mảng diode ESD chuyên cho USB, điện dung mỗi đường chỉ vài pF hoặc nhỏ hơn, thường có sẵn chân cho VBUS trong cùng một vỏ. Đặt ngay sau jack, hai đường D+, D− đi song song, dài bằng nhau. Vị trí chân D+, D− trên jack Type-C có ở bài chân D+ D− trên jack USB Type-C.
  • VBUS 5 V: TVS 5 V một chiều (ví dụ SMBJ5.0A). Nếu mạch cấp nguồn ra ngoài qua cổng USB thì thêm cầu chì tự phục hồi để ngắn mạch phía ngoài không kéo sập nguồn.
  • CC1, CC2 của jack Type-C: thường đi kèm điện trở 5,1 kΩ xuống GND; nhiều mảng diode ESD cho Type-C có thêm kênh cho hai chân này.

Mạch ra chân Type-C gắn panel như mạch ra chân USB Type-C cái 4 pin gắn panel chỉ đưa chân ra dây, không có linh kiện bảo vệ. Khi dùng jack gắn vỏ hộp nối dây vào mạch chính, đặt phần bảo vệ trên mạch chính, ngay chỗ dây từ jack đi vào.

5.2. Chân cảm biến, nút nhấn đi dây ra ngoài

Các chân GPIO nối trực tiếp ra đầu nối (cảm biến số, nút nhấn, công tắc hành trình, đầu vào analog) là chỗ ESP32, Arduino hay hỏng nhất. Cách làm đơn giản:

  • diode ESD một chiều điện áp làm việc 3,3 V (hoặc 5 V với Arduino 5 V) từ chân tín hiệu xuống GND, đặt sát đầu nối;
  • điện trở nối tiếp 100–330 Ω tới chân vi điều khiển;
  • tụ nhỏ (1–10 nF) từ chân vào xuống GND nếu tín hiệu chậm, vừa lọc nhiễu vừa giúp hấp thụ xung.

Không đặt tụ, điện trở lớn trên đường giao tiếp nhanh như I2C, SPI tốc độ cao: chúng làm chậm sườn xung. Nếu I2C phải đi dây dài ra ngoài thì nên dùng mạch đệm chuyên dụng thay cho việc kéo thẳng dây từ chân ESP32.

5.3. Nguồn vào 12 V, 24 V

Đầu vào nguồn DC, nhất là nguồn 24 V trong tủ điện có relay, contactor, van điện từ, cần bảo vệ theo thứ tự: cầu chì, diode chống ngược, TVS, rồi mới tới mạch hạ áp. Chọn VRWM theo điện áp lớn nhất thật sự của nguồn, không theo con số danh định: nguồn 24 V chỉnh lên 26–28 V thì SMBJ24A có thể dẫn rò liên tục và nóng, khi đó chọn SMBJ28A.

TVS một chiều còn có tác dụng khi cắm ngược nguồn: nó dẫn thuận như diode thường, dòng lớn làm đứt cầu chì phía trước, mạch phía sau chỉ thấy khoảng −1 V. Cách này chỉ đúng khi có cầu chì đặt trước TVS. Cách chọn cầu chì có ở bài công tắc, nút nhấn, cầu chì và relay: cách chọn, cách nối với ESP32.

Điện áp kẹp của TVS 24 V lên tới gần 39 V, nên mạch hạ áp đặt sau nó phải chịu được điện áp vào cao hơn mức này. Một số mạch hạ áp nhỏ chỉ chịu tối đa 28–30 V: khi đó cần chọn mạch hạ áp dải vào rộng hơn, hoặc thêm điện trở, cuộn cảm nối tiếp và một tầng kẹp thứ hai. Phần cấp nguồn ổn định cho ESP32 có ở bài cấp nguồn cho ESP32 đúng cách.

5.4. Đường RS485

Chuẩn RS485 cho phép điện áp chung trên dây trong khoảng −7 V tới +12 V, nên TVS phải là loại hai chiều và không dẫn trong cả dải này. Có loại TVS không đối xứng làm riêng cho RS485 (ví dụ SM712), mỗi đường A, B một phần tử xuống GND. Dây RS485 thường dài hàng chục tới hàng trăm mét, đi ngoài trời hoặc trong nhà xưởng, nên đây là cổng nên bảo vệ kỹ nhất.

6. Script chọn TVS theo điện áp

Kết quả script Python chọn TVS: đường 5 V chọn SMBJ5.0A kẹp 9,2 V; đường 12 V chọn SMBJ12A kẹp 19,9 V; đường 24 V chọn SMBJ24A kẹp 38,9 V; đường 28 V chọn SMBJ28A kẹp 45,4 V; so với điện áp chịu tối đa của mạch phía sau
Kết quả chạy script với năm ví dụ.

Script dưới đây chứa bảng thông số một số mã TVS 600 W họ SMBJ…A. Nhập điện áp làm việc lớn nhất của đường dây và điện áp tối đa mà mạch phía sau chịu được, script chọn mã nhỏ nhất có VRWM đủ lớn, rồi so điện áp kẹp với giới hạn của mạch. Nếu VC vượt giới hạn, script gợi ý thêm điện trở nối tiếp và tầng kẹp thứ hai hoặc đổi linh kiện.

# PYWORLD.VN - Chọn diode TVS họ SMBJ (600 W) cho một đường nguồn hoặc tín hiệu: điện áp làm việc, điện áp kẹp, dòng xung chịu được
# PYWORLD.VN - So điện áp kẹp với giới hạn tuyệt đối của mạch phía sau; quá thì gợi ý thêm điện trở nối tiếp và tầng kẹp thứ hai
# PYWORLD.VN - Chạy: python chon_tvs.py 24 40   (đường 24 V, mạch phía sau chịu tối đa 40 V)
"""Chọn TVS họ SMBJ theo điện áp làm việc lớn nhất và giới hạn của linh kiện cần bảo vệ."""
from __future__ import annotations

import argparse

# (tên, VRWM điện áp làm việc, VBR nhỏ nhất, VC kẹp ở IPP, IPP dòng xung 10/1000 µs) theo bảng datasheet họ SMBJ…A
SMBJ = [("SMBJ5.0A", 5.0, 6.40, 9.2, 65.2), ("SMBJ12A", 12.0, 13.3, 19.9, 30.2), ("SMBJ15A", 15.0, 16.7, 24.4, 24.6),
        ("SMBJ24A", 24.0, 26.7, 38.9, 15.4), ("SMBJ28A", 28.0, 31.1, 45.4, 13.2),
        ("SMBJ33A", 33.0, 36.7, 53.3, 11.3), ("SMBJ36A", 36.0, 40.0, 58.1, 10.3)]


def chon(v_lam_viec: float, v_chiu_toi_da: float) -> list[str]:
    ra = [f"Duong {v_lam_viec:g} V, mach phia sau chiu toi da {v_chiu_toi_da:g} V"]
    ung = [t for t in SMBJ if t[1] >= v_lam_viec]
    if not ung:
        return ra + ["  Khong co trong bang: chon ho TVS dien ap cao hon"]
    ten, vrwm, vbr, vc, ipp = ung[0]
    ra.append(f"  Chon {ten}: VRWM {vrwm:g} V >= {v_lam_viec:g} V, bat dau dan khoang {vbr:g} V, kep {vc:g} V o {ipp:g} A")
    if vc <= v_chiu_toi_da:
        ra.append(f"  Dien ap kep {vc:g} V <= {v_chiu_toi_da:g} V: dat")
    else:
        ra.append(f"  Dien ap kep {vc:g} V > {v_chiu_toi_da:g} V: TVS mot minh chua du")
        ra.append("  -> them dien tro noi tiep va tang kep thu hai sat linh kien, hoac chon TVS kep thap hon / mach chiu ap cao hon")
    return ra


def main() -> None:
    ap = argparse.ArgumentParser(description=__doc__)
    ap.add_argument("v_lam_viec", type=float, nargs="?", help="dien ap lam viec lon nhat cua duong day, V")
    ap.add_argument("v_chiu", type=float, nargs="?", help="dien ap toi da mach phia sau chiu duoc, V")
    a = ap.parse_args()
    if a.v_lam_viec is None:
        for v, chiu in [(5.0, 6.5), (12.0, 30.0), (24.0, 40.0), (24.0, 36.0), (28.0, 50.0)]:
            print("\n".join(chon(v, chiu)))
        return
    print("\n".join(chon(a.v_lam_viec, a.v_chiu)))


if __name__ == "__main__":
    main()

Chạy không tham số để xem năm ví dụ, hoặc nhập số cụ thể:

python chon_tvs.py 24 40
python chon_tvs.py 12 30

Ví dụ đường 5 V với mạch phía sau chỉ chịu 6,5 V cho thấy một điều hay gặp: TVS 5 V kẹp ở 9,2 V khi dòng xung lớn, cao hơn nhiều so với mức chịu của chip 3,3 V hay 5 V. Vì vậy với đường tín hiệu nối vào chân vi điều khiển, phải có thêm điện trở nối tiếp để phần chênh lệch rơi trên điện trở. Số trong bảng là giá trị điển hình của họ SMBJ…A; khi đặt linh kiện thật, tra lại bảng thông số của đúng hãng sản xuất.

7. Lỗi hay gặp

Hiện tượngNguyên nhân thường gặpCách xử lý
Có TVS mà chân GPIO vẫn hỏng khi chạm tayTVS đặt xa đầu nối, đường GND dàiDời TVS sát đầu nối, lỗ xuyên xuống GND ngay cạnh chân
TVS nóng khi mạch chạy bình thườngVRWM thấp hơn điện áp nguồn thậtĐo điện áp nguồn lớn nhất, chọn VRWM cao hơn
Cổng USB không nhận sau khi thêm bảo vệDùng TVS công suất, điện dung lớn trên D+, D−Đổi sang mảng diode ESD điện dung thấp cho USB
RS485 mất tín hiệu khi có điện áp chungDùng TVS một chiều trên đường A, BDùng TVS hai chiều cho dải −7 … +12 V
Mạch hạ áp chết sau khi cắm rút nguồn 24 VĐiện áp kẹp cao hơn mức chịu của mạch hạ ápChọn mạch hạ áp dải vào rộng hơn hoặc thêm tầng kẹp
Cắm ngược nguồn, TVS cháy nổKhông có cầu chì phía trướcThêm cầu chì trước TVS, hoặc diode chống ngược

8. Xem thêm

Bài cùng cụm chủ đề: tụ decoupling, chọn giá trị và đặt đúng vị trí; mặt đồng ground plane và tách mass analog, digital.


Tin tức liên quan

Chuẩn IP67 là gì? Vali chống nước IP67 bảo vệ thiết bị ra sao
Chuẩn IP67 là gì? Vali chống nước IP67 bảo vệ thiết bị ra sao

IP67 nghĩa là kín bụi hoàn toàn và chịu ngâm tạm thời tới 1 m trong 30 phút. Bài giải thích cách đọc mã IP, vali chống nước kín nhờ gioăng và chốt ép, giới hạn của IP67 và cách giữ vali luôn kín.

Sai số Abbe, sai số cosin và giãn nở nhiệt khi đo chuyển vị, kích thước: cách tính và cách giảm
Sai số Abbe, sai số cosin và giãn nở nhiệt khi đo chuyển vị, kích thước: cách tính và cách giảm

Ba nguồn sai số có ở mọi phép đo kích thước: sai số Abbe khi đường đo lệch thang đo, sai số cosin khi trục đo lệch chuyển động, giãn nở nhiệt; cách tính, ví dụ ngân sách và quy tắc bố trí.

Nguồn điện, đi dây, công tắc hành trình và nút dừng khẩn cho máy CNC tự chế
Nguồn điện, đi dây, công tắc hành trình và nút dừng khẩn cho máy CNC tự chế

Chọn nguồn 24 V đủ công suất, sơ đồ đi điện có nút dừng khẩn, nối công tắc hành trình thường mở, thường đóng với GRBL, chống nhiễu và chọn tiết diện dây cho máy CNC, máy laser tự chế.

Góc STEM tại nhà và câu lạc bộ STEM: dụng cụ, an toàn, kế hoạch 8 buổi, ngày hội STEM
Góc STEM tại nhà và câu lạc bộ STEM: dụng cụ, an toàn, kế hoạch 8 buổi, ngày hội STEM

Cẩm nang cho phụ huynh và giáo viên: bố trí góc STEM tại nhà, dụng cụ theo độ tuổi, quy tắc an toàn, kế hoạch 8 buổi cho câu lạc bộ STEM và cách tổ chức ngày hội STEM ở trường.

Tổng quan các chuẩn giao tiếp cho vi điều khiển: UART, I2C, SPI, RS-485, CAN và cách chọn
Tổng quan các chuẩn giao tiếp cho vi điều khiển: UART, I2C, SPI, RS-485, CAN và cách chọn

So sánh các chuẩn giao tiếp thường gặp với vi điều khiển: UART, I2C, SPI, 1-Wire, RS-485, CAN, Ethernet và không dây. Giải thích tín hiệu vi sai, ba lớp của một hệ giao tiếp và cách chọn chuẩn theo nhu cầu.

Công suất điện, nhiệt tỏa ra và dung lượng pin: W, mAh, Wh tính thế nào
Công suất điện, nhiệt tỏa ra và dung lượng pin: W, mAh, Wh tính thế nào

Công suất điện P = U × I, nhiệt trên điện trở và cách chọn công suất điện trở, điện năng Wh và kWh, khác nhau giữa mAh và Wh, ước tính thời gian chạy pin cho ESP32, ghép pin nối tiếp và song song.

Trẻ mấy tuổi nên học lập trình? Lộ trình từ 4 đến 15 tuổi cho phụ huynh
Trẻ mấy tuổi nên học lập trình? Lộ trình từ 4 đến 15 tuổi cho phụ huynh

Trẻ mấy tuổi nên học lập trình: lộ trình năm bước từ trò chơi không màn hình, ScratchJr, Scratch đến mạch ESP32 và Python, kèm dấu hiệu trẻ sẵn sàng và câu hỏi thường gặp.

Hiệu chuẩn transmitter áp suất 4–20 mA: sơ đồ vòng, sai số theo khoảng đo, lúc nhận và sau chỉnh
Hiệu chuẩn transmitter áp suất 4–20 mA: sơ đồ vòng, sai số theo khoảng đo, lúc nhận và sau chỉnh

Hiệu chuẩn transmitter áp suất 4–20 mA: sơ đồ vòng dòng điện, công thức dòng và sai số theo phần trăm khoảng đo, trình tự lúc nhận và sau chỉnh, ví dụ 0–16 bar, lưu ý về HART và điểm 0.


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