안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
주의할 부분은 DM185모터의 엔코더가 한바퀴 13번에 1/30의 기어비를 가진다는 것이 맞다는 가정하에서 했다는 점입니다. 실제 모터 내부적으로 오차가 있을 수 있으므로, 테스트 후 사용하세요.
기어드 모터의 내부에 들어있는 DC모터 자체에 엔코더가 달려 있어서 그렇습니다.
대부분의 기어드 모터는 다 내부의 모터에 엔코더가 달려 있습니다.
따라서, 지금 쓰시는 모터는 A와 B 두 개의 엔코더가 있는 데 기어가 1/30 이므로,
각 엔코더 채널별로 30 x 13 = 390개의 펄스가 밖에서 보이는 기어드 기준으로 한 바퀴에 뜨게 됩니다.
하지만, 내부의 DC 모터는 실제로는 30바퀴가 돌게 되겠습니다.
따라서, 390번 펄스를 재시면 정확히 한바퀴를 돌게 됩니다.
다만, 이론적으로는 그렇습니다만, 실제로는 모터제조시 모터마다 다소 오차가 있으므로,
측정해 보고 쓰시는 게 좋겠습니다.
본 소스의 테스트 환경은
- AB-M128USB-C 메인보드 (Active low 방식의 PG2, PG3 스위치 내장)
- PORTE : AM-DC2-2D DC모터 제어기 (PWM FAST OC3B 사용)
- PORTC : Encoder 모듈
- PORTG : 내장 스위치 사용(Active Low 방식, 속도 조절)
- 사용 모터 : DM185 모터 입니다.
UART1을 이용하여 RPM을 모니터링하고 있습니다.
소스 상에서 temp 에 값을 바꾸시면, 모터 PWM이 바뀌면서 속도가 바뀌도록 되어 있습니다.
AVR Studio V4.19+ GCC 환경에서도 엔코더 테스트하는 소스를 배포하고자 제작하였습니다.
감사합니다.