基于DS18B20的温度检测系统研究毕业设计论文Word下载.docx
《基于DS18B20的温度检测系统研究毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的温度检测系统研究毕业设计论文Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
2.1方案选择2
2.2整体电路设计3
3电路模块设计3
3.1电源电路模块3
3.2STC89C52控制芯片3
3.3DS18B20温度控制芯片6
3.4复位电路模块8
3.5显示电路模块8
3.6报警电路模块9
3.7按键电路模块10
4闭环控制10
4.1被控对象的传递函数测定10
4.2控制算法11
4.3数字控制器的确定………………………………………..........................12
5系统调试13
6结论13
参考文献14
(机电工程学院指导教师:
XXX)
摘要:
DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。
该系统由上位机和下位机两大部分组成。
下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。
上位机部分使用了通用PC。
该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。
关键词:
DS18B20;
温度检测;
多路检测系统
ResearchofTemperatureTestingSystemBasedonDS18B20
XXXXXX
(CollegeofMechanicalandElectricalEngineering,Advisor:
XXXXXX)
Abstract:
InthispaperweadoptadigitaltemperaturesensorDS18B20fortheneedoftemperaturedetectionandcontrolinvariousareas.Detectionsystemconstitutedbytraditionalanalogtemperaturesensorcannotmeetthedetectionandcontrolfortemperatureinmodernindustrialwiththecomplexityofitshardwarecircuitstructure,thelossofcircuitsignal,theinterferenceofvariousfactorsandthemeasurementprecisionofrestrictions.ThispaperresearchesthetemperaturedetectionsystembasedonDS18B20,thenusetheAT89C51microcontrollerandthedigitaltemperaturesensorsDS18B20composeofmulti-channeldetectionsystemwithstronganti-interferenceabilityandrelativelysimplestructure,Whichcanbeusedtodetectenvironmentaltemperature,andextendedtoserialinterfacecommunicationwiththePCbydatetoconductremotemonitoringconveniently.Theresultsshowthatthesystemissuitableforgreenhousestemperaturemonitoring,granarytemperaturescreening,airconditioningsystemtemperaturedetectionandtemperaturecontrol,etc.
Keywords:
DS18B20;
temperaturetesting;
multi-channeltestsystem
1前言
温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。
传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作[1]。
控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。
而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
更能串接多个数字温度传感器DS18B20进行范围的温度检测。
2温度控制系统设计
2.1方案选择
实现温度控制的方法主要有以下几种。
方案一:
采用纯硬件的闭环控制系统。
该系统的优点在于速度较快,但可靠性比较差控制精度比较低、灵活性小、线路复杂、调试、安装都不方便。
且要实现题目所有的要求难度较大。
方案二:
FPGA/CPLD或采用带有IP内核的FPGA/CPLD方式。
即用FPGA/CPLD完成采集,存储,显示及A/D等功能,由IP核实现人机交互及信号测量分析等功能。
这种方案的优点在于系统结构紧凑,可以实现复杂的测量与与控制,操作方便;
缺点是调试过程复杂,成本较高。
方案三:
单片机与高精度温度传感器结合的方式。
即用单片机完成人机界面,系统控制,信号分析处理,由前端温度传感器完成信号的采集与转换。
这种方案克服了方案一、二的缺点,所以这个设计任务是基于STC89C52单片机和温度传感器实现对温度的控制。
系统框图如图1:
图1系统框图
2.2整体电路设计
温度传感器DS18B20从设备环境的不同位置采集温度,单片机STC89C52获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度值,通过加热和冷却对当前温度进行调整。
采集到的温度数据传输到单片机,由单片机处理后的数据送显示部分显示,当采集的温度经处理后低于设定温度的下限或高于设定温度的上限时,单片机控制报警电路发出报警声,同时相应的发光二极管发光显示。
3电路模块设计
3.1电源电路模块
控制系统主控制部分电源需要用5V直流电源供电,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。
其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压[2]。
由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。
降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。
由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。
需通过低通滤波电路滤波,使输出电压平滑。
稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压[3]。
这个电路使用集成稳压芯片7805解决了电源稳压问题。
电源电路如图2所示。
图2电源电路
3.2STC89C52控制芯片
STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
STC89C52单片机在电子行业中有着广泛的应用[4]。
STC89C52芯片具有以下主要功能特性:
1、兼容MCS51指令系统;
2、8k可反复擦写(大于1000次)FlashROM;
3、32个双向I/O口;
4、256x8bit内部RAM;
5、3个16位可编程定时/计数器中断;
6、时钟频率0-24MHz;
7、2个串行中断,可编程UART串行通道;
8、2个外部中断源,共8个中断源;
9、2个读写中断口线,3级加密位;
10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。
STC89C52单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
引脚图如图3所示:
图3STC89C52引脚图
具体介绍如下:
1、电源引脚Vcc和Vss
Vcc(40脚):
接+5V电源正端;
Vss(20脚):
接+5V电源负端。
2、外接晶振引脚XTAL1和XTAL2
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;
对于CHOMS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。
对于CHMOS芯片,该引脚悬空不接。
3、控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。
RST/VPD(9脚):
RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
ALE/PROG(30脚):
当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的地址信号。
PSEN(29脚):
片外程序存储器读选通输出端,低电平有效。
当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。
当访问外部数据存储器期间,PESN信号将不出现。
EA/Vpp(31脚):
EA为访问外部程序储器控制信号,低电平有效。
当EA端保持高电平时,单片机访问片内程序存储器4KB(MS—52子系列为8KB)。
若超出该范围时,自动转去执行外部程序存储器的程序。
当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。
对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。
4、输入/输出(I/O)引脚P0口、P1口、P2口及P3口
P0口(39脚~22脚):
这8条引脚有两种不同功能,分别适用于两种不同情况。
第一种情况是89S51不带片外存储器,P0口可以作为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据。
第二种情况是89S51带片外存储器,P0.0-P0.7在CPU访问片外存储器时用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。
P1口(1脚~8脚):
这8条引脚和P0口的8条引脚类似,P1.7为最高位,P1.0为最低位。
当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。
P2口(21脚~28脚):
这组引脚的第一功能和上述两组引脚的第一功能相同,既它可以作为通用I/O口使用。
它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址。
P3口(10脚~17脚):
P3.0~P3.7统称为P3口。
它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能[5~6]。
P3口的第2功能见表1。
表1单片机P3口管脚第2功能
引脚
第2功能
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD(串行口输入端)
TXD(串行口输出端)
INT0(外部中断0请求输入端,低电平有效)
INT1(外部中断1请求输入端,低电平有效)
T0(时器/计数器0计数脉冲端)
T1(时器/计数器1计数脉冲端)
WR(外部数据存储器写选通信号输出端,低电平有效)
RD(外部数据存储器读选通信号输出端,低电平有效)
3.3DS18B20温度控制芯片
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;
温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;
其工作电源既可在远端引入,也可采用寄生电源方式产生;
多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统[7]。
其封装图如图4所示。
图4DS18B20引脚图
DS18B20的性能特点:
1、独特的单线接口仅需要一个端口引脚进行通信;
2、多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
3、无须外部器件;
4、可用数据线供电,电压范围:
3.0~5.5V;
5、测温范围:
-55℃~+125℃,在-10℃~+85℃时精度为±
0.5℃;
可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃;
f、12位分辨率时最多在750ms内把温度值转换为数字;
g、用户可定义的非易失性温度报警设置;
h、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
i、负压特性:
电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
j、温度转换时间由DS1820的2s降为750ms,且灵敏度大为提高,在逐渐升温的水中与精度为±
0.5℃的温度计几乎同步,且回复性很好;
k、每个芯片唯一编码,支持联网寻址,零功耗等待[7]。
在硬件上,DS18B20与单片机的连接有两种方法,一种是用寄生电源供电,此时VCC、GND接地,I/O接单片机I/O如图5所示;
另一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连如图6所示。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
图5寄生电源方式图图6外接电源方式
在这次的设计中,采用第二种方法,这样简化硬件电路设计,降低了整个系统的复杂度。
DS18B20测温原理是当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃形式表示。
温度值格式如图7所示。
图7温度值格式
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;
当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制。
表2是一部分温度值对应的二进制温度数据。
表2部分温度值对应的二进制数据
温度
二进制表示
十六进制表示
+125℃
0000011111010000
07D0H
+85℃
0000010101010000
0550H
+25.0625℃
0000000110010001
0191H
+10.125℃
0000000010100010
00A2H
+0.5℃
0000000000001000
0008H
0℃
0000000000000000
0000H
-0.5℃
1111111111111000
FFF8H
-10.125℃
1111111101011110
FF5EH
-25.0625℃
1111111001101111
FE6FH
-55℃
1111110010010000
FC90H
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>
TH或TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。
因此,可以用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机根据ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20有六条控制命令,如表3所示:
表3DS18B20控制命令
指
令
约定代码
操
作
说
明
温度转换
读暂存器
写暂存器
复制暂存器
重新调E2RAM
读电源供电方式
44H
BEH
4EH
48H
B8H
B4H
启动DS18B20进行温度转换
读暂存器9个字节内容
将数据写入暂存器的TH、TL字节
把暂存器的TH、TL字节写到E2RAM中
把E2RAM中的TH、TL字节写到暂存器TH、TL字节
启动DS18B20发送电源供电方式的信号给主CPU
CPU对DS18B20的访问流程是:
先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。
DS18B20每一步操作都要遵循严格的工作时序和通信协议。
如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
3.4复位电路模块
复位电路有上电自动复位和按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。
其中,按键电平复位是通过使复位端经电阻与VCC电源接通而实现的,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。
这个系统的复位电路采用上电复位方式。
电路图如图8所示:
图8复位电路
3.5显示电路模块
这次电路主要使用八段数码管和移位寄存器芯片74HC164。
单片机通过数据总线将要显示的数据信号传送到移位寄存器芯片74HC164,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。
由于单片机的时钟频率达到12M,移位寄存器的移位速度相当快,所以根本看不到数据是一位一位传输的。
从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。
74HC164、74HCT164是高速硅门CMOS器件,与低功耗肖特基型TTL(LSTTL)器件的引脚兼容。
74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA或DSB)之一串行输入;
任一输入端可以用作高电平使能端,控制另一输入端的数据输入。
两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
图9是74HC164引脚图。
图974HC164引脚图
显示部分采用LED静态显示方式,共阳极的数码管的公共端COM连接在一起接地,每位的段选线与74HC164的8位并口相连,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符,考虑到节约单片机的I/O资源,因而采用串行接口方式,外接8位移位寄存器74HC164构成显示电路,显示电路如图10所示。
图10显示电路
3.6报警电路模块
报警电路用于在温度超出设定值范围时提供声音报警,它由单片机的P1.7引脚控制。
并且通过发光二极管实现对系统运行状态的显示。
报警电路如图10所示。
图10报警电路图11按键电路
3.7按键电路模块
利用单片机的IO口实现按键的中断输入。
另外需要一个与门实现与中断端口的连接[8]。
按键电路如图11所示。
4闭环控制
PID调节器在工业控制领域得到了很大的发展和广泛的应用。
它的结构简单,参数易于调整,而且人们在长期的应用中积累了丰富的经验,再加上计算机控制技术的结合,使得PID具有很大的灵活性和适用性。
考虑各种因素,在这次的设计中采用了PID调节器进行控制。
实验中温度闭环控制系统设定四个温度值,分别为50、60、70、80。
用户可以根据需要进行温度的设定,在与18b20实际测得温度进行比较,得到的偏差(此时的偏差是实际温度,即输出值,与给定温度的差值)作为数字控制器的输入,数字控制器的输出经过数模转换后作用于被控对象(加热杯)进行偏差调整。
其闭环控制系统框图如图12所示:
图12闭环控制系统的结构框图
4.1被控对象的传递函数测定
采用阶跃响应曲线法对其进行传递函数GP(s)的测定。
4.2控制算法
适用PID控制器。
计算机控制系统是一种采样控制系统,其只能根据采样时刻的偏差值计算控制量。
因此,利用外接矩形法进行数值积分,一阶后向差分进行数值微分,当选定的采样周期为T时,有
…………………