专利名称:一种消除mems陀螺零漂的方法
技术领域:
本发明属于微机械传感器领域,涉及一种MEMS陀螺零点校准方法,尤其涉及一种消除MEMS陀螺零漂、温漂、随机游走的方法。
背景技术:
MEMS陀螺仪的结构大幅减小,单封装数字和模拟接口占板面积极小,只有几平方毫米。MEMS陀螺和传统的陀螺相比最大的优势就是体积小,并且价格优势明显,这些优势促使MEMS陀螺渗透到手持式设备市场。MEMS陀螺让便携式设备加入许多令人惊喜的功能,例如提高相机拍摄性能的稳像功能,易用的用户界面以及游戏娱乐功能等。同时,MEMS陀螺还将用于需要高灵敏度、低噪声、低漂移(因长时间使用而发生的测量偏差或受到环境温度影响产生的偏差)的航位推测和GPS辅助导航。MEMS陀螺与其他类型陀螺相比具有许多优势,但其自身也有一些缺点,给其应用带来了一些限制。由于MEMS陀螺特殊的微机械结构,其工作主要受谐振频率的影响,而陀螺仪材料的弹性模量以及陀螺的外围电路的性能都会随温度变化而变化。MEMS陀螺最大的缺点就是陀螺本身的随机游走,以及容易受到温度等外界环境因数的影响。在保证测量精度的条件下,如何克服陀螺的随机游走和零点漂移就变得至关重要。现在普遍的做法是通过实验的方法找到陀螺的输出值和角速度以及误差之间的准确关系,然后再利用此关系去修正陀螺的输入角速度。例如一种微机械陀螺仪误差的高精度补偿方法(理论与方法,2012,31 (8):18-20.)中利用allan方差辨识陀螺仪的噪声系数,根据微陀螺仪的误差模型设计了卡尔曼滤波器进行动态仿真。此方法需用涉及到矩阵的计算,不利于单片机等微处理器处理,而且陀螺的输出值还伴有零均值高斯白噪声。同时此类方法求导出的关系式是精确的,需要确定每个参数的值,外部环境随时都会变化,任意一个参数的变化都会对陀螺的输出值产生影响,实时适应性比较差。
本发明针对MEMS陀螺特点并结合实际工程应用要求,设计并实现了一种实时消除MEMS陀螺零漂的方法。该方法具有设计简单、运算量小、便于实现等特点。此方法可以有效的抑制MEMS陀螺在零点附近的漂移,在满足一定精度的情况下,对于应用带来很大的简便。
发明内容
本发明的目的在于提供一种消除MEMS陀螺零漂的方法,通过将陀螺的零点进行长时间的均值滤波,使陀螺在没有外加角速度输入时,陀螺的角速度直接输出零值。实现本发明目的的技术解决方案为:一种消除MEMS陀螺零漂的方法,具体步骤如下:I)获得初始陀螺的零点值zero:A、进行采样,记录陀螺静止时的输出信号,经单片机AD转换后得到陀螺的零点值
数字量;
B、将其通过滤波器,对其进行长度为N的管道滤波以降低采样的噪声,获得陀螺的输出值,对陀螺的输出值进行x*y次平均,得到初始陀螺的零点值zero。上述N的取值范围为20-200,X取值范围为80-120,y取值范围为80-120。2)在初始陀螺的零点值zero附近设置一个容限范围土allowance,确定陀螺的当前输出值和初始陀螺的零点值zero的差值diff是否超过土allowance:如果陀螺的当前输出值和初始陀螺的零点值zero的差值diff没有超过这个容限范围,则此时判断陀螺的状态为静止,同时陀螺的当前输出值将参与陀螺的零点的解算;如果diff超出容限范围则认为外界有输入,则将该值作为陀螺的角速度值正常输出并且不参与零点的解算。陀螺的零点的解算方法如下:a、将陀螺的当前输出值送入数组ZER0[x];b、判断数组ZER0[x]是否被填满,若数组ZER0[x]被填满,确定数组ZER0[x]的平
均值,再将ZER0[x]的平均值带入数组ZER0[y],
权利要求
1.一种消除MEMS陀螺零漂的方法,其特征在于,步骤如下: O获得初始陀螺的零点值zero ; 2)在初始陀螺的零点值zero附近设置一个容限范围为土allowance,确定陀螺的当前输出值和初始陀螺的零点值zero的差值diff是否超过土allowance: 如果陀螺的当前输出值和初始陀螺的零点值zero的差值diff没有超过这个容限范围,则此时判断陀螺的状态为静止,同时陀螺的当前输出值将参与陀螺的零点的解算;如果diff超出容限范围则认为外界有输入,则将该值作为陀螺的角速度值正常输出并且不参与零点的解算。
2.根据权利要求1所述的消除MEMS陀螺零漂的方法,其特征在于:容限范围如下表所示:
3.根据权利要求1所述的消除MEMS陀螺零漂的方法,其特征在于:步骤I)中,获得初始陀螺的零点值zero方法如下: A、进行采样,记录陀螺静止时的输出信号,经单片机AD转换后得到陀螺的零点值数字量; B、将其通过滤波器,对其进行长度为N的管道滤波以降低采样的噪声,获得陀螺的输出值,对陀螺的输出值进行x*y次平均,得到初始陀螺的零点值zero。
4.根据权利要求3所述的消除MEMS陀螺零漂的方法,其特征在于:N的取值范围为20-200,X取值范围为80-120,y取值范围为80-120。
5.根据权利要求1所述的消除MEMS陀螺零漂的方法,其特征在于:步骤2)中,陀螺的零点的解算方法如下: a、将陀螺的当前输出值送入数组ZER0[x]; b、判断数组ZER0[x]是否被填满,若数组ZER0[x]被填满,确定数组ZER0[x]的平均值,再将ZER0[x]的平均值带入数组ZER0[y],
全文摘要
本发明公开了一种消除MEMS陀螺零漂的方法,步骤如下1)获得初始陀螺的零点值zero;2)在初始陀螺的零点值zero附近设置一个容限范围±allowance,确定陀螺的当前输出值和初始陀螺的零点值zero的差值diff是否超过±allowance如果陀螺的当前输出值和初始陀螺的零点值zero的差值diff没有超过这个容限范围,则此时判断陀螺的状态为静止,同时陀螺的当前输出值将参与陀螺的零点的解算;如果diff超出容限范围则认为外界有输入,则将该值作为陀螺的角速度值正常输出并且不参与零点的解算。本方法有效的克服了MEMS陀螺的零漂和温漂,不需要精确和复杂的误差补偿算法,可以实时的跟踪陀螺的零点变化。
文档编号G01C25/00GK103217176SQ201310168948
公开日2013年7月24日 申请日期2013年5月6日 优先权日2013年5月6日
发明者张仲宁, 王胜, 朱雷雷, 林国余 申请人:南京智真电子科技有限公司