JGB37-520 인코더 모터의 간헐적 인 잘못된 단계의 경우
72시간 동안 근본 원인을 조사합니다
72시간 동안 근본 원인을 조사합니다
저자: 대학 RoboMaster ECU 팀
날짜: 2025년 7월 14일
날짜: 2025년 7월 14일
-
증상
2024년 12월 20일, 우리 2025 로보마스터 보병 로봇을 조정하는 동안:
• 1.5m/s 직선 스프린트에서 로봇은 3~5m마다 3~5cm씩 오른쪽으로 떠났다.
• 드리프트 시 오른쪽 JGB37-520 (12 V, 30:1, AB 인코더) 속도는 15% 감소; 왼쪽 바퀴 정상.
• STM32F407 마스터를 다시 시작하면 ~ 30초 동안 문제가 가려지고 다시 나타났습니다.
• 모터 온도 35 °C, 공급 12.1 V 일정, 과전류 또는 저전압 경보가 없습니다. -
초기 검사
단계 행동 결과 결론
이봐요. 이봐요.
1 엔진을 왼쪽/오른쪽으로 바꿉니다. 유동 방향은 모터를 따라갑니다. 모터 특정 문제입니다.
2 A/B 파형의 범위를 측정합니다.
3 오픈 루프로 실행하세요 (코더는 연결되지 않습니다)
4 PID 출력을 논리적으로 분석합니다. PID는 즉시 100%로 포화됩니다. -
근본 원인 분석
-
공유 배선에서 지상 반사
모터 파워와 인코더 GND는 30cm 리본 케이블 (모터 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로 확대됩니다.
• 3시간 디지털 디글리치를 활성화합니다. -
소프트웨어 보호
• 1 ms마다 확인 ′′ 펄스 인크리멘트 × 기어 비율 ′′ 속도; 오차 > 5% → 플래그 ′′ 인코더 오류 ′′ ′′ 50 ms 동안 오픈 루프로 돌아와서 다시 동기화합니다. -
확인
• 100m 전량하에서 2m/s로 왕복 100m: 제로 드리프트
• 48시간의 연소 (수차 80~100% PWM): 실수 계산이 없습니다.
• 7경기, 총 3.6km: 스프린트 드리브가 없습니다. -
배운 교훈
-
엔코더가 잘 보이네요. 신호 체인이 잘 보이네요.
-
PWM > 80%에서 JGB37-520는 1.5 A를 끌어낼 수 있습니다. 그어드 배선을 전력 선처럼 취급합니다.
-
항상 소프트웨어 탈출을 추가하십시오: 폐쇄 루프 시스템은 ′′센서 손실 → 오픈 루프 안전 ′′ 로직이 필요합니다.
ECU팀은 이 연습을 JGB-시리즈 와이어링 체크리스트 V2.1로 바꾸었고, 이제 모든 미래의 로봇에 필수적입니다.



