MPU6050 6DOF 資料讀取

2021-07-06 09:28:21 字數 1028 閱讀 1490

mpu6050 三軸加速度陀螺儀模組

1)如何根據讀出的值計算重力加速度

官方給的文件如下:

如果設定 1 (afs_sel=1)  量程式 +/- 2g (不是克,是重力加速度) 

那麼當你把mpu6050水平放置的時候,z軸的acc值應該接近 16384.

lsb/g 是什麼單位?  lsb的意思是最小有效位,為數字輸出方式。 就是 如果有1個g的有效位是16384, 翻過來,就是說表示精度是 1/16384 g

為何如此:因為 量程  +/- 2g, 就是 4g,  4* 16384 = 65536 = 2的16次方,正好是乙個16位數能表示的

隨著量程的增大((afs_sel=2,3,4),表示的精度下降

計算重力加速度,用讀取值 除以 lsb/g (就得到當前方向的加速度,單位g) 

比如,把mpu6050前傾放,得到x軸(相對於mpu6050晶元平面)的acc值為 8000 , 則x軸的acc就是 8000/16384 單位 g

2)計算gyroscope

官方文件如下:

當 fs_sel = 3 的時候,量程是 2000度/每秒

那麼根據讀到的資料 除以 16.4 就得到每秒賺動的度數

例子:angle_ax=(accel_x)/8192;  //加速度處理

angle_az=(accel_z)/8192;  //加速度量程 +-4g/s

angle_ay=(accel_y)/8192;//轉換關係8192lsb/g

angle_gx=(gyro_x)/65.5;   //陀螺儀處理

angle_gy=(gyro_y)/65.5;   //陀螺儀量程 +-500度/s

angle_gz=(gyro_z)/65.5;   //轉換關係65.5lsb/度

mpu6050 z軸校準 MPU6050校準

前用匿名四軸的 稱植過來發現求出的 pitch 與roll 一直不斷的增加,不知道什麼原因,靜止放著也不行。看了不少四元數的資料,能看懂,但是結合資料融合又糊了。加上卡爾漫資料也就那樣,可 能是我處理得有問題。偶然翻帖看到了 dmp,於是打算移植過來看看。花了兩三的時間總算成功了。現在把一些移植過程...

MPU 儲存保護單元概述

在cortex m3處理器中可以選配乙個儲存器保護單元 mpu 它可以實施對儲存器 主要是記憶體和外設暫存器 的保護,以使軟體更加健壯和可靠。在使用前,必須根據需要對其程式設計。如果沒有啟用mpu,則等同於系統中沒有配mpu。mpu有如下的能力可以提高系統的可靠性 阻止使用者應用程式破壞作業系統使用...

MPU6050資料讀取

iicreadbytes devaddr,mpu6050 ra accel xout h,14,buffer 對於加計x軸的資料,buffer 0 存放高位 0xff,buffer 1 0x40存放低位 計算方法 if buffer 0 0x7f mpu6050 lastax buffer 0 25...