基于微加速度传感器的无线鼠标的设计
时间: 2011-10-31 17:08
浏览次数:
微机械加速度传感器是一种典型的微机电系统(microelectromechanical system,MEMS),在航空、航天、汽车等领域已得到了越来越广泛的应用,但基于MEMS微加速度传感器技术的无线输入设备的
引 言
微机械
加速度传感器是一种典型的
微机电系统(microelectromechanical system,MEMS),在航空、航天、汽车等领域已得到了越来越广泛的应用,但基于MEMS微
加速度传感器技术的无线输入设备的研究和应用还不是很多,微加速度传感器用于输入设备的潜在优势还没有得到很好的应用。
鼠标是最常用的电脑输入设备,随着PDA、笔记本、可穿戴式电脑等便携设备的流行,传统的鼠标已经满足不了移动办公的需要。现有的滚轮式或光电式鼠标都需要一个平坦的工作表面,且自身的体积也比较大。而基于微加速度传感器的无线鼠标则完全没有这个限制,它可以自由自在的在空中移动来控制电脑;可以做得很小,便于携带,可以灵活地应用于各种场合,例如:可以做成供残疾人使用的头戴式鼠标,供讲演者使用的移动式鼠标等。
国外和港台地区有一些单位正在开展这方面的研究,例如:香港中文大学Lam等人提出了一种基于微加速度传感器的虚拟键盘鼠标系统(MIDS),能同时具备鼠标和键盘的功能;Prince在他的专利中提出了一种输入设备的方案,用连在手指上的
压力传感器来感测手指的动作,从而控制电脑输入;英国伯明翰大学Humphreys等人研制了一种三维鼠标,利用回转仪可以控制电脑屏幕上三维立体的旋转。本文采用美国AD公司成熟的微加速度传感器ADXL203,并集成Nordic半导体公司最新的射频收发器nRF2401和Atmel公司的ATmega16L微控制器,开发新一代基于微加速度
传感器技术的MEMS无线鼠标,探索微加速度传感器在输入设备上的应用技术,并为进一步研究多维多功能的MEMS无线输入设备打下基础。
系统原理与设计
检测原理
目前,常见的鼠标有2种,滚轮式和光电式。滚轮式鼠标是靠滚轮的传动带动X和Y轴上的译码轮转动,来感测鼠标位移的变化;光电式鼠标是用一个自带光源的
光电传感器,跟随鼠标的移动连续记录它途经表面的“快照”,这些快照(即帧)有一定的频率、尺寸和分辨力,而光电鼠标的核心——DSP通过对比这些快照之间的差异从而识别移动的方向和位移量,并将这些位移的信息加以编码后实时地传给电脑主机。
而基于MEMS技术的无线鼠标是用微加速度传感器实时测量鼠标运动的加速度,经过两次积分转换为位移信号传输给主机,来控制光标的移动,从而实现鼠标的功能。
硬件设计
如图1所示,整个无线鼠标系统分为2个子系统,远端子系统和主机端子系统。
图1 无线鼠标系统结构框图
远端子系统由微加速度传感器、微控制器和nRF2401射频收发器组成。微加速度传感器采用美国AD公司生产的ADXL203微传感器,微控制器采用Atmel公司生产的ATmega 16L微控制器,该微控制器附带有8路10位可编程的A/D转换电路,可以实时地将ADXL203加速度传感器输出的加速度模拟信号转换成加速度数字信号。
ADXL203加速度传感器在加速度为0时输出电压为2.5V,为提高A/D转换的精度,本文利用ATmega 16L内置的差分放大功能,用差分信号将这2.5V电压给滤掉,并将差分后的电压信号放大到与A/D转换的参考电压相匹配。系统供电采用电器中常见的9V电池,连接一个LM78M05稳压贴片得到恒定的5V电压,供各个模块使用。
主机端子系统由nRF2401射频收发器,串行传输接口芯片和另一个ATmega 16L微控制器组成,其中,RS232串行通信接口芯片采用的是Maxim2IC公司的MAX233芯片,作用是将微控制器输出的5V TTL/CMOS电平转换为EIA/TIA-232-E电平,以便与电脑主机进行串行(RS232)通信。
软件与算法设计
鼠标在人的操纵下移动,微加速度传感器便会实时地输出鼠标运动的加速度大小和方向,ADXL203传感器的量程为±1.7gn ,电压灵敏度为1000mV/gn,这个电压信号经过差分放大5.0/1.7倍后,通过微控制器A/D转换功能变成与加速度大小对应的数字信号,加速度经过两次积分,便变成了鼠标移动的位移信号,然后,再经过编码,并通过nRF2401射频收发器将位移信号发射出去。
当加速度传感器输出电压为a时,经A/D转换得到的数字量大小为
式中[ ]表示取整数;a为加速度传感器输出的电压大小,V。ATmega 16L单片机最大采样速率可以达到15000次/秒,本文采用1000次/秒;即每1ms采样一次,每25ms便向电脑报告一次相对的位移改变量,以保证屏幕上鼠标指针运动的精确和平滑,则每一次报告的位移改变量包含25次对加速度采样的数据。可以采用近似算法来对加速度信号进行二次积分,得到位移信号。