无线温度监测.doc

上传人:壹****1 文档编号:562787462 上传时间:2022-12-30 格式:DOC 页数:28 大小:789.51KB
返回 下载 相关 举报
无线温度监测.doc_第1页
第1页 / 共28页
无线温度监测.doc_第2页
第2页 / 共28页
无线温度监测.doc_第3页
第3页 / 共28页
无线温度监测.doc_第4页
第4页 / 共28页
无线温度监测.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《无线温度监测.doc》由会员分享,可在线阅读,更多相关《无线温度监测.doc(28页珍藏版)》请在金锄头文库上搜索。

1、摘要:通过使用DS18B20温度模块采集数据,将数据通过51单片机控制模块使用NRF24L01无线模块进行传输,在接收端通过液晶显示模块LCD1602显示温度模块传输的温度数据,本设计具有发射距离远,精度高的优点,能满足我们课程设计的要求。关键词:温度模块DS18B20 无线模块NRF24L01 LCD16021、设计目的、要求及方案1.1设计目的在工业生产中,温度是一个非常重要的指标。为了保证安全生产,需要对温度进行采集与测量,并根据采集到的数据控制输出。传统的数据传输方式是通过敷设有线的通信线路来传递数据信息(常见的有RS485总线结构等),这种方式不仅施工麻烦、费用高,而且出现故障时不易

2、排查,越来越不能满足现代工业快速发展的需求。而无线数据传输方式具有不用布线、实时性高、容易重新部署等优点,非常适用于现代工业监控系统1。在本系统中把温度传感器DS18B20所采集到的温度值送给单片机进行处理,通过NRF2401无线模块实现远程无线传输,使用数码管或液晶屏显示所采集的温度。故设计本系统,既能准确的测量温度,又能解决测量距离上的问题。12设计要求(1)实时获取被测对象温度,温度测量范围:10 +45;测量精度:0.1。(2)无线传输实时获取的温度值,传输距离10m。(3)实时显示接收到的温度值。(4)基于单片机实现。(5)电路制作时,必须有学号或姓名。(6)能够切换信道,用数码管显

3、示信道(05)。13设计方案1.3.1控制模块采用宏晶科技有限公司的STC89C52作为主控芯片。此芯片内置ADC和SPI总线接口,且内部时钟不分频,达到1MPS。而且价格适中,方便制作电路板及焊接工作,能达到设计要求的性能1。1.3.2无线通信模块方案由于NRF24L01是一款高速低功耗的无线通信模块,能传输上百米的距离,而且价格较便宜,采用SPI总线通信模式电路简单,操作方便。符合设计要求,故采用NRF24L01无线射频模块进行通信1.3.3温度传感方案采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备

4、数字测温和控制领域。经济,方便。线路简单,编程容易,考虑到电路的设计,成本,还有多点通信,采用DS18B20作为本系统的温度传感器2。1.3.4显示模块方案由于只需要显示温度,还有学号,故选择采用字符液晶LCD1602当作显示器较为合适,LCD1602是一款比较通用的字符液晶模块,能显示字符、数字等信息,且价格便宜,容易控制2。1.3.5信道选择方案直接使用按键接单片机的I/O口,进行信道的选择,通过数码管模块显示信道的序号。1.3.6设计方案框图综合以上几点设计方案,设计出方案框图如图1发送模块方案框图,图2接收模块方案框图图1发送模块方案框图图2接收模块方案框图2.基本原理无线温度监控系统

5、由发送模块和接收两大模块组成,其原理如下:发送模块:温度传感器DS18B20将采集到的信号送到单片机控制模块存储,通过按键使控制模块将信号处理然后送到无线模块NRF24L01经行数据传输,数码管显示出所选择的通信信道。接收模块:通过按键使无线模块NRF24L01接收到发送模块的数据,把数据送到51控制模块,控制模块将数据处理后通过LCD1602把温度显示出来,数码管显示出所选择的通信信道。系统组成方框图如图3无线温度监测器系统组成方框图所示:图3无线温度监测器系统组成方框图3.硬件电路设计3.1 温度模块温度模块设计分析:根据DS18B20的设计原理,第1个引脚接GND;第2个引脚接单片机的P

6、2.2口;第2个引脚再串联一个4.7k到VCC;第3个引脚直接接VCC。3电路连接原理图如图4温度模块原理图所示图4温度模块原理图3.2 无线收发模块无线收发模块NRF24L01的各引脚与单片机的P1口相连,电路连接原理图如图5无线模块收发原理图所示图5无线模块收发原理图无线收发模块NRF24L01引脚功能:CSN(P1.0):芯片的片选线,CSN 为低电平芯片工作。SCK(P1.4):芯片控制的时钟线(SPI 时钟)。MISO(P1.3):芯片控制数据线(Master input slave output)。MOSI(P1.1):芯片控制数据线(Master output slave inp

7、ut)。IRQ(P1.2):中断信号。无线通信过程中MCU主要是通过IRQ与NRF24L01进行通信。CE(P1.5):芯片的模式控制线。在CSN为低的情况下,CE协同NRF24L01的CONFIG寄存器共同决定NRF24L01的状态。3.3 液晶显示模块液晶显示模块设计,数据口DB0-DB7连接单片机的P0口;RS、R/W、E这3条控制线分别接单片机的P2.3、P2.4和P2.5口。电阻R3用来调节背光的亮度。电路连接原理图如图6显示模块原理图所示图6显示模块原理图3.4系统原理图及PCB图发送端原理图如图7无线发送系统原理图所示:图7无线发送系统原理图接收端原理图如图8线接收系统原理图所示

8、:图8无线接收系统原理图4、软件程序设计4.1无线收发模块NRF24L01的编程4.1.1NRF24L01编程的基本思路(1) 置CSN为低,使能芯片,配置芯片各个参数。配置参数在Power Down状态中完成。(2)如果是Tx模式,填充Tx FIFO。(3)配置完成以后,通过CE与CONFIG中的PWR_UP与PRIM_RX参数确定NRF24L01要切换到的状态。Tx Mode:PWR_UP=1;PRIM_RX=0; CE=1(保持超过10us就可以);Rx Mode:PWR_UP=1;PRIM_RX=1; CE=1;(4) IRQ引脚会在以下三种情况变低: Tx FIFO 发完并且收到AC

9、K(使能ACK情况下) Rx FIFO收到数据 达到最大重发次数4.1.2 Tx与Rx的配置过程Tx模式初始化过程(1)写Tx节点的地址 TX_ADDR(2)写Rx节点的地址(主要是为了使能Auto Ack) RX_ADDR_P0(3)使能AUTO ACK EN_AA(4)使能PIPE 0 EN_RXADDR(5)配置自动重发次数 SETUP_RETR(6)选择通信频率 RF_CH(7)配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP(8)选择通道0有效数据宽度 Rx_Pw_P0(9)配置24L01的基本参数以及切换工作模式 CONFIG。4.1.3NRF24L01数据信道

10、的切换NRF24L01配置为接收模式时,可以接收6路不同地址相同频率的数据,每个数据通道拥有自己的地址,并且可以通过寄存器来进行分别配置。数据通道是通过寄存器EN_RXADDR来设置的默认状态下只有数据通道0和数据通道1是开启状态的每一个数据通道的地址是通过寄存RX_ADDR_Px来配置的,通常情况下不允许不同的数据通道设置完全相同的地址。数据通道0有40位可配置地址,数据通道1-5的地址:为32位共用地址+各自的地址(最低字节),1-5数据通道的最低位必须不同。发送端通过按键把数据通道从0-5经行切换,选择不同的地址经行通信,接收端同样经行对应的处理以便通信。发送端切换通道的程序:接收端的选

11、择程序uchar code dizhi=0x01,0x02,0x04,0x08,0x10,0x20; /接收通道和使能通道的切换通过按键的选择,通道能从0到5进行切换,然后只有通道相同才可以传输数据,显示屏上才有数据更新。4.2 DS18B20温度模块温度模块读取温度程序流程图如图9读取温度程序流程图所示图9读取温度程序流程图程序见附录A5、PCB 板的设计与制作: 5.1 PCB图设计PCB图如图10所示:PCB图的设计如图10 PCB图所示图10 PCB图所示6、电路的调试及调试结果把PCB板制作完毕之后,拿到元器件之后,开始进行焊接,对安装焊接工艺要求是:电阻,电容尽可能卧式安装,减少虚

12、焊,脱焊现象,贴片元器件等需要快速焊接,避免元器件由于温度过高而损坏。进行测试的时候发现LCD没有显示数据,然后对LCD1602进行测试,没有问题;对照资料才发现数据口反过来接了,然后用杜邦线进行重新连接,测试通过了3。接着排查无线模块,温度模块,进行资料的查询,发现DS18B20引脚接反了,然后把DS18B20调转插在底座上面3。无线模块也没有正常工作,是因为没有正常的供电,缺少AMS1117降压模块,然后手工焊接了一个降压模块,无线模块也正常工作了,然后进行整体测试,硬件测试通过。接着就是程序测试,一开始是数据不能正确显示,有一些字符乱码,通过调试程序,优化LCD显示,完成测试。3由于设计

13、要求需要进行信道的切换,一开始写了数组进行信道的选择,但是达不到所需要的效果,只能有通道0和1可以单独通信,其他通道无法进行通信。后来才知道信道的使能端也需要进行选择处理,才可以对数据进行单独处理。因为一开始对无线模块的使能通道处理不妥当,发送端和接收端全打开(0x3f)处理,所以进行通信的时候,只有0和1可以切换,其他通道时会出现错误,当接收端为0时,发送端每一个通道都可以传输数据,所以一直在找原因。最后才知道要在接收端进行使能端的选择,才能使通道单独选择,而不收其他通道的影响。发送端原处理程序如下:SPI_W_Reg(W_REGISTER+EN_AA,0x30);/*接收通道自动应答*/S

14、PI_W_Reg(W_REGISTER+EN_RX_ADDR,0x30);/*使能接收通道*/修改后把0x30改为0x3f,把通道使能全打开,程序如下:SPI_W_Reg(W_REGISTER+EN_AA,0x3f);/*接收全通道自动应答*/SPI_W_Reg(W_REGISTER+EN_RX_ADDR,0x3f);/*使能接收权通道*/接收端的使能端进行按键选择,原程序如下:SPI_W_Reg(W_REGISTER+EN_AA,0x3f);SPI_W_Reg(W_REGISTER+EN_RX_ADDR,0x3f);调试之后程序为:uchar code dizhi=0x01,0x02,0x04,0x08,0x10,0x20; SPI_W_Reg(W_REGISTER+EN_AA,dizhixuan);SPI_W_Reg(W_REGISTER+EN_RX_ADDR,dizhixuan);7、实验总结及心得体会这次课程设计一共做了几个PCB才成功,由于第一个缺陷太多,所以重新修改原理图及PCB,制作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号