基于加速度计的无线鼠标毕业论文.docx

上传人:b****5 文档编号:6641792 上传时间:2023-01-08 格式:DOCX 页数:12 大小:259.21KB
下载 相关 举报
基于加速度计的无线鼠标毕业论文.docx_第1页
第1页 / 共12页
基于加速度计的无线鼠标毕业论文.docx_第2页
第2页 / 共12页
基于加速度计的无线鼠标毕业论文.docx_第3页
第3页 / 共12页
基于加速度计的无线鼠标毕业论文.docx_第4页
第4页 / 共12页
基于加速度计的无线鼠标毕业论文.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于加速度计的无线鼠标毕业论文.docx

《基于加速度计的无线鼠标毕业论文.docx》由会员分享,可在线阅读,更多相关《基于加速度计的无线鼠标毕业论文.docx(12页珍藏版)》请在冰豆网上搜索。

基于加速度计的无线鼠标毕业论文.docx

基于加速度计的无线鼠标毕业论文

基于加速度计的无线鼠标

学院:

机械与电气工程

专业:

电气工程及其自动化

 

摘要

本设计针对传统鼠标只能在桌面上使用的不足,设计出一种基于微加速度计的无线鼠标,它不仅具有教学激光笔上下翻页的功能,而且能在空中依靠鼠标的偏转角度实现电脑桌面光标的移动、鼠标点击的功能,本设计以微加速度计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、主机端接收电路原理图

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1