Transistor là gì? Công tắc điện tử điều khiển được bằng dòng nhỏ
Atlasbot · 20/8/2026 · 10 phút đọc
Chân GPIO chỉ xuất được dòng tối đa vài chục mA — không đủ để điều khiển trực tiếp một relay hay động cơ cần dòng lớn hơn nhiều. Transistor giải quyết đúng vấn đề này: dùng một dòng điều khiển rất nhỏ để đóng/mở một dòng lớn hơn nhiều, hoạt động như một công tắc điện tử điều khiển được bằng tín hiệu số.
Ba chân của Transistor BJT
Transistor lưỡng cực (BJT — Bipolar Junction Transistor) phổ biến nhất trong mạch điều khiển đơn giản có 3 chân:
- Base (B) — chân điều khiển, nhận dòng nhỏ từ GPIO (qua điện trở hạn dòng).
- Collector (C) — thường nối vào phía tải (VD: một đầu cuộn dây relay, hoặc động cơ nhỏ).
- Emitter (E) — thường nối GND (với loại NPN, phổ biến nhất trong mạch điều khiển từ MCU).
Có 2 loại BJT: NPN (dòng chạy từ Collector xuống Emitter khi Base có dòng điều khiển dương) và PNP (ngược lại) — NPN phổ biến hơn nhiều trong mạch điều khiển tải bằng GPIO vì logic điều khiển "đơn giản, thuận chiều".
Transistor hoạt động như công tắc điện tử thế nào
Ý tưởng cốt lõi: một dòng điện rất nhỏ chạy vào chân Base "mở khoá" cho một dòng điện lớn hơn nhiều lần chạy qua giữa Collector và Emitter. Tỷ lệ giữa dòng Collector và dòng Base gọi là hệ số khuếch đại dòng (hFE hoặc β) — với transistor thông dụng như 2N2222, hệ số này thường vài chục đến vài trăm lần.
Trong ứng dụng làm công tắc (khác với ứng dụng khuếch đại tín hiệu analog), transistor chỉ vận hành ở 2 trạng thái:
- Cutoff (tắt) — không có dòng Base → không có dòng Collector-Emitter → tương đương công tắc mở (hở mạch).
- Saturation (bão hoà) — đủ dòng Base → dòng Collector-Emitter đạt tối đa mà mạch cho phép → tương đương công tắc đóng (gần như nối tắt).
Tóm lại: Với GPIO chỉ ra được 20-40mA nhưng tải cần vài trăm mA đến vài Ampere, transistor là cầu nối: GPIO điều khiển dòng nhỏ ở Base, transistor tự đóng/mở dòng lớn hơn nhiều ở phía tải.
Kiến thức kỹ thuật
Công thức
Hai công thức cốt lõi khi thiết kế mạch dùng transistor làm công tắc — tính dòng Collector tối đa và tính điện trở Base cần thiết:
Ic = hFE × Ib (dòng Collector = hệ số khuếch đại × dòng Base)
Rbase = (Vgpio − Vbe) / Ib (điện trở Base, Vbe ≈ 0.7V)
VD: cần Ic = 100mA để relay hoạt động, transistor có hFE = 100
Ib cần ≥ 100mA / 100 = 1mA (thực tế nên cấp dư, VD: 2-3mA để chắc chắn bão hoà)
Với GPIO 5V: Rbase = (5V − 0.7V) / 2mA = 2150Ω → chọn 2.2kΩ
Thông số
Thông số quan trọng khi chọn transistor BJT cho mạch điều khiển tải — lấy từ datasheet, không phải số cố định cho mọi loại:
| Thông số | Giá trị điển hình |
|---|---|
| hFE (hệ số khuếch đại dòng) | 50 – 300 (tuỳ transistor, tuỳ dòng làm việc) |
| Vbe khi dẫn | ~0.7V (BJT silicon) |
| 2N2222 — Ic max | ~800mA |
| 2N2222 — Vce max | ~40V |
| TIP120 (Darlington, dòng lớn hơn) — Ic max | ~5A |
Ứng dụng thực tế
Ngoài điều khiển relay đơn lẻ, transistor BJT thường dùng để điều khiển cả một dãy đèn LED báo trạng thái hoặc buzzer cảnh báo trên bảng điều khiển robot — mỗi tín hiệu chỉ cần 1 chân GPIO + 1 transistor + 1 điện trở Base, chi phí thấp hơn nhiều so với dùng driver IC chuyên dụng cho những tải công suất nhỏ như vậy. Với tải dòng lớn hơn (vài Ampere trở lên, VD: động cơ chính của robot), MOSFET ở bài tiếp theo thường là lựa chọn hiệu quả hơn BJT.
Ví dụ thực tế: mạch NPN điều khiển relay từ GPIO
GPIO ──[ Điện trở Base, VD 1kΩ ]── Base (transistor NPN)
VCC (nguồn relay) ── Cuộn dây relay ── Collector
Emitter ── GND
+ Diode bảo vệ mắc song song ngược chiều với cuộn dây relay (xem bài Diode)
// Code phía MCU — chỉ cần bật/tắt 1 chân GPIO bình thường
digitalWrite(RELAY_CONTROL_PIN, HIGH); // Base có dòng → transistor dẫn → relay bật
digitalWrite(RELAY_CONTROL_PIN, LOW); // Base không dòng → transistor tắt → relay tắt
Tính điện trở Base
Điện trở Base cần đủ nhỏ để đưa transistor vào trạng thái bão hoà, nhưng đủ lớn để không vượt dòng chịu đựng tối đa của chân GPIO — công thức tương tự tính điện trở LED đã nói ở bài Điện áp/Dòng điện/Công suất, chỉ khác điện áp rơi tham chiếu là điện áp Base-Emitter (~0.7V với BJT silicon).
Lỗi thường gặp
- Quên điện trở Base — nối thẳng GPIO vào chân Base không qua điện trở khiến dòng vượt quá giới hạn chịu đựng, có thể làm cháy transistor hoặc cháy chân GPIO.
- Nhầm chân B-C-E — mỗi loại transistor có thứ tự chân khác nhau tuỳ hình dạng vỏ (TO-92, TO-220...) — luôn tra đúng datasheet của model cụ thể, không đoán theo transistor khác.
- Quên diode bảo vệ khi điều khiển tải có cuộn dây — như đã nói ở bài Diode, relay/động cơ tạo xung điện áp ngược khi ngắt dòng, có thể phá huỷ transistor nếu không có diode bảo vệ mắc song song ngược chiều với cuộn dây.
- Chọn transistor không đủ dòng/điện áp chịu đựng — mỗi transistor có giới hạn dòng Collector tối đa (Ic max) và điện áp Collector-Emitter tối đa (Vce max) ghi trong datasheet — dùng transistor tín hiệu nhỏ (VD: 2N2222, Ic max ~800mA) để điều khiển tải dòng lớn hơn sẽ làm cháy transistor.
Kết luận
Transistor BJT là cách rẻ và đơn giản nhất để dùng tín hiệu số từ GPIO điều khiển tải công suất lớn hơn khả năng của chân GPIO — kết hợp với điện trở Base và diode bảo vệ đúng cách. Với tải cần dòng lớn hơn nữa hoặc cần hiệu suất chuyển mạch cao hơn, MOSFET (bài tiếp theo trong chuyên mục) thường là lựa chọn phù hợp hơn.