APP下载

基于51单片机的无线体感鼠标设计与实现

2020-05-18赵华峰

现代信息科技 2020年20期
关键词:陀螺仪体感加速度

摘  要:传统鼠标在计算机领域应用非常广泛,但在某些特定环境下操作受到限制。为了克服依赖桌面完成操作的局限,以51单片机为控制核心设计一款无线体感鼠标,该设备由STC89C52控制模块、MPU-6050运动处理模块、无线发送模块、无线接收模块、按键及供电模块等构成。MPU-6050运动处理模块通过解算识别运动姿态,实现人在空间中控制鼠标对屏幕指针的操控。经制作及对比测试,它具备高精度和流畅性好的优点,具有一定的实用价值。

关键词:STC89C52单片机;MPU-6050运动处理模块;无线发送模块;无线接收模块

中图分类号:TP368.1;TP334.2               文献标识码:A 文章编号:2096-4706(2020)20-0047-04

Design and Implementation of Wireless Motion Sensing Mouse Based on

51 Single Chip Microcomputer

ZHAO Huafeng

(School of Physics and Electrical Engineering,Weinan Normal University,Weinan  714099,China)

Abstract:Traditional mouse is widely used in the field of computer,but in some specific environment,its normal operation is limited. In order to overcome the limitation of relying on the desktop to complete the operation,a wireless motion sensing mouse is designed with 51 single chip microcomputer as the control core. It is composed of STC89C52 control module,MPU-6050 motion processing module,wireless transmission module,wireless receiving module,key and power supply module. The MPU-6050 motion processing module recognizes the motion posture by solving and recognizing,so that people can control the mouse on the screen pointer in space. After production and comparison test,it has the advantages of high precision and good fluency,and has certain practical value.

Keywords:STC89C52 single chip microcomputer;MPU-6050 motion processing module;wireless transmission module;wireless receiving module

0  引  言

1968年出现的世界上第一个鼠标标志着人机交互的一项重大突破。大多数传统鼠标都内置有发光二极管,其发出的光经鼠标底部接触面反射回来,有部分反射光经过透镜后感应成像,再由STC89C52微处理器对鼠标在桌面上的位移信息和鼠标按键操作进行分析处理,从而判别鼠标的动作。传统鼠标的使用都依赖桌面作为平面来支持[1]。

为了解决在日常生活中(如车内、床上、野外等)或者环境条件恶劣的情况下无法提供平面时传统鼠标操作受到限制的问题,新型鼠标的设计和制作就显得非常迫切,加之體感技术不断地发展和应用,因此作者对使用51单片机为控制核心的无线体感鼠标做以设计、制作和测试,并和传统鼠标在使用效果上做了比较。

1  无线体感鼠标系统的设计方案

当人将手持无线体感鼠标发射端在三维空间内移动时,显示在电脑屏幕上指针也随着发射端的移动精确快速地做出指令。在STC89C52微处理器中随时不断的解算到由MPU-6050运动处理模块采集到的数据,然后通过无线收发模块发送到连接电脑的接收端。接收端收到信息后,立刻进行处理和解算成为光标位移信息和按键控制信息,通过MPU-6050运动处理模块优化后得到的最优数据会被实时更新到电脑端,实时反馈是否有体感动作指令输入,最后经过USB协议编码和信息交互完成电脑屏幕上光标的移动和控制。

2  无线体感鼠标系统硬件设计与关键实现

无线体感鼠标系统的组成方案:运动姿态采集组件通过I2C总线协议与发射端主控芯片进行相互通信,从而将采集融合后的实时数据输入;发射端主控芯片通过无线收发芯片NRF24L01将输入的实时数据传输给接收端主控芯片;而发射端和接收端的主控芯片STC89C52均通过SPI总线协议和无线收发芯片NRF24L01进行信息交互;最后由接收端主控芯片配合USB接口芯片PDIUSBD12经USB协议编码将信息流传送至电脑端,实现鼠标指针在电脑屏幕上的操作控制。无线体感鼠标硬件系统主要分为两大部分:主控无线发射端部分和无线接收端部分,无线体感鼠标系统结构图如图1所示。其中2.4 G无线发射和2.4 G无线接收是利用NRF24L01芯片的一套收发模块的两个部分。

2.1  发射端硬件设计

发射端硬件的设计主要有STC89C52微处理器模块、MPU-6050运动处理模块、无线发送模块、供电模块和发射端复位模块。供电模块中的电池管理芯片主要负责将电池电能转换为微处理器、传感器等器件能够使用的电源。

2.1.1  MPU-6050运动处理模块

发射端设计方案中采用MPU-6050运动处理模块,这是一种利用物理效应的传感器,能够将被测非电信号的微弱变化量转换成为可被后续电路处理的电信号。在它的内部将陀螺仪和加速度两种传感器集成,降低了分立元件组合陀螺仪和加速度传感器时所带来的轴间非正交误差。并配置了硬件加速引擎——数字运动处理器DMP,能够使用I2C协议的接口输出整合后的数字量数据,减少了STC89C52微处理器对运动处理的计算量。同时MPU-6050运动处理模块具备自定义编程控制陀螺仪和加速度传感器的检测功能,从而准确无误的跟踪物体实时动作[2]。

MPU-6050运动处理模块中陀螺仪是检测物体运动中角速度的传感器,当物体运动时带动安装在物体上的陀螺仪同步运动。陀螺仪就可以检测出物体在空间中绕各个轴转动的角速度,然后对角速度进行积分运算,就可以得到物体运动的角度[3]。陀螺仪具有十分准确的测量精度,但是也极容易受到震动等外界环境因素的影响而产生输出漂移。积分运算后继而产生较大的误差。因此,陀螺仪只能用于物体运动的状态的角度测量。

加速度传感器通常用于检测物体的位移,然后将检测到的位移通过ADC(模/数转换器)转换为数字电信号便于进行数据处理。加速度传感器是由检测单元捕获产生的力而不是直接测量出加速度;原理上是通过测量作用在加速度传感器轴向上的力间接的测量出物体运动的加速度,测量基础是在某一时刻测量空间坐标系中的加速度值在x、y、z方向上的分量。MPU-6050运动处理模块中使用加速度传感器测出重力加速度在空间坐标系三个方向上的量,计算各分量与重力加速度的比,得出倾角的大概值。物体处于运动状态的时候,加速度传感器测出的结果总是有一定的误差,因为它一直受地球引力的影响,垂直方向的重力加速度始终存在。所以加速度传感器测出的结果是重力加速度与运动加速度合成得到的总加速度在三个方向上的分量[4]。

不难看出,陀螺仪传感器和加速度传感器具有互补性:陀螺仪可以检测出运动中物体的角速度并且在短暂的时间内具有较高的精确度;加速度传感器可以十分精确的检测物体在静止时的倾角。方案中的运动处理模块利用两者的互补性来提高数据采集的精确性[5]。

2.1.2  无线发射模块

选用的无线收发模块采用由NRF24L01单片无线收发器芯片。该芯片工作的ISM频段在2.4 GHz~2.5 GHz之间,最高的工作速率2 Mbps,抗干扰性能好,为提高数据传输效率和可靠性,增加了CRC检错功能和通信地址精准控制功能。NRF24L01芯片具有高效GMSK调制,抗干扰能力强,稳定性高,支持SPI通信,通过SPI串口来实现配置和最大速度10 MHz的外部通信。

2.1.3  发射端复位模块

发射端复位模块类似于台式电脑的Reset复位按键。当电脑在运行时出现异常甚至无法按键操作时,按下机箱上的复位按钮让电脑重启就可以解决问题。在STC89C52单片机应用系统中也是这样,若STC89C52单片机系统受到外界干扰、程序跑飞等现象,复位系统重新运行即可。常见的复位电路有上电复位和按键复位两种方式。方案采用的是按键复位。STC89C52单片机要复位只需在第9引脚接持续高电平即可。电容的大小取10 μF,电阻的阻值选10 kΩ,复位的时间为0.1 s(RST引脚要求输入两个机器周期以上的高电平时间才有效)。当STC89C52单片机上电启动后,电容两端由于持续充电,电阻的端电压非常接近0,RST维持低电平保证系统的正常工作。当复位按键按下,电容释放电能,RST引脚就收到高电平,高电平的持续时间会远大于两个机器周期的时间保证STC89C52单片机系统的复位实现,释放了复位按键后,由于电源对电容持续充电,使RST维持在低电平。

2.2  接收端硬件设计

接收端由STC89C52RC微处理器芯片作為控制模块,无线收发芯片NRF24L01为接收模块以及无线接收模块构成。

无线接收模块选用PDIUSBD12进行USB通信协议,实现与电脑端的信息交互。接收端STC89C52单片机通过CPU给PDIUSBD12发送数据和指令,实现与无线接收模块的通信。该芯片符合USB 2.0版规范,内部集成成像类、打印类、收发器、存储器以及电压调节器。对外部微控制器无要求,拥有多种中断方式便于数据传输。它的性能优越、功耗低且开发成本低廉[6]。当USB接口配置成功后LED指示灯会根据通信的状况间歇闪烁。

3  无线体感鼠标系统软件设计

系统工作时,首先配置好发射部分的姿态采集模块,设置控制芯片模式,建立无线模块之间的通信连接,还要建立接收部分USB端和电脑端的通信连接。无线体感鼠标系统流程图如图2所示。

常见描述空间三维的姿态方法主要有三类:四元数法、方向余弦法和欧拉角法。四元数法计算量小,易于操作,是实用的工程算法,实现中MPU-6050运动处理模块中集成的数字运动处理单元即用四元数法处理计算得到欧拉角,并增加互补滤波算法的校正完成姿态解算,实现无线体感鼠标控制功能。四元数到欧拉角的算法为:

四元数是一种四参数法,它由一个实数和三个虚数(i、j、k)所构成。任何三维空间内的矢量都可以看作实部为零的四元数。可描述为:

Q=q0+q1i+q2j+q3k

所以可以用四元数法来研究空间中的数据解算。如果矢量R围绕固定坐标系旋转,并且这个旋转能够用四元数Q描述,新矢量记为R1则R和R1之间的变换可以表示成四元数运算:

R1=Q×R×Q-1

当R是一个标量为0的四元数,即:

R=0+Rxi+Ryj+Rzk

由此可得当一个矢量V相对于x、y、z坐标系固定表示为:

V=xi+yj+zk

当坐标系x、y、z转动了Q,得到了一个新的坐标系x1、y1、z1矢量V分解在新的坐标系中表示为:

V=x1i1+y1j1+z1k1

两个坐标系之间的坐标变换中:

V=xi+yj+zk

V1=x1i+y1j+z1k

则矢量V在新旧两个坐标系中的关系可以表示为:

V1=Q×V×Q-1

传感器在静止的状态进行测量中容易得到精准的数据,但是在运动状态中传感器产生较大的误差,以此产生的积分误差会导致欧拉角数据的不准确。因此加速度传感器要用滤波器滤除陀螺仪的噪声,倾角不能仅仅采用MPU-6050运动处理模块的加速度传感器或者陀螺仪取得,需要进行互补校正。由传感器的特性建立起来的互补滤波器,采用低通滤波器后,能够输出更为准确的角度值[7]。

4  无线体感鼠标和传统有线光电鼠标性能对比测试

通过用无线体感鼠标和传统有线光电鼠标对比的方式来做一个性能测试。测试的内容有:使用范围、灵敏度、线性度、以及平滑性。

在使用范围的对比实验中,以电脑端为中心,无线体感鼠标在半径10米范围内可以正常工作,相比于传统光电鼠标大约1米左右连线,其适用范围大;

在灵敏度的对比测试中,通过打开桌面图标和浏览网页的体验来测试。明显地可以感觉到无线体感鼠标在操作的灵敏度上不如传统鼠标在桌面上准确快捷;

在线性度的对比测试实验设置为在画图工具中以一条直线为基准线,快速来回操作鼠标以基准线画线,看出无线体感鼠标在线性上优于传统有线光电鼠标;

在平滑性的对比测试实验中,依然是利用画图工具做实验。通过使用两种鼠标按字形8移动的方法来测试无线体感鼠标和传统有线光电鼠标的平滑性性能,结果是无线体感鼠标的平滑性性能优于传统有线光电鼠标。

5  结  论

使用51单片机结合新型体感技术设计制作的体感无线鼠标,和传统光学鼠标对比测试后达到预期要求。它具备易操作、稳定性高的性能,采用无线通信解放出双手,让鼠标控制更加自然流畅,为人们提供体感技术和计算机交互的新体验。随着VR行业的发展,更多的体感技术将应用到智能家居、医疗、教育、游戏中,这也意味着更多未知的新应用等待着被探索。下一步的改进从减小无线体感鼠标的体积上进行优化,还要进一步提高快速响应功能。

参考文献:

[1] 郑金存,邵平,周善东.多媒体教室的长距离无线鼠标的设计与实现 [J].广西物理,2004(3):52-54+57.

[2] 葛海江,陶姗.姿态感知鼠标指针的控制方法 [J].机电工程,2009,26(3):105-107.

[3] 邱云平,伍宝玉.MPU-6050模块角度算法处理及在嵌入式中的应用 [J].江西科技学院学报,2014,9(2):26-29.

[4] 黄得志,陈文元,杨华锋,等.基于微加速度传感器的无线鼠标的设计 [J].传感器与微系统,2006(1):50-52+55.

[5] 周获.基于MEMS技术的无线空中鼠标的研究 [D].厦門:华侨大学,2013.

[6] 宋方,郝保国,赵飞鹏.通用串行总线(USB)及其芯片的使用 [J].测控技术,2000(10):58-59.

[7] 朱明茗,景红.基于体感技术的手势追踪与识别 [J].计算机系统应用,2014,23(8):228-232.

作者简介:赵华峰(1970—),男,汉族,陕西渭南人,讲师,硕士,研究方向:计算机应用技术。

猜你喜欢

陀螺仪体感加速度
Micro Beast Plus陀螺仪使用心得(上)
走出“加速度”理解的误区
Kyosho Drone Racer穿越机
加速度新题型精析
知乎
向心加速度公式推导
向心加速度学习一卡通
电动车体感防盗系统
基于DSP的MEMS陀螺仪信号处理平台的设计
症状奇特的“体感异常”