我的四轴飞行器经验总结(三)--MPU6050的配置和计算原理

我原来虽然总用MPU6050,但是我总说不清配置陀螺仪和加速度计的原理,当我读出15位的AD采样值后,怎么处理,所以今天总结一下。

寄存器说明如下:

我的四轴飞行器经验总结(三)--MPU6050的配置和计算原理_第1张图片我的四轴飞行器经验总结(三)--MPU6050的配置和计算原理_第2张图片


处理程序:

#define SENSOR_MAX_G 8.0f		//constant g		// tobe fixed to 8g. but IMU need to  correct at the same time
#define SENSOR_MAX_W 2000.0f	//deg/s
#define ACC_SCALE  (SENSOR_MAX_G/32768.0f)
#define GYRO_SCALE  (SENSOR_MAX_W/32768.0f)


imu.accRaw[i]= (float)imu.accADC[i] *ACC_SCALE * CONSTANTS_ONE_G ;
imu.gyroRaw[i]=(float)imu.gyroADC[i] * GYRO_SCALE * M_PI_F /180.f;		//deg/s


处理原理:

计算公式:AD值*选择的满量程/2的15次幂*物理量单位值

加速计:AD*8.0f/32768f*9.80665f

陀螺仪:AD*2000.0f/32768f*3.1415f*180.0f

如下图中的灵敏度也是对应可以算出来的,比如说加速度计你设置为2g,那么对应灵敏度也就32768f/2=16384。

我的四轴飞行器经验总结(三)--MPU6050的配置和计算原理_第3张图片我的四轴飞行器经验总结(三)--MPU6050的配置和计算原理_第4张图片

你可能感兴趣的:(我的四轴飞行器经验总结(三)--MPU6050的配置和计算原理)