An toàn nguồn điện và nhận diện hệ thống phần cứng robot
Bài 3 trong khóa Core Robotics Skills — Kỹ năng nền tảng lập trình robot

CRS lesson 01 — An toàn nguồn điện và nhận diện hệ thống phần cứng robot
1. Sau bài này bạn làm được gì?
Sau bài này, bạn sẽ làm được 10 việc:
- Nhận diện được các khối phần cứng chính trong một robot học tập.
- Phân biệt được nguồn logic và nguồn motor.
- Hiểu vì sao motor không nên lấy nguồn trực tiếp từ chân Arduino.
- Hiểu vai trò của driver motor.
- Hiểu vì sao cần nối GND chung giữa Arduino, driver và nguồn motor.
- Biết kiểm tra dây nguồn trước khi cấp điện.
- Biết các lỗi nguy hiểm thường gặp khi lắp robot.
- Biết cách tắt nguồn nhanh khi robot chạy sai.
- Biết lập checklist an toàn trước khi upload/chạy code.
- Sẵn sàng bước sang bài cài đặt Arduino IDE và upload chương trình đầu tiên.
Đây là bài đầu tiên của toàn bộ lộ trình. Mục tiêu quan trọng nhất là: không làm hỏng board, không làm cháy driver, không làm motor chạy ngoài kiểm soát và biết cách kiểm tra trước khi cấp nguồn.
2. Vì sao bài đầu tiên phải học an toàn nguồn điện?
Robot không giống một chương trình chạy trên máy tính. Robot có phần cứng thật:
pin
dây điện
motor
driver
board điều khiển
cảm biến
bánh xe
Nếu nối sai hoặc cấp nguồn sai, robot có thể:
- không hoạt động;
- reset liên tục;
- làm nóng driver motor;
- làm hỏng board;
- làm dây nóng lên;
- làm motor quay bất ngờ;
- khiến robot rơi khỏi bàn hoặc va vào vật khác.
Vì vậy, trước khi học code, học viên cần hiểu robot gồm những khối nào và nguồn điện đi như thế nào.
> Trong robotics, kiểm tra nguồn và dây trước khi chạy code là kỹ năng bắt buộc.
3. Robot học tập thường gồm những khối nào?
Một robot 2WD cơ bản thường có các khối sau:
| Khối | Ví dụ | Vai trò |
|---|---|---|
| Bộ điều khiển | Arduino Uno, Arduino Nano, ESP32 | Chạy chương trình |
| Nguồn logic | USB, 5V ổn định | Cấp nguồn cho board/cảm biến |
| Nguồn motor | pin AA, pin Li-ion, hộp pin | Cấp dòng lớn cho motor |
| Driver motor | TB6612FNG, L298N | Điều khiển chiều/tốc độ motor |
| Motor | DC motor vàng, motor giảm tốc | Tạo chuyển động |
| Cảm biến | line sensor, HC-SR04, nút nhấn | Đưa dữ liệu về board |
| Breadboard/dây | jumper, breadboard | Kết nối mạch |
| Cơ khí | chassis, bánh, caster, ốc vít | Tạo thân robot |
Trong bài này, bạn chưa cần lập trình. Bạn cần nhận diện được từng khối và hiểu khối đó dùng để làm gì.
4. Nguồn logic và nguồn motor khác nhau thế nào?
Nguồn logic
Nguồn logic cấp điện cho:
Arduino
cảm biến
mạch điều khiển
tín hiệu digital/analog
Nguồn này thường là:
USB 5V
5V ổn định
3.3V với một số board
Nguồn logic cần ổn định, sạch và không bị sụt áp nhiều.
Nguồn motor
Nguồn motor cấp điện cho:
motor DC
servo
thiết bị cần dòng lớn
Motor cần dòng lớn hơn nhiều so với cảm biến. Khi motor khởi động, dòng có thể tăng mạnh trong thời gian ngắn.
Nếu lấy motor trực tiếp từ Arduino, board có thể reset hoặc hỏng.
5. Vì sao motor cần driver?
Arduino không được thiết kế để cấp dòng lớn cho motor.
Arduino chỉ tạo tín hiệu điều khiển:
HIGH / LOW
PWM
direction signal
Driver motor mới là phần nhận tín hiệu đó và cấp dòng cho motor.
Ví dụ với TB6612FNG:
| Chân | Vai trò |
|---|---|
| VCC | nguồn logic cho driver |
| VM | nguồn motor |
| GND | mass chung |
| STBY | bật/tắt driver |
| AIN1/AIN2 | chiều motor A |
| PWMA | tốc độ motor A |
| BIN1/BIN2 | chiều motor B |
| PWMB | tốc độ motor B |
| AO1/AO2 | nối motor A |
| BO1/BO2 | nối motor B |
Điều quan trọng:
Arduino điều khiển driver
driver điều khiển motor
motor không lấy dòng trực tiếp từ chân Arduino
6. GND chung là gì?
GND là điểm tham chiếu điện áp.
Nếu Arduino gửi tín hiệu HIGH/LOW sang driver, driver cần cùng mốc GND để hiểu tín hiệu đó.
Vì vậy, khi dùng nguồn motor riêng, thường cần nối:
GND Arduino
GND driver
GND nguồn motor
thành GND chung.
Nếu không có GND chung:
- driver có thể không hiểu tín hiệu Arduino;
- motor chạy lúc được lúc không;
- tín hiệu nhiễu;
- debug rất khó.
> GND chung không có nghĩa là nối tất cả dây lung tung. Nó nghĩa là các khối điều khiển có chung điểm tham chiếu điện áp.
7. Các lỗi nguồn điện thường gặp
| Lỗi | Hậu quả |
|---|---|
| Nối ngược cực pin | có thể hỏng board/driver |
| Chập 5V với GND | nóng dây, hỏng nguồn |
| Motor lấy nguồn từ chân Arduino | board reset/hỏng |
| Quên GND chung | driver không nhận tín hiệu đúng |
| Cắm nhầm VM và VCC | driver hoặc board có thể hỏng |
| Pin yếu | motor yếu, robot chạy sai |
| Dây lỏng | robot lúc chạy lúc không |
| Dây chạm bánh | robot kẹt hoặc đứt dây |
| Cấp nguồn khi chưa kiểm tra | robot chạy bất ngờ |
Bài này giúp bạn hình thành thói quen kiểm tra trước khi cấp nguồn.
8. Quy trình kiểm tra trước khi cấp nguồn
Làm theo thứ tự:
1. Tắt nguồn.
2. Kiểm tra cực + và - của pin.
3. Kiểm tra 5V/3.3V/GND.
4. Kiểm tra VM/VCC/GND trên driver.
5. Kiểm tra dây motor không chạm nhau.
6. Kiểm tra dây không chạm bánh.
7. Kiểm tra không có vật kim loại rơi trên board.
8. Kiểm tra GND chung.
9. Đặt robot ở vị trí an toàn.
10. Cấp nguồn từng bước.
Không nên cấp cả USB và nguồn motor rồi mới kiểm tra.
9. Checklist an toàn cơ bản
| STT | Mục kiểm tra | Đạt? |
|---|---|---|
| 1 | Biết đâu là nguồn logic | |
| 2 | Biết đâu là nguồn motor | |
| 3 | Cực pin không bị ngược | |
| 4 | 5V không chập GND | |
| 5 | VM và VCC không bị nhầm | |
| 6 | Arduino không cấp trực tiếp cho motor | |
| 7 | Driver motor được dùng đúng vai trò | |
| 8 | GND Arduino/driver/nguồn motor nối chung | |
| 9 | Dây không chạm bánh | |
| 10 | Có thể tắt nguồn nhanh |
10. Nhận diện phần cứng trên bàn học
Hãy đặt các linh kiện trước mặt và phân loại:
| Linh kiện | Thuộc nhóm nào? | Ghi chú |
|---|---|---|
| Arduino Uno | ||
| TB6612FNG/L298N | ||
| Motor DC | ||
| Hộp pin | ||
| Breadboard | ||
| Dây jumper | ||
| Cảm biến line | ||
| HC-SR04 | ||
| LED/nút nhấn | ||
| Chassis/bánh/caster |
Nếu không chắc linh kiện nào, đừng cấp nguồn vội. Hãy hỏi trainer hoặc đối chiếu tài liệu.
11. Sơ đồ tư duy nguồn điện robot
Có thể nhớ theo mô hình:
Nguồn logic → Arduino + cảm biến
Nguồn motor → Driver motor → Motor
Arduino → tín hiệu điều khiển → Driver motor
GND chung → Arduino + Driver + nguồn motor
Robot chạy ổn khi các phần này được nối đúng và an toàn.
12. Thực hành không cấp nguồn
Bài thực hành đầu tiên không cần cắm điện.
Nhiệm vụ 1 — Phân loại linh kiện
Chia linh kiện thành nhóm:
Điều khiển
Nguồn
Driver
Motor
Cảm biến
Dây/kết nối
Cơ khí
Nhiệm vụ 2 — Chỉ đường đi của nguồn
Dùng tay chỉ:
nguồn logic đi đâu?
nguồn motor đi đâu?
tín hiệu Arduino đi đâu?
GND chung ở đâu?
Nhiệm vụ 3 — Tìm lỗi giả định
Trainer có thể mô tả lỗi:
Motor được nối thẳng vào Arduino 5V.
GND nguồn motor chưa nối GND Arduino.
Dây đỏ pin cắm vào GND.
Dây jumper chạm bánh.
Học viên cần phát hiện lỗi trước khi cấp nguồn.
13. Debug tình huống thường gặp
Tình huống 1: Robot không chạy
Không vội sửa code. Kiểm tra:
- có nguồn không;
- pin còn điện không;
- driver có bật không;
- GND chung chưa;
- dây motor chắc chưa.
Tình huống 2: Arduino reset khi motor quay
Nghi ngờ:
- motor làm sụt áp;
- nguồn motor yếu;
- motor lấy nguồn sai;
- dây nguồn/GND lỏng.
Tình huống 3: Motor chạy lung tung
Nghi ngờ:
- dây tín hiệu lỏng;
- GND chung sai;
- driver pin map sai;
- code chưa dừng motor;
- robot đang ở trạng thái không an toàn.
Tình huống 4: Driver nóng
Dừng ngay. Kiểm tra:
- motor có kẹt không;
- nguồn motor có quá áp không;
- dây motor có chập không;
- driver có đấu nhầm VM/VCC/GND không.
14. Quy tắc an toàn trong lớp
- Không tự ý cấp nguồn khi trainer chưa cho phép.
- Không chạm tay vào bánh khi motor đang quay.
- Không để robot chạy trên mép bàn.
- Không để dây kim loại/ốc vít rơi lên board.
- Không kéo dây khi robot đang cấp nguồn.
- Khi thấy nóng, khét, reset liên tục: tắt nguồn ngay.
- Khi không chắc: hỏi trước, cấp nguồn sau.
15. Câu hỏi kiểm tra nhanh
- Nguồn logic cấp cho những phần nào?
- Nguồn motor cấp cho những phần nào?
- Vì sao motor không nên nối trực tiếp vào chân Arduino?
- Driver motor có vai trò gì?
- GND chung là gì?
- Nếu quên GND chung, robot có thể bị gì?
- VM và VCC trên driver khác nhau thế nào?
- Trước khi cấp nguồn cần kiểm tra những gì?
- Nếu Arduino reset khi motor quay, nghi ngờ gì?
- Vì sao bài đầu tiên chưa cần lập trình?
16. Tiêu chí hoàn thành bài
Bạn hoàn thành bài này khi:
- Nhận diện được các khối phần cứng chính của robot.
- Phân biệt được nguồn logic và nguồn motor.
- Giải thích được vai trò driver motor.
- Giải thích được GND chung.
- Hoàn thành checklist an toàn trước khi cấp nguồn.
- Phát hiện được ít nhất 3 lỗi đấu nối nguy hiểm.
- Biết tắt nguồn nhanh khi có dấu hiệu bất thường.
17. Bằng chứng cần nộp
Nộp 4 phần:
- Ảnh phân loại linh kiện theo nhóm.
- Checklist an toàn đã điền.
- Bảng nhận diện nguồn logic/nguồn motor/driver/GND.
- Trả lời 5 câu hỏi kiểm tra nhanh do trainer chọn.
18. Kết luận
Bài này là nền tảng an toàn cho toàn bộ khóa robot.
Bạn đã học:
nguồn logic
nguồn motor
driver motor
GND chung
checklist trước khi cấp nguồn
nhận diện lỗi nguy hiểm
Ở bài tiếp theo, bạn sẽ cài đặt Arduino IDE, chọn board/cổng COM và upload chương trình LED_BUILTIN đầu tiên.
Điều hướng bài học
Bài tiếp theo: Module Core Robotics Skills - Bài 02: Cài đặt Arduino IDE, chọn board/cổng COM và upload chương trình LED_BUILTIN Bài trước: Không có — đây là bài đầu tiên của toàn bộ lộ trình