福州大学物理与信息工程学院
电子系统设计报告
设计题目:基于80C52单片机的超声波无线测距显示
专业:电子科学与技术 班级:7班
姓名: 韩少炜 学号: 111100709
同组姓名:魏霖涛 学号: 111100727
指导老师: 吴新坤
2014年06月
一、设计要求和目的
1.1设计要求:采用一种单片机STC89C52控制HC-SR04实现的无线超声波测距系统。通过简单的无线通信协议,实现可靠性与功耗平衡,该系统能实现对距离的检测,是可以实现远程控制的无线超声波测距系统。低功耗实时性的无线超声波测距是该设计的最大特点。无线传输采用nRF24L01模块传输,用LCD1602实现温度显示。该系统结构简单可靠功耗较低,成本低,是一种无线传感器的解决方案。 1.2设计目的:
(1)熟悉系统设计步骤以及超声波的特性
(2)能够运用所学数电、模电电路知识对电路进行合理的调试 (3)增强模块化的思想,掌握无线模块的SPI 时序特点 (4)加强动手能力、培养团队合作意识
二、系统设计原理
1主控芯片方案
采用传统的STC89C52 单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠。 单片机最小系统
单片机控制模块由STC89C52最小系统组成,其中包括单片机,晶振电路和复位电路。
(1)、晶振电路:晶振电路由两个30pF 电容和一个12MHz 晶体振荡器构成,接入单片机的X1、X2引脚。
(2)、复位电路:单片复位端低电平有效。 单片机最小电路原理图如图1:
2 无线通信模块方案
采用nRF24L01无线射频模块进行通信,nRF24L01是一款高速低功耗的无线通信模块。他能传输上千米的距离(加PA ),而且价格较便宜,采用SPI 总线通信模式电路简单,操作方便。 2.1 nRF24L01芯片概述
nRF24L01是一款新型单片射频收发器件, 工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,融合了增强型shockbust 技术,中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,以-6 dBm 的功率发射时,作电流也只有9 mA ;收时,工作电流只有12.3 mA ,多种低功率工作模式(掉电模式和空闲模式) 使节能设计更方便。
nRF24L01主要特性如下: ● GFSK 调制;
● 硬件集成OSI 链路层;
● 具有自动应答和自动再发射功能; ● 片内自动生成报头和CRC 校验码; ● 数据传输率为l Mb/s或2Mb/s; ● SPI 速率为0 Mb/s~10 Mb/s; ● 125个频道;
● 与其他nRF24系列射频器件相兼容; ● QFN20引脚4 mm×4 mm封装; ● 供电电压为1.9 V~3.6 V。 引脚功能及描述
nRF24L01的封装及引脚排列如图2所示,各引脚功能如下:
图2 nRF24L01封装图
● CE :使能发射或接收;
● CSN ,CK ,MOSI ,MISO :SPI 引脚端,通过此引脚配置nRF24L01: ● IRQ :中断标志位; ● VDD :电源输入端; ● VSS :电源地;
● XC2,XC1:晶体振荡器引脚;
● DD_PA:为功率放大器供电,输出为1.8 V; ● ANT1,ANT2:天线接口; ● IREF :参考电流输入。
2.2 工作原理
发射数据时,首先将nRF24L01配置为发射模式,接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI 口写入nRF24L01缓存区,TX_PLD必须在CSN 为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE 置为高电平并保持至少10μs ,延迟130μs 后发射数据;自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;未收到应答,则自动重新发射该数据(自动重发已开启) ,若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便在次重发;AX_RT或TX_DS置高时,使IRQ 变低,产生中断,通知MCU 。最后发射成功时,若CE 为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE 为高,则进入下一次发射;若发送堆栈中无数据且CE 为高,则进入空闲模式2。
接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs 进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC 时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ 变低,产生中断,通知MCU 去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE 变低,则nRF24L01进入空闲模式1。
在写寄存器之前一定要进入待机模式或掉电模式。如下图3和图4给出SPI 操作及时序图:
图3 SPI读操作
图4 SPI 写操作
3 超声波测距方案
HC-SR04超声波测距模块可提供2cm-400cm 的非接触式距离感测功能,测 距精度可达高到3mm ;模块包括超声波发射器、接收器与控制电路。 基本工作原理:
(1)采用IO 口TRIG 触发测距,给最少10us 的高电平信呈。 (2)模块自动发送8 个40 kHz 的方波,自动检测是否有信号返回; (3)有信号返回,通过IO 口ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速
(340M/S))/2;
图5 HC-SR04引脚及封装
如下图接线,VCC 供5V 电源, GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四个接口端。
图6 超声波时序图:
4 显示模块方案
采用字符液晶LCD1602显示信息,1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制 接收端显示模块
本设计在接收端部分采用LCD1602液晶显示模块来显示温度,P0由上拉电阻提高驱动能力,作为数据输出并作为LCD 的驱动,P2口的P2.7-P2.6分别作为液晶显示模块的使能信号E ,数据/命令选择RS ,R/W端则配置成写。具体电路如图:
VCC
5系统方案方框图
发送:
接收:
三、设计任务
这次任务我跟同组的魏霖涛是分工合作,其中我做的是硬件里面的无线发射模块。这一块的任务主要是无线超声波的收发设置,51单片机数据处理模块和NRF24L01数据发送模块。
无线超声波收发装置其实就是一个类似与声纳的装置,通过超声波的发送和接收到的时间差以及超声波的速度来得到相关的模拟信号。
51单片机的数据处理模块主要是通过调用数据处理代码来对由超声波无线装置传来的的信号进行处理,得到相关的有效数据。
无线NRF24L01发送模块用的是数据的的无线传送协议,通过对由51单片机传来的数据进行特定处理,然后发送出去。
在设计这三个模块的时候,我跟同组的魏霖涛商量好这个模块的设置的注意事项,因为魏霖涛复杂的是无线接收模块。在接收端用到的模块也是NRF24L01,所以可以实现数据的实时的发送接收。
在设计的过程中,还需要给单片机填入代码,用来处理数据,这边的代码,也就是这次的设计的软件模块,我是从网上找到的代码,进行填入,通过调试,整改相关的代码段,实现对数据进行目标处理。
整个模块的设计过程由于没有用到pcb 来设计,所以设计过程我们并没有进行仿真,而是直接在出现问题时用万能表进行线路的简单检查。
四、设计调试与结果
发送端软件设计与调试
本系统发送端采用HC-SR04超声波测距模块采集距离参数,经STC89C5C2收集处理数据再由nRF24L01模块发送到接收端。其中包括HC-SR04和nRF24L01模块的初始化配置。
五、总结及存在问题和改进
整个系统的工作都是依靠超声波以及无线信号来进行数据采集和数据的传播,所以系统工作的环境对温度、湿度以及光照等因素都有不同程度的要求以及限制,我们可以通过在电路上做出一些适当的改进,加入一些滤波电路或者适当的逻辑电路对信号进行整流和放大,提高信号的稳定性和可靠性。
六、心得体会
这一次的实践过程是一个充满挑战的过程,它让我明白了耐心以及细心的重要性。在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。特别注意电源的正负极以及电源之间是否有短路,晶体振荡器和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好是保证振荡器稳定和可靠地工作。在本系统中我们都进行了仔细的检杏,所以此步骤不会发生故障,这一步如果检查不细通电后可能会造成不可想象的后果,所以这一步也至关重要。
另外,由于模块的分散性,各个模块都是通过杜邦线连接的,需要足够的耐心以及细心才能保证连线的正确性。通电后检查各器件引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上的各点电位,若有高压,将有可能损坏单片机以及相关模块。同样,如果电压过低就没有能力驱动其负载。
最后我明白了成功都不是一蹴而成的,在调试结果成功出来之前,都得经过千辛万苦的调试以及修改,在这过程中,是一个自己与自己不断对抗的过程,通过不断质疑自己的判断,最后终于得到一个正确以及合理的结果,这是一个很棒的体验!
福州大学物理与信息工程学院
电子系统设计报告
设计题目:基于80C52单片机的超声波无线测距显示
专业:电子科学与技术 班级:7班
姓名: 韩少炜 学号: 111100709
同组姓名:魏霖涛 学号: 111100727
指导老师: 吴新坤
2014年06月
一、设计要求和目的
1.1设计要求:采用一种单片机STC89C52控制HC-SR04实现的无线超声波测距系统。通过简单的无线通信协议,实现可靠性与功耗平衡,该系统能实现对距离的检测,是可以实现远程控制的无线超声波测距系统。低功耗实时性的无线超声波测距是该设计的最大特点。无线传输采用nRF24L01模块传输,用LCD1602实现温度显示。该系统结构简单可靠功耗较低,成本低,是一种无线传感器的解决方案。 1.2设计目的:
(1)熟悉系统设计步骤以及超声波的特性
(2)能够运用所学数电、模电电路知识对电路进行合理的调试 (3)增强模块化的思想,掌握无线模块的SPI 时序特点 (4)加强动手能力、培养团队合作意识
二、系统设计原理
1主控芯片方案
采用传统的STC89C52 单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠。 单片机最小系统
单片机控制模块由STC89C52最小系统组成,其中包括单片机,晶振电路和复位电路。
(1)、晶振电路:晶振电路由两个30pF 电容和一个12MHz 晶体振荡器构成,接入单片机的X1、X2引脚。
(2)、复位电路:单片复位端低电平有效。 单片机最小电路原理图如图1:
2 无线通信模块方案
采用nRF24L01无线射频模块进行通信,nRF24L01是一款高速低功耗的无线通信模块。他能传输上千米的距离(加PA ),而且价格较便宜,采用SPI 总线通信模式电路简单,操作方便。 2.1 nRF24L01芯片概述
nRF24L01是一款新型单片射频收发器件, 工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,融合了增强型shockbust 技术,中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,以-6 dBm 的功率发射时,作电流也只有9 mA ;收时,工作电流只有12.3 mA ,多种低功率工作模式(掉电模式和空闲模式) 使节能设计更方便。
nRF24L01主要特性如下: ● GFSK 调制;
● 硬件集成OSI 链路层;
● 具有自动应答和自动再发射功能; ● 片内自动生成报头和CRC 校验码; ● 数据传输率为l Mb/s或2Mb/s; ● SPI 速率为0 Mb/s~10 Mb/s; ● 125个频道;
● 与其他nRF24系列射频器件相兼容; ● QFN20引脚4 mm×4 mm封装; ● 供电电压为1.9 V~3.6 V。 引脚功能及描述
nRF24L01的封装及引脚排列如图2所示,各引脚功能如下:
图2 nRF24L01封装图
● CE :使能发射或接收;
● CSN ,CK ,MOSI ,MISO :SPI 引脚端,通过此引脚配置nRF24L01: ● IRQ :中断标志位; ● VDD :电源输入端; ● VSS :电源地;
● XC2,XC1:晶体振荡器引脚;
● DD_PA:为功率放大器供电,输出为1.8 V; ● ANT1,ANT2:天线接口; ● IREF :参考电流输入。
2.2 工作原理
发射数据时,首先将nRF24L01配置为发射模式,接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI 口写入nRF24L01缓存区,TX_PLD必须在CSN 为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE 置为高电平并保持至少10μs ,延迟130μs 后发射数据;自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;未收到应答,则自动重新发射该数据(自动重发已开启) ,若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便在次重发;AX_RT或TX_DS置高时,使IRQ 变低,产生中断,通知MCU 。最后发射成功时,若CE 为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE 为高,则进入下一次发射;若发送堆栈中无数据且CE 为高,则进入空闲模式2。
接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs 进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC 时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ 变低,产生中断,通知MCU 去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE 变低,则nRF24L01进入空闲模式1。
在写寄存器之前一定要进入待机模式或掉电模式。如下图3和图4给出SPI 操作及时序图:
图3 SPI读操作
图4 SPI 写操作
3 超声波测距方案
HC-SR04超声波测距模块可提供2cm-400cm 的非接触式距离感测功能,测 距精度可达高到3mm ;模块包括超声波发射器、接收器与控制电路。 基本工作原理:
(1)采用IO 口TRIG 触发测距,给最少10us 的高电平信呈。 (2)模块自动发送8 个40 kHz 的方波,自动检测是否有信号返回; (3)有信号返回,通过IO 口ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速
(340M/S))/2;
图5 HC-SR04引脚及封装
如下图接线,VCC 供5V 电源, GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四个接口端。
图6 超声波时序图:
4 显示模块方案
采用字符液晶LCD1602显示信息,1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制 接收端显示模块
本设计在接收端部分采用LCD1602液晶显示模块来显示温度,P0由上拉电阻提高驱动能力,作为数据输出并作为LCD 的驱动,P2口的P2.7-P2.6分别作为液晶显示模块的使能信号E ,数据/命令选择RS ,R/W端则配置成写。具体电路如图:
VCC
5系统方案方框图
发送:
接收:
三、设计任务
这次任务我跟同组的魏霖涛是分工合作,其中我做的是硬件里面的无线发射模块。这一块的任务主要是无线超声波的收发设置,51单片机数据处理模块和NRF24L01数据发送模块。
无线超声波收发装置其实就是一个类似与声纳的装置,通过超声波的发送和接收到的时间差以及超声波的速度来得到相关的模拟信号。
51单片机的数据处理模块主要是通过调用数据处理代码来对由超声波无线装置传来的的信号进行处理,得到相关的有效数据。
无线NRF24L01发送模块用的是数据的的无线传送协议,通过对由51单片机传来的数据进行特定处理,然后发送出去。
在设计这三个模块的时候,我跟同组的魏霖涛商量好这个模块的设置的注意事项,因为魏霖涛复杂的是无线接收模块。在接收端用到的模块也是NRF24L01,所以可以实现数据的实时的发送接收。
在设计的过程中,还需要给单片机填入代码,用来处理数据,这边的代码,也就是这次的设计的软件模块,我是从网上找到的代码,进行填入,通过调试,整改相关的代码段,实现对数据进行目标处理。
整个模块的设计过程由于没有用到pcb 来设计,所以设计过程我们并没有进行仿真,而是直接在出现问题时用万能表进行线路的简单检查。
四、设计调试与结果
发送端软件设计与调试
本系统发送端采用HC-SR04超声波测距模块采集距离参数,经STC89C5C2收集处理数据再由nRF24L01模块发送到接收端。其中包括HC-SR04和nRF24L01模块的初始化配置。
五、总结及存在问题和改进
整个系统的工作都是依靠超声波以及无线信号来进行数据采集和数据的传播,所以系统工作的环境对温度、湿度以及光照等因素都有不同程度的要求以及限制,我们可以通过在电路上做出一些适当的改进,加入一些滤波电路或者适当的逻辑电路对信号进行整流和放大,提高信号的稳定性和可靠性。
六、心得体会
这一次的实践过程是一个充满挑战的过程,它让我明白了耐心以及细心的重要性。在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。特别注意电源的正负极以及电源之间是否有短路,晶体振荡器和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好是保证振荡器稳定和可靠地工作。在本系统中我们都进行了仔细的检杏,所以此步骤不会发生故障,这一步如果检查不细通电后可能会造成不可想象的后果,所以这一步也至关重要。
另外,由于模块的分散性,各个模块都是通过杜邦线连接的,需要足够的耐心以及细心才能保证连线的正确性。通电后检查各器件引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上的各点电位,若有高压,将有可能损坏单片机以及相关模块。同样,如果电压过低就没有能力驱动其负载。
最后我明白了成功都不是一蹴而成的,在调试结果成功出来之前,都得经过千辛万苦的调试以及修改,在这过程中,是一个自己与自己不断对抗的过程,通过不断质疑自己的判断,最后终于得到一个正确以及合理的结果,这是一个很棒的体验!