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


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.