(Khóa học: Lập trình & Điều khiển Động Cơ từ Cơ Bản tới Nâng Cao)
📘 Giới thiệu
Sau khi đã biết cách bật/tắt và điều chỉnh tốc độ động cơ, bước tiếp theo là điều khiển chiều quay của động cơ DC.
Trong bài này, bạn sẽ học cách sử dụng mạch cầu H (L298N) để đảo chiều quay, giúp robot có thể chạy tiến – lùi – rẽ trái – rẽ phải.
Đây là kỹ năng quan trọng khi lập trình xe robot hai bánh hoặc các cánh tay cơ khí có chuyển động ngược chiều.
⚙️ 1. Mạch cầu H là gì?
Cầu H (H-Bridge) là mạch điện cho phép đảo chiều dòng điện đi qua động cơ, nhờ đó ta có thể:
- Quay thuận khi cấp điện theo chiều A → B
- Quay ngược khi cấp điện theo chiều B → A
Tên “H” xuất phát từ hình dạng mạch giống chữ H, trong đó động cơ nằm ở giữa hai nhánh điện tử công suất.

🧠 2. Giới thiệu module L298N
Module L298N là mạch điều khiển cầu H kép, có thể điều khiển 2 động cơ DC cùng lúc.
Thông số chính:
- Điện áp hoạt động: 5–12V
- Dòng tải tối đa: 2A mỗi kênh
- Ngõ vào điều khiển: IN1, IN2, ENA cho motor A; IN3, IN4, ENB cho motor B
Nguyên lý hoạt động cơ bản:
| IN1 | IN2 | Trạng thái động cơ |
|---|---|---|
| HIGH | LOW | Quay thuận |
| LOW | HIGH | Quay ngược |
| LOW | LOW | Dừng |
🔌 3. Sơ đồ mạch kết nối (ESP32 + L298N + Motor)

| ESP32 Pin | Kết nối với L298N | Ghi chú |
|---|---|---|
| GPIO26 | IN1 | Điều khiển hướng 1 |
| GPIO27 | IN2 | Điều khiển hướng 2 |
| GPIO25 | ENA | PWM điều tốc |
| 5V | 5V L298N | Nguồn logic |
| GND | GND L298N | Nối mass chung |
⚠️ Nếu dùng 2 động cơ, bạn có thể gán thêm IN3, IN4, ENB vào các chân khác của ESP32.
💻 4. Code mẫu: Đảo chiều quay động cơ DC
/*
* Bài 3 - IoTLabs Motor Course
* Đảo chiều quay động cơ DC bằng L298N (ESP32)
*/
#define IN1 26
#define IN2 27
#define ENA 25
#define PWM_CHANNEL 0
#define PWM_FREQ 5000
#define PWM_RES 8
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
ledcSetup(PWM_CHANNEL, PWM_FREQ, PWM_RES);
ledcAttachPin(ENA, PWM_CHANNEL);
}
void goForward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
ledcWrite(PWM_CHANNEL, 200); // Tốc độ 200/255
}
void goBackward() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
ledcWrite(PWM_CHANNEL, 200);
}
void stopMotor() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
ledcWrite(PWM_CHANNEL, 0);
}
void loop() {
goForward();
delay(2000);
stopMotor();
delay(1000);
goBackward();
delay(2000);
stopMotor();
delay(2000);
}
✅ Kết quả: Động cơ quay thuận 2 giây → dừng → quay ngược 2 giây → lặp lại.
🎯 5. Mục tiêu học tập
- Hiểu nguyên lý mạch cầu H và hoạt động của L298N.
- Lập trình đảo chiều quay động cơ DC bằng ESP32.
- Làm nền tảng để điều khiển robot di chuyển linh hoạt hai bánh.
🧩 6. Hoạt động mở rộng
- Gắn thêm cảm biến siêu âm để tạo xe tránh vật cản.
- Dùng 2 motor và viết hàm
turnLeft(),turnRight(). - Tạo giao diện web điều khiển robot từ xa bằng WiFi.
📦 7. Linh kiện cần thiết
| Linh kiện | Số lượng | Ghi chú |
|---|---|---|
| ESP32 DevKit 38 Pin | 1 | Board chính |
| L298N Motor Driver | 1 | Điều khiển cầu H kép |
| Motor DC 3–6V | 1–2 | Xe hoặc quạt mini |
| Dây nối + Breadboard | – | |
| Nguồn 5V–12V | 1 | Adapter hoặc pin |
🚀 8. Kết luận
Mạch cầu H là nền tảng trong tất cả các hệ thống điều khiển chuyển động hai chiều.
Khi hiểu cách hoạt động của L298N, bạn có thể dễ dàng xây dựng xe robot tự hành, tay máy cơ khí, hoặc băng tải mini.
Trong bài tiếp theo, chúng ta sẽ học cách viết hàm điều khiển chuyển động hoàn chỉnh cho xe robot.


Để lại một bình luận