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

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

寄存器说明如下:



处理程序:

#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。




版权声明:本文为kelixier原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。