本科毕业设计论文远程温度监控系统的设计.docx
《本科毕业设计论文远程温度监控系统的设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文远程温度监控系统的设计.docx(64页珍藏版)》请在冰豆网上搜索。
![本科毕业设计论文远程温度监控系统的设计.docx](https://file1.bdocx.com/fileroot1/2023-2/8/fc19ee71-147b-4186-8b11-eeb7107f1a69/fc19ee71-147b-4186-8b11-eeb7107f1a691.gif)
本科毕业设计论文远程温度监控系统的设计
远程温度监控系统的设计
摘要
本系统以AT89S52系列单片机为控制单元,采用Dallas单线数字温度传感器DS18B20对现场水阻试验用水温数据进行远程无线测量与控制。
实验表明,系统具有结构简单实用、控制方便、功能齐全、通用性强等特点,系统稍作修改即可被应用于其他生产领域,特别是人体无法接近的高温或危险场所的温度控制.
关键词:
温度采集;数字温度传感器;无线发射与接收模块;单片机
TheDesignOfRemoteTemperatureMonitoringSystem
Abstract
ThesystemisbasedonthecontrolofAT89S52SCM.It'satemperaturetelecontrolsystemusingDallassinglelinedigitalthermometerDS18B20tocollectthetempofthewateratscene.Theadvantageofthissystemisitsuniqueness,simplenessandconvenience.Itcanbewidelyusedineveryaspectsespeciallyforthosedangerousplaceswhereit'snotsuitableforpeopletogetcloseto.
Keywords:
temperatureacquisition,single-busdigitaltemperaturesensor,radiotransmittingandreceivingmodules,microcontroller
引言
随着科学技术的迅猛发展,电子学的发展也越来越快,带动了大批相关产业的发展,其应用的范围也越来越广泛。
如今,计算机的使用领域已经扩展到了各行各业,甚至介入个人家庭。
在这种形式下,对于计算机的认识是势在必得的,而且使用微机已经成为了当代人的一种基本技能。
所以对于我们来说,仅仅会使用微机是远远不够的,要想适应当今社会的需要,我们就必须能够设计出基于PC技术的新的电子仪器,以满足社会更高层次的需求。
近年来,单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机已经渗透到工业,农业,国防,科研及日常生活等各个领域。
传统的温度采集的方法不仅费时,而且精度差,满足不了各行业对于温度数据高精度,设备高可靠性的需求。
单片机的出现使得温度数据的采集和处理得到了很好的解决。
选择适当的单片机和温度传感器及前端处理电路,可以获得较高精度的测量。
不但方便快捷,成本低廉,省事省力,而且大幅度提高了测量精度。
本文介绍了一种利用单片机实现温度数据的采集和处理的一种设计方法。
其中涉及了传感器,数据采集,单片机数据处理,单片机和单片机通讯等一系列相关理论。
本文就如何将温度这一连续的物理量转换成模拟的电压信号,再将电压信号通过单片机编码转换成数字信号这一过程,进行了阐述和分析。
并且增加了报警电路。
同时在通过软件进行温度补偿和数据处理方面,也作为了具体介绍。
在硬件电路设计方面,从电路的简单,可靠数字化,低成本等角度出发,设计者采用了硬件滤波软件补偿两方面入手,使得设计达到所需精度要求,具有较高的性能价格比。
1方案设计与论证
1.1控制芯片方案选择
方案1:
采用凌阳16位单片机,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、I/O口资源丰富、存储空间大、处理速度高等特点。
尤其适用于语音处理和识别等领域。
但是当凌阳单片机应用语音处理和辨识时,其占用的CPU资源较多而使得凌阳单片机同时处理其它任务的速度和能力降低,并且价格比较昂贵,不易购买。
方案2:
采用FGPA(现场可编程门阵列)作为系统的控制器。
FGPA可实现各种复杂的逻辑功能,规模大,密度高,它将所有的器件集成在一块芯片上,减小了体积,提高了稳定性,并且可应用EDA软件仿真、在线调试,易于进行功能扩展,响应速度快。
但成本偏高,同时由于引脚较多,电路板的布线比较复杂,加重了电路设计和实际焊接的工作。
方案3:
采用8位单片机作为主控制芯片,8位单片机具有价格比较便宜,并且技术比较成熟,低功耗,易于购买等优点,但是8位机程序执行速度比较慢,内部资源比16位单片机少很多。
考虑到本系统对程序运行速度要求不高以及成本问题,最后选择8位单片机,由于AT89S52单片机比其它8位单片机价格便宜,并且其内部具有丰富的资源,故采用AT89S52单片机作为主控制芯片。
1.2显示电路方案选择
方案1:
采用数码管显示,成本低、亮度高、醒目。
但在显示较多的项目时,硬件电路复杂,功耗大。
方案2:
采用1602LCD液晶屏显示,显示内容较多,方便组合,可视面积大,画面效果好,抗干扰能力强,调用方便简单,而且可以节省了软件中断资源。
课题中需要同时显示多个温度等信息,要求显示内容丰富。
比较上述2种方案,方案2电路简单、显示信息量大、能很好的满足题目要求,我们采用方案2。
1.3无线收发模块的选择
无线数据传输被广泛应用在车辆监控、遥控、遥测、小型无线网络、无线数据通信、机器人控制、数字音频、数字图像的传输等领域中。
方案1:
采用DF无线数据收发模块。
DF无线发射模块通讯方式为调频AM,工作频率为315MHz,为ISM频段,发射频率<500mW。
DF超再生式接收模块通讯方式为调频AM,接收灵敏度高,用示波器观察输出波形干净,抗干扰能力强。
系统中为保证稳定,采用芯片PT2262,PT2272M4进行数据编解码,由于数据传输量较小,而且传输频率达315MHz,为射频电路,调试难度大,因此我们放弃了此方案。
方案2:
采用GSM模块。
GSM模块全称GSMMODEM,是一种内嵌GSM无线通信模块,插入移动运营商的手机SIM卡后,可以通过PC连接让计算机应用系统与移动运营商的短信中心建立无线连接来实现自由的对外短信收发。
该模块性价比高、稳定性强、便于开发。
兼容标准的AT控制指令集。
是GSMSMS通讯的极佳选择。
但是随着GSM手机用户的不断增加,GSM网络带宽不足的缺点越来越明显,经常出现网络塞车的现象,所以这会导致数据传送实时性不够,因此我们放弃了此方案。
方案3:
采用无线红外技术。
无线红外技术最大的优点就是带宽大,甚至要超过其它三种主流无线技术,这就意味着采用红外无线技术的音频产品可以不用压缩来传输大容量的音频信号,音质效果更好;但红外无线传输技术这有着一些缺点,比如它对指向性要求很高,大家很容易体验到红外遥控器稍微偏离角度就不能进行操作。
其次,红外属于光波,除强光外很少有能影响到红外无线传输工作的干扰,稳定性更加。
其次,红外无线传输对于发射功率要求较高,如果用电池来驱动的红外发射实际意义不大;最后,无线传输距离较短,一般都在几米左右的极限距离。
综合以上因素,我们也不采用此方案。
方案4:
TX-2/RX-2B是一对专用的无线数据编码和解码芯片,工作电压为1.5~5.0V,CMOS结构保证了极低的功耗,外围元件少,发射接收能力强,适用于低频电路应用。
发射载波电路,采用并联晶振振荡电路,采用FSK调制.为了提高传输距离,接收采用超再生接收电路。
1.4温度采集模块的选择
方案1:
采用AD590。
AD590是美国模拟器件公司生产的单片集成两端感温电流源,精度很高,但需要辅助的AD转换电路以及进行软件的校正,增加了线路的复杂程度,此方案不可行。
方案2:
采用DS18B20作为测温电路的温度传感器。
DS18B20的数字温度输出通过1-Wire总线,又称为“一线”总线(1-Wire是一种独特的数字信号总线协议,它将独特的电源线和信号线复合在一起,仅使用一条口线;每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线),这种独特的方式,可以使多个DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。
它在测温精度、转换时间、传输距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。
DS18B20直接输出数字温度值,不需要校正,因此选择此方案。
1.5总体方案的确定
电路部分主要有:
温度检测电路,控制电路,显示电路,无线传输检测电路,等模块组成。
总体电路组成框图
图1.1总体电路组成框图
系统功能:
本系统用于对水温进行实时监控,同时运用传感器技术、通信技术和单片机技术,实现了对水温的准确测量,并通过无线发射接收,使得所测温度数据实现远距离传输。
2.硬件电路设计
一个单片机应用系统的硬件电路设计包含有两部分内容:
一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/记数器﹑中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。
二是系统配置,既按照系统功能要求配置外围设备,如键盘显示器﹑A/D﹑D/A转换器、各类传感器和采集到的信息等,要设计合适的接口电路。
2.1AT89S52单片机硬件结构
AT89S52单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。
如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。
它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。
但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
2.2单片机最小系统
AT89S52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用AT单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图2.1AT89S52单片机最小系统所示。
图2.1系列单片机最小系统
2.2.1时钟电路
AT89S52虽然有内部振荡电路,但要形成时钟,必须外部附加电路。
AT89S52单片机的时钟产生方法有两种。
内部时钟方式和外部时钟方式。
本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。
本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHZ到12MHZ之间选择。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度
2.2.2复位电路
AT89S52的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
时钟频率用6MHZ时C取22uF,R取1KΩ。
图2.2AT89S52复位电路
2.3液晶显示电路
显示接口用来显示系统的状态,命令或采集的电压数据。
本系统显示部分用的是LCD液晶模块,采用一个16×1的字符型液晶显示模块。
点阵图形式液晶由M行×N列个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1个字节的8个位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元和显示RAM区1024个字节相对应,每一字节的内容和屏上相应位置的亮暗对应。
一个字符由6×8或8×8点阵组成,即要找到和屏上某几个位置对应的显示RAM区的8个字节,并且要使每个字节的不同的位为‘1’,其它的为‘0’,为‘1’的点亮,为‘0’的点暗,这样一来就组成某个字符。
但对于内带字符发生器的控制器来说,显示字符就比较简单了,可让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
1601使用说明:
图2.31601引脚图
表1LCD1601液晶模块的引脚
引脚
符号
功能说明
1
GND
接地
2
Vcc
+5V
3
VL
驱动LCD,一般将此脚接地
4
RS
寄存器选择0:
指令寄存器(WRITE)Busyflag,位址计数器(READ)1:
数据寄存器(WRITE,READ)
5
R/W
READ/WRITE选择1:
READ0:
WTITE
6
E
读写使能(下降沿使能)
7
DB0
低4位三态、双向数据总线
表2LCD1601液晶模块的引脚
8
DB1
9
DB2
10
DB3
11
DB4
高4位三态、双向数据总线
另外DB7也是一个Busyflag
12
DB5
13
DB6
14
DB7
寄存器选择,如表所示:
表3寄存器选择控制线操作
RS
R/W
操作说明
0
0
写入指令寄存器(清除屏幕…等)
0
1
读Busyflag(DB7),以及读取位址计数器(DB0~DB6)值
1
0
写入数据寄存器(显示各字型等)
1
1
从数据寄存器读取数据
Busyflag(DB7):
在此位未被清除为“0”时,LCD将无法再处理其他指令要求。
(1)显示地址:
内部地址计数器的计数地址:
SB7=0(DB0~DB6)第一行00、01、02……等,第二行40、41、42……等,可配合检测DB7=1(RS=0,R/W=1)读取目前显示字的地址,判断是否需要换行。
表4LCD160116×1显示字的地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
00
01
02
03
04
05
06
07
40
41
42
43
44
45
46
47
(2)外部地址:
DB7=1,亦即80H+内部计数地址,可以用此方式将字显示在某一位置。
LCD各地址列举如下表:
表5LCD160116×1显示字的外部地址
16×116字1行1601
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
80
81
82
83
84
85
86
87
C0
C1
C2
C3
C4
C5
C6
C7
表6LCD1601的指令组
指令
说明
设置码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清除显示幕
0
0
0
0
0
0
0
0
0
*
光标回到原点
0
0
0
0
0
0
0
0
1
*
进入模式设定
0
0
0
0
0
0
0
1
I/D
S
显示幕ON/OFF
0
0
0
0
0
0
1
D
C
B
移位
0
0
0
0
0
1
S/C
R/L
*
*
功能设定
0
0
0
0
1
DL
N
F
*
*
字发生器地址设定
0
0
0
1
AGC
设置显示地址
0
0
0
1
ADD
忙碌标志位BF
0
0
1
BF
显示数据
1
0
写入数据
读取数据
1
1
读取数据
I/DI/D=1表示加1,I/D=0表示减1
SS=1表示显示幕ONS=0表示OFF
DD=1表示显示屏幕OND=0表示显示屏幕OFF
CC=1表示光标ONC=0表示光标OFF
BB=1表示闪烁ONB=0表示显示闪烁OFF
S/CS/C=1表示显示屏幕移位S/C=0光标移位
R/LR/L=1表示右移R/L=0表示左移
DLDL=1表示8位DL=0表示4位
FF=1表示5×10点矩阵F=0表示5×7点矩阵
NN=1表示2行显示行N=0表示1行显示行
BFBF=1:
内部正在动作BF=0:
可接收指令或数据码
图2.4为液晶显示部分与89S52的接口
图2.4
如图2.4所示:
用89S52的P2口作为数据线,用P0.1、P0.2、P0.3分别作为LCD的E、R/W、RS。
其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:
显示模块初始化:
首先清屏,再设置接口数据位为8位,显示行数为1行,字型为5×7点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。
向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。
2.4温度采集电路
传统测温方法是热电阻或热电偶输出模拟信号,然后A/D采集转换成数字信号再送给单片机处理。
数字式温度传感器是由温度检测元件、信号处理放大电路和显示电路组成的一个装置。
应该说,热电偶是数字式温度传感器中的一个元件,而数字式温度传感器则是由热电偶及其它必要的元件的元件组成的装置。
2.4.1DS18B20数字式温度传感器简介
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
2.4.2DS18B20的特性
(1)适应电压范围更宽,电压范围:
3.0~5.5V,寄生电源方式下可由数据线供。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.4.3DS18B20引脚说明
图2.5
(1)DQ为数字信号输入/输出端
(2)GND为电源地
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)
(4)NC空引脚
(5)不连接
2.4.4DS18B20内部结构
(1)DS18B20的内部结构如下图所示。
图2.6DS18B20内部结构图
(2)高速暂存存储器
高速暂存存储器由9个字节组成,其分配如下图所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
温度低位
温度高位
TH
TL
配置
保留
保留
保留
8位CRC
LSB
DS18B20存储器映像图
MSB
2.4.5DS18B20温度数据格式
DS1820温度测量原理是通过对门开通期间低温度系数振荡器经历的时针周期个数来测量温度的在Dsl820中,转换温度值是以9为二进制1/2℃IsB(最低有效位)形式表示的,而输出温度则是以l6位符号扩展的二进制补码读数形式提供采用办法是将低8位用补码表示,第9位符号扩展形式扩展至其他7位。
具体温度表示格式见图2.6。
在实际应用中,测量温度往往O℃上,此时可将16位二进制温度输出只取其低8位,即1个字节,这样将使计算工作更为便利。
图2.6DS18B20温度/数据格式
2.4.6DS18B20硬件电路连接
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。
图2.7DS18B20硬件电路
本系统为多点温度测试。
DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但在应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。
另外单总线长度也不宜超过80M,否则也会影响到数据的传输。
在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。
在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。
2.4.7DS18B20设计应注意问题
(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。
编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。
尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。
(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20序列号和自动排序,以减少调试和维护工作量。
(3)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
DS18B20在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。
若VCC脱开未接,传感器只送85.0℃的温度值。
(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。
另外还应根据实际情况选择其接线拓扑结构。
2.5无线发射接收电路
这部分电路是整个电路的核心部分,主要由发射电路,接收电路组成。
采用TX一2/RX一2系配套专用遥控集成芯片作为编解码芯片。
它能组成具有五路红外遥控或无线电遥控等功能的独立控制电路,可对遥控玩具汽车进行遥控。
小车驱动结构采用H桥电路驱动电机控制方式。
TX-5B/RX-5是专用的CMOS专用集成电路,有五根数据线。
特点:
有较宽的工作电压范围,较低的待机电流,外围元件少,内置3.6