-
로터리 엔코더 E30S4-1000을 이용한 각도 추출의 문제점 ( UAV 측정장비 개발 ) - finaldongam 2010/05/03
개발을 하다보면 로터리 엔코더를 이용해서 회전량 및 각도를 추출하는 경우가 있습니다.
과제를 진행하다 IMU 측정장치에서 엔코더를 이용해서 회전각을 측정했습니다.
기본 측정 방법은 엔코더의 정회전시 한 클럭에 1의 클럭을 가감하는 방법으로 각을 추출할 경우 정확한 회전각을 계산했습니다.로터리엔코더는 내부에 슬릿이 있고 정해진 규격에 의해서 슬릿에 홈이 파여있고, 광센서를 이용해서 홀의 수를 측정합니다.
위 펄스는 1x encoder 카운터의 출력 신호입니다.
정회전과 역회전 모두 정확한 클럭이 만들어진 상태에서 정회전 역회전이 이루어진 신호입니다.
이 경우에는 정확한 각도 측정이 가능합니다. 하지만 아래의 펄스의 경우에는 문제가 좀 발생합니다.
위 펄스 역시 1x encoder 카운터의 출력 신호입니다. 위 펄스는 엔코더의 회전축이 작은 진동(반복 운동)을 했음을 가정했습니다. CH_B의 작은 HIGH 신호는 CH_B의 절반보다 작다고 가정합니다.(속도가 빨라서 작게 생긴 펄스가 아닌 진동에 의해서 생긴 펄스라고 가정)
출력을 분석해보면 CH_B의 진동에 의해서 DIR이 1인 경우에(정회전) 1의 클럭 상승만 있어야 하지만 위의 경우는 3개의 상승이 발생합니다. 즉, 실회전은 하지 않았는데 진동에 의해서 총 회전 거리를 측정한 것과 같습니다.
반대로 CH_B의 진동에 의해 DIR이 0인 경우에(역회전) -1의 클럭 감소만 있어야 하지만 위의 경우는 3개의 감소가 발생합니다. 즉, 정회전과 같이 총 회전거리만 증가해서 생기는 오차입니다.
위 문제는 다음 글에서 해결해 보도록 하겠습니다.
- TRACKBACK : http://www.swssm.org/trackback.php?id=387
- [prev] ... 1 2 3 4 5 6 7 8 9 10 ... [next]
