计算机温度控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机温度控制系统
专业:电气自动化
姓名:罗丹
学号: 2
指导教师:喻晓红
设计时间:2010.11.18
目录
第1章系统的描述与分析 (3)
1.1 系统的介绍 (3)
1.2 技术指标 (3)
第2章设计方案 (4)
第3章控制算法 (4)
第4章系统软硬件设计 (4)
4.1 总体设计 (4)
4.2 温度检测电路 (7)
4.3 温度控制电路 (8)
4.4 人机对话电路 (9)
4.4.1 键盘管理 (9)
4.4.2 数码显示 (10)
4.4.3 报警 (11)
第5章MATLAB仿真被控对象 (11)
第6章心得体会 (12)
附:原理图 (14)
第1章系统的描述与分析
1.1系统的介绍
该系统的被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为0~5伏时对应电炉温度0~500℃,温度传感器测量值对应也为0~5伏,对象的特性为带有纯滞后环节的一阶惯性系统,这里惯性时间常数取T1=30秒,滞后时间常数取τ=10秒。
该系统利用单片机可以方便地实现对PID参数的选择与设定,实现工业过程中PID控制。它采用温度传感器热电偶将检测到的实际炉温进行A/D转换,再送入计算机中,与设定值进行比较,得出偏差。对此偏差按PID规律进行调整,得出对应的控制量来控制驱动电路,调节电炉的加热功率,从而实现对炉温的控制。利用单片机实现温度智能控制,能自动完成数据采集、处理、转换、并进行PID控制和键盘终端处理(各参数数值的修正)及显示。在设计中应该注意,采样周期不能太短,否则会使调节过程过于频繁,这样,不但执行机构不能反应,而且计算机的利用率也大为降低;采样周期不能太长,否则会使干扰无法及时消除,使调节品质下降。
1.2技术指标
设计一个基于闭环直接数字控制算法的电阻炉温度控制系统具体化技术指标如下:
1.电阻炉温度控制在0~500℃;
2. 加热过程中恒温控制,误差为±2℃;
3. LED实时显示系统温度,用键盘输入温度,精度为1℃;
4. 采用直接数字控制算法,要求误差小,平稳性好;
5. 温度超出预置温度±5℃时发出报警。
第2章设计方案
系统采用89C51作为系统的微处理器来完成对炉温的控制和键盘显示功能。8051片内除了128KB的RAM外,片内又集成了4KB的ROM作为程序存储器,是一个程序不超过4K字节的小系统。系统程序较多时,只需要外扩一个容量较小的程序存储器,占用的I/O口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。因此89C51可以完成设计要求。
第3章控制算法
PID调节是连续系统中技术最成熟的、应用最广泛的一种控制算方法。它结构灵活,不仅可以用常规的PID调节,而且可以根据系统的要求,采用各种PID 的变型,如PI、PD控制及改进的PID控制等。它具有许多特点,如不需要求出数学模型、控制效果好等,特别是在微机控制系统中,对于时间常数比较大的被控制对象来说,数字PID完全可以代替模拟PID调节器,应用更加灵活,使用性更强。所以该系统采用PID控制算法。系统的结构框图如图3-1所示:
图3-1 系统结构框图
第4章系统软硬件设计
4.1总体设计
系统的硬件包括微控制器部分(主机)、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分,系统的结构框图如图4-1所示。
系统程序采用模块化设计方法,程序有主程序、中断服务子程序和各功能模块程序组成,各功能模块可直接调用。
主程序如下:
TEMP1 EQU 50H ;当前检测温度(高位)
TEMP2 EQU TEMQ1+1 ;当前检测温度(低位)
ST1 EQU 52H ;预置温度(高位)
ST2 EQU 53H ;预置温度(低位)
T100 EQU 54H ;温度BCD码显示缓冲区(百位)T10 EQU T100+1 ;温度BCD码显示缓冲区(十位)T EQU T100+2 ;温度BCD码显示缓冲区(个位)BT1 EQU 57H ;温度二进制码显示缓冲区(高位)BT2 EQU BT1+1 ;温度二进制码显示缓冲区(低位)ADIN0 EQU 7FF8H ;ADC 0809通道IN0的端口地址F0 BIT PSW.5 ;报警允许标志
TEMP1 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H ;50H~58H单元初始化(清零)
ORG 0000H
AJMP MAIN ;转主程序
ORG 00BH
AJMP PT0 ;转T0中断服务子程序
ORG 0030H
MAIN:MOV SP,#59H ;设堆栈标志
CLR F0 ;报警标志清零
MOV TMOD,#01H ;定时器0初始化(方式1)
MOV TL0,#0B0H ;定时器100ms定时常数
MOV TH0,#3CH
MOV R7,#150 ;置15s软计数器初值
SETB ET0 ;允许定时器0中断
SETB EA ;开中断
SETB TRO ;启动定时器0
MAIN1:ACALL KIN ;调键盘管理子程序
ACALL DISP ;调用显示子程序
SJMP MAIN1
定时器0中断服务子程序PT0:
PT0:MOV TL0,#0BOH
MOV TH0,#3CH ;重置定时器0初值
DJNZ R7,BACK ;15s到否,不到返回
MOV R7,#150 ;重置软计数器初值
ACALL TIN ;温度检测
MOV BT1,TEMP1 ;当前温度送到显示缓冲区
MOV BT0,TEMP0
ACALL DISP ;显示当前温度
ACALL CONT ;温度控制
ACALL ALARM ;温度越限报警
BACK:RETI