Как читать гироскоп / акселерометр


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 = наименее значимый бит, который я перевел как «считать». Это указывает на минимальное изменение.
Стивенв

В общем, «необработанные» показания от этого типа устройства будут включать смещение (смещение) и ошибки масштабного коэффициента. В конечном итоге вы захотите откалибровать эти ошибки, вычтя значение смещения и умножив его на значение регулировки масштабного коэффициента для каждой оси.
Дэйв Твид

Ссылка на таблицу данных не работает. Вы случайно не знаете новое местоположение этого документа?
Правая нога

11

Гироскоп дает значения угловой скорости (градусы / с) по трем соответствующим осям (оси Yaw, Pitch и Roll соответственно).

Но любое необработанное значение, указанное вначале этими датчиками, должно быть преобразовано в разумные значения ускорения или угловой скорости путем масштабирования.

InvenSense Data Sheet MPU-6050 говорит, что мы должны использовать разные коэффициенты масштабирования для разных диапазонов значений гироскопа. В конце я объясню, как использовать эти коэффициенты масштабирования.

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

9,81мs2

Коэффициенты масштабирования для значений акселерометра:

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

Преобразование необработанных данных:

required_valueзнак равноRAW_VALUEproper_sensitivity

Например, по первым данным, вы получили

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

Ускорение, кажется, в пределах 2g. Итак, коэффициент масштабирования = 16384

aИксзнак равно194416384г

250ºs . Итак, коэффициент масштабирования или чувствительность = 131

gyro_valueзнак равно-34131dегрееssес

Надеюсь, это поможет. :)


1
Я чувствую, что этот ответ дает гораздо лучшее объяснение по сравнению с принятым.
Чуцу

@ajmal Я понимаю значения датчика до точки, которую вы описали. Я также понимаю, что гироскоп по умолчанию имеет небольшой дрейф. Но я не понимаю, как визуализировать данные в реальном мире позиционирования. Я много читал об эйлеровых углах, четвертях, но я не понимаю компромиссов между представлениями и математикой, стоящей за этим. Любое предложение, с чего начать.
Ситараман
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.