Embedded/Arduino

MPU-9250 기울기 센서 + 아두이노 나노 연동 1편

변화의 물결1 2024. 1. 20. 00:05

 

 

안녕하세요. 

 

 오늘은 MPU-9250 기울기 센서와 아두이노 나노를 연동해 보는 작업을 해보려고 합니다. 

그러기 위해서 사전 지식을 쌓고 데이터를 출력해 보겠습니다.


 

1. 기울기 센서에 대해서

 

 1) 기울기 센서


   기울기 센서를 사용하는 것에 왜 9축이나 필요할까 궁금증이 들 수가 있습니다. 혹시 다다익선이라는 말이 있어서일까요? ^^  간단하게 9축의 역할이 무엇인지 확인해 보겠습니다.

 

 (1) 가속도 센서


  센서에 가해지는 가속도를 측정합니다. 즉, 평행한 상태의 정지 상태일 경우, X, Y, Z 축은 0일 것입니다.
여기에 센서를 가속운동을 하였을 경우 운동 방향에 해당하는 축에 더해진 가속도가 출력됩니다.

 

가속도센서/자이로센서 3축

 

 

 

 

지자기 센서 3축

 

 

 

 2) MPU-9250 설명


  데이터 시트상에 특징으로 Gyroscope, Accelerometer, Magnetometer 3가지로 특징을 설명해주고 있습니다.

 

 

 

  MPU-9250는 9축 위치 측위 센서(Positioning Sensor) 또는 9축 관성측정장치(IMU, Inertial Measurement Unit)라 불리는 센서입니다.
  9축의 뜻은 9자 유도(DOF)를 의미하며 가속도 3축 + 자이로 2축 + 지자기(지구자기장) 3축 +온도 1축을 줄여서 9축 기울기 센서라 부릅니다.

 

  MPU-9250은 시리즈로써 6축 모델인 MPU-6050에 지자기(지구자기장) 센서 3축을 추가한 모델인 MPU-9150 센서의 업그레이드 버전입니다. KB33 레귤레이터가 추가되어 3.3~5V에서도 동작 가능하도록 업그레이드되었습니다.


  9축 센서는 3차원 공간상에서 3차원 위치 + 3축 방향으로의 회전을 모두 구할 수 있는 센서입니다. 즉, 9축 센서를 이용하면 3차원 위치, 방향을 모두 찾을 수가 있습니다.

  단, MPU-9250 센서는 저가형 모델로써 필터가 하드웨어적으로 설계되어 있지 않습니다. 이러한 고감도 센서의 경우 센서의 LOW데이터를 그대로 이용하면 잡음(Noise)이 상당하기 때문에 필터(Filter)는 필요합니다. 하지만, 아두이노에서는 MPU-9250에 대한 필터를 통해 잡음을 제거한 소스가 공개(Open)되어 있습니다. 이 소스(코드)를 이용하면 정확한 위치를 추정(Position Estimation)할 수 있습니다.


 [출처] MPU-9250 센서 알아보기-작성자에듀이노 오픈랩

 

 

 

2. 칩 핀맵 과 모듈 핀맵

 

   칩에 핀(PAD)이 많이 있지만 사실 크기를 맞추기 위해서 NC (No Connection/Not Connected)가 많아 보입니다.

 

 

 

- 모듈 핀 맵은 PCB 기판에 적혀있기 때문에 참고하시면 됩니다.

 

MPU-9250

 

 

  여기서 실제로 사용하는 것은 4핀으로 VCC, GND, SCL, SDA 핀을 아두이노 나노 핀에 연결합니다.
SCL, SDA를 사용하는 것은 I2C 통신이라고 해서 클록 신호(SCL)에 맞게 데이터(SDA)를 전달하는 통신이라고 보시면 됩니다.

 

I2C Bus Timing Diagram

 

 

3. 보드와 센서와 연결

 

아두이노 나노와 MPU-9250 점퍼연결

 

 

아두이노 나노 핀 MPU-9250 핀
5V VCC
GND GND
A5(SCL) SCL
A4(SDA) SDA

 


오늘은 하드웨어적인 부분을 보았고
2편에서 소프트웨어에서 X, Y, Z값을 읽어 오도록 하겠습니다.

 

감사합니다.

 

반응형