写了一个MPU6050上电自动检测误差的代码,仅供参考!
思路是,上电的时候水平放置MPU6050,静止不动,然后分别读取500次加速度J_X,J_Y,J_Z和角速度T_X,T_Y,T_Z,然后求和,最后除以次数,就能计算出误差,然后用来校准。第一次发帖,什么都不懂,新手{:loveliness:}
for(i = 0; i < 500; i++)
{
READ_MPU6050(); //误差校准
ax += (J_X/16384.0)*9.8;
ay += (J_Y/16384.0)*9.8;
az += (J_Z/16384.0)*9.8;
cx += (T_X/16.4);
cy += (T_Y/16.4);
cz += (T_Z/16.4);
}
ax_n = ax/500.0;
ay_n = ay/500.0;
az_n = az/500.0-9.8;
cx_n = cx/500.0;
cy_n = cy/500.0;
cz_n = cz/500.0; 坐等高手分析. 没错,这就是基本的教零思路 错了,特别是加速度传感器。静止时候不确定姿态也就不能确定加速度本应该输出的数值。陀螺那本分可以
页:
[1]