两轴模拟陀螺仪的空中鼠标指针控制方法研究.doc_第1页
两轴模拟陀螺仪的空中鼠标指针控制方法研究.doc_第2页
两轴模拟陀螺仪的空中鼠标指针控制方法研究.doc_第3页
两轴模拟陀螺仪的空中鼠标指针控制方法研究.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

两轴模拟陀螺仪的空中鼠标指针控制方法研究葛海江, 张雪娟, 沈海娟 时间:2011年01月13日 来源:电子技术应用2010年第11期字 体: 大 中 小关键词:两轴模拟MEMS陀螺仪静态基准点旋转角度变化率零点漂移动态自校正 摘 要: 介绍了一种采用两轴模拟MEMS陀螺仪实现低成本空中鼠标指针的控制方法,详细阐述了该方法的硬件设计、两轴陀螺仪数据的模数转换、静态基准点的捕捉、动态旋转角度变化率的测量。针对陀螺仪受环境温度变化等因素的影响会发生随机零点漂移的问题,提出了一种动态自校正的算法对零点进行自校正,取得了满意的校正效果。目前该技术已成功移植到无线空中鼠标中。关键词: 两轴模拟MEMS陀螺仪; 静态基准点; 旋转角度变化率; 零点漂移; 动态自校正 陀螺仪可感应空间的变化,与位置无关,能够检测运动过程中每个轴上旋转的角速度(角度/s) 1-2。目前已有的无线空中鼠标大多数所采用的技术有:Gyration公司的无线空中鼠标GYM1100NA,采用传统的微机械数字陀螺仪方式来实现,其型号为MG1101BA,灵敏度达+/-500/s,该数字陀螺仪的售价为8美元。然而随着微机电系统(MEMS)技术的飞速发展和不断成熟,MEMS的陀螺仪应运而生,如罗技公司应用了MEMS陀螺仪技术设计实现了无线空中鼠标MX Air。它采用了应美盛(INVENSENSE)公司的IXZ-500两轴模拟陀螺仪来实现,灵敏度达+/-500/s,该模拟陀螺仪的售价约为3美元。但采用模拟陀螺仪,单片机内部需要完成AD转换,需要另外再增加0.5美元左右的单片机成本。因此,要实现数字陀螺仪同样的功能,成本为3.5美元左右。由此可见,采用模拟陀螺仪加AD转换的方案成本减少了4.5美元,同时传统的微机械陀螺仪MG1101的体积为13.8 mm14.75 mm16 mm,而IXZ-500的MEMS陀螺仪的体积仅为4 mm5 mm1.2 mm。为了节省空中鼠标的生产成本和缩小鼠标的体积,本文采用两轴MEMS模拟陀螺仪(IXZ-500)+AD转换的方式来实现空中鼠标指针空中姿态控制。1 两轴模拟陀螺仪的外围硬件设计 本文研究的两轴模拟陀螺仪为INVENSENSE公司的IXZ-500陀螺仪,它的每轴灵敏度达+/-500/s,两路模拟输出,工作电压为3.0 V。采用该陀螺仪实现无线空中鼠标的空中指针控制的外围硬件设计如图1所示。2 两轴模拟陀螺仪的数据处理及转化2.1 两轴陀螺仪数据的模数转换 (1)带AD功能的单片机选型因为两轴陀螺仪输出的是2路模拟信号,输出后需要经过AD转换。因此在选择主控单片机时,要选择至少带2路AD的单片机。为了提高采样的精度,可选择AD在10位以上、采样速率在100 b/s以上的主控单片机。但采样精度的提高会影响采样速度,在采样精度和速率选择上,可以先通过理论分析,然后经过实际性能的测试,选择合适的采样精度和速率,从而获得一个较好的空中鼠标姿态感知的灵敏度。本文选择的是12位2路以上AD的单片机,采样速率可达480 b/s。(2)AD时钟及采样率设置设置单片机的CPU时钟CPU_Clock为12 MHz,AD采样的时钟DataClock为8 MHz,采样精度为12 bit。则: (3)IXZ-500工作原理及AD转换的实现IXZ-500陀螺仪的工作灵敏度为+/-500/s,当陀螺仪在平面上发生旋转时,每个轴上会输出一个与旋转角度相关的模拟电压信号,在工作范围之内,旋转的角度大小与电压变化大小成正比。设计中,通过单片机的AD转换器来检测电压变化的大小以检测平面上旋转角度的变化大小,从而实现空中旋转角度的检测,即实现空中鼠标在空中的旋转角度检测。当IXZ-500陀螺仪开始通电工作后,陀螺仪保持静止不动时,每个轴会输出一个大小为1.25 V的静态电压值;当陀螺仪发生旋转后,电压会在静态电压值的两侧发生变化。旋转方向不同,电压变化的方向也不同(增大或者减少),即1.25 V +/-?驻V。旋转的角度与电压变化大小关系为:2 mV/(/s)。单片机启动AD转换后,完成对陀螺仪输出电压的转换,AD完成1次电压转换需要约2 ms的时间。本设计设置为10 ms采样一次,通过采用定时器10 ms的中断方式进行控制。2.2 静态基准点的捕捉当陀螺仪保持静止不动时,芯片的数据手册给出的参考静态电压值为1.25 V。然而在实际工作中,由于器件的差异性、外围环境温度变化等,都会使每个陀螺仪工作在静止状态时,静态电压值并不一定是数据手册给定的值3。因此需要对静止状态下的输出电压进行重新检测,即静态基准点的捕捉。静态基准点的捕捉方法如下:(1)保持两轴陀螺仪在静止状态,由单片机的AD转换器采样陀螺仪的输出电压并完成AD转换。假设两轴陀螺仪AD转换后的值为:Current_x和Current_z。(2)由于陀螺仪本身存在噪声的影响,需要屏蔽噪声。这里Current_x和Current_z都为12 bit的数值,设计时将其最低2位数据屏蔽掉,即将Current_x和Current_z分别与0xffc位进行“与”操作。(3)为了进一步消除误差,将上述的数据连续读取两次,求平均值。(4)因为两轴陀螺仪在静止状态下,输出的电压基本上不变化,所以可以连续检测多次,然后进行数据比较。如果连续检测多次经过屏蔽及平均之后的数据都相等,则表明两轴陀螺仪是处在静止状态。(5)分别记录此时Current_x和Current_z的值。这两个值即为静态基准点的值:Static_x和Static_z。(6)在实际应用中,将Static_x和Static_z写入主控器的EEPROM中,其目的是使得下次Static_x和Static_z的值可以直接从EEPROM中读出,不必要每次都检测静态基准点。2.3 动态旋转角度变化率的测量当两轴陀螺仪发生旋转时,每个轴的输出电压会发生变化,即在静态基准电压的两侧变化。(1)两轴陀螺仪发生旋转时,计算两维方向上的旋转角度变化率: 式中,Current_x表示x轴上的输出量,Static_x表示x轴上的没有发生旋转时输出量;q为陀螺仪的灵敏度系数(系数的大小可根据实际的需要进行设置,要提高灵敏度则可以减小系数的大小)。z轴上旋转角度变化率的计算方法同x轴。当物体发生旋转时,陀螺仪也跟着旋转,通过对旋转角度变化率的测量,就能测量出陀螺仪在平面上旋转角度的变化,从而得知物体在空中的旋转变化。(2)在空中鼠标的应用中,本文将陀螺仪的灵敏度系数q的值设置为20,经过实际鼠标的测试,已能满足鼠标指针在空中的位移控制需要。3 无线空中鼠标指针控制流程无线空中鼠标指针的空中旋转控制流程如图2所示。对于2.4 GHz的无线通信部分,可以参考文献4。4 两轴陀螺仪的参数动态自校正由于两轴陀螺仪在环境温度变化或工作电压下降后,两轴陀螺仪静态的基准点会发生改变即发生零点漂移5,使得Static_x和Static_z的值发生改变。因此需要对静态的基准点进行校正,即重新捕捉Static_x和Static_z的值。为此本文提出一种动态自校正的算法,对相应的Static_x和Static_z参数进行自校正,取得较好的校正效果。动态自校正的算法引用静态基准点的捕捉方法进行控制,控制过程如图3所示。对于参数i、j用户可以根据具体不同的实际需要进行调整,i、j增大会增加校正的时间,但可以增加静态捕捉点的精度。本文i、j的设置是根据空中鼠标实际性能的测试后得出的。通过对鼠标的实际测试,该控制方法校正时间小于2 s。 本文通过对传统的微机械陀螺仪、数字陀螺仪及MEMS陀螺仪进行了比较研究,提出了一种采用两轴模拟陀螺仪技术实现低成本的空中鼠标指针的控制方法。该方法目前已成功应用于无线空中鼠标中,在空中可以检测旋转角度范围为+/-500/s,实现了空中鼠标指针在空中的自由控制,已获得实用新型专利一项6。此外,该方法还可应用于人体动作跟踪、游戏控制器、机器人及自动导航等人机输入设备中。参考文献1 董煜茜,高钟毓,张嵘. 微机械陀螺仪的性能分析J. 清华大学学报,1998, 38(11):1-3.2 谷庆红. 微机械陀螺仪的研制现状J. 中国惯性技术学报, 2003,11(5):67-72.3 葛海江, 陶姗. 姿态感知鼠标指针的控制方法J. 机电工程. 2009,26(3):105-107.4 葛海江, 陶姗, 吴弋旻,等.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论