1、1 系统方案分析1.1 系统方案设计1.1.1 主控方案方案一:采用传统的AT89S52单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗。方案二:采用TI公司生产的MSP430F149系列单片机作为主控芯片。此单片机是一款高性能的低功耗的16位单片机,具有非常强大的功能,且内置高速12位ADC。但其是TPFQ贴片封装,不利于焊接,需要PCB制板,大大增加了成本和开发周期。方案三:采用宏晶科技有限公司的STC89C52RC单片机作为主控芯片。1.1.2 通信方案采用GSM模块进行通信,GSM模块需要借助移动卫星或者手机卡,虽说能够远距离传输,但是其成本较大、且需要内置SIM卡,通信过程中需要
2、收费,后期成本较高。采用TI公司CC2430无线通信模块,此模块采用Zigbee总线模式,传输速率可达250kbps,且内部集成高性能8051内核。但是此模块价格较贵,且Zigbee协议相对较为复杂。采用NRF24L01无线射频模块进行通信,NRF24L01是一款高速低功耗的无线通信模块。他能传输上千米的距离(加PA),采用SPI总线通信模式电路简单,操作方便。1.1.3 测距方案采用US-100超声波测距模块,模块本身已经带温度补偿。具有电平触发和串口触发两种工作方式,且工作稳定可靠。采用HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能。1.1.4 显示方案采用主控
3、为ST7920的带字库的LCD12864来显示信息。12864是一款通用的液晶显示屏,能够显示多数常用的汉字及ASCII码,而且能够绘制图片,描点画线,设计成比较理想的结果。采用字符液晶LCD1602显示信息,1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。采用LED 7段数码显示管显示,其成本低,容易显示控制,但不能显示字符。1.2 系统最终方案发送端:发送端由超声波传感器,STC89C52单片机,NRF24L01无线射频模块,组成。图1.1 发送端接收端:接收端由STC89C52单片机,NRF24L01无线射频模块,数码管显示模块组成。图1.2 接收端2
4、系统原理分析2.1 超声波的定义波是由某一点开始的扰动所引起的,并按预定的方式传播或传输到其他点上。声波是一种弹性机械波。人们所感觉到的声音是机械波传到人耳引起耳膜振动的反应,能引起人们听觉的机械波频率在20Hz20kHz,超声波是频率大于20kHz的机械波。在超声波测距系统中,用脉冲激励超声波探头的压电晶片,使其产生机械振动,这种振动在与其接触的介质中传播,便形成了超声波。2.2 超声波测距原理最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计
5、时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。如图所示。图2.1 超声波原理H=S*cos() (2-1)=arctan(L/H) (2-2)式中:L-两探头之间中心距离的一半。又知道超声波传播的距离为:2S=VT ( 2-3)V超声波
6、在介质中的传播速度。 T-超声波从发射到接收所需要的时间。将(22)、(23)代入(2-1)中得:H=0.5*VT*cosarctan(L/H) ( 2-4)其中,超声波的传播速度V在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s):当需要测量的距离H远远大于L时,则(2-4)变为:H=0.5*VT ( 2-5)所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H。如果测距精度要求很高,则应该通过温度补偿的方法加以校正。表2.1 超声波波速与温度的关系表温度()-30-20-1010203040声速(m/s)3133193253233383443493862.3 超
7、声波测距方法的选择超声波测距的原理一般采用渡越时间法。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45m/s,由单片机负责计时,单片机使用12.0MHz晶振,所以此系统的测量精度理论上可以达到毫米级。2.3.1 超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波电气方式包括压电型、
8、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。2.3.2 压电式超声波发生器原理压电型超声波传感器的工作原理:它是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图2.2所示,是在压电元件上施加电压,元件就变形,即称应变。若在图a所示的已极化的压电陶瓷上施加如图b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向
9、上伸长。若外部施加的极性变反,如图c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。图2.2 压电逆效应图2.3.3 单片机超声波测距系统构成单片机AT89S52发出短暂的12kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LCD显示模块进行显示。限制超声波系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、温度的高低以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。图2.3 测距原理3主要芯片介绍
10、和系统模块3.1 STC89C52单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换及A/D转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。总的而言单片机的特点可以归纳为以下几个方面:集成度高、存储容量大、外部扩展能力强、控制功能强、低电压
11、、低功耗、性能价格比高、可靠性高这几个方面。单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智能化控制功能这就是单片机的最大特点。然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微机控制系统。它与单板机或个人电脑有着本质的区别,单片机属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智能STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统
12、8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。图3.1 单片机管脚图3.1.1 主要功能特性增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系
13、统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒通用异步串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40+85(工业级)/075(商业级)3.1.2 STC89C52单片机引脚介绍VCC:STC89C52 电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反向放大器输
14、入端。XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统皆可以工作了,此外可以在两个引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:STC89C52的重置引脚,高电平工作,当要对晶片重置时,只要对此引脚点评提升至高电平并保持两个机器周期以上的时间,STC89C52便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。PORT0( P0.0P0.7 ):端口0是一个8位宽的开路电极(Open Drain)双向输出入端口,共有8个位,P0
15、.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0A7,再配合端口2所送出的A8A15合成一个完整的16位地址总线,而定位地址到64K的外部存储器空间。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,若将端口1的输出设为高电平,使
16、是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时器2的外部缓冲输入脚,而P。1可以有T2EX功能,可以做外部中断输入的触发引脚。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,同样地,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TT
17、L负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR,外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。3.1.3 单片机控制模块单片机控制模块由STC89C52最小系统组成,其中包括单片机,晶振电路和复位电路。(1)、晶振电路晶振电路由两个30pF电容和一个12MHz晶体
18、振荡器构成,接入单片机的X1、X2引脚。(2)、复位电路单片复位端低电平有效。图3.2 单片机最小系统3.2 单片2.4GHz NRF24L01无线模块3.2.1 NRF24L01芯片概述NRF24L01是一款新型单片射频收发器件,工作于2.4 GHz2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。 NRF
19、24L01主要特性如下:1.GFSK调制;2.硬件集成OSI链路层;3.具有自动应答和自动再发射功能;4.片内自动生成报头和CRC校验码;5.数据传输率为l Mb/s或2Mb/s;6.SPI速率为0 Mb/s10 Mb/s;7.125个频道;8.与其他nRF24系列射频器件相兼容;9.QFN20引脚4 mm4 mm封装;10.供电电压为1.9 V3.6 V。3.2.2 引脚功能及描述NRF24L01的封装及引脚排列如图所示。各引脚功能如下:图3.2 NRF24L01封装图CE:使能发射或接收;CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置NRF24L01:IRQ:中
20、断标志位;VDD:电源输入端;电源地;XC2,XC1:晶体振荡器引脚;VDD_PA:为功率放大器供电,输出为1.8 V;ANT1,ANT2:天线接口;IREF:参考电流输入。3.2.3 工作模式通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表所示。待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;待机模式下,所有配置字仍然保留。在掉电模式下电流损耗最小,同时NRF24L01也不工作,但其所有配置寄存器的值仍然保留。表3.1 NRF24L01四种工作模式模式PWR_UPPRIM_RXCE
21、FIFO寄存器状态接收模式1-发射模式数据在TXFIFO寄存器中10停留在发送模式,直至数据发送完待机模式2TX为空待机模式1无数据传输掉电3.2.4 工作原理发射数据时,首先将NRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入NRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么NRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则
22、认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TXFIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则NRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。接收数据时,首先将NRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RXFIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则NRF24L01进入空闲模式1。在写寄存器之前一定要进入待机模式或掉电模式。如下图,给出SPI操作及时序图:图3.3 SPI读操作图3.4 SPI 写操作3.2.5 配置字SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由NRF24L01的MOSI输
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1