Cơ bản đến trung cấp 100-140 phút practiceMiễn phí

Kiểm tra đầu vào: robot 2WD, motor, PWM, Serial và cảm biến line

Bài 3 trong khóa Robot Thế hệ 1 — Tránh vật cản, dò line và điều khiển từ xa

Kiểm tra đầu vào: robot 2WD, motor, PWM, Serial và cảm biến line

RLF lesson 01 — Kiểm tra đầu vào: robot 2WD, motor, PWM, Serial và cảm biến line

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:

  1. Kiểm tra robot 2WD đã đủ điều kiện để học Robot Dò Line chuyên sâu.
  2. Xác nhận motor trái/phải hoạt động đúng chiều.
  3. Xác nhận PWM điều khiển tốc độ motor còn ổn định.
  4. Xác nhận stopRobot() đáng tin trước khi chạy line.
  5. Xác nhận Serial Monitor in log rõ ràng, đủ dùng để debug.
  6. Kiểm tra cảm biến line hoặc sensor array đọc được nền và line.
  7. Ghi được baseline raw data của từng cảm biến line.
  8. Phát hiện lỗi phổ biến trước khi học calibration/P/PD/PID.
  9. Đánh giá robot đã sẵn sàng sang RLF 02 hay cần sửa lại phần Robot Starter.
  10. Nộp được checklist, log và video bằng chứng đầu vào.

Bài này là bài đầu vào của khóa Robot Dò Line.

Nếu Robot Starter giúp bạn làm robot 2WD chạy được, thì Robot Dò Line chuyên sâu sẽ yêu cầu robot chạy ổn định hơn, dữ liệu cảm biến rõ hơn và log chính xác hơn.


2. Vì sao cần kiểm tra đầu vào?

Robot dò line chuyên sâu sẽ học:

sensor array
calibration
weighted average
setpoint
error
P
PD
PID
sample time
lost-line recovery
tuning bằng dữ liệu

Nếu robot chưa ổn ở các phần cơ bản như motor, PWM, Serial hoặc cảm biến line, bạn sẽ rất khó học các thuật toán phía sau.

Ví dụ:

Lỗi đầu vàoHậu quả khi học dò line
Motor trái/phải sai chiềuP/PD/PID sẽ điều khiển sai
stopRobot() không chắcRobot nguy hiểm khi mất line
PWM thấp không làm motor quayTuning tốc độ khó
Serial log rốiKhông phân tích được lỗi
Line sensor đọc nền/line không rõWeighted average/PID không có dữ liệu tốt
Dây chạm bánhRobot lệch nhưng tưởng thuật toán sai
Pin yếuKết quả tune không lặp lại

> Robot dò line tốt bắt đầu từ đầu vào tốt.


3. Bài này không dạy lại toàn bộ Robot Starter

Bài này không lặp lại chi tiết các bài cũ.

Bạn chỉ cần kiểm tra:

robot 2WD
motor
PWM
Serial
line sensor
log
an toàn

Nếu một phần chưa đạt, hãy quay lại bài tương ứng trong Robot Starter hoặc Core Robotics Skills.


4. Điều kiện phần cứng tối thiểu

Robot cần có:

Thành phầnYêu cầu
Chassis 2WDlắp chắc, bánh/caster không kẹt
Arduino Uno hoặc tương thíchupload code được, Serial ổn
TB6612FNG hoặc driver tương đươngđiều khiển 2 motor
2 motor DCtrái/phải đúng chiều, PWM chạy được
Nguồn motorđủ pin, không reset Arduino
Cảm biến lineít nhất 1 mắt, tốt hơn là 3/5 mắt nếu học chuyên sâu
Đường line testnền sáng, line tối, tương phản rõ
Serial Monitordùng để xem log raw/speed/state

Nếu chưa có sensor array 3/5 mắt, vẫn có thể học bài đầu, nhưng các bài sau về weighted average sẽ cần nhiều cảm biến hơn.


5. Pin map mặc định

Motor TB6612FNG:

Chức năngArduino
STBYD4
LEFT_PWM / PWMAD5
LEFT_IN1 / AIN1D7
LEFT_IN2 / AIN2D8
RIGHT_PWM / PWMBD6
RIGHT_IN1 / BIN1D9
RIGHT_IN2 / BIN2D10

Cảm biến line:

Cảm biếnArduino
Sensor giữa / 1 mắtA0
Sensor trái nếu cóA1
Sensor phải nếu cóA2
Sensor 5 mắt nếu cóA0, A1, A2, A3, A4

Nếu robot của bạn dùng pin khác, cập nhật code và ghi rõ trong practice sheet.


6. Checklist an toàn trước khi kiểm tra

STTMục kiểm traĐạt?
1Robot không ở mép bàn/cầu thang
2Có thể tắt nguồn motor nhanh
3Dây không chạm bánh
4Không có vít kim loại trên board
5Pin motor đủ điện
6GND chung chắc
7Cảm biến line không chạm mặt sàn
8Serial Monitor mở được
9stopRobot đã kiểm tra
10Test tốc độ thấp trước

Nếu một mục chưa đạt, sửa trước khi chạy motor.


Phần A — Preflight robot và Serial

7. Code 1 — Preflight heartbeat và pin map

Tạo file:

RLF_lesson_01A_preflight_heartbeat_pinmap.ino

Sketch này:

  • nhấp nháy LED_BUILTIN;
  • in uptime;
  • in pin map motor và cảm biến line;
  • không chạy motor.

Kết quả mong đợi:

LED_BUILTIN nhấp nháy đều
uptime_ms tăng đều
Serial không reset
pin map in rõ

Nếu uptime quay về 0 bất thường, nghi Arduino reset, cáp USB, nguồn hoặc dây chập.


8. Bài thực hành A — Preflight

Kiểm traKết quảGhi chú
Upload thành công
LED_BUILTIN nhấp nháy
Serial uptime tăng đều
Không reset bất thường
Pin map đúng với robot thật

Phần B — Motor và PWM

9. Vì sao motor phải kiểm tra lại?

Robot Starter có thể đã chạy, nhưng trước khóa dò line cần xác nhận lại:

  • motor trái/phải không bị đảo;
  • PWM ở các mức thấp/vừa/cao còn hoạt động;
  • tốc độ thấp đủ làm robot di chuyển;
  • stopRobot() dừng cả hai motor;
  • driver không nóng;
  • Arduino không reset khi motor chạy.

Dò line cần motor phản ứng đều. Nếu motor lỗi, thuật toán PID sau này không cứu được.


10. Code 2 — Motor PWM diagnostic

Tạo file:

RLF_lesson_01B_motor_pwm_diagnostic_serial.ino

Lệnh Serial:

LệnhÝ nghĩa
Ltest motor trái forward
Rtest motor phải forward
Fhai motor forward
Bhai motor backward
Sstop
1/2/3/4speed 60/80/100/130
Hhelp

Robot cần được kê lên trước khi test.


11. Bài thực hành B — Motor/PWM

LệnhMong đợiThực tếĐạt?
Lchỉ motor trái quay
Rchỉ motor phải quay
Fhai bánh hướng tiến
Bhai bánh hướng lùi
Shai motor dừng
Speed 60motor quay ổn?
Speed 80motor quay ổn?
Speed 100motor quay ổn?

Ghi tốc độ nhỏ nhất motor quay ổn định:

Motor trái PWM min = ______
Motor phải PWM min = ______

Phần C — Serial log chuẩn cho Robot Dò Line

12. Vì sao log cần chuẩn?

Trong Robot Dò Line, bạn sẽ dựa vào log để phân tích:

raw sensor
calibrated sensor
position
error
correction
leftSpeed
rightSpeed
state

Nếu log không rõ, việc tuning P/PD/PID sẽ rất khó.

Format nên dùng:

key=value,key=value,key=value

hoặc CSV:

time_ms,leftRaw,centerRaw,rightRaw,leftSpeed,rightSpeed

Bài này kiểm tra khả năng in log có nhịp, không quá rối.


13. Code 3 — Serial log format test

Tạo file:

RLF_lesson_01C_serial_log_format_test.ino

Sketch này in:

time_ms,mode,lineRaw,leftSpeed,rightSpeed

Không cần chạy motor thật nếu chưa muốn.


14. Bài thực hành C — Log format

MụcĐạt?Ghi chú
Có header CSV hoặc key-value rõ
time_ms
Có sensor value
Có motor speed
Tần suất log dễ đọc
Không in quá nhiều gây rối

Phần D — Cảm biến line 1 mắt

15. Kiểm tra cảm biến line đơn

Nếu robot chỉ có một cảm biến line, kiểm tra:

nền sáng
line tối
mép line
độ cao cảm biến
ánh sáng khác

Bạn cần biết:

LINE_IS_LOW = true hay false
LINE_THRESHOLD = bao nhiêu
UNCERTAIN_MARGIN = bao nhiêu

16. Code 4 — Line sensor single raw threshold check

Tạo file:

RLF_lesson_01D_line_sensor_single_threshold_check.ino

Sketch này in:

raw=...,state=LINE/BACKGROUND/UNCERTAIN

Mục tiêu là xác nhận threshold từ RS13/RS14 vẫn đúng.


17. Bài thực hành D — Cảm biến line đơn

Bề mặtRaw/AverageStateGhi chú
Nền sáng
Line đen
Mép line trái
Mép line phải
Ánh sáng khác

Kết luận:

LINE_THRESHOLD = ______
LINE_IS_LOW = true / false
UNCERTAIN_MARGIN = ______

Phần E — Sensor array 3 mắt hoặc 5 mắt

18. Vì sao cần sensor array?

Robot dò line chuyên sâu cần biết line lệch bao nhiêu, không chỉ biết có line hay không.

Một sensor array giúp robot biết:

line lệch trái
line ở giữa
line lệch phải
line mất

Các bài sau sẽ học weighted average và error. Bài này chỉ kiểm tra raw data.


19. Code 5 — Sensor array raw check

Tạo file:

RLF_lesson_01E_sensor_array_raw_check.ino

Sketch hỗ trợ 3 kênh mặc định:

LEFT=A1
CENTER=A0
RIGHT=A2

Nếu có 5 mắt, có thể mở rộng A0–A4.

Log:

time_ms,leftRaw,centerRaw,rightRaw

20. Bài thực hành E — Sensor array

Vị trí lineLeft rawCenter rawRight rawNhận xét
Line dưới cảm biến trái
Line dưới cảm biến giữa
Line dưới cảm biến phải
Không có line
Line rộng che nhiều mắt

Nếu sensor trái/phải bị đảo vị trí, ghi lại ngay. Đây là lỗi rất nguy hiểm khi học weighted average.


Phần F — Bài test đầu vào tổng hợp

21. Code 6 — Entry readiness dashboard

Tạo file:

RLF_lesson_01F_entry_readiness_dashboard.ino

Sketch này in dashboard tổng hợp:

time_ms,leftRaw,centerRaw,rightRaw,lineState,motorReady,notes

Mục tiêu không phải tự chấm điểm hoàn toàn, mà giúp bạn có log để trainer đánh giá.


22. Checklist đạt đầu vào RLF

NhómĐiều kiện đạtĐạt?Bằng chứng
Cơ khíbánh/caster không kẹt, dây không chạm bánh
NguồnArduino không reset khi motor chạy
MotorL/R/F/B/S đúng
PWMspeed thấp/vừa hoạt động
Seriallog rõ, có time_ms/sensor/speed
Line sensorphân biệt nền/line rõ
Sensor array nếu cótrái/giữa/phải đọc đúng vị trí
SafetystopRobot đáng tin

Nếu chưa đạt, ghi rõ cần sửa gì trước RLF 02.


23. Bảng lỗi đầu vào thường gặp

Triệu chứngNghi ngờCách kiểm traCách xử lý
Motor trái/phải đảodây/kênh A-B/cờ inverttest L/Rsửa pin map hoặc cờ invert
PWM 60 không quaymotor có vùng chếttest nhiều speedđặt min speed phù hợp
Arduino reset khi motor chạypin/GND/nguồnheartbeat + motor testthay pin, kiểm tra GND
Line sensor không phân biệt line/nềnthreshold/độ cao/ánh sángraw checkchỉnh độ cao/threshold
Sensor array trái/phải đảolắp ngược hoặc pin map saiđưa line dưới từng mắtsửa mapping
Log quá rốiformat không chuẩnxem Serialdùng CSV/key-value
Dây chạm bánhcơ khí/dâyquay bánh bằng taycố định dây
Robot chạy lệch nặngcơ khí/trimtest forward ngắnkiểm tra caster/bánh/trim

24. Tiêu chí được học tiếp RLF 02

Bạn sẵn sàng sang RLF 02 khi:

  • robot 2WD chạy/dừng an toàn;
  • motor trái/phải đúng chiều;
  • PWM điều khiển được speed cơ bản;
  • Serial log rõ;
  • line sensor đọc được line/nền;
  • nếu có sensor array, biết kênh trái/giữa/phải;
  • robot không reset khi chạy test ngắn;
  • có checklist và bằng chứng đầu vào.

Nếu chưa đạt, không sao. Bài này giúp bạn biết cần sửa gì.


25. Câu hỏi kiểm tra nhanh

  1. Vì sao cần kiểm tra đầu vào trước khi học P/PD/PID?
  2. Nếu motor trái/phải bị đảo, thuật toán dò line sẽ bị ảnh hưởng thế nào?
  3. Vì sao cần biết PWM nhỏ nhất làm motor quay?
  4. Serial log cho Robot Dò Line nên có những trường nào?
  5. Vì sao line sensor raw quan trọng hơn chỉ đọc DO?
  6. Sensor array giúp gì so với một cảm biến?
  7. Nếu sensor trái/phải bị đảo, các bài weighted average sẽ sai ra sao?
  8. Nếu robot reset khi motor chạy, cần kiểm tra gì đầu tiên?
  9. Điều kiện tối thiểu để sang RLF 02 là gì?
  10. Robot của em hiện cần cải thiện điểm nào nhất?

26. Bằng chứng cần nộp

Nộp 6 phần:

  1. Ảnh robot 2WD hiện tại.
  2. Video motor diagnostic L/R/F/B/S.
  3. Ảnh Serial log PWM/motor.
  4. Ảnh hoặc log cảm biến line trên nền và line.
  5. Nếu có sensor array: log trái/giữa/phải.
  6. Checklist đầu vào RLF đã điền.

27. Kết luận

Bài này giúp bạn kiểm tra robot có đủ điều kiện để học Robot Dò Line chuyên sâu hay chưa.

Bạn đã kiểm tra:

robot 2WD
motor
PWM
Serial
line sensor
sensor array nếu có
log
an toàn

Ở bài tiếp theo, bạn sẽ học tiêu chuẩn đường line và phương pháp đo hiệu suất robot để các bài tuning sau này có dữ liệu rõ ràng.


Điều hướng bài học

Bài tiếp theo: Module Robot Dò Line - Bài 02: Tiêu chuẩn đường line và phương pháp đo hiệu suất robot Bài trước: Module Robot Starter - Bài 16: Capstone Robot Starter: robot 2WD có hai chế độ hoạt động