资源描述
水温控制系统
目录
摘要………………………………………………………………………………………………….2
1. 方案论证…………………………………………………………………………………………3
1.1 题目解析……………………………………………………………………………………..3
1.2 多种方案比较和选择………………………………………………………………………..3
2. 系统硬件设计……………………………………………………………………………………4
2.1 系统总体设计……………………………………………………………………………..4
2.2 单元电路设计………………………………………………………………………………..4
2.21温度采集模块………………………………………………………………………….4
2.22单片机控制模块……………………………………………………………………….5
2.23键盘输入……………………………………………………………………………….5
2.24液晶显示模块………………………………………………………………………….5
2.25控制模块……………………………………………………………………………….6
2.3 发挥部分设计和实现………………………………………………………………………6
2.31报警模块……………………………………………………………………………….7
3. 系统软件设计……………………………………………………………………………………8
3.1程序总体设计………………………………………………………………………………..8
4. 测试结果及其分析………………………………………………………………………………8
附录一………………………………………………………………………………...…………….10
附录二………………………………………………………………………..……………………..10
摘要
此温度自动控制系统能够实现手动设定标准温度和实测温度进行比较以实现自动控制温度调整。该系统利用STC89C52单片机作为主控芯片,采取数字式温度传感器DS18B20测量所需温度,温度精度可达±0.5 ℃。显示部分采取12864液晶显示模块,能够形象显示测得温度和温度改变曲线。此系统包含温度采集模块、键盘输入模块、单片机主控模块、报警模块、液晶显示模块、控制模块、加热器、制冷器。本系统经过串行通信实现温度设定、控制和显示,有体积小、交互性强等优点。为了实现高精度水温控制,本单片机系统采取PID算法控制和PWM脉宽调制相结合技术,经过控制加热棒、半导体制冷片和电源接通、断开,从而改变水温加热或制冷时间方法来实现对水温控制。
关键词:STC89C52 DS18B20 温度自动控制
1. 方案论证
1.1 题目解析
依据命题要求设计制作一个水温自动控制系统,水温能够在10℃—70℃量程范围内实现人工设定,而且在环境温度降低或升高时实现自动控制,。
关键性能指标有:(1)可键盘设定控制温度值,并能用液晶显示,显示最小区分度为0.1℃;(2)能够测量并显示水实际温度。温度测量误差在±0.5 ℃内;(3)水温控制系统应含有全量程(10℃—70℃)内升温、降温功效(降温可用半导体制冷片、升温用800W以内电加热器);(4)在全量程内任意设定一个温度值(比如起始温度±15℃内),控制系统能够实现该给定温度恒值自动控制。控制最大动态误差≤±4℃,静态误差≤±1℃,系统达成稳态时间≤15min(最少两个波动周期)。
1.2 多种方案比较和选择
方案一:温度信息由模拟温度传感器AD590转换成毫伏等级电压信号,经过信号放大电路LM324将弱电压信号放大到单片机能够处理范围内,然后再输入到模数转换器ADC0809中,转换成数字信号输入到单片机中,在单片机中对信号进行处理。将处理结果输入给控制电路,控制加热或制冷,输给液晶显示电路,显示测量温度和温度改变。方案一系统原理框图图一所表示。
模拟温度传感器
AD590
放大模块
LM324
模数转换器
ADC0809
单片机
STC89C52
控制模块
加热器
制冷器
液晶显示
键盘
图一 方案一系统框图
方案二:温度信息由数字温度传感器18B20感知并经过串行通信传输给单片机,单片机点接收到信息处理,和按键输入信息进行比较,进行PID运算,然后将信息输给液晶显示电路,让12864显示出来。输给控制电路,控制加热或制冷器工作,从而完成对水温各项控制工作。方案二系统原理框图图二所表示。
温度采集模块
18B20
键盘输入
单片机
STC89C52
液晶显示模块
12864
控制模块
加热器
制冷器
图二 方法二系统框图
比较两个方案,能够发觉二者最大不一样在于方案一选择模拟温度传感器,而方案二选择数字温度传感器。从对硬件要求来看,方案一不仅需要放大电路还需要模数转换电路,所以方案一对硬件要求比较高。而方案二能够实现传感器和单片机直接通信,中间不需要任何硬件电路,所以方案二对硬件要求较低。从经济角度考虑,模拟温度传感器AD590价格要比数字温度传感器18B20高很多。从系统稳定性方面考虑,模拟温度传感器受周围环境影响较大,18B20抗干扰能力较强。所以综合以上多个方面我们在此次设计中选择方案二。
2. 系统硬件设计
2.1 系统总体设计
根据系统实际功效要求,此次水温控制系统设计,采取单片机软件系统实现,用单片机程序控制配合按键控制来实现温度检测、存放、比较、显示、升降等控制动作。
本系统包含温度采集模块、键盘输入模块、单片机主控模块、报警模块、液晶显示模块、控制模块、加热器、制冷器、散热器。
系统总体框图图三所表示。
报警模块
温度采集模块
18B20
键盘输入
单片机
STC89C52
液晶显示模块
12864
控制模块
加热器
制冷器
继电器
电源
散热器
图三 系统总体框图
因为水温控制系统控制对象含有热存放能力大,惯性也比较大特点。谁在容器中流动或热量传输全部存在一定阻力,所以能够归于含有纯滞后一阶大惯性步骤。通常来说,热过程大多含有较大滞后,它对于任何信号响应全部会推迟一段时间,使输出和输入之间产生相移。对于这么部分存在大滞后特征过分过程控制,本设计采取百分比积分加微分控制(PID控制)。百分比积分加微分控制特点是微分作用是使控制器输出和偏差改变速度成正比,它对克服对象容量滞后有显著效果。加上微分作用使稳定性提升。再加上积分作用,能够消除余差。所以,PID控制适应于负荷改变大、容量滞后大、控制品质要求很高控制系统。
2.2 单元电路设计
2.21 温度采集模块 18B20
STC89C52
18B20是全数字温度转换和输出,含有优异单总线数据通信方法,最高1.2位分辨率,精度可达±0.5摄氏度,体积小,硬件要求低,抗干扰能力强,附加功效强。
为了降低硬件要求,增加系统稳定性,本设计选择18B20,电路图图四所表示。
图四 温度采集模块
2.22 单片机控制模块
采取STC89C52单片机,其内部有8KB单元程序存放器,不需要拓展存放器,而且它I/O足够此次设计使用。
综合考虑单片机各部分资源,此次设计选择STC89C52。其利用STC89C52产生单片机控制模块电路图图五所表示。
图五 单片机控制模块电路图
2.23键盘输入模块
键盘连接采取八个按键直接和I/O连接方法。
2.24液晶显示模块
此次设计选择12864作为显示模块关键器件,利用其强大文字和图形混合显示功效,不仅能够显示目前温度值,还能够显示出一段时间内温度改变曲线,电路图图六所表示。
图六 液晶显示模块
2.25控制模块
本设计控制模块选择继电器控制,当温度采集信息经单片机处理后,输出对应控制命令,经放大器放大后,驱动继电器,进而控制加热器制冷器工作,其电路图七所表示。
图七 控制模块
2.3发挥部分设计和实现
报警模块
当采集温度经处理后超出要求温度上限或低于温度下限时,单片机经过 P2.3输出控制信号到LM386,由LM386驱动扬声器发出警报,具体电路图八所表示。
图八 报警模块电路图
另外,本设计经过程序控制,能够显示水温随时间改变实时曲线。
3.系统软件设计
主程序调用了6个子程序,分别是液晶显示程序、按键处理程序、、继电器控制程序、串口通讯程序、PID控制程序、报警程序。
按键处理程序:实现键盘输入按键识别及进入对应程序。
控制程序:对温度芯片送过来数据进行处理,进行判定和显示。
液晶显示程序:向12864显示送数,控制系统显示部分。
继电器控制程序:控制继电器动作
串口通讯程序:实现传感器和单片机通讯,将温度数据传送给单片机。
程序结构图九所表示。
程序结构
液晶显示程序
按键处理程序
串口通信程序
控制程序
继电器控制程序
报警程序
图九 程序结构图
3.1程序总体设计
程序开始时候先设置初始化,然后就控制12864显示目前温度。接着就判定按键是否被按下。按下进入按键处理程序,此时键盘输入有效。按下“确定”按键后,程序进入判定程序和继电器控制程序。继电器动作后,程序回到显示目前途序,并开始循环。
程序总体结构图图十所表示。
具体程序请参考附录一。
开始
系统初始化
取温度
温度显示
是否按键
按键处理
比较设置温度和目前温度大小
继电器控制
是
否
图十 主程序结构图
4.测试结果及其分析
1、测试环境:环境温度28摄氏度,水温15摄氏度
2、测试仪器:温度计0----100摄氏度(精度0.1),秒表
3、测试方法:使系统运行,温度计同18B20同时测量水温,得出系统测量温度。
4.测试结果及分析
表一
设置温度/℃
20
22.5
25.5
27.5
30.5
33.5
35.5
40.5
实际温度/℃
20.3
22.7
25.6
27.5
30.6
33.6
35.5
40.4
最大偏置温度/℃
显示温度/℃
20.1
22.6
25.5
27.6
30.6
33.5
35.5
40.3
温度测量误差/℃
-0.2
-0.1
-0.1
0.1
0
-0.1
0
-0.1
动态误差/℃
静态误差/℃
0.1
0.1
0
0.1
0.1
0
0
-0.2
由表一能够看出,温度测量误差≤±0.2℃,静态误差≤±0.2℃,作品能够测量并显示水实际温度。温度测量误差在±0.5 ℃内;可键盘设定控制温度值,并能用液晶显示,显示最小区分度为0.1℃。
表二
加热温度/℃
10
15
20
25
30
35
40
45
50
55
60
65
70
时间/s
0
49
90
132
172
215
258
300
343
384
426
469
509
图十一 加热时温度改变曲线
表三
温度/℃
20
25
30
35
40
45
50
时间/s
2394
1533
1031
677
404
187
0
图十二 制冷时温度改变曲线
由图十一、十二能够看出,加热时温度线性增加,制冷时温度越低相同制冷效果所需时间越长。本设计能够实现全量程(10℃—70℃)内升温、降温功效。
附录一 元件清单
元件名称
元件数量
元件名称
元件数量
元件名称
元件数量
R 10
5
C 10μF
10
晶振/12M
1
R 100
5
C 220μF
10
STC89C52
1
R 1k
10
LM386
1
电位器103
5
R 1.2k
10
扬声器
1
12864
1
R 2k
20
18B20
1
220V/12V电源
1
R 10k
10
7805
5
12V电机
1
C 30pF
10
9014
10
1.2L铁盒
1
C 103
10
放光二极管
10
导线(米)
4
C 104
10
1N4007
10
螺丝钉
10
C 0.05μF
10
加热棒
2
机箱
1
C 1μF
10
12V/5A制冷片
4
附录二
总电路原理图
展开阅读全文