基于加速度计的无线鼠标毕业论文.docx
- 文档编号:6641792
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:12
- 大小:259.21KB
基于加速度计的无线鼠标毕业论文.docx
《基于加速度计的无线鼠标毕业论文.docx》由会员分享,可在线阅读,更多相关《基于加速度计的无线鼠标毕业论文.docx(12页珍藏版)》请在冰豆网上搜索。
基于加速度计的无线鼠标毕业论文
基于加速度计的无线鼠标
学院:
机械与电气工程
专业:
电气工程及其自动化
摘要
本设计针对传统鼠标只能在桌面上使用的不足,设计出一种基于微加速度计的无线鼠标,它不仅具有教学激光笔上下翻页的功能,而且能在空中依靠鼠标的偏转角度实现电脑桌面光标的移动、鼠标点击的功能,本设计以微加速度计ADXL345作为信号检测元件,并采用低功耗低成本微控制器STC15L2K60S2和RF芯片nRF24L01进行信息处理与无线传输,通过HT82M98A处理后将信息传给计算机,计算机自动完成相应动作。
关键词:
微加速度计;无线鼠标;低功耗
目录
1.1总体结构框图-1-
1.2系统软件设计-1-
1.3方案比较-3-
1.3.1控制器的选择-3-
1.3.2微加速度计选择-3-
1.3.3无线模块的选择-3-
二、单元模块设计-4-
2.1电路的设计-4-
2.1.1远端控制子系统硬件电路设计-4-
2.1.2主机端信号接收系统电路设计-6-
2.2软件的设计-6-
2.2.1ADXL345微加速度计模块程序设计-6-
2.2.2HT82M98A鼠标控制器程序设计-7-
2.2.3nRF24L01无线模块程序设计-7-
三、系统调试-7-
四、设计总结-8-
参考文献-8-
附录-8-
1.远端控制部分电路原理图-8-
2、主机端接收电路原理图-9-
一、总体方案设计
1.1总体结构框图
本系统主要由无线鼠标发射器、单片机控制系统、无线鼠标接收器和接收系统识别组成。
(a)远端控制子系统结构框图
(b)主机端信号接收系统结构框图
图1-1系统框图
1.2系统软件设计
(a)远端控制子系统程序流程
远端控制用微加速度计获取鼠标的移动信息,每隔5ms扫描一次。
图1-2远端控制子系统程序流程图
(b)主机端信号接收系统程序流程
接收电路的主要任务是接收无线鼠标传送的各种数据。
接收程序中一次循环所需的时间大约为2.5ms。
必须确保在下一个数据包传来之前,完成全部算法及相应处理工作。
同时也避免新收到的数据包覆盖前一个数据包。
图1-3主机端信号接收系统程序流程图
1.3方案比较
1.3.1控制器的选择
方案一:
采用STC89C52.该单片机软件编程灵活、自由度大,功耗低、体积小、技术成熟等优点,得到了广泛应用.但是51单片内部资源有限,给系统设计过程带来不便。
且影响系统控制等各个环节,不便于实时调控。
方案二:
采用STC15F2K60S2.该单片机包含了89C52的优点,且具有89C52所不具备的一些性能,可不接外部晶振和外部复位电路,使硬件设计更简单;大容量2K字节SRAM;有两个独立串口;内部有8通道高速10位A/D转换器,还具有PWM输出;总的来说,STC15F2K60S2是一种高速,高可靠性,超低功耗的性能更好的单片机。
综合以上二种方案,选择方案二。
1.3.2微加速度计选择
方案一:
采用Freescale公司生产的MMA7455L数字输出(IIC/SPI)微电容调节式加速度感应芯片[1]。
MMA7455L具有X、Y、Z三个方向的感应轴,X、Y、Z三个方向上在工作时的参数是不断变化的,代表这一瞬间该芯片在不同方向上移动的趋势,这三个参数通过简单的数学计算可以得到一个空间向量A,向量A即模拟出了该瞬间芯片在三维真实空间的移动方向,这样,通过不断地采集X、Y、Z的数值,就可以得到鼠标移动的真实轨迹。
方案二:
采用ADXL345三轴数字加速度传感器,ADXL345是ADI公司的三轴数字加速度传感器,工作原理是首先由前端感应器件感测加速度的大小,然后由感应电信号器件转为可识别的模拟电信号,ADXL345中集成了AD转换器,可以将此模拟信号数字化,输出的是16位的二进制补码。
最值得一提的它集成了一个32级先进先出(FIFO)存储器管理系统,可用于输出数据的缓冲,降低主机处理器负荷,并降低整体系统功耗。
该芯片主要应用于消费电子的微型惯性器件,最大可感知±16g的加速度,感应精度可达3.9mg/LSB,倾角测量典型误差小于1°,超低功耗。
通过其内置的ADC将加速度信号转换为数字量存放在片内缓冲区,在实际使用中,为提高输出数据的稳定性,设置感应范围为±2g,感应精度为3.9mg,可以满足人体动作加速度范围与精度要求。
ADXL345可以通过SPI总线或I2C总线与单片机连接,本产品选择的单片机STC15F2K60S2I2C接口,但是可以采用I/O口模拟I2C总线或SPI总线接口的方法连接。
综合以上二种方案,方案二功耗更低,更容易实现,故选之。
1.3.3无线模块的选择
在几种短距离无线通信的比较当中,红外方案有一定的方向性,而蓝牙技术比较复杂,价格比较高,而无线射频通信技术无论是从系统开销,电池寿命还是成本方面都占有很大优势,同时它低传输速率的特点,恰恰适合发送信息量非常小的无线鼠标设计。
nRF24L01无线射频模块是一款新型单片射频收发器件,工作于2.4GHzISM频段,最高工作速率达2Mbps,信号空中传输时间很短,极大降低了无线传输中的碰撞现象和电流消耗,该芯片融合了增强型ShockBurst技术,能自动处理字头和CRC效验码,使用方便。
该芯片功耗低,在以-6dBm的功率发射时,工作电流只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式),使节能设计更方便。
二、单元模块设计
2.1电路的设计
2.1.1远端控制子系统硬件电路设计
远端控制子系统硬件部分主要由主控电路、微加速度计模块电路和无线射频模块电路和按键部分电路等组成。
(1)ADXL345可以通过SPI总线或I2C总线与单片机连接,我们采用单片机模块STC15L2K60S2的I/O口模拟I2C总线接口的方法将ADXL345与单片机模块连接起来,SDA连接单片机P4.3口,SCL连接单片机的P4.4口。
其具体电路图如图2-1所示。
图2-1ADXL345模块与单片机连接电路原理图
(2)NRF24L01的SPI接口可以利用单片机I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。
如图2-2,微控制器通过模拟SPI总线与nRF24L01连接,控制信号的接收与处理。
图2-2nRF24L01无线模块与单片机连接电路原理图
(3)按键模块主要考虑消抖的问题,我们这里采用软件延时消抖,不过没有采用在主程序中延时,这样很浪费系统资源,而是用定时器延时设置标志变量的方法。
按下按键将I/O口电平拉低,具体电路如图2-3所示。
图2-3按键模块电路原理图
2.1.2主机端信号接收系统电路设计
无线鼠标信号接收电路由无线传输模块nRF24L01、鼠标专用通信芯片HT82M98A、USB端口及其他外围电路组成。
电路如图2-4所示。
图2-4主机端信号接收系统电路原理图
其中,USB端口为HT82M98A提供5V的电源,无线鼠标信号接收电路中,其他芯片使用的电源由HT82M98A自带的电压输出端口V33O提供,供电电压为3.3V。
无线传输模块接收到发射模块传来的移动信息后由I/O口传递到HT82M98A,HT82M98A再将数据传送到电脑的USB口。
HT82M98A的端口USBD+/CLK连接USB数据正端;USBD-/DATA连接USB数据负端。
X1、X2表示鼠标前后移动时(X方向)图像的数据;Y1、Y2表示鼠标左右移动时(Y方向)图像的数据。
Z1、Z2表示鼠标中间滚轮转动的信号数据;M、R、L表示鼠标的左、中、右键按下时的数据;OSC1、OSC2外接6MHz晶振;RESET表示复位输入端,启动时硬件自动复位。
2.2软件的设计
2.2.1ADXL345微加速度计模块程序设计
微加速度计ADXL345与微处理器之间通过I2C总线连接,它们之间的数据传输需要遵循I2C总线协议,寄存器0x32至寄存器0x37分别保存x、y、z轴输出数据,输出数据为二进制补码,DATAx0为最低有效字节,DATAx1为最高有效字节,其中x代表X、Y或Z。
因为ADXL345为16位数据格式,从数据寄存器中获取加速度数据后,用户必须对数据进行重建。
我们利用接口函数Multiple_read_ADXL345()多字节连续读取寄存器的数据,然后将高字节左移8位和低字节8位相或的方法对数据重建,且对我们来说,只需X和Z方向的加速度数据即可,程序如下:
floattemp;
dis_data=(BUF[3]<<8)+BUF[2];//合成数据
if(dis_data<0)
dis_data=-dis_data;
temp=(float)dis_data*3.9;//计算数据
value_y=temp;
2.2.2HT82M98A鼠标控制器程序设计
HT82M98A的Z2、Z1、Y2、Y1、X2、X1分别与单片机的I/O口相连,这6个I/O口输出高低电平状态使鼠标的光标移动,这些移动的序列构成一个状态机,向X1、X2输出图2-5的波形时可以得到如下信息:
图2-4X1/X2的状态机输入
在C语言程序中用positivea和positiveb代表上面的波形。
当循环向HT82M98A的X1、X2引脚输出这组波形时,光标右移。
假设获取X的移动值为50,则光标需要移动50个单位长度,移动过程如下:
Initialise_state(void)函数用于初始化状态机:
Shifxa=positivea;//204
Shifxb=positiveb;//102
Shift=0;
判断这两个变量的最高位,为1则输出为高,为0则输出为低。
判断1次代表移动一个像素,然后X的值减1;Shifxa和Shifxb向左移一位,用于检测下一个状态值,Shifxa加1代表向左移了1位,为8意味着Shifxa向左移了8位。
此时Shifxa=0需要重新赋值并进入下一个循环。
2.2.3nRF24L01无线模块程序设计
进行数据传输时,发送方将按照无线通信协议封装后的数据存入发送数据缓冲队列,启动发送,发送完成后,发送方自动转入接收模式,准备接收应答信号。
若在设定的等待时间内,接收到应答信号则视为发送成功,则发送方自动清空发送数据缓冲队列,进入下一次发送过程或转入待机模式;若在设定的等待时间内,没有接收到应答信号,则视为发送失败,发送方将自动重发数据,当自动重发次数超过设定值时,产生中断。
接收方不断检测射频信号,发现有效数据包时,便将其存入接收数据缓冲队列,并产生中断,接收完成后,自动转入发送模式,发送应答信号。
三、系统调试
本设计的硬件电路由发射和接收电路组成,其中接收电路安装在电脑附近,由电脑USB接口提供5V电源。
发射电路先采用ADXL345加速度传感器检测鼠标的移动信息,然后输出到单片机I/O口,经无线模块将此信息发射到接收电路。
接收电路接收到移动信息后,根据鼠标位移状态机解码算法,得到移动信息及按键信息,通过HT81M98A处理后将信息传给计算机,计算机自动完成相应动作。
然后不断的循环。
每一次鼠标信号处理总时间不大于1ms,计算机自动识别无线鼠标,不需要额外安装程序,无线鼠标移动灵活。
经测试,该电路不仅具备普通有线鼠标的全部功能,还可远距离灵活操纵鼠标。
四、设计总结
此次的设计,其实也是我们所学知识的一次综合运用,让我深深的认识到了做电子设计要有一定的基础,要有电子技术方面的数字电路和模拟电路等方面的理论基础,特别是数字电路;也要有编程语言的汇编语言或C语言。
我们不能学到后面就忘了前面的知识,更应该将所学的知识紧紧的结合在一起,综合运用,所谓设计,就是要求创新,只有将知识综合运用起来才能真正的设计好。
参考文献
[1]叶达,程勇,薛庆军.基于2.4GHz射频通信的多功能鼠标设计[J].单片机与嵌入式系统应用,
[2]王海红.双轴加速度传感器ADXL210E及在三维鼠标中的应用[J].科技信息,2010(18):
216.
[3]陈义华.基于加速度传感器的定位系统研究[D].厦门:
厦门大学,2006.
附录
电路原理图
1.远端控制部分电路原理图
2、主机端接收电路原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 加速度计 无线 鼠标 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)