dongjie135 发表于 2013-11-19 18:46:25

写了一个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;

lg22331 发表于 2013-11-19 20:19:32

坐等高手分析.

xl1736 发表于 2013-11-25 12:17:12

没错,这就是基本的教零思路

asha 发表于 2013-11-25 14:31:42

错了,特别是加速度传感器。静止时候不确定姿态也就不能确定加速度本应该输出的数值。陀螺那本分可以
页: [1]
查看完整版本: 写了一个MPU6050上电自动检测误差的代码,仅供参考!