【求教】MPU6050动态纠正零偏
用MPU6050做东西。初步学习了以后做了下静态下的零偏纠正。现在想求教一下怎么动态的纠正零偏。。就是MPU6050在移动的时候漂的很厉害啊。。有没有在移动的时候也能纠正零偏的办法?求教啊 加速度啊 跟陀螺数据融合 Name_006 发表于 2012-7-16 20:37 static/image/common/back.gif加速度啊 跟陀螺数据融合 ...
请教一下:gyro_xsensitivity,ysensitivity,zsensitivity这三个数的值是如何确定的呢。原文地址
http://www.botched.co.uk/pic-tutorials/mpu6050-setup-data-aquisition/
void Get_Gyro_Rates()
{
LDByteReadI2C(MPU6050_ADDRESS, MPU6050_RA_GYRO_XOUT_H, &GYRO_XOUT_H, 1);
LDByteReadI2C(MPU6050_ADDRESS, MPU6050_RA_GYRO_XOUT_L, &GYRO_XOUT_L, 1);
LDByteReadI2C(MPU6050_ADDRESS, MPU6050_RA_GYRO_YOUT_H, &GYRO_YOUT_H, 1);
LDByteReadI2C(MPU6050_ADDRESS, MPU6050_RA_GYRO_YOUT_L, &GYRO_YOUT_L, 1);
LDByteReadI2C(MPU6050_ADDRESS, MPU6050_RA_GYRO_ZOUT_H, &GYRO_ZOUT_H, 1);
LDByteReadI2C(MPU6050_ADDRESS, MPU6050_RA_GYRO_ZOUT_L, &GYRO_ZOUT_L, 1);
GYRO_XOUT = ((int16)(GYRO_XOUT_H<<8)|GYRO_XOUT_L) - GYRO_XOUT_OFFSET;
GYRO_YOUT = ((int16)(GYRO_YOUT_H<<8)|GYRO_YOUT_L) - GYRO_YOUT_OFFSET;
GYRO_ZOUT = ((int16)(GYRO_ZOUT_H<<8)|GYRO_ZOUT_L) - GYRO_ZOUT_OFFSET;
GYRO_XRATE = (float)GYRO_XOUT/gyro_xsensitivity;
GYRO_YRATE = (float)GYRO_YOUT/gyro_ysensitivity;
GYRO_ZRATE = (float)GYRO_ZOUT/gyro_zsensitivity;
}
gyro_xsensitivity,ysensitivity,zsensitivity这三个数据都是 选择相应量程的分辨率。。 GYRO_XRATE = (float)GYRO_XOUT/gyro_xsensitivity;GYRO_XRATE 得到的就是gyro测量得到的角速度
根据你设定的输出范围 查询手册 上面写了感度
页:
[1]