• ||
    로터리 엔코더 E30S4-1000을 이용한 각도 추출의 문제점 해결 ( UAV 측정장비 개발 ) ( UAV 측정장비 개발 )
  • finaldongam 2010/05/05
  •  

  • 이번 글에서는 로터리 엔코더의 오차를 해결하는 방법에 대해서 기술해 보겠습니다.

    저번 글에서 기술한 로터리 엔코더 E30S4-1000의 문제점은  진동(좌-우 미세반복 운동)에 의한 글리치 발생이었습니다.

    이를 해결하는 방법은 E30S4-1000에 기본적으로 제공되는 Z 채널의 출력 펄스를 이용하는 것입니다.

    원래는 2가지 방법으로 문제에 접근했습니다.

    1. verilog HDL을 이용한 Digital Logic을 추가해서 글리치를 제거하는 방법

    2. z 채널의 출력 펄스로 값을 리셋 시키는 방법

    입니다.

     

    첫번째 방법은 다음과 같은 문제로 사용하지 않았습니다.

    1. 출력 펄스의 듀티는 일정하지 않다.

    2. 펄스의 듀티의 크기와 상관없이 글리치가 발생

    직접 로직을 구현해서 위 문제를 해결하기에는 엔코더에서 발생하는 글리치는 아날로그 회로에서 생기는 그것과는 달리 기계적인 문제(슬릿의 움직임)의 경우의 수가 너무 많았습니다. 따라서 로직을 구현한다 하더라도 오히려 딜레이가 크게 생길 수 있을 것으로 보고 고려대상에서 제외하였습니다.

     

    두번째 방법인 z 채널의 출력 펄스로 값을 리셋시키는 방법은 다음과 같습니다.

    1. 시작점 근처에 (0도) z 펄스의 출력이 나오는 엔코더 축의 한 면을 위치시킨다.

    2. 장치에 전원이 들어오면 시스템을 리셋시킨 후 측정장치의 축을 -90도에서 +90로 1회 회전시켜 엔코더의 z 펄스가 나오는 위치를 카운트해서 저장한다

    3. 이후에는 엔코더의 회전축이 z펄스 출력 위치로 오면 출력되는 카운트 값은 항상 리셋되어 저장된 z펄스 카운트 값으로 대체된다.

     

    위 방법에는 물론 단점이 있습니다. 그 단점이란 

    1. 항상 z 펄스는 회전의 시작점(0도) 근처에 존재하도록 조정해 주어야 하고

    2. z펄스 위치에 오기전에 약간의 오차가 발생할 수도 있습니다.

    따라서 누적 오차를 줄이기 위해서는 z 펄스는 회전의 시작점 근처에 최대한 접근시키는게 유리하겠습니다.

    엔코더는 정밀 측정장치 입니다.
    물론 약간의 오차는 있을 수 있겠지만 IMU의 출력 정보를 측정하고 비교하는데는 문제가 없을 정도의 정밀도를 가지고 있으므로 로터리 엔코더 E30S4-1000을 이용해서 절대 회전각을 추출하는것은 신뢰할 수 있다고 생각합니다.


  •  
  • TRACKBACK : http://www.swssm.org/trackback.php?id=388
  •  
  •  
  • [prev] ... 1 2 3 4 5 6 7 8 9 10 ... [next]
 
삼성전자 소프트웨어 멤버십
과제 Tech Note 입니다.

최근 글