无线温度遥测系统.docx
- 文档编号:921420
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:39
- 大小:1.07MB
无线温度遥测系统.docx
《无线温度遥测系统.docx》由会员分享,可在线阅读,更多相关《无线温度遥测系统.docx(39页珍藏版)》请在冰点文库上搜索。
无线温度遥测系统
目录
摘要:
3
关键词:
3
1.引言:
3
2.方案论证4
2.1设计思路4
2.2模块方案论证5
2.2.1控制部分选择5
2.2.2温度传感器部分5
2.2.3无线发送/接收部分6
2.2.4设置部分7
2.2.5显示部分7
2.2.6存储部分8
2.2.7报警部分8
3.系统设计与实现9
3.1系统硬件的设计9
3.1.1温度采集电路9
3.1.2无线传输芯片nRF24L01及其外围电路10
3.1.3主控部分及数据的处理13
3.2系统软件设计14
3.2.1从机系统流程图14
3.2.2主机系统流程图15
3.2.3DS18B20流程图16
3.3各模块电路图16
3.3.1电源模块16
3.3.2独立按键17
3.3.3LCD1602显示17
3.3.4LCD12864显示18
3.3.5声光报警电路19
3.3.6发射模块电路图19
3.3.7AT24C0219
3.3.8接收模块电路图20
4系统测试20
4.1测试条件20
4.2硬件测试20
4.3软件测试21
4.4实验数据分析22
4.4.1测试工具:
22
4.4.2测试结果:
22
5.总结22
6.参考文献22
7附录程序:
22
附录2器材清单30
附录3实物图30
无线温度遥测系统(C题)
摘要:
基于对远方环境温度探测设计的无线温度遥测系统。
本系统由控制器部分、温度采集部分、无线传输部分、设置部分、报警部分、存储部分和显示部分组成,设计以单片机STC89C52为主控核心器件,采用DS18B20数字温度传感器实时采集温度并通过无线传输芯片NRF24L01将采集到的温度数据发送给监测终端,同时终端AT24C02存储并实时LCD显示当前的温度信息,以及蜂鸣器,独立按键,LED构成报警电路。
完成了实时监测环境温遥测的基本要求部分的全部功能指标和发挥部分中绝大部分的功能指标。
Abstract:
Basedonthewirelesstemperaturetelemetrysystemdesignedtodetectdistantambienttemperature.Thesystemconsistsofacontrollerpart,thetemperatureacquisitionpartofthewirelesstransmissionpart,settingpartofthealarmpartofthestoragepartandpartsdesignedtomasterthecoredevicesthemicrocontrollerSTC89C52forusingDS18B20digitaltemperaturesensorreal-timeacquisitiontemperatureandwirelesstransmissionchipNRF24L01collectedtemperaturedatasenttothemonitoringterminal,terminaltheAT24C02storageandreal-timeLCDdisplaythecurrenttemperature,andthebuzzer,theLEDconstitutethealarmcircuit.Completedallofthefeaturesofthebasicrequirementsofthereal-timemonitoringofenvironmentaltemperaturetelemetryindicatorsandtoplayapartinmostofthefunctionalparameters.
关键词:
STC89C52DS18B20NRF24L01LCD1602LCD12864AT24C02LED蜂鸣器独立按键
1.引言:
数字化温度传感器DS18B20可以将环境的温度信号转变为数字信号,以串行方式输出,当其与无线发射芯片NRF24L01相互传输数据,且NRF24L01将数据以无线电磁波的形式发送出去,接受模块则将数据传送给单片机处理。
则从被测的环境温度就可以精确地计算出来,当温度达到预先设定温度时便会出现声光报警。
本系统正是基于此原理完成具有实时温度检测的无线温度遥测系统的设计。
预赛要求:
1.基本要求:
1.1测温范围10℃~65℃,误差<0.5℃;
1.2显示位数3位,分辨率0.1℃;
1.3测温点到接收点距离>2米;
1.4可设置温度上限报警;
1.5接收点显示测温点数据及声光上限报警信号;
2.发挥部分
2.1遥测距离>5米;
2.2误差<0.2℃;具有温度补偿功能;
2.3具有特色与创新;
2.4测量温度速率小于1秒;
2.5多路测量;
2.方案论证
2.1设计思路
基于以上分析,将系统设计为主控机和从机两个部分,并采用模块设计的方案实现系统的各项功能,系统主要由主控制器部分、温度采集部分、无线传输部分和显示部分、人工设置界面、存储部分,具体的实现方案如系统主框图2-1所示:
2.2模块方案论证
2.2.1控制部分选择
方案一:
采用FPGA作为系统的控制器。
FPGA可以实现各种复杂的逻辑功能,所有数字逻辑器件集中在一块芯片上,体积小,稳定度高。
同时,FPGA可用EDA软件仿真调试,易于进行功能扩展。
但FPGA引脚较多,布线复杂,成本偏高,结合分析本系统要求如果采用FPGA作为控制器利用率不高,造成资源浪费。
方案二:
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
经比较,此系统采用方案二。
2.2.2温度传感器部分
方案一:
使用热敏电阻温度传感器。
它利用热敏电阻的电气阻抗变化来测量温度。
测量范围是-50℃~+350℃。
具有价格低廉灵敏度佳,热放应快,不易受到连接线阻抗影响的特点。
缺点是测温环境狭小,电气阻抗的变化为非直线性。
误差为1.0℃以下。
方案二:
使用热电偶传感器。
它利用热电效果来测量温度。
测量范围很广,为-200℃~+1700℃。
具有构造简单价格较低等特点。
缺点是:
必须有基点,存在着因环境而氧化或不耐还原的物件,在连接点上必须有补偿线基准连接点,补偿导线造成误差的原因。
误差分为1.5℃和0.25℃。
方案三:
使用数字型SMT16030温度传感器。
它采用硅工艺生产的数字式温度传感器,其采用PTAT结构,这种半导体结构具有精确的,与温度相关的良好输出特性。
PTAT的输出通过占空比比较器调制成数字信号,占空比DC=0.32+0.0047*t,t为摄氏度。
输出数字信号故与微处理器MCU兼容,通过处理器的高频采样可算出输出电压方波信号的占空比,从而算出温度。
该款温度传感器因其特殊工艺,分辨率较高,达到0.005℃。
测量温度范围-45℃到130℃,故广泛用于高精度的应用场合。
误差为0.2℃。
方案四:
使用数字型DS18B20温度传感器。
它是单线接口方式,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;测温范围-55℃~+125℃,在10℃~50℃范围内精度高达0.1℃;支持多点组网功能,多个DS18B20可以并联在唯一的三线上;且在使用中不需要任何外围元件。
基于以上的分析我们选择第四种方案。
2.2.3无线发送/接收部分
方案一:
本模块采用了Nordic公司nRF24L01高速无线收发芯片设计了无线数据传输的,设工作于PC串口等多种模式下。
它是一款单片射频收发芯片,工作于2.4~2.5GHzISM波段,芯片内置频率合成器、功率放大器、晶体振荡器和调制解调器等功能模块,输出功率和通信频道可通过程序进行设置。
芯片能耗非常低,支持多种低功率工作模式,节能设计很方便。
当射频通信的速率为1Mb/s、250kb/s时,在实验室条件下,10m之内可以保证数据准确可靠的传输。
在空旷地带,实现可靠通信的距离可达到40m。
因此适用于多种无线通信场合。
设计中考虑到可以用nRF2401,它的特点是使用简单(照比nRF24L01),没有寄存器的概念,配置数据、发送数据和接收数据的时候,直接操作就好。
但是缺点也有,SPI操作时间比较慢(参照nRF24L01),没有发送完成标志和中断,单片机只能延时等待。
再来就是速率较低(250kbps、1Mbps),nRF24L01支持2Mbps。
方案二:
红外线传输。
基本上红外线跟蓝牙同样都是无限传输,但是使用的频带不同。
红外线的原理就是利用可视红光光谱之外的不可视光,就因为红外线也是光的一种,所以它也同样具有光的特性,它无法穿越不透光的物体。
低速红外线是指其传输速率在每秒115.2Kbits者而言,它适用于传送简短的讯息、文字或是档案。
有低速红外线也有高速红外线(FastIR),它是指传输速率在每秒1或是4Mbits者而言,其它更高传输速率则仍在发展中。
对于网络解决方案而言,高速红外线可以说是其基础,包括档案传输、局域网络连结甚至是多媒体传输。
基于以上的分析论证,我们组决定选择方案一。
2.2.4设置部分
设置模块包括:
键盘输入设置方式和红外遥控设置方式,两者均可实现上限温度值的设置以及启动和关闭报警器。
常用于键盘设置模块的选择,有按键式键盘和触摸屏控制器。
方案一(按键式输入):
此方法操作简单,而且采用此方式控制,由于键盘的数目少,也不会占用单片机太多的资源,且价格便宜。
方案二(触摸屏输入):
通过触摸检测部件检测用户触摸位置,接受触摸信息后送触摸屏控制器,触摸屏控制器将它转换成触点坐标送给CPU,它同时接收CPU发来的命令并加以执行。
此方法操作方便,简单,但价格昂贵。
另外红外遥控设置可能会由于房屋或楼道墙壁等受到影响,所以经过比较,我们采用独立式键盘作为输入控制模块。
2.2.5显示部分
方案一:
使用LED数码管。
传统数码管具有低能耗、低损耗,对外界环境要求低,易于维护等特点;同时其操作简单,程序编写容易,但采用动态扫描显示温度值的时候,会占用单片机太多的资源。
方案二:
使用LCD1602液晶显示。
LCD1602它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有也有间隔起到了字符间距和行间距的作用,但是它不能显示图形。
可以显示两行,每行16个字符液晶模块。
方案三:
使用LCD12864液晶显示。
LCD12864它带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基于以上方案我们分别采用方案二作为发射模块显示部分和方案三作为接收模块显示部分。
2.2.6存储部分
本系统采用AT24C02作为存储器件。
AT24C02是一个2K位串行CMOSE2PROM,达到掉电后数据不丢失的目的。
其内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。
AT24C02有一个16字节页写缓冲器。
该器件通过IC总线接口进行操作,有一个专门的写保护功能。
AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。
任何从总线接收数据的器件为接收器。
数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。
主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。
2.2.7报警部分
我们采用蜂鸣器作为报警的声音部分,采用LED灯作为报警光的部分。
针对蜂鸣器部分方案如下:
方案一:
有源蜂鸣器内部带有振荡源,所以,只需要通上其正常的工作直流电压就可以有效的工作。
故,其连接线路简单,占用的程序储存空间小。
方案二:
无源蜂鸣器内部不带振荡源,所以,直接用工作的直流电是不会有效的发出声响的。
必须用2kHz~5kHz的方波信号去控制驱动它,那样它才能顺利的工作。
综上所述,我们会选择操作简单的方案一。
3.系统设计与实现
3.1系统硬件的设计
3.1.1温度采集电路
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如下:
图3-2DS18B20外形图
引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
内部结构
DS18B20内部结构图
DS18B20与单片机连接图
2路测量电路图
3.1.2无线传输芯片nRF24L01及其外围电路
nRF24L01及其外围电路如图2.1,包括nRF24L01芯片部分、稳压部分、晶振部分、天线部分。
电压VDD经电容C1、C2、C3处理后为芯片提供工作电压;晶振部分包括Y1、C9、C10,晶振Y1允许值为:
4MHz、8MHz、12MHz、16MHz,如果需要1Mbps的通信速率,则必须选择16MHz晶振。
天线部分包括电感L1、L2,用来将nRF24L01芯片ANT1、ANT2管脚产生的2.4G电平信号转换为电磁波信号,或者将电磁波信号转换为电平信号输入芯片的ANT1、ANT2管脚。
图3-5nRF24L01跳频发射与接受图
nRF24L01的封装及引脚排列如图3-6所示。
各引脚功能如下:
图3-6nRF24L01的封装及引脚排列
CE:
使能发射或接收;
CSN,SCK,MOSI,MISO:
SPI引脚端,微处理器可通过此引脚配置nRF24L01:
IRQ:
中断标志位;
VDD:
电源输入端;
VSS:
电源地:
XC2,XC1:
晶体振荡器引脚;
VDD_PA:
为功率放大器供电,输出为1.8V;
ANT1,ANT2:
天线接口;
IREF:
参考电流输入。
图3-4nRF24L01与单片机连接图
3.1.3主控部分及数据的处理
89c52引脚图管脚图及各引脚功能介绍Vss时尚(20脚):
接地VCC(40脚):
主电源+5VXTAL1(19脚):
接外部晶体的一端。
在片内它是振荡电路反相放大器的输入端。
在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚):
接外部晶体的另一端。
在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。
图3-789c52引脚图
接地VCC(40脚):
主电源+5V
XTAL1(19脚):
接外部晶体的一端。
在片内它是振荡电路反相放大器的输入端。
在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚):
接外部晶体的另一端。
在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。
若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。
RST(9脚):
单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)
PSEN(29脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。
不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。
PSEN端同样可驱动8个LSTTL负载。
我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80Cst1:
chmetcnv>51是否在工作。
ALE/PROG(30脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。
不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。
PSEN端同样可驱动8个LSTTL负载。
我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80c52是否在工作。
EA/VPP(31脚):
当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。
当地址超出4KB时,将自动执行片外程序存储器的程序。
当EA输入低电平时,CPU仅访问片外程序存储器。
在对89C52EPROM编程时,此引脚用于施加编程电压VPP。
输入/输出引脚:
(1)P0.0—P0.7(39脚—32脚)
(2)P1.0—P1.7(1脚—8脚)
(3)P2.0—P2.7(26脚—21脚)
(4)P3.0—P3.7(10脚—17脚)
3.2系统软件设计
3.2.1从机系统流程图
图3-8从机系统流程图
3.2.2主机系统流程图
图3-9主机系统流程图
3.2.3DS18B20流程图
本作品分别使用了KeiluVision、ISIS6Professional等系列仿真器作为编程器件,它是以WINDOWS为设计平台。
在使用时先在KeiluVision环境下编辑程序,然后保存程序、建立新项目、设置项目,接着编译程序并生成HEX文件,最后在ISIS6Professional上调试和执行,这样一步步来实现仿真。
3.3各模块电路图
3.3.1电源模块
电源MULTISIM仿真图
3.3.2独立按键
3.3.3LCD1602显示
3.3.4LCD12864显示
3.3.5声光报警电路
3.3.6发射模块电路图
PROTUES仿真电路图
3.3.7AT24C02
3.3.8接收模块电路图
PROTUES仿真电路图
4系统测试
完成了硬件的设计,制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。
系统调试包括硬件调试和软件调试两个部分。
不过,作为一个计算机系统,其运行是软硬件相结合的。
因此,软硬件的调试也是不可能绝对分开的,硬件的调试常常要利用调试软件,软件的调试也可能需要通过对硬件的测试和控制来进行。
4.1测试条件
采用自制电源为系统提供稳定的5V电压,还要准备高精度的温度计、卷尺、秒表的仪器。
4.2硬件测试
1、对LCD的测试。
在测试LCD1602时连接好电路,但是没有显示,一开始仔细分析1602电路图是否正确。
但是没有查出原因,然后分析最小系统板,晶振电路正确,复位电路正确。
1602与单片机连接正确,最后花了很久发现我的排阻焊反了,改正后1602得以显现。
2、对18B20测试。
由于采用单总线协议。
焊接比较简单,在采用程序测试时,很快就可以正确显示,二路时,分别对它进行测试。
两个DS18B20均能进行正确显示。
3、对独立按键的测试。
我们发现它不能作用,原因可能是焊错了或者程序原因,焊接使我们认为两个接头随便用,但是听别人将讲解,采用对角接法就能正确使用了
4、对蜂鸣器和LED灯的测试。
我们发现蜂鸣器的声音太小了,后来采用三极管8050放大,还有就是我们把蜂鸣器外面封口的去除它的声音会跟大,这样硬件就得以解决。
5、对无线模块的测试。
我们已开始根据郎译开发板配套一系列的典型电路来焊接,ISP下载口。
但是用不了。
所以后来我们根据NRF24L01上各个点表示来焊接,用两排排阵替代NRF24L01的10个接头。
然后该怎么接就用杜邦线连接。
6、对AT24C02的测试。
一开始我们按照典型电路来焊接,但是程序编好后,在开发板上测试完好,这说明我们的AT24C02焊接错了。
经过分析后,我们上网搜索后按照网上给的电路进行焊接,测试后完全正确。
7、对12864的测试。
我们发现它的显示模糊看不清。
后来采用一个10K的电位器调节它的分辨率。
这样问题便得以解决。
4.3软件测试
1、采用1路测量时没有出现问,题程序对了即可。
但是改用2路测量时发现,接收部分显示只有一个温度示数,另外一部分会出现乱码现象,最后调节程序,使之能够正确显示二路温度。
2、我们发现采用独立按键进行可设置声光报警电路时。
每当断电时,我们设置的上下限温度会还原到程序设计的温度。
然后我们对它进行程序修改,发现难以解决,后来我们加了断电保护AT24C02使之得以解决。
3、在对对蜂鸣器和LED灯进行测试时,我们在程序编好后,发现蜂鸣器不发出声音,LED灯不显示。
后来修改程序,蜂鸣器,LED灯始终显示。
再后来,修改程序,一波三折,终于成功显示。
4、在对无线接收与无线发射进行测试时,我们在焊好板子后,发现接收的数据没有显示,然后确定它是否发射出去开始,发现使用可另外一个NRF24L01接受部分发现乱码。
确定是我们设计的板子焊错了。
改正后才修改接收乱码现象,唯一的可能就是程序问题,通过询问和自我思考后,修改成功,使之能够很好的显示。
5、测试中发现当我们发送温度数据时,在接收的显示器上并不能及时的更新数值,反应的时间相对较缓慢。
针对这一情况我们在反复的检查程序的时候发现我们在声光报警的时候消耗的时间较多。
这样就延误了温度刷新时间。
之后我们想了很多的办法才想到用定时器中断来解决这一问题!
这样温度刷新与声光报警两个事件就相互之间互不影响。
4.4实验数据分析
4.4.1测试工具:
温度计、秒表、卷尺、不同温度的水。
4.4.2测试结果:
由于温度室内温度本身较高,所以我们设置的温度下限较高,在温度低于下线时,蜂鸣器开始发出声音,伴随着LED灯点亮。
上限温度我们用打火机对DS18B20进行加温,达到温度上显示,蜂鸣器和LED灯均发生相应的变化,完成声光报警要求,我们采用了1602,12864分别显示发射时与接收时的温度,显示位数有四位,分辨率达到0.1℃,也达到要求。
对温度误差的测试(DS18B20与温度计的比较)
测试仪器
25度水温
40度水温
50度水温
DS18B20
24.93℃
40.12℃
49.97℃
温度计
25.0℃
40.2℃
50.1℃
测试结果
成功
成功
成功
表4-1
距离误差的测试(不同距离接受发射时间误差)
测试距离
50m
100m
150m
200m
时间差
0.1s
0.1s
0.1s
0.1s
测试结果
成功
成功
成功
成功
表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线 温度 遥测 系统