“Vấn đề về bước hụt không liên tục” của Động cơ Encoder JGB37-520
—Phân tích nguyên nhân gốc rễ trong 72 giờ
—Phân tích nguyên nhân gốc rễ trong 72 giờ
Tác giả: Đội ECU RoboMaster của trường Đại học
Ngày: 14 tháng 7 năm 2025
Ngày: 14 tháng 7 năm 2025
-
Triệu chứng
Ngày 20 tháng 12 năm 2024, trong quá trình điều chỉnh robot bộ binh RoboMaster 2025 của chúng tôi:
• Khi chạy nước rút đường thẳng 1,5 m/s, robot bị trôi 3–5 cm về bên phải sau mỗi 3–5 m.
• Khi bị trôi, tốc độ của JGB37-520 bên phải (12 V, 30:1, bộ mã hóa AB) giảm 15%; bánh trái bình thường.
• Khởi động lại bộ điều khiển STM32F407 đã che giấu vấn đề trong khoảng ~30 giây, sau đó nó quay trở lại.
• Nhiệt độ động cơ 35 °C, nguồn cung cấp 12,1 V ổn định, không có cảnh báo quá dòng hoặc thiếu điện áp. -
Kiểm tra ban đầu
| Bước | Hành động | Kết quả | Kết luận |
|---|---|---|---|
| ⓪ | Đổi động cơ trái/phải | Hướng trôi theo động cơ | Vấn đề cụ thể của động cơ |
| ① | Xem dạng sóng A/B | Sóng vuông 0–3,3 V sạch | Phần cứng bộ mã hóa OK |
| ② | Chạy hở mạch (rút phích cắm bộ mã hóa) | Không trôi | Vấn đề trong đường dẫn vòng kín |
| ③ | Phân tích logic đầu ra PID | PID bão hòa ở mức 100% ngay lập tức | “Mục tiêu không đạt được” sai | -
Phân tích nguyên nhân gốc rễ
-
Nảy đất trong hệ thống dây chung
Nguồn động cơ và GND của bộ mã hóa dùng chung cáp ruy-băng 30 cm (động cơ AWG20, bộ mã hóa AWG28). Ở dòng điện >1 A, một gai đất 60 mV xuất hiện. -
Bộ lọc MCU quá hẹp
Bộ lọc đầu vào STM32 TIM được đặt thành 0,1 µs → các cạnh gai được tính là hợp lệ → 2–3 xung bổ sung → PID giảm PWM → chết máy thực tế. -
Điều kiện kích hoạt
Chỉ xảy ra khi PWM >80% và dòng điện động cơ >1,2 A; các thử nghiệm tốc độ thấp không bao giờ tái tạo được nó. -
Khắc phục
-
Đi dây lại
• Cặp xoắn 24 AWG riêng biệt cho 5 V & GND của bộ mã hóa, được định tuyến vật lý cách xa nguồn.
• Tách 100 µF + 0,1 µF ở đầu cuối động cơ để loại bỏ nảy đất. -
Thông số MCU
• Bộ lọc TIM được mở rộng thành 1 µs.
• Bật khử nhiễu kỹ thuật số 3 xung. -
Bảo vệ phần mềm
• Cứ sau 1 ms, xác minh tốc độ “tăng xung × tỷ số truyền”; độ lệch >5% → gắn cờ “lỗi bộ mã hóa” → trở về hở mạch trong 50 ms rồi đồng bộ lại. -
Xác minh
• Khứ hồi 100 m ở tốc độ 2 m/s dưới tải đầy đủ: không trôi.
• Chạy thử 48 giờ (PWM ngẫu nhiên 80–100%): không đếm sai.
• Bảy trận đấu, tổng cộng 3,6 km: không trôi khi chạy nước rút. -
Bài học kinh nghiệm
-
“Bộ mã hóa trông tốt” ≠ “chuỗi tín hiệu tốt”; nảy đất là kẻ giết người thầm lặng.
-
Ở PWM >80%, JGB37-520 có thể tiêu thụ 1,5 A; xử lý hệ thống dây nối đất của nó như một đường dây điện.
-
Luôn thêm thoát phần mềm: các hệ thống vòng kín cần logic “mất cảm biến → an toàn hở mạch”.
Đội ECU đã biến phân tích này thành “Danh sách kiểm tra hệ thống dây JGB-Series V2.1”, hiện bắt buộc đối với mọi bot trong tương lai.



