뉴티씨



  • HOME
  • 고객지원
  • 질문답변


 
MPU 6050 (가속도 센서) 를 ATmeag128과 TWI 통신으로 센서값 읽어오기 오류
 글쓴이 : 관리자
작성일 : 19-09-17 10:22
조회 : 69  

안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.

뉴티씨에서는 DS1307 RTC에 대한 예제만 서포트해 드리고있으며,
MPU6050의 자세한 설명은 해드리지 못하는점은 양해 부탁드립니다.

MPU6050에는 5V전원을 인가했고,
PD0 -> SCL / PD1 -> SDA 로 연결했으며, PD0와 PD1에는 회로사진과 같이 풀업저항과 220R 저항이 연결되어있습니다.

퓨즈비트는 공장출하기준 Ext:0xFF / High:0xD9 / Low:0xEF로 설정하여 동작시켜 보았습니다만,
정상적으로 값도 잘 읽히고 Roll Yaw 각도 잘 나오는 것으로 보여 이상이 없다고 판단됩니다.

추가로 220R저항을 떼서 풀업저항과의 연결을 제거해도 동작하는 것을 확인했습니다.

오실로스코프가 있으시다고 하셨는데 파형에 ACK 신호가 포함되어있는지 체크해보시기 바랍니다.
I2C 통신으로 데이터를 요청할 때 커맨드를 송신할 때마다 MPU6050에서 ACK로 짧은 파형이 하나 나올겁니다.

I2C 통신 프로토콜이 맞는지 체크해보시고, 소스도 한번 확인해보시기 바랍니다.

센서의 정확성이 떨어진다면 Calibrating을 진행해보시고, 가속도 ㅡ 자이로 값을 통합해주는 필터 수식을 사용해보시기 바랍니다.

감사합니다.

>
>
> MPU6050 가속도 센서 값을 TWI 통신으로 읽어오려고하는데 잘되지 않습니다.
>
> 그래서 다음과 같이 디버깅을 해보았습니다.
>
> 1. SCL, SDA 통신선 풀업저항 유무 (4.7kohm 풀업저항 연결했고 Vcc 5V supply 전압까지 주어보았습니다.)
> 2. 퓨즈 비트 설정 ( 자주하는 질문 게시판에서 찾아서 설정했습니다. )
> 3. 통신선 납땜 여러번 시도해봄
>
> 위와 같이 디버깅을 거쳐보아도 어떨때는 센서값을 읽어오다가 다시 시도해보면 안되고 정확성이 떨어지는 것 같습니다. ( 안되는 경우가 더 많습니다. )
> 그래서 원인을 정확히 파악해보고자 오실로스코프로 통신선의 파형과 전압 값을 찍어보았는데, 나름 깔끔한 구형파는 나오나, MPU6050센서에서 나오는 파형의 전압이 3.3V 수준으로 출력됩니다.
>
> 혹시 ATmega128이 3 V 정도의 논리레벨 값을 못읽어오는 건지에 대해서 여쭤보고싶습니다.
>