“Kasus Kesalahan Langkah Intermiten” pada Motor Encoder JGB37-520
—Analisis akar masalah selama 72 jam
—Analisis akar masalah selama 72 jam
Penulis: Tim ECU University RoboMaster
Tanggal: 14 Juli 2025
Tanggal: 14 Juli 2025
-
Gejala
20 Des 2024, selama penyetelan robot infanteri RoboMaster 2025 kami:
• Pada kecepatan lari garis lurus 1,5 m/s, robot bergeser 3–5 cm ke kanan setiap 3–5 m.
• Saat bergeser, kecepatan JGB37-520 kanan (12 V, 30:1, encoder AB) turun 15 %; roda kiri normal.
• Memulai ulang master STM32F407 menutupi masalah selama ~30 detik, lalu kembali lagi.
• Suhu motor 35 °C, suplai 12,1 V stabil, tidak ada alarm kelebihan arus atau tegangan kurang. -
Pemeriksaan Awal
| Langkah | Tindakan | Hasil | Kesimpulan |
|---|---|---|---|
| ① | Tukar motor kiri/kanan | Arah geseran mengikuti motor | Masalah spesifik motor |
| ② | Periksa bentuk gelombang A/B | Gelombang kotak 0–3,3 V bersih | Perangkat keras encoder OK |
| ③ | Jalankan loop terbuka (encoder dicabut) | Tidak ada geseran | Masalah pada jalur loop tertutup |
| ④ | Analisis logika keluaran PID | PID jenuh pada 100 % seketika | “target tidak tercapai” palsu | -
Analisis Akar Masalah
-
Ground-bounce pada kabel bersama
Daya motor dan GND encoder berbagi kabel pita 30 cm (motor AWG20, encoder AWG28). Pada arus >1 A, muncul lonjakan ground 60 mV. -
Filter MCU terlalu sempit
Filter masukan STM32 TIM diatur ke 0,1 µs → tepi lonjakan dihitung sebagai valid → 2–3 pulsa tambahan → PID mengurangi PWM → stall sebenarnya. -
Kondisi pemicu
Hanya terjadi ketika PWM >80 % dan arus motor >1,2 A; pengujian kecepatan rendah tidak pernah mereproduksinya. -
Perbaikan
-
Kabel ulang
• Pasangan terpilin 24 AWG terpisah untuk 5 V & GND encoder, secara fisik dialihkan menjauh dari daya.
• 100 µF + 0,1 µF decoupling pada terminal motor untuk menghilangkan ground bounce. -
Parameter MCU
• Filter TIM diperlebar menjadi 1 µs.
• Aktifkan deglitch digital 3-clock. -
Pengaman perangkat lunak
• Setiap 1 ms verifikasi kecepatan “penambahan pulsa × rasio gigi”; deviasi >5 % → tandai “kesalahan encoder” → kembali ke loop terbuka selama 50 ms lalu sinkronisasi ulang. -
Verifikasi
• Perjalanan pulang-pergi 100 m pada 2 m/s di bawah beban penuh: tidak ada geseran.
• Pembakaran 48 jam (PWM acak 80–100 %): tidak ada kesalahan hitung.
• Tujuh pertandingan kompetisi, total 3,6 km: tidak ada geseran sprint. -
Pelajaran yang Dipetik
-
“Encoder terlihat bagus” ≠ “rantai sinyal bagus”; ground bounce adalah pembunuh diam-diam.
-
Pada PWM >80 %, JGB37-520 dapat menarik 1,5 A; perlakukan kabel ground-nya seperti saluran daya.
-
Selalu tambahkan pelarian perangkat lunak: sistem loop tertutup membutuhkan logika “sensor hilang → aman loop terbuka”.
Tim ECU mengubah analisis ini menjadi “Daftar Periksa Pengkabelan Seri JGB V2.1”, sekarang wajib untuk setiap bot di masa mendatang.



