基于DS18B20的温度控制系统方案设计书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1、前言2
2、温度控制系统设计3
2.1方案选择3
2.2整体电路设计3
3、电路模块设计4
3.1电源电路模块4
3.2 STC89C52控制芯片4
3.3 DS18B20温度控制芯片7
3.3.1 DS18B20简介7
3.3.2 DS18B20的性能特点7
3.3.3 DS18B20供电方式8
3.3.4 DS18B20测温原理8
3.4复位电路模块9
3.5显示电路模块10
3.5.1移位寄存器74HC16410
3.5.2数码管显示电路11
3.6报警电路模块12
3.7按键电路模块12
4、软件设计13
4.1控制流程图13
4.2 DS18B20工作过程及时序13
4.2.1初始化时序13
4.2.2写时序14
4.2.3读时序15
5、闭环控制17
5.1 被控对象的传递函数测定17
5.2控制算法17
6、系统调试20
7、结论21
参考文献23
附录24
1、前言
温度控制系统广泛应用于社会生活的各个领域 ,如家电、汽车、材料、电力电子等 ,常用的控制电路根据应用场合和所要求的性能指标有所不同 , 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。
传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。
控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。
而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
更能串接多个数字温度传感器DS18B20进行范围的温度检测。
2、温度控制系统设计
2.1方案选择
实现温度控制的方法主要有以下几种。
方案一:采用纯硬件的闭环控制系统。
该系统的优点在于速度较快,但可靠性比较差控制精度比较低、灵活性小、线路复杂、调试、安装都不方便。
且要实现题目所有的要求难度较大。
方案二:FPGA/CPLD 或采用带有IP 内核的FPGA/CPLD 方式。
即用FPGA/CPLD 完成采集,存储,显示及A/D 等功能,由IP 核实现人机交互及信号测量分析等功能。
这种方案的优点在于系统结构紧凑,可以实现复杂的测量与与控制,操作方便;缺点是调试过程复杂,成本较高。
方案三:单片机与高精度温度传感器结合的方式。
即用单片机完成人机界面,系统控制,信号分析处理,由前端温度传感器完成信号的采集与转换。
这种方案克服了方案一、二的缺点,所以本设计任务是基于STC89C52单片机和温度传感器实现对温度的控制。
系统框图如下:
图2-1 系统框图
2.2整体电路设计
温度传感器 DS18B20从设备环境的不同位置采集温度,单片机 STC89C52 获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度值,通过加热和冷却对当前温度进行调整。
采集到的温度数据传输到单片机,由单片机处理后的数据送显示部分显示,当采集的温度经处理后低于设定温度的下限或高于设定温度的上限时,单片机控制报警电路发出报警声,同时相应的发光二极管发光显示。
本次设计的整体电路图见附录。
3、电路模块设计
3.1电源电路模块
控制系统主控制部分电源需要用5V直流电源供电,其电路如图6-1所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。
其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。
由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。
降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。
由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。
需通过低通滤波电路滤波,使输出电压平滑。
稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。
本电路使用集成稳压芯片7805解决了电源稳压问题。
电源电路如图所示。
图3-1 电源电路
3.2 STC89C52控制芯片
STC89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
STC89C52单片机在电子行业中有着广泛的应用。
STC89C52芯片具有以下主要功能特性:
1、兼容MCS51指令系统;
2、8k可反复擦写(大于1000次)Flash ROM;
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-2所示:
图3-2 STC89C52引脚图
具体介绍如下:
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功能。
P3口的第2功能见表3-1。
表3-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.3 DS18B20温度控制芯片
3.3.1 DS18B20简介
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO -92小体积封装形式;温度测量范围为-55 ℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
其封装图如图3-3所示。
图3-3 DS18B20引脚图
3.3.2 DS18B20的性能特点
a、独特的单线接口仅需要一个端口引脚进行通信;
b、多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
c、无须外部器件;
d、可用数据线供电,电压范围:3.0~5.5V;
e、测温范围:-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、每个芯片唯一编码,支持联网寻址,零功耗等待。
3.3.3 DS18B20供电方式
在硬件上,DS18B20与单片机的连接有两种方法,一种是用寄生电源供电,此时VCC、GND接地,I/O接单片机I/O如图3-4所示;另一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连如图3-5所示。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
图3-4寄生电源方式图3-5外接电源方式
本设计中,采用第二种方法,这样简化硬件电路设计,降低了整个系统的复杂度。
3.3.4 DS18B20测温原理
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625 ℃形式表示。
温度值格式如图4-6所示。
图3-6 温度值格式
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制。
表3-2是一部分温度值对应的二进制温度数据。
表3-2 部分温度值对应的二进制数据
内容作比较。
若T>TH或TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。
因此,可以用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机根据ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20有六条控制命令,如表3-3所示:
表3-3 DS18B20控制命令
指令约定代
码
操作说明
温度转换
读暂存器
写暂存器
复制暂存器
重新调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微分电路产生的正脉冲来实现的。
本系统的复位电路采用上电复位方式。
电路图如图所示:
图4-7 复位电路
3.5显示电路模块
本电路主要使用八段数码管和移位寄存器芯片74HC164。
单片机通过数据总线将要显示的数据信号传送到移位寄存器芯片74HC164,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。
由于单片机的时钟频率达到12M,移位寄存器的移位速度相当快,所以我们根本看不到数据是一位一位传输的。
从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。
3.5.1移位寄存器74HC164
74HC164、74HCT164 是高速硅门 CMOS 器件,与低功耗肖特基型
TTL (LSTTL) 器件的引脚兼容。
74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA 或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。
两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
图3-8 74HC164引脚图
3.5.2数码管显示电路
显示部分采用LED静态显示方式,共阳极的数码管的公共端COM连接在一起接地,每位的段选线与74HC164的8位并口相连,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符,考虑到节约单片机的I/O资源,因而采用串行接口方式,外接8位移位寄存器74HC164构成显示电路,显示电路如图所示。
图3-9 显示电路
3.6报警电路模块
报警电路用于在温度超出设定值范围时提供声音报警,它由单片机的P1.7引脚控制。
并且通过发光二极管实现对系统运行状态的显示。
报警电路如图所示。
图3-10报警电路
3.7按键电路模块
利用单片机的IO口实现按键的中断输入。
另外需要一个与门实现与中断端口的连接。
按键电路如图所示。
图3-11 按键电路
4、软件设计
系统软件设计主要包括系统程序和控制流程图,根据整个系统要求的温度测量与控制写出系统的控制流程图,然后进行编程。
具体程序见附录。
4.1控制流程图
图4-1 系统流程图
4.2 DS18B20工作过程及时序
DS18B20工作过程中的协议如下:
(1)初始化——(2)ROM操作命令——(3)存储器操作命令——(4)处理数据
4.2.1初始化时序
时序如图4-2所示。
主机总线发送483μS复位脉冲,接着再释放总线(置总线为高电平)并进入接收状态。
DS18B20在检测到总线的上升沿后等待60μS 发出器件存在脉冲(低电平持续60—240μS)。
初始化程序如下所示:
INIT_1820:
MOV R1,#2H 。
两次查询复位18b20存在
TSR0: CLR P2.0
MOV R0,#161 。
主机发出延时483微秒的复位低脉冲
TSR1: NOP
DJNZ R0,TSR1
SETB P2.0 。
然后拉高数据线
MOV R0,#20 。
延时60us
TSR2: NOP
DJNZ R0,TSR2
MOV R0,#20H
TSR3: JNB P2.0,TSR4 。
等待DS18B20回应
DJNZ R0,TSR3
LJMP TSR5 。
延时
TSR4: SETB FLAG1 。
置标志位,表示DS1820存在
SETB P1.5 。
清除DS1820不存在显示信号
SETB P1.6
SETB P1.7
LJMP TSR6
TSR5: DJNZ R1,TSR0
CLR FLAG1 。
清标志位,表示DS1820不存在
CLR P1.6 。
DS1820不存在警告信号
CLR P1.7
CLR P1.5 。
如果18b20不存在处理跳转
LJMP TSR8
TSR6: MOV R0,#117
TSR7: DJNZ R0,TSR7 。
时序要求延时一段时间
TSR8: SETB P2.0
RET
图4-2 初始化时序图
此初始化程序功能为:检测DS18B20是否存在,如存在,将位地址38H置1;如不存在,将位地址38H清零。
4.2.2写时序
单片机写DS18B20的时序如图4-3所示,当主机总线从高拉至低电平时就产生写时间隙,DS18B20在检测到下降沿后15μS时开始采样总线上的电平,所以15μS之内应将所需写的位送到总线上,DS18B20在60μS以内对总线采样,每写一位总时间必须在60—120μS之间完成。
若低电平写入的位是0,高电平写入的位是1,连续写时位间的间隙应大于1μS。
程序如下所示:WRITER_1820:
MOV R2,#8 。
一共8位数据
CLR C
WR1:CLR P2.0
MOV R3,#5 。
要求15us内写数
DJNZ R3,$
RRC A
MOV P2.0,C
MOV R3,#21 。
时序要求,所有写时序至少维持60us
DJNZ R3,$ 。
执行该条指令用时间2us
SETB P2.0
NOP
DJNZ R2,WR1
SETB P2.0
RET
图4-3 单片机写DS18B20时序图
4.2.3读时序
单片机读DS18B20的时序如图5-4所示,单片机主动产生一个下降沿的启动信号,并维持低电平大于1μS后释放总线,15μS后DS18B20占主动权,DS18B20会将数据按位放在总线上(低位在先,当读取两个字节的温度值时,低字节在先),这时单片机可读取信号,读取一位的时间应在60μS内完成。
当需要读取下一位时再产生下降沿启动信号。
片机读DS18B20的时序图
READ_1820:
MOV R4,#2 。
将温度高位和低位从DS18B20中读出
MOV R1,#TEMPER_L 。
低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)
RE00: MOV R2,#8 。
数据一共有8位
RE01: CLR C
SETB P2.0
NOP
NOP
CLR P2.0
NOP
NOP
NOP
SETB P2.0
MOV R3,#4
RE10: DJNZ R3,RE10
MOV C,P2.0
RRC A
MOV R3,#20
RE20: DJNZ R3,RE20
DJNZ R2,RE01
MOV @R1,A
DEC R1
DJNZ R4,RE00
RET
此程序功能为:读取DS18B20 A/D转换后的温度值,转换后的二进制存入29H、28H单元。
5、闭环控制
PID 调节器在工业控制领域得到了很大的发展和广泛的应用。
它的结构简单,参数易于调整,而且人们在长期的应用中积累了丰富的经验,再加上计算机控制技术的结合,使得PID 具有很大的灵活性和适用性。
考虑各种因素,本设计中采用了PID 调节器进行控制。
此温度闭环控制系统设定四个温度值,分别为50、60、70、80。
用户可以根据需要进行温度的设定,在与18b20实际测得温度进行比较,得到的偏差(此时的偏差是实际温度,即输出值,与给定温度的差值)作为数字控制器的输入,数字控制器的输出经过数模转换后作用于被控对象(加热杯)进行偏差调整。
其闭环控制系统框图如下所示:
图5-1 闭环控制系统的结构框图
5.1 被控对象的传递函数测定
采用阶跃响应曲线法对其进行传递函数G P (s)的测定。
5.2控制算法
适用PID 控制器。
计算机控制系统是一种采样控制系统,其只能根据采样时刻的偏差值计算控制量。
因此,利用外接矩形法进行数值积分,一阶后向差分进行数值微分,当选定的采样周期为T 时,有
⎥⎥⎦⎤⎢⎢⎣⎡--+∑=+
=)1(1e i e i T T i j e T T e i K P u t D
j I
如果采样周期足够小,这种离散逼近相当准确。
但周期小对于硬件的要求也将提高很多,故需要对以上算式进行改进。
由上式可导出下面的式子:
()⎥
⎦⎤
⎢⎣⎡-+--++--=--=∆e i e i e i T T e i T T e i e i K p u i u i u i D I 21211
此式称为增量型PID 控制式。
增量型控制算式具有如下优点:
1.计算机只输出控制增量,即执行机构位置的变化部分,因而误动作影响较小
2.在i 时刻的输出u i ,只需要用到此刻的偏差以及前一时刻、前两时刻的偏差e i
e
i 1
-和前一次的输出值,这大大节约了内存和计算时间。
3.在进行手动-自动切换时,控制量冲击小,能平滑地过渡。
增量型PID 算式经过移项可以写成如下式所示:
按照上式表示的递推PID 算式,计算出每输出一次u i ,要做四次加法、两次减法、四次乘法和两次除法。
若将该式稍加合并整理写成如下形式:
e i T T
K e i T T K P e i T T T T K u i u i D P D D I P 212111-+-⎪⎭⎫ ⎝⎛+-⎪⎭
⎫ ⎝⎛+
++-=e a e a e a u i i i i 2
21101---+-+=
其中
⎪⎭⎫ ⎝⎛
++=T T T T K a D I P 10
⎪⎭⎫
⎝⎛+=T T K a D P 211 T T K a D
P
=2
可以离线算出,即可加快算法程序的运算速度。
按上式编制的数字控制器的程序框图如下图所示。
图5-2 递推型PID 控制器程序框图
5.3 数字控制器的确定
为了保持系统的稳定性,减少频谱混叠现象,保持稳态增益不变,本设计中采用阶跃响应不变法对数字控制器D(z)进行确定。
阶跃响应不变法的基本思想是:离散近似后的数字控制器的阶跃响应序列与模拟控制器的阶跃响应的采样值一致。
设连续系统的控制器为G C(s),输入信号为单位阶跃函数。
构造新的控制器如下所示(在G C(s)前增加一个零阶保持器):
取z变换,的相应的数字控制器为:
则对于单位阶跃输入的响应序列为:
此式表明,数字控制器D(z)的阶跃响应与模拟控制器的阶跃响应的采样值相同,即两个控制器是等效关系,使其满足控制要求。
6、系统调试
系统可以自由设定不同的加热温度,温度设定当环境温度低于设定温度时系统启动加热,当环境温度高于或等于设定温度时,系统停止加热。
经过反复测试,系统温度设定范围为0~99℃(本实验中为了效果更加明显,设定的范围为30~70℃),最小区分度为1℃,温度控制的误差≤1℃;能够测量并用数码管显示当前实际温度值;通过复位键可以使系统设定温度还原默认值,通过温度设定键可以设置预定温度;环境温度低于设定温度时,启动加热,环境温度高于或等于设定温度时,停止加热,达到了实习要求的技术指标。
7、结论
本设计详细介绍了基于单片机STC89C52的温度控制系统的设计方案与软硬件实现。
系统温度设定范围为0~99℃,最小区分度为1℃,温度控制的误差≤1℃;能够测量并用数码管显示当前实际温度值;通过复位键可以使系统设定温度还原默认值,通过按键可以设置预定温度;当检测温度超出设定温度域则启动蜂鸣器报警,若超出低温限,同时绿灯亮,若超出高温限,同时红灯亮。
具体可以实现的功能如下:
1、温度设定范围为0~99℃(本设计中为了使效果更加明显,设置的低温线
为30度,高温限为70度),最小区分度为1℃,温度控制的误差≤1℃;
2、能够用数码管显示当前实际温度值;
3、按键控制:设置复位键、温度设置键;
4、超温报警。
系统包括电源模块、温度控制模块、温度检测模块、复位模块、显示模块、温度报警模块和按键模块七个部分。
文中对每个部分功能、实现过程作了详细介绍。
完成了实习的基本任务,达到了预期的目标。
系统具有如下特点:
⑴.采用温度传感器DS18B20采集温度数据,简化了硬件电路设计,温度采集数据更加精准;
⑵.STC89C52单片机的采用,有利于功能扩展;
⑶.电路设计充分考虑了系统可靠性和安全性。
本系统没有增加外部存储器,设定温度不能保存,断电复位后必须重新设置温度;采用静态显示方式,从而使用了较多的驱动芯片,增加了硬件电路的复杂性;只使用两位显示,即显示温度的十位、个位,没有充分发挥DS18B20的特性。
心得体会
在做课程设计的过程中,通过理论联系实际,不断的学习和总结经验,巩固了所学的知识,提高了处理实际问题的能力。
我的理论和实践水平都有了较大的提高。
在本设计中,我熟练掌握了单片机硬件设计和接口技术,同时对温度传感器的原理及应用有了一定的了解,掌握了各种控制电路及其相关元器件的使用。
这次课程设计过程中也让我认识到了团队合作的重要性。
通过这次课程设计,我不仅学会如何将所学专业知识运用到实际生活中,还学会如何克服未知的困难,解决难题的方法,为将来毕业设计的顺利进行打下了基础。
这次设计过程中也让我认识到了很多不足,在今后的学习过程中我一定努力补缺补漏,多实践,将理论知识更好地应用于实践。
最后感谢各位指导老师的指导。