자이로 / 가속도계를 읽는 방법


10

최근 에이 MPU6050 GY-521 브레이크 아웃 보드를 구입 했습니다 . 공식 arduino.cc에서 제공하는 이 Arduino 스케치를 사용하여 Arduino Mega로 시도했습니다 . ( MPU-6050 데이터 시트 , InvenSence (생산자) 페이지 )

이 이상한 출력을 제공합니다 !!!

InvenSense MPU-6050
June 2012
WHO_AM_I : 68, error = 0
PWR_MGMT_2 : 0, error = 0

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1944, 368, 15608
temperature: 30.576 degrees Celsius
gyro x,y,z : -34, -204, -247, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1952, 364, 15304
temperature: 30.435 degrees Celsius
gyro x,y,z : -38, -216, -274, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1864, 388, 15356
temperature: 30.482 degrees Celsius
gyro x,y,z : -34, -233, -278, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1888, 324, 15260
temperature: 30.576 degrees Celsius
gyro x,y,z : -14, -220, -261, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1904, 392, 15316
temperature: 30.624 degrees Celsius
gyro x,y,z : -34, -241, -238, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1856, 308, 15604
temperature: 30.435 degrees Celsius
gyro x,y,z : -33, -252, -235, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1892, 444, 15528
temperature: 30.624 degrees Celsius
gyro x,y,z : 20, -236, -251, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1924, 356, 15520
temperature: 30.576 degrees Celsius
gyro x,y,z : -19, -224, -251, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1844, 280, 15732
temperature: 30.529 degrees Celsius
gyro x,y,z : -1, -240, -249, 

MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 2004, 372, 15396
temperature: 30.671 degrees Celsius
gyro x,y,z : -20, -252, -255, 

(이것은 그 일부일 뿐이며,이 왕에게 지속적인 출력을 제공합니다). 나는 확실히 온도 측정 값 만 의미가 있다는 것을 알고있다. 그러나 가속 및 자이로 판독 값은 무엇입니까?

OK, 그것들은 그것들이 원시 값이라고 말합니다. 그렇다면 어떻게 의미있는 값으로 변환 할 수 있습니까? 그것이 도움이 될 수 있기를 바랍니다 (많은 제안 된 바와 같이), 나는 또한 소위 Jeff Rowberg라이브러리 를 사용하는 방법을 알고 싶습니다 .

MPU-6050 모듈에 경험이있는 사람이 있기를 바랍니다. 시작점을 알려주세요. 나는 모듈을 사용하는 방법에 대한 실마리가 없다 ... :(

어떤 도움이됩니다 크게 감사. 감사 !



와우 – 그것은 멋진 작은 IMU입니다!
Scott Seidman

답변:


6

가속도계 의 독서는 의미가 같다. 데이터 시트 , 페이지 (13)는 4 개의 다른 감도를 나타냅니다 :

2 g  
4 g  
8 g  
16 g  

resp. 감도 척도 계수 :

16 384 counts/g  
8 192 counts/g  
4 096 counts/g  
2 048 counts/g  

Z- 판독에서 2g 스케일을 선택한 것으로 가정하면 15608은 0.95g입니다. 이는 센서를 수평으로 잡았을 때 Z 축 판독에서 기대할 수있는 것입니다. X 및 Y 판독은 부품을 완전히 수평으로 잡지 않을 때 중력에 의한 것일 수도 있습니다. 그리고 당신은 독서에 오류가있을 것입니다.



자이로 와 비슷합니다 . 학위 / 초당 131 카운트로 부품을 손에 쥐고 있다면 이런 종류의 독서를 할 수 있습니다.


감사! 모든 가정이 정확합니다. 그런 다음 원시 출력보다 1g/16384(2g 스케일을 사용할 때) 를 곱하여 실제 가속 판독 값을 얻으려면 (모든 축에 대해) 제안 합니까? 그렇다면 자이로 판독을 처리하는 방법은 무엇입니까?
Anubis

그리고 LSB그 단위 의 의미는 무엇 LSB/g입니까?
아누비스

자이로는 매우 민감한 것처럼 보이므로 손에 쥐고 있으면 손이 약간 흔들릴 때 회전 판독 값을 줄 수 있습니다 (커피가 너무 많습니까? :-)). LSB = 최소 유효 비트로, "count"로 번역되었습니다. 최소 변화를 나타냅니다.
stevenvh

일반적으로이 유형의 장치에서 "원시"판독 값에는 오프셋 (바이어스) 및 스케일 팩터 오류가 포함됩니다. 결국 오프셋 값을 빼고 각 축에 대한 배율 조정 값을 곱하여 이러한 오류를 교정하려고합니다.
Dave Tweed

데이터 시트에 대한 링크가 끊어졌습니다. 해당 문서의 새로운 위치를 알고 있습니까?
오른쪽 다리

11

자이로 스코프는 세 개의 각 축 (각각 요, 피치 및 롤 축)에서 각속도 (도 / 초) 값을 제공합니다.

그러나 이러한 센서가 먼저 제공 한 모든 원시 값은 스케일링을 통해 합리적인 가속도 또는 각속도 값으로 변환되어야합니다.

MPU-6050의 InvenSense 데이터 시트에 따르면 다양한 자이로 값 범위에 대해 서로 다른 스케일링 요소를 사용해야한다고합니다. 결국 이러한 스케일링 계수를 사용하는 방법을 설명하겠습니다.

Angular Velocity Limit  |   Sensitivity
----------------------------------------
250º/s                  |    131
500º/s                  |    65.5 
1000º/s                 |    32.8 
2000º/s                 |    16.4

9.81미디엄에스2

가속도계 값의 배율 :

Acceleration Limit  |   Sensitivity
----------------------------------------
2g                  |    16,384
4g                  |    8,192  
8g                  |    4,096 
16g                 |    2,048 

원시 데이터 변환 :

required_value=raw_value적절한 감도

예를 들어 첫 번째 데이터에서

accel x,y,z: 1944, 368, 15608
gyro x,y,z : -34, -204, -247

가속은 2g의 한계에있는 것 같습니다. 따라서 스케일링 계수 = 16384

엑스=194416384

250º에스

자이로 값=34131이자형아르 자형이자형이자형에스에스이자형

희망이 도움이됩니다. :)


1
이 답변이 허용되는 답변보다 훨씬 더 나은 설명을 제공한다고 생각합니다.
chutsu

@ajmal 나는 당신이 묘사 한 지점까지 센서 값을 이해합니다. 또한 자이로에는 기본적으로 약간의 드리프트가 있음을 이해합니다. 그러나 실제 위치에서 데이터를 시각화하는 방법을 이해하지 못합니다. 나는 오일러 각, 쿼터니언에 관해 많은 것을 읽었지만, 표현과 그 배후의 수학 사이의 트레이드 오프를 이해하지 못합니다. 어디서부터 시작해야하는지 제안하십시오.
seetharaman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.