恒温控制系统程序清单Word格式文档下载.docx
- 文档编号:19915833
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:26
- 大小:25.11KB
恒温控制系统程序清单Word格式文档下载.docx
《恒温控制系统程序清单Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《恒温控制系统程序清单Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
控制系统是非常有价值的。
硬件系统的设计
1、电路总体原理框图
温度测量及加热系统控制的总体结构如图1所示。
系统主要包括现场温度采集、实
时温度显示、加热控制参数设置、加热电路控制输出、与报警装置和系统核心AT89S52
单片机作为微处理器。
图1:
系统总体原理框图
温度采集电路以数字量形式将现场温度传至单片机。
单片机结合现场温度与用户设
定的目标温度,按照已经编程固化的模糊控制算法计算出实时控制量。
以此控制量控制
固态继电器开通和关断,决定加热电路的工作状态,使水温逐步稳定于用户设定的目标
值。
在水温到达设定的目标温度后,由于自然冷却而使其温度下降时,单片机通过采样
回的温度与设置的目标温度比较,作出相应的控制,开启加热器。
当用户需要比实时温
度低的温度时,此电路可以利用风扇降温。
系统运行过程中的各种状态参量均可由数码
管实时显示。
2、温度采集电路的设计
温度采集电路模块如图2示。
DS18B20内部结构主要由四部分组成:
64位光刻ROM、
温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
其中DQ为数字信号输
入/输出端;
GND为电源地;
VDD为外接供电电源输入端。
2
图2:
温度采集电路
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展
的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进
制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘
于0.0625即可得到实际温度;
如果温度小于0,这5位为1,测到的数值需要取反加1
再乘于0.0625即可得到实际温度。
3、键盘和显示的设计
键盘采用行列式和外部中断相结合的方法,图3中各按键的功能定义如下表1。
其
−S9、YES、NO用四行三列接单片机P0口,REST中设置键与单片机的INT0脚相连,S0−
键为硬件复位键,与R、C构成复位电路。
模块电路如下图3:
表1:
按键功能
按键键名功能
REST复位键使系统复位
RET设置键使系统产生中断,进入设置状态
−S9数字键设置用户需要的温度S0−
YES确认键用户设定目标温度后进行确认
NO清除键用户设定温度错误或误按了YES键后使用
3
图3键盘接口电路
显示采用3位共阳LED动态显示方式,显示内容有温度值的十位、个位及小数点后
一位。
用P2口作为段控码输出,并用74HC244作驱动。
P1.0—P1.2作为位控码输出,
用PNP型三极管做驱动。
模块电路如下图4:
4、加热控制电路的设计
图4显示接口电路
用于在闭环控制系统中对被控对象实施控制,被控对象为电热杯,采用对加在电热
杯两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而达到对水温
控制的目的。
对电炉丝通断的控制采用SSR-40DA固态继电器。
它的使用非常简单,只
要在控制端TTL电平,即可实现对继电器的开关,使用时完全可以用NPN型三极管接
成电压跟随器的形式驱动。
当单片机的P1.3为高点平时,三极管驱动固态继电器工作
接通加热器工作,当单片机的P1.3为低电平时固态继电器关断,加热器不工作。
控制
电路图如下图5:
4
图5加热控制电路
5、报警及指示灯电路的设计
当用户设定的目标温度达到时需用声音的形式提醒用户,此时蜂鸣器为三声断续的
滴答滴答的叫声。
在本系统中我们为用户设计了越限报警,当温度低于用户设置的目标
温度10度或高于10度时蜂鸣器为连续不断的滴答滴答叫声。
当单片机P1.7输出高电
平时,三极管导通,蜂鸣器工作发出报警声。
P1.7为低电平时三极管关断,蜂鸣器不
工作。
D1为电热杯加热指示灯,P1.5低电平有效;
D0为检测到DS18B20的指示,高电平
有效;
D10为降温指示灯,低电平有效。
报警及指示灯电路如下图6示:
图6报警及指示灯电路
5
软件系统的设计
系统的软件由三大模块组成:
主程序模块、功能实现模块和运算控制模块。
1、主程序模块
主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实
际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实
时显示。
把设置键作为外部中断0,以便能对数字按键进行相应处理。
主程序流程图如
下图7:
6
图7主程序流程图
7
2、功能实现模块
以用来执行对固态继电器及电热杯的控制。
功能实现模块主要由中断处理子程序、
温度比较处理子程序、键盘处理子程序、显示子程序、报警子程序等部分组成。
键盘显
示及中断程序流程图如下图8:
3、运算控制模块
图8键盘、显示、中断子程序流程图
该模块由标度转换、模糊控制算法,及其中用到的乘法子程序。
3.1标度转换
16
式中A为二进制的温度值,A0为DS18B20的数字信号线送回来的温度数据。
8
单片机在处理标度转换时是通过把DS18B20的信号线送回的16位数据右移4位得
到二进制的温度值。
其小数部分通过查小数表的形式获取。
程序流程图如下图9:
开始
将28H低4位与29H高4位组合成
一个字节
将合成的字节(整数部分)送29H
单元
将29H单元低4位送A
给DPTR赋常数表格2首地址
将查到的数值(即小数部分)送
30H单元
结束
3.2模糊控制算法子程序
图9标度转换子程序流程图
该系统为一温度控制系统,由于无法确切确定电炉的物理模型,因而无法建立其数
学模型和传递函数。
加热器为一惯性系统,我们采用模糊控制的方法,通过多次温度测
量模糊计算当用户设定目标温度时需提前关断加热器的温度,利用加热器自身的热惯性
使温度上升到其设定温度。
每隔5摄氏度我们进行一次温度测量,并当达到其温度时关
断加热器记录下因加热器的热惯性而上升的温度值。
从而可以建立热惯性的温度差值
表,在程序中利用查表法,查出相应设定温度对应的关断温度。
通过实验数据我们可以
看出,当水温从0℃加热到50℃这段温度区域,其温度惯性曲线可近似成线性的直线,
水温从50℃加热到100℃这段温度惯性曲线可近似成另一条线性的直线段。
通过对设置
的目标温度与温控系统监测温度进行差值处理就可近似的求出单片机的提前关断温度。
程序流程图如图10:
9
4.源程序见附录[2]
图10模糊控制算法子程序流程图
设计总结
我们的温度控制系统是基于AT89S52单片机的设计方案,她能实时显示当前温度,
并能根据用户的要求作出相应的控制。
此系统为闭环系统,工作稳定稳定性高,控制精
度高,利用模糊控制算法使超调量大大降低。
软件采用模块化结构,提高了通用性。
本设
计的目的不仅仅是温度控制本身,主要提供了单片机外围电路及软件包括控制算法设计
的思想,应该说,这种思想比控制系统本身更为重要。
1、设计所达到的性能指标
1.1温控系统的标度误差
我们将标准温度计和温控系统探头放人同一容器中,选定若干不同的温度点,记
录下标准温度计显示的温度和温控系统显示的温度进行比较。
测量数据如下表2所示:
表2标准温度计测量的温度和温控系统显示的温度
标准温度计和温控系统显示的温度(℃)
标准温度计16.947.757.863.072.885.190.9
温控系统16.548.058.362.973.085.590.5
差值比较-0.40.30.50.10.20.4-0.4
标度误差1.5%
10
1.2温控系统的静态误差
通过测量在不同的温度点同标准温度的温度差来确定温控系统的静态误差。
其测量
数据如下表3:
表3标准温度和温控系统显示的温度
标准温度和温控系统显示的温度(℃)
标准温度26.037.046.060.070.083.0
系统显示值25.736.446.159.670.083.3
差值-0.3-0.6-0.1-0.400.3
静态误差0.18℃
1.3温控系统的控制精度
通过设定不同的温度值,使加热器加热,待温度稳定时记录各温度点的温度计数据
和温控系统的显示值。
其记录数据如下表4:
温度计读数和温控系统显示的温度(℃)
设定温度
值20.028.035.045.055.075.087.091.0
系统显示
值20.527.734.445.154.174.986.191.2
差值0.5-0.3-0.60.1-0.9-0.1-0.90.2
控制精度0.45℃
超调量0.83%
2、结果分析论述
我们的系统完全满足设计要求,静态误差方面可以达到0.18℃的误差,在读数正确
方面与标准温度计的读数误差为1.5%,对一般的工业生产完全可以采用我们的设计。
该系统具有较小的超调值,超调值大约为0.83%左右。
虽然超调为不利结果,但另
一方面却减小了系统的调节时间。
从其数据表可以看出该系统为稳定系统。
3、设计方案评价
3.1优点
在硬件方面:
本设计方案采用了单总线型数字式的温度传感器,提高了温度的采集
精度,节约了单片机的口线资源。
方案还使用仅一跟口线就可控制的美国生产的固态继
电器SSR—40DA作加热控制器件,使设计简单化,且可靠性强。
在控制精度方面,本设
计在不能确定执行机构的数学模型的情况下,大胆的假设小心的求证,利用模糊控制的
算法来提高控制精度。
在软件方面:
我们采用模块化编程,思路清晰,使程序简洁、可移植性强。
3.2缺点
本设计方案虽然采用了当前市场最先进的电子器件,使电路设计简单,但设计方案
造价高。
本系统虽然具有较小的超调量,但加大了调节时间。
如果需要更高的控制精度,
则我们的模糊控制将不适应,需修改程序。
11
3.3方案的改进
在不改变加热器容量的情况下,为减小调节时间,可以实行在加热快达到设定温度
时开启风扇来减小热惯性对温度的影响的措施。
在控制精度上可采用先进的数字PID
控制算法,对加热时间进行控制,提高控制精度。
可以改进控制系统使能同PC联机通信,以利用PC的图形处理功能打印显示温度曲
线。
AT89S52串行口为TTL电平,PC串行口为RS232电平,使用一片MAX232作为电
平转换驱动。
参考文献
[1]李广弟单片机基础北京:
北京航空航天大学出版社,2001
[2]王福瑞单片微机测控系统设计大全北京:
北京航空航天大学出版社,1997
[3]赵茂泰智能仪器原理及应用(第2版)北京:
电子工业出版社,2004
[4]赖寿涛微型计算机控制技术北京:
机械工业出版社,2000
[5]沙占友模拟与数字万用表检测及应用技术北京:
电子工业出版社1999
12
附录
附录[1]使用说明书
按键功能说明
数字键:
按SET键后,按相应的数字键(0~9)可对温度进行设置,所设置的温
度将实时显示在LED显示器上;
SET键:
按SET键可对温度的十位、个位以及小数部分进行设置;
YES键:
设置好温度后按YES键,系统将据你所设置的温度(须大于当前实际
温度)对水进行加热;
NO键:
若误按了SET键,或对输入有误,可按NO键进行取消;
RST键:
对系统进行复位。
指示灯及报警器说明
红灯:
加热状态标志;
绿灯:
温度传感器正常工作标志;
蓝灯:
保温状态标志;
报警器:
功能①当水温达到预设值时报警提醒;
功能②当水温达到或超越上、下限时报警提示。
13
附录[2]设计总电路
14
附录[3]程序清单
TEMPER_LEQU29H;
用于保存读出温度的低8位
TEMPER_HEQU28H;
用于保存读出温度的高8位
FLAGEQU38H;
是否检测到DS18B20标志位
DAYUEQU44H;
设温>
实温
XIYUEQU45H;
设温<
DEYUEQU46H;
设温=实温
GAOLEEQU47H;
水温高于最高温度
DILEEQU48H;
水温低于最低温度
A_bitEQU79h;
数码管个位数存放内存位置
B_bitEQU7Ah;
数码管十位数存放内存位置
C_BITEQU78H;
数码管小数存放内存位置
ORG0000H
AJMPSTART
ORG0003H
AJMPPITO
ORG0030H
START:
CLRP1.7
CLRP1.3
CLRP1.5
SETBP1.6
MOVR4,#00H
MOVSP,#60H;
确立堆栈区
MOVPSW,#00H;
MOVR0,#20H;
RAM区首地址
MOVR7,#60H;
RAM区单元个数
ML:
MOV@R0,#00H
INCR0
DJNZR7,ML
CLRIT0
MAIN:
LCALLGET_TEMPER;
调用读温度子程序进行温度显示,这里我们考
;
虑用网站提供的两位数码管来显示温度
显示范围00到99度,显示精度为1度
因为12位转化时每一位的精度为0.0625度,
我们不要求显示小数所以可以抛弃29H的低4
位将28H中的低4位移入29H中的高4位,这
样获得一个新字节,这个字节就是实际测量获
得的温度
LCALLDISPLAY;
调用数码管显示子程序
JNB00H,MAIN
CLR00H
15
MOVA,38H
CJNEA,#00H,SS
AJMPMAIN
SS:
LCALLGET_TEMPER
LCALLDISPLAY;
调用数码管显示子程序
LCALLBIJIAO
LCALLXIAOYU
LCALLJIXIAN
JNBDEYU,LOOP
CLRP1.3;
关加热器
SETBP1.6;
关蓝灯
SETBP0.7;
关风扇
CLRDEYU
LCALLGET_TEMPER
LCALLDISPLAY
AJMPTT2
LOOP:
JNBDAYU,TT
CLRDAYU
SETBP1.3
SETBP0.7
CLRP1.7
TT:
JNBXIYU,TT2
CLRXIYU
CLRP0.7
CLRP1.6
TT2:
MOVA,29H
CLRC
CJNEA,50H,JX
MOVA,30H
CJNEA,51H,JIA1
AJMPYS2
JIA1:
JCJX
MOVA,51H
MOV52H,A
ADDA,#2
MOVA,30H
CJNEA,52H,JIA2
JIA2:
JNCJX
YS2:
SETBP1.7
MOVR5,#20H
YS:
DJNZR5,YS
YS1:
DJNZR5,YS1
YS3:
YS0:
DJNZR5,YS0
YS01:
DJNZR5,YS01
YS4:
YS02:
DJNZR5,YS02
YS03:
DJNZR5,YS03
JX:
MOVA,29H
CJNEA,31H,JX00
JX01:
17
AJMPLAST
JX00:
JCJX01
CJNEA,
JX02:
JX03:
JNCJX02
32H,
JX03
CLRP1.7
LAST:
AJMPSS
***************************常数表格区**********************************************
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;
0-8
DB90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH;
9,A,B,C,D,E,F,灭,p.
TAB1:
DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H,;
0.--9.
TAB2:
DB0,0,1,2,3,3,4,4,5,5,6,7,8,8,9,9,;
小数点
*************************1ms延时程序************************************
*****************************中断服务程序**********************************
完成按键识别,键值求取,按键实时显示等功能;
***************************************************************************
PITO:
PUSHACC
PUSHPSW
SETBRS0
CLRRS1
SETB00H
MAIN1:
MOVR7,#03H;
显示位数为2位
MOVR0,#7AH
MOV78H,#00H
MOV79H,#00H
MOV7AH,#00H
KK:
LCALLDIR
LCALLKEY1
LOOP1:
CJNEA,#11,LOOP2
AJMPLAST0
LOOP2:
CJNEA,#12,LOOP3
LJMPLAST3
LOOP3:
CJNEA,#10,L4
MOVA,#00H
L4:
MOV@R0,A
LCALLDIR
DECR0
DJNZR7,KK
18
SETB01H
LAST0:
JNB01H,KK
LOOP4:
CJNEA,#12,LOOP5
AJMPLAST3
LOOP5:
CJNEA,#11,LOOP4
LA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 恒温 控制系统 程序 清单