1. 하드웨어 연결하기
- VCC 와 GND 에 신호를 3.3V 와 GND 를 인가하고 X, Y 출력 신호를 ADC 의 입력에 각각 연결합니다.
- 각속도 모듈을 디지털 콘트롤 핀이 없이 전원만 인가되면 각속도가 전압 형태로 출력됨으로 이를 ADC를 이용하여 디지털로 변환합니다. ATMega128의 경우에 F포트가 A/D 컨버터입니다.
2. 2축 각속도 센서 동작시키기
- 센서의 출력을 ADC 로 값을 컨버팅 하면 해당 축으로 가해지는 각속도를 알 수 있습니다. 각속도를 시간에 대해서 적분하면 각 축에 해당되는 누적된 각을 알 수 있습니다. 하지만 자이로 하나 만으로는 정확하게 절대각도를 알아낼 수는 없습니다. 누적 오차가 발생하기 때문인데, 그 원인은 센서에 들어오는 전원 노이즈, 데이터에 들어오는 노이즈, ADC 하면서 생기는 양자화 노이즈, 그리고 기준 전압의 변경으로 인한 노이즈 등이 있을 수 있습니다.
- 센서에 들어오는 전원 노이즈는 아래 그림과 같이 설계하면 줄어들 수 있습니다. 아래에서 LDO가 저주파 노이즈를
감쇄 시킵니다.
- 기준 전압의 변경으로 인한 노이즈는 제조 공정상 생기는 문제로, 아무리 0점으로 놓았다고 하더라도, 사실 사용시에 정확한 값을 잡기는 어렵습니다. 이런 경우 offset error가 있을 수 있습니다. 칩이 레이저로 컷팅되고, 제작되므로, 제작 당시에는 매우 정확하지만, 운송 과정, 기계적인 스트레스, 온도 등으로 인하여 약간씩 에러가 발생할 수 있습니다.
- A/D 컨버터와 관련된 내용은 NEWTC 홈페이지에서 강좌 > AVR강좌의 ADC 강좌 및 자료실의 예제를 참고 하시기
바랍니다.
3. AVR을 이용한 가속도/각속도 테스트 프로그램
- 예제 프로그램은 3축 가속도센서에서 사용한 프로그램과 같은 것을 사용합니다. UART 통신 설정은 기본 COM1, 115,200bps, 8bit, Parity None으로 되어 있습니다. Windows 프로그램과 함께 ATMEGA128을 이용하여 ADC결과 값을
시리얼로 전송하는 AVR용 C 소스도 함께 제공됩니다. 각각 X, Y, Z, 값을 받아서 A/D 하도록 되어 있습니다.
- 이 값이 AVR의 UART포트 0번을 통해서 PC로 들어가게 되며, PC에서는 이 패킷을 받아서, 분석하여 각 X, Y, Z 값을
계산해 낸 후, 각 값을 사용 하여 화면에 처리하게 됩니다.
- 이 프로그램은 3축 가속도 센서에서 사용하도록 제작되어 X, Y, Z 값을 전송하지만 본 GYRO 센서는 2 축이기 때문에
X, Y 만 사용하게 됩니다. 자이로 센서를 테스트 할 때는 3축 가속도 센서 테스트 윈도프로그램의 속도 체크박스를
선택하여 사용하면 편리합니다.
[테스트 프로그램 실행 화면]
ㆍ 테스트 프로그램은 NEWTC 홈페이지 자료실에서 다운 받으실 수 있습니다.

[AB-M128Pro-A 와 AM-GYRO 연결된 사진]