Mạch cầu H là gì? Nguyên lý đảo chiều động cơ mà mọi driver đều dùng

Giải thích mạch cầu H từ nguyên lý 4 khóa điện tử - cách đảo chiều động cơ, PWM tốc độ, hiện tượng shoot-through và so sánh driver L298N, DRV8833, TB6612. Trong bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết và ứng dụng thực tế trong robot.
Vì sao cần mạch cầu H?
Hai bài toán mà mọi robot dùng động cơ DC phải giải: đảo chiều quay (muốn lùi phải đảo cực nguồn vào động cơ) và cấp dòng lớn (động cơ ăn hàng trăm mA đến vài A, trong khi chân GPIO chỉ cấp nổi 20-40 mA). Mạch cầu H (H-bridge) giải cả hai cùng lúc — nó là mạch nằm trong ruột của mọi driver động cơ từ L298N đến driver xe điện.
Hiểu cầu H, bạn không còn dùng driver như hộp đen: đọc được datasheet, chẩn đoán được lỗi và tự thiết kế được tầng công suất khi cần.
Nguyên lý - bốn khóa điện tử xếp hình chữ H
Tưởng tượng động cơ nằm giữa (thanh ngang chữ H), bốn khóa điện tử (transistor/MOSFET) ở bốn góc:
V+ ----+----------+
| |
[S1] [S2]
| |
+--[ĐỘNG CƠ]--+
| |
[S3] [S4]
| |
GND ---+----------+- Đóng S1 + S4: dòng chạy trái sang phải qua động cơ → quay THUẬN
- Đóng S2 + S3: dòng chạy phải sang trái → quay NGƯỢC
- Đóng S3 + S4 (hoặc S1 + S2): hai đầu động cơ nối tắt → PHANH điện (động cơ tự hãm)
- Mở cả bốn: động cơ trôi tự do (coast)
Shoot-through - lỗi chết mạch trong tích tắc
Đóng nhầm S1 + S3 cùng lúc (hoặc S2 + S4): dòng ngắn mạch phóng thẳng từ V+ xuống GND không qua động cơ — hai khóa cháy trong mili giây. IC driver thương mại có mạch khóa chéo (interlock) và thời gian chết (dead-time) chống lỗi này; đó là lý do người mới nên dùng IC driver thay vì tự ráp cầu H từ transistor rời.
Điều khiển tốc độ - PWM vào cầu H
Cầu H chỉ biết đóng/mở — tốc độ đến từ PWM: băm khóa đóng-mở hàng nghìn lần mỗi giây, tỉ lệ thời gian đóng (duty cycle) quyết định điện áp trung bình động cơ nhận được. Duty 60% ≈ động cơ chạy 60% sức.
Hai cách đưa PWM vào driver:
- Kiểu EN + IN (L298N): chân IN1/IN2 đặt chiều, chân EN nhận PWM tốc độ
- Kiểu PWM trực tiếp (DRV8833): băm thẳng vào IN1 (tiến) hoặc IN2 (lùi), chân còn lại giữ LOW
Cách dùng PWM trên ESP32 (hệ thống LEDC, tần số khuyến nghị theo driver) có trong bài PWM LEDC trên ESP32 ở mục Kiến thức.
Diode flyback - vệ sĩ không thể thiếu
Động cơ là cuộn dây. Khi khóa đột ngột ngắt dòng, từ trường sập tạo xung điện áp ngược hàng chục vôn (back-EMF kick) đủ thủng transistor. Diode flyback mắc ngược song song mỗi khóa cho xung này đường thoát an toàn về nguồn.
IC driver hiện đại tích hợp sẵn diode (hoặc dùng chính body diode của MOSFET). Khi tự ráp cầu H bằng transistor rời hay điều khiển motor bằng một MOSFET đơn, quên diode flyback là lỗi cháy linh kiện phổ biến nhất.
So sánh các IC driver cầu H phổ biến
| Thông số | L298N | DRV8833 | TB6612FNG | BTS7960 |
|---|---|---|---|---|
| Công nghệ | Transistor BJT | MOSFET | MOSFET | MOSFET nửa cầu x2 |
| Số kênh | 2 | 2 | 2 | 1 (dòng lớn) |
| Dòng liên tục/kênh | 2 A | 1.2 A | 1.2 A | 43 A (!) |
| Sụt áp nội | ~1.4-2.5V (lớn!) | ~0.15V | ~0.2V | rất thấp |
| Áp motor | 5-35V | 2.7-10.8V | 4.5-13.5V | 6-27V |
| Tần số PWM nên dùng | ≤ 5 kHz | đến 20 kHz+ | đến 20 kHz+ | đến 25 kHz |
| Giá module | 25.000-40.000 đ | 25.000-35.000 đ | 40.000-60.000 đ | 90.000-140.000 đ |
Điểm đáng chú ý nhất bảng: sụt áp nội của L298N. Cấp 7.4V, động cơ chỉ nhận ~5-6V — mất 20-25% năng lượng thành nhiệt trên tản nhôm. Driver MOSFET (DRV8833, TB6612) gần như không sụt — cùng cục pin, robot chạy khỏe hơn thấy rõ. L298N vẫn phổ biến trong giáo dục vì chịu áp cao, khó cháy và tài liệu nhiều; chi tiết trong bài Driver L298N ở mục Kiến thức.
Đấu nối mẫu - DRV8833 với ESP32
| DRV8833 | Nối với | Ghi chú |
|---|---|---|
| VIN, GND | Pin 7.4V qua công tắc | Trong dải 2.7-10.8V |
| AIN1, AIN2 | GPIO 26, 27 | Động cơ trái |
| BIN1, BIN2 | GPIO 14, 12 | Động cơ phải |
| AOUT1/2, BOUT1/2 | Hai động cơ | |
| GND logic | GND ESP32 | Bắt buộc chung mass |
const int AIN1 = 26, AIN2 = 27;
void setup() {
ledcAttach(AIN1, 20000, 8); // 20 kHz - hết tiếng rít
ledcAttach(AIN2, 20000, 8);
}
// tốc độ -255 (lùi) đến 255 (tiến)
void setMotor(int speed) {
if (speed >= 0) { ledcWrite(AIN1, speed); ledcWrite(AIN2, 0); }
else { ledcWrite(AIN1, 0); ledcWrite(AIN2, -speed); }
}Chẩn đoán lỗi cầu H theo triệu chứng
| Triệu chứng | Nguyên nhân khả dĩ | Kiểm tra |
|---|---|---|
| Động cơ không quay, IC nguội | Chưa chung GND logic; chân EN/STBY chưa kéo lên | Đo áp chân IN khi ra lệnh |
| Động cơ yếu dù pin đầy | Sụt áp L298N; duty thấp; pin nội trở cao | Đo áp tại chân OUT khi tải |
| Quay được một chiều | Một nửa cầu hỏng; một chân IN không tới driver | Hoán đổi kênh A/B để khoanh vùng |
| IC nóng rát nhanh | Quá dòng (motor stall); tần số PWM quá cao với L298N | Đo dòng, hạ tần số, thêm tản nhiệt |
| ESP32 reset khi motor chạy | Sụt nguồn chung; nhiễu — thiếu tụ | Tách nguồn, thêm tụ 470-1000 µF gần driver |
| Motor rít khó chịu | PWM trong dải tai nghe | Tăng tần số lên 20 kHz (driver MOSFET) |
Câu hỏi thường gặp
Có thể điều khiển động cơ một chiều duy nhất mà không cần cầu H không?
Được — một MOSFET đơn (kèm diode flyback) đủ cho quạt, bơm, băng chuyền chỉ quay một chiều. Cầu H chỉ cần thiết khi phải đảo chiều. Xem bài MOSFET và Relay ở mục Kiến thức.
Phanh điện (brake) khác gì thả trôi (coast)?
Phanh: hai đầu motor nối tắt, năng lượng quay tiêu tán tức thì — robot dừng gắt. Thả trôi: ngắt hẳn, robot lăn tiếp theo quán tính. Robot dò line chạy nhanh nên phanh trước khúc cua thay vì thả trôi — một mẹo thi đấu ít người mới biết.
Vì sao tự ráp cầu H bằng 4 transistor lại khó?
Ba cái bẫy: shoot-through cần mạch dead-time; khóa phía trên (high-side) cần điện áp kích cao hơn nguồn motor (mạch bootstrap); và diode flyback phải đủ nhanh. IC driver gói tất cả với giá vài chục nghìn — tự ráp chỉ đáng làm để... học, với nguồn dòng nhỏ.
Driver ghi 2A có chạy được động cơ ghi 2A không?
Nguy hiểm. 2A của động cơ TT là dòng khóa trục (stall) xuất hiện khi robot húc tường — đúng bằng giới hạn liên tục của driver, không còn dư địa. Quy tắc an toàn: giới hạn driver ≥ 1.5 lần dòng stall động cơ, hoặc chấp nhận driver nóng và code phải tránh để motor kẹt lâu.
Tài nguyên tải về
Tải bản PDF của bài viết để in giáo án hoặc gửi trước cho học viên.



