李志军,时继潮,石磊
(黑龙江科技大学电子与信息工程学院,哈尔滨150022)
LPC1227的智能无线体感鼠标设计*
李志军,时继潮,石磊
(黑龙江科技大学电子与信息工程学院,哈尔滨150022)
系统采用LPC1227处理器对陀螺仪、加速度计的六轴数据进行实时采集,将采集到的数据通过FIFO滤波器进行低通滤波,然后利用三轴扩展卡尔曼滤波算法对六轴的数据噪声进行滤波和实时估计,并且利用四元数的解算得到人体手部的最优姿态。最后通过无线的方式发送到接收端,再通过USB协议发送到电脑端,使光标随着人手部的移动而移动,从而电脑执行相应的操作。
三轴陀螺仪;四元数;AHRS姿态解算;扩展卡尔曼滤波
随着计算机网络及电子技术的发展,新技术的应用逐渐进入生活中的方方面面。一直以来,电脑鼠标都比较大众化,使用最多的有线鼠标脱离不了空间和感应底板的限制,这就在一定程度上限制了人们对电脑的操纵范围,不能给更多电脑用户提供更方便的服务。即便现在比较流行的无线鼠标也存在一定弊端,虽然能摆脱有线鼠标移动范围的束缚,但是离开感应底板还是不能方便操纵。
更远的使用距离在早期并不被重视,随着电脑的多元化发展,更多的人意识到电脑的别样功能,电脑的使用距离也成为众多用户关注的一个点[1]。随着大批优秀多媒体课件的涌现以及大量教学软件的开发,利用多媒体教室开展教学越来越受到人们的重视。但是,人们在肯定多媒体教室教学作用的同时,也注意到它的一个重要缺陷:教师在讲课时往往被禁锢在计算机前,教学内容和教学形式受到教学软件和设备的制约[2]。
本设计采用LPC1227处理器完成姿态解算、无线通信、USB接口等,经过算法处理后实现了通过人手部动作或者按键,方便地与电脑进行交互,解决了有线鼠标空间活动范围有限的问题。
系统分为发射与接收两部分,发射部分采用LPC1227芯片负责手部姿态解算,通过无线模块将数据发送到接收端,接收端向电脑发送操作指令功能,负责与电脑的USB进行通信,从而实现对电脑的各种操作。图1给出了总体设计方案流程图。
1.1 加速度计及陀螺仪
图1 系统总体设计方案
选用飞思卡尔公司生产的MMA7260三轴加速度计,使用模拟输出方式,结合 LPC1227的DMA外设,可以高速访问陀螺仪输出值[3]。陀螺仪选用MPU6050,因为MPU6050可以使用I2C总线进行通信,而LPC1227内部集成高速的 I2C总线规划和数据速率为1 M/s的超快速模式;具有多地址识别和监控模式,且I2C总线引脚具有可编程干扰滤波器FIFO,可以绕过CPU,直接让主机和设备交换数据,极大程度地提高了转换速率;并且MPU6050是内部集成陀螺仪和加速度的六轴传感器,成本较低,市场应用广泛。
1.2 无线收发模块
选择NORDIC公司生产的无线通信芯片nRF24L01。其采用 FSK调制,内部集成 NORDIC自己的 Enhanced Short Burst协议,并且可以实现点对点或是1对6的无线通信,无线通信速度可以达到2 Mb/s,非常适合用来为MCU系统构建无线通信功能[4]。
2.1 系统工作原理
本设计采用LPC1227芯片负责手部姿态解算,通过无线模块将数据发送到接收端,接收端向电脑发送操作指令等功能,负责与电脑的USB进行通信。在LPC1227芯片实时采集MPU6050的数据并且经过算法处理得到最优姿态之后,通过nRF24L01无线模块发送到接收端。
接收端接收到信息之后进行处理,通过三轴扩展卡尔曼滤波算法对六轴的数据噪声进行滤波和实时估计,得到最优估计之后,采用基于(互补滤波)四元数的AHRS航姿参考系统姿态解算算法,得到人体的最优姿态。
通过最优姿态的实时更新,这个值会被实时更新到电脑的屏幕上,光标会跟随人体移动而移动。在此基础之上可以方便对人体的动作进行识别,实时扫描是否有体感动作指令输入,最后经过USB协议来控制电脑光标的移动。接收端直接通过USB口接到电脑上就可以方便使用,无需提前安装任何驱动。接收端接收到信息后进行处理,并通过USB协议传输到电脑上,从而控制光标移动。
2.2 姿态解算与控制方法
使用MPU6050对人的手部动作进行解算,经芯片的处理分析,得到人体手部的最优姿态。使用手腕的转动和移动,并结合设置在鼠标上的按键控制电脑,根据不同的需求,在电脑上实现鼠标指针的上下左右自由移动,同时鼠标上的按键还可以实现一键打开、一键播放、一键画笔等功能。
针对现在大部分高校老师上课采用PPT教学存在的一些弊端,比如每次想翻页PPT都要走到电脑前、无法轻易向同学指示现在所讲知识的位置等。本设计的智能无线体感鼠标可以解决这一系列问题。
2.3 四元数姿态解算算法原理
2.3.1 四元数简介
为什么使用四元数,先来看看一般关于旋转(面向)的描述方法——欧拉描述法。它使用最简单的x,y,z值分别表示在x,y,z轴上的旋转角度,其取值为0~360(或者0~2 π),一般使用roll,pitch,yaw来表示这些分量的旋转值。
需要注意的是,这里的旋转是针对世界坐标系的,这意味着第一次旋转不会影响第二、三次的转轴。简单地说,三角度系统无法表现任意轴的旋转,只要一开始旋转,物体本身就失去了任意轴的自主性,这也就导致了万向轴锁(Gimbal Lock)的问题。因为欧拉描述中针对x,y,z的旋转描述是世界坐标系下的值,所以当任意一轴旋转90°的时候会导致该轴同其他轴重合,此时旋转被重合的轴可能没有任何效果,这就是Gimbal Lock。利用四元数可以很好地解决这个问题。
2.3.2 如何利用四元数进行旋转变换
如果矢量R相对固定坐标系旋转,并且该旋转可以用四元数q描述,新矢量记为R',则R和R'之间的变换可以表示成下述四元数运算:
R'=q×R×q-1
矢量R相对固定坐标系旋转,旋转的角度和轴向由q决定,在上述运算中,R被当成一个标量部分为0的四元数,即:
R=0+Rxi+Ryj+Rzk
一个矢量V相对于坐标系OXYZ固定:
V=xi+yj+zk
从坐标系OXYZ转动了q,得到一个新坐标系OX'Y'Z',V分解在新坐标系OX'Y'Z'中:
V=x'i'+y'j'+z'k'
矢量V在两个坐标系之间的坐标变换:
V'e=x'i+y'i+z'k
Ve=xi+yi+zk
所以
V'e=q-1×Ve×q
表示坐标系旋转,其中:
Ve=xi+yi+zk
V'e=x'i+y'i+z'k
如果一个矢量V固定,坐标系旋转按照四元数q进行了旋转,得到了一个新坐标系,则该矢量分别在新旧坐标系中投影表达式间的关系,借助映像方式可以表示为:
V'e=q-1×Ve×q
如果一个坐标系固定,一个矢量VE按照四元数q相对该坐标系进行了转动,得到一个新的矢量VE',则新旧矢量之间的关系为:
VE'=q×VE×q-1
3.1 发射模块与接收模块
本系统的硬件设计相对简单,只有LPC1227和STM32两个主控芯片分别控制电脑鼠标的发射部分和接收部分,人的手部姿态经内部陀螺仪对欧拉角度的采集。
发射部分通过LPC1227芯片对手部姿态解算,最后经nRF24L01无线收发器将数据发送到接收端。具体的连接如图2所示。
接收端收到无线发送的指令信号后,随即通过STM32主控芯片与USB协议将信号发送到电脑端,电脑识别指令信号后,实现各种操作功能。具体的连接如图3所示。
3.2 无线传输控制芯片
STM32为本次制作的无线控制芯片,它主要负责无线传输部分,接收陀螺仪的姿态解算数据,通过与LPC1227主控芯片的完美结合,从而实现操作者想实现的功能。其原理图如图4所示。
主控部分为STM32最小系统电路图,直接用 USB数据线接电脑,通过XC6206稳压芯片转为3.3 V给系统供电。上电后,发光二极管会变亮,在此起指示灯的作用。
图2 系统硬件发射部分框图
图3 系统硬件接收部分框图
人们根据自己的需要对鼠标进行不同方位的移动,加上对鼠标按键的操作,经过内部姿态解算,对电脑发送不同的指令信号,从而实现对电脑的不同操作。发射部分软件流程图如图5所示。
无线接收部分接收到人们的手部动作姿态与按键的指令操作信号后,通过USB协议将操作指令发送到电脑端,从而实现对电脑的操作。接收部分软件流程图如图6所示。
图4 无线传输控制原理图
图5 系统发射部分软件流程图
图6 系统接收部分软件流程图
本设计的智能无线体感鼠标无需任何驱动,用户可直接将该产品的发射端拿在手中,通过手势的变化在空中完成光标移动,既摆脱无线鼠标无法离开桌面的束缚,又改变了传统鼠标翻页笔利用大拇指操控“轨迹球”移动鼠标的繁琐。
同时集成一键标注的强大功能,可以实现手势控制在PPT上标注和书写,而且可以任意更换线条颜色。除实现普通翻页笔的上下翻页功能,还可“一键”实现PPT的全屏播放和退出功能,而且对PPT勾画的痕迹可以随时进行清除。
本设计几乎实现了有线鼠标所具备的所有功能。同时,此鼠标具有科学的外观设计,符合人体功能学,手感更舒适,操作更便捷。
[1]汪涛,张持健.基于微加速度计的无线教鞭的设计[J].电子设计工程,2014,10(22):75-77.
[2]吴大忠.一种用于多媒体教学的无线鼠标[J].电子技术应用,2009,35(2):91-94.
[3]杨校权,张毅,马钧元.LPC1227的远距离ZigBee无线网关设计[J].单片机与嵌入式系统应用,2011(11):34-36.
[4]李志军,杜丽,谢子殿.矿井下基于蓝牙技术的语音通讯控制器设计[J].计算机测量与控制,2009,17(2):327-328.
李志军(副教授),主要研究方向为嵌入式系统、无线通信等。
43≤0.5 kg的误差;在肺活量测量时采用市场在售的电子式肺活量测量仪进行对比测量,无法保证同一被测对象两次肺活量完全相同,也无法保证被测对象两次的吹气速度,这使得测量结果具有≤60 mm的误差。心率对比测量采用人工方法,由于起始和结束时间的掌握不准使得结果存在±2最大误差。同时,还对同一被测对象进行重复测量,结果表明本测量仪具有较高的测量精度和稳定性。
参考文献
[1]范红刚,冯成,胡建国.数字人体心率检测仪的设计[J].电子工程师,2006(7).
[2]郭晓玉,鲍慧,迟文广.MSP430低功耗运行模式原理及应用[J].单片机与嵌入式系统应用,2005(12).
[3]骆文,刘阳,熊俊俏.基于光电技术的心率测量仪[J].工业仪表与自动化装置,2012(1).
[4]Fan Honggang,Feng Cheng,Hu Jianguo.Design of digital human body heart rate monitor[J].Electronic Engineer,2006(7).
[5]Luo wen,Liu yang,Xiong Junqiao.Research on heart-rate measuring instrument based on photoelectric technology[J].Industrial Instrumentation&Automation,2012(1).
宋森森(硕士研究生),研究方向为电力系统自动化、嵌入式应用;赵丽娜(硕士研究生),研究方向为自动控制、嵌入式应用;刘凤林,主要从事山东省食品药品监督管理局审评认证中心医疗器械检查工作。
(责任编辑:杨迪娜 收稿日期:2014-10-27)
Intelligent Wireless Body Sense Mouse Based on LPC1227
Li Zhijun,Shi Jichao,Shi Lei
(College of Electronics and Information Engineering,Heilongjiang University of Science and Technology,Harbin 150022,China)
This design uses LPC1227 processor to collect the real-time data of six axis of gyroscope and accelerometer.Firstly,the data collected will be low-pass filtered by the FIFO filter,then uses the three axis extended Calman filtering algorithm to filter the data noise of six axes and make real-time estimation,and it uses the resolving of quaternions to get the best attitude of hand.Finally,the mouse sends data to a receiver through the wireless network,and sends data to the computer terminal with the USB protocol.The cursor moves with the movement of the hand,and the computer accomplishes the corresponding operation.
three axis gyroscope;quaternions;AHRS attitude solution;extended Calman filter
TP393
A
杨迪娜
2014-10-09)
黑龙江省教育厅科学技术研究项目(项目编号:12541719)。