뉴티씨



  • HOME
  • 온라인강의
  • AVR 강의

 
[공개] 자이로 각도 구하기(ICCAVR V7)입니다.
 글쓴이 : 관리자
작성일 : 12-01-12 01:09
조회 : 17,673  
   GYRO.zip (79.4K) [454] DATE : 2012-01-12 01:09:25
안녕하세요? 고객님,

자이로 각도 구하기(ICCAVR V7)입니다.
FAQ에 자세한 설명이 있고, 소스가 있었는 데, 여기다 다시 올려드립니다.

( 소스의 목적)
아래소스는 3.3V 기준 전압으로 0~3.3V 사이를 AD하여 계산하는 자이로센서로 각도 구하는 소스입니다.  5V 기준 전압시는 아래 소스 설명을 참고하여, 수정하여 사용하세요.

( 소스 설명 )
1. AVR adc 전압 스케일이  3.3 볼트 일때 vref(계산을 위해 mV 로변경)기준으로 계산합니다.
- 1024는    adc의 1024단계의 분해능을 의미
- 3300mV  adc의 vref인 3.3V를 의미함

2. 1024 분해능에서 1 변동할때의 전압값(Vref = 3.3V) : 3300mV / 1024 = 3.22265625mV
    * 참고적으로  1024 분해능에서 1 변동할때의 전압값(Vref = 5V)
      ( 0~5V 사이를 AD 하고, 실제로는 0~3.3V를 사용하므로, 분해능의 단계수를 다시 계산해야합니다.  즉, 3.3/(5/1024) = 675.84 단계 약 676 값이 3.3 볼트입니다. 0~3.3V의 값을 보려면, 0~676의 값으로 계산하면 됩니다.
        1024 분해능에서 1 변동할때의 전압값(Vref = 5V) : 3300mV / 676 = 4.8816568mV
        )

3.  감도(Sensitivity) 값 관련
    AM-GYRO V01 ( 즉, IDG300)의 감도(Sensitivity)  2mV/degree/sec
    AM-GYRO V02 (즉, IDG650)의 감도(Sensitivity)  0.5mV/degree/sec

4. 최종적인 각도 계산을 위한 Scale Vector 값 관련

    AM-GYRO V01 ( 즉, IDG300) 이용시,
    - 1024 분해능에서 1 변동할때의 각속도 값(Vref = 3.3V) :
            3.22265625 mV  /  ( 2mV/degree/sec) = 1.611328125 degree/sec
    - 1024 분해능에서 1 변동할때의 각속도 값(Vref = 5V) :
            4.8816568mV  /  ( 2mV/degree/sec) = 2.4408284 degree/sec

    AM-GYRO V02 ( 즉, IDG650) 이용시,
    - 1024 분해능에서 1 변동할때의 각속도 값(Vref = 3.3V) :
            3.22265625 mV  /  ( 0.5mV/degree/sec) = 6.4453125 degree/sec
    - 1024 분해능에서 1 변동할때의 각속도 값(Vref = 5V) :
            4.8816568mV  /  ( 0.5mV/degree/sec) = 9.7533136 degree/sec

5. 즉, 정리하여 보면, 각속도 구하는 기본식은
  ( 각속도 초기 adc값 - 센서 회전된 adc 값 ) * scale vector
    여기서 adc 샘플링 시간을 누적시키면 각도가 됩니다.(적분)
    adc 샘플링 주기가 예로 0.01초이면
    degree +=  (( 각속도 초기 adc값 - 센서 회전된 adc 값 ) * scale vector ) * 0.01sec

수고하세요~

 
   
 


1