«Η Περίπτωση του Διαλείποντος Λάθους Βήματος» του Κινητήρα Κωδικοποιητή JGB37-520
—Μια ανάλυση ρίζας αιτίας 72 ωρών
—Μια ανάλυση ρίζας αιτίας 72 ωρών
Συγγραφέας: Ομάδα RoboMaster ECU του Πανεπιστημίου
Ημερομηνία: 14 Ιουλίου 2025
Ημερομηνία: 14 Ιουλίου 2025
-
Σύμπτωμα
20 Δεκεμβρίου 2024, κατά τη διάρκεια της ρύθμισης του πεζικού ρομπότ RoboMaster 2025:
• Σε ευθεία γραμμή 1,5 m/s, το ρομπότ παρέκλινε 3–5 cm δεξιά κάθε 3–5 m.
• Όταν παρέκλινε, η ταχύτητα του δεξιού JGB37-520 (12 V, 30:1, κωδικοποιητής AB) μειώθηκε κατά 15 %; ο αριστερός τροχός κανονικός.
• Η επανεκκίνηση του master STM32F407 κάλυψε το πρόβλημα για ~30 s, μετά επέστρεψε.
• Θερμοκρασία κινητήρα 35 °C, σταθερή παροχή 12,1 V, χωρίς συναγερμούς υπερ-ρεύματος ή υπο-τάσης. -
Αρχικοί Έλεγχοι
| Βήμα | Ενέργεια | Αποτέλεσμα | Συμπέρασμα |
|---|---|---|---|
| ⓪ | Ανταλλαγή αριστερού/δεξιού κινητήρα | Η κατεύθυνση παρέκκλισης ακολουθεί τον κινητήρα | Πρόβλημα ειδικό για τον κινητήρα |
| ① | Έλεγχος κυματομορφών A/B | Καθαρές τετραγωνικές κυματομορφές 0–3,3 V | Υλικό κωδικοποιητή OK |
| ② | Λειτουργία ανοιχτού βρόχου (κωδικοποιητής αποσυνδεδεμένος) | Δεν υπάρχει παρέκκλιση | Πρόβλημα στη διαδρομή κλειστού βρόχου |
| ③ | Ανάλυση λογικής εξόδου PID | Το PID κορεσμένο στο 100 % αμέσως | Ψευδές «δεν επιτεύχθηκε ο στόχος» | -
Ανάλυση Ρίζας Αιτίας
-
Αναπήδηση γείωσης σε κοινή καλωδίωση
Η γείωση ισχύος κινητήρα και κωδικοποιητή μοιράζονται ένα καλώδιο κορδέλας 30 cm (κινητήρας AWG20, κωδικοποιητής AWG28). Σε ρεύμα >1 A, εμφανίζεται μια αιχμή γείωσης 60 mV. -
Φίλτρο MCU πολύ στενό
Το φίλτρο εισόδου STM32 TIM ρυθμισμένο στα 0,1 μs → οι αιχμές μετρήθηκαν ως έγκυρες → 2–3 επιπλέον παλμοί → το PID μειώνει το PWM → πραγματική διακοπή. -
Συνθήκη ενεργοποίησης
Εμφανίζεται μόνο όταν PWM >80 % και ρεύμα κινητήρα >1,2 A; οι δοκιμές χαμηλής ταχύτητας δεν το αναπαρήγαγαν ποτέ. -
Επισκευές
-
Επανασύνδεση
• Ξεχωριστό συστραμμένο ζεύγος 24 AWG για 5 V & GND κωδικοποιητή, φυσικά δρομολογημένο μακριά από την ισχύ.
• Αποσύνδεση 100 μF + 0,1 μF στον ακροδέκτη του κινητήρα για εξάλειψη της αναπήδησης γείωσης. -
Παράμετροι MCU
• Το φίλτρο TIM διευρύνθηκε σε 1 μs.
• Ενεργοποίηση ψηφιακού deglitch 3 ρολογιών. -
Λογισμικό ασφαλείας
• Κάθε 1 ms επαλήθευση «αύξηση παλμού × λόγος μετάδοσης» ταχύτητας; απόκλιση >5 % → σημαία «σφάλμα κωδικοποιητή» → επιστροφή σε ανοιχτό βρόχο για 50 ms και μετά συγχρονισμός. -
Επαλήθευση
• Διαδρομή 100 m μετ' επιστροφής στα 2 m/s υπό πλήρες φορτίο: μηδενική παρέκκλιση.
• 48ωρη δοκιμή (τυχαίο PWM 80–100 %): χωρίς λανθασμένες μετρήσεις.
• Επτά αγώνες, 3,6 km συνολικά: χωρίς παρέκκλιση σπριντ. -
Μαθήματα που διδάχθηκαν
-
«Ο κωδικοποιητής φαίνεται καλός» ≠ «η αλυσίδα σήματος είναι καλή»· η αναπήδηση γείωσης είναι ο σιωπηλός δολοφόνος.
-
Σε PWM >80 % το JGB37-520 μπορεί να τραβήξει 1,5 A; αντιμετωπίστε την καλωδίωση γείωσής του σαν γραμμή ισχύος.
-
Πάντα να προσθέτετε διαφυγή λογισμικού: τα συστήματα κλειστού βρόχου χρειάζονται λογική «απώλεια αισθητήρα → ασφαλής ανοιχτός βρόχος».
Η ομάδα ECU μετέτρεψε αυτήν την ανάλυση σε «Λίστα Ελέγχου Καλωδίωσης Σειράς JGB V2.1», τώρα υποχρεωτική για κάθε μελλοντικό bot.



