Як читати гіроскоп / акселерометр


10

Нещодавно я придбав цю плату MPU6050 GY-521 . Я спробував це з моєю Arduino Mega, використовуючи цей ескіз Arduino, наданий офіційним arduino.cc .
( Лист даних 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, 

(Це лише її частина, вона дає цьому королю випуск безперервно). Я точно знаю, сенс має лише значення температури. Але які ці значення даються для прискорення та зчитування гіроскопа?

Гаразд, це говорить, що це сирі цінності. Якщо це так, то як я можу перетворити їх на значущі значення. Сподіваючись, що це може бути корисним (як багато пропонують), я також хотів би знати, як використовувати так звану Jeff Rowbergбібліотеку.

Сподіваюсь, що з модулем MPU-6050 знайдеться хтось досвідчений. Просто дайте мені початок. У мене немає поняття, як користуватися модулем ... :(

Будь-яка допомога дуже вдячна. Дякую !


1
У мене була подібна проблема, яка вирішила в цьому питанні electronics.stackexchange.com/questions/39024/…
JDD

Нічого, це чудовий маленький ІМУ!
Скотт Сейдман

Відповіді:


6

Акселерометр «s читання , здається, має сенс. Технічний опис , стор 13 вказує , 4 різну чутливість:

2 g  
4 g  
8 g  
16 g  

з респ. коефіцієнти шкали чутливості:

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

З Z-зчитування я припускаю, що у вас вибрана шкала 2 г, то 15 608 - 0,95 г, що можна очікувати від зчитування на осі Z, якщо ви тримаєте датчик більш-менш горизонтальним. Зчитування X і Y, ймовірно, також пов'язано з гравітацією, коли ви не тримаєте деталь ідеально горизонтально. І у вас буде помилка в читанні.



Схожий на гіроскоп . При 131 рахунку на градус / с ви можете мати таке читання, якщо ви тримаєте частину в руках.


Дякую! Усі ваші припущення є правильними. Тоді ви пропонуєте мені помножити вище вихідного на 1g/16384(при використанні шкали 2 г), щоб отримати реальне зчитування прискорення (для всіх осей Тебе)? Потім, як поводитися з показаннями в гіроскопах?
Анубіс

А яке значення LSBв підрозділі LSB/g?
Анубіс

Гіроскоп здається дуже чутливим, так що, тримаючи його в руках, може дати поворот читання, коли ваші руки трохи трясуться (занадто багато кави? :-)). LSB = Найменш значущий біт, який я переклав як "підрахунок". Він вказує на мінімальну зміну.
stevenvh

Загалом, "необроблені" показання цього пристрою включатимуть зміщення (зміщення) та масштабні похибки. Врешті-решт, ви хочете відкалібрувати ці помилки шляхом віднімання значення зміщення та множення на значення коригування масштабу-коефіцієнта для кожної осі.
Дейв Твід

Посилання на таблицю даних порушено. Чи знаєте ви нове місцезнаходження цього документа?
Права нога

11

Гіроскоп дає значення кутової швидкості (градусів / сек) у трьох відповідних осях (осі "Зростання", "Пітч" та "Ролл" відповідно.

Але незалежно від того сировини значення дано спочатку цих датчиків повинні бути перетворені в розумному прискорення або кутових значень швидкості шляхом масштабування.

Лист даних InvenSense MPU-6050 говорить, що ми повинні використовувати різні коефіцієнти масштабування для різних діапазонів значень гіроскопа. Я поясню, як використовувати ці коефіцієнти масштабування врешті-решт.

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 

Перетворення вихідних даних:

обов'язкове значення=raw_valueправильна_чутливість

Наприклад, у перших даних ви отримали

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

Прискорення, здається, знаходиться в межах 2g. Отже, коефіцієнт масштабування = 16384

ах=1944 рік16384г

250ºс

gyro_value=-34131гегrеессеc

Сподіваюся, що це допомагає. :)


1
Я вважаю, що ця відповідь дає набагато краще пояснення порівняно з прийнятою.
чуцу

@ajmal Я розумію значення датчика до точки, яку ви описали. Я також розумію, що гіроскоп за замовчуванням має незначний дрейф. Але я не розумію, як візуалізувати дані в реальному позиціонуванні. Я багато читав про кути еулера, квартерніони, але я не розумію компромісів між представленнями та математикою, що стоїть за ним. Будь-яка пропозиція, з чого почати.
seetharaman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.