计算机控制技术课程设计基于PID电阻炉温度控制系统.docx
- 文档编号:3153835
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:19
- 大小:258.72KB
计算机控制技术课程设计基于PID电阻炉温度控制系统.docx
《计算机控制技术课程设计基于PID电阻炉温度控制系统.docx》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计基于PID电阻炉温度控制系统.docx(19页珍藏版)》请在冰豆网上搜索。
计算机控制技术课程设计基于PID电阻炉温度控制系统
科技学院
课程设计报告
(2013--2014年度第2学期)
名称:
计算机控制系统A
题目:
院系:
动力工程系
班级:
自动化11K×班
学号:
学生:
指导教师:
设计周数:
1周
成绩:
日期:
2014年7月11日
基于Smith-PID电阻炉温度控制系统
一、课程设计(综合实验)的目的与要求
设计目的
用SMITH-PID控制器控制电阻炉。
避免因为延时过大造成的控制误差过大
设计要求
设计一个基于闭环直接数字控制算法的电阻炉温度控制系统具体化技术指标如下:
1.电阻炉温度控制在0~500℃;
2.加热过程中恒温控制,误差为±2℃;
3.LED实时显示系统温度,用键盘输入温度,精度为1℃;
4.采用Smith-PID数字控制算法,要求误差小,平稳性好;
5.温度超出预置温度±5℃时发出报警。
2方案设计
本系统是一个典型的温度闭环控制系统,需要完成的功能是温度设定、检测与显示以及温度控制、报警等。
温度的设定和显示功能可以通过键盘和显示电路部分完成;温度检测可以通过热电阻、热电偶或集成温度传感器等器件完成;温度超限报警可以利用蜂鸣器等实现;温度控制可以采用可控硅电路实现。
系统采用89C51作为系统的微处理器来完成对炉温的控制和键盘显示功能。
8051片除了128KB的RAM外,片又集成了4KB的ROM作为程序存储器,是一个程序不超过4K字节的小系统。
系统程序较多时,只需要外扩一个容量较小的程序存储器,占用的I/O口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。
因此89C51可以完成设计要求。
系统建模和数字控制器的设计
PID调节是连续系统术最成熟的、应用最广泛的一种控制算方法。
它结构灵活,不仅可以用常规的PID调节,而且可以根据系统的要求,采用各种PID的变型,如PI、PD控制及改进的PID控制等。
它具有许多特点,如不需要求出数学模型、控制效果好等,特别是在微机控制系统中,对于时间常数比较大的被控制对象来说,数字PID完全可以代替模拟PID调节器,应用更加灵活,使用性更强。
所以该系统采用PID控制算法。
系统的结构框图如图3-1所示:
3.2数字控制器的设计
具有一阶惯性纯滞后特性的电阻炉系统,其数学模型可表示为:
采用离散Smith预估控制系统。
该系统框图如下
设包括零阶保持器在的广义被控对象传递函数为
式中:
T为采样周期,并设m=
(取整数)。
纯滞后补偿器的传递函数为
采用由传递函数直接求差分方程式的方法进行计算,其步骤如下。
(1)计算外反馈回路偏差e1(n),即
式中:
y(n)为被控量第n次采样时的数值;R(n)为给定值,在定值控制系统中为常数。
(2)计算纯滞后补偿器的输出y1(n),即
化为微分方程式,则可写成:
用差分代替微分,则有
在计算第n次采样的z(n)值时,p(n)尚未计算,因而用p(n-1)和p(n-2)代替p(n)和p(n-1)。
经移项整理后得
其中
;
;
;
纯滞后补偿器的输出为
(3)计算反馈回路偏差e2(n),即
(4)计算数字控制器输出p(n),控制器采用PID控制规律,则
式中:
为控制器的比例系数;
为积分系数,
;
为微分系数,
。
P(n)即为计算机的控制输出,用以控制执行机构的信号。
若有需要还可用此p(n)重新计算z(n),作为下一个采样周期的z(n-1)值。
Smith预估补偿控制程序流程框图如下
读入y1(n)
有效性检查
数字滤波
计算e1(n)
计算z(n)
计算y1(n)
计算e2(n)
计算p(n)
计算p1(n)
P1(n)>Pm
Pm
p1(n)
输出P1(n)
重算z(n)
z(n)~z(n-m)
z(n-1)~z(n-m-1)
P(n)
P(n-1)
P(n-1)
P(n-2)
……
P1(n)
P1(n-1)
……
返回
3、硬件设计
系统的硬件电路包括微控制器部分(主机)、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分
1.
温度显示
键盘
声音报警
89C51
A/D转换器
变送器
热电阻
光耦
驱动器
可控硅调功器
电炉
温度检测部分
温度控制部分
人机对话部分
本次设计采用的是89C51单片机
电热阻控制系统结构框图
2.温度检测电路。
温度检测电路包括温度传感器、变送器和A/D转换器三部分。
温度传感器和变送器的类型选择与被控温度的围及精度等级有关。
型号为WZB-003的铂热电阻适合于0~500的温度测量围,可以满足本系统的要求。
变送器将电阻信号转换成与温度成正比的电压,当温度在0~500时变送器输出0~4.9V左右的电压。
A/D转换器件的选择主要取决于温度的控制精度。
本系统要求温度控制误差
,采用8位A/D转换器,其最大量化误差为
,能够满足精度要求。
因此,本系统采用ADC0809作为A/D转换器。
电路设计好后,调整变送器的输出,使
的温度变化能对应于0~4.9V的输出,则A/D转换对应的数字量为00H~FAH,即0~250,转换结果乘以2正好是温度值。
用这种方法一方面可以减少标度变换的工作量,另一方面还可以避免标度变换带来的计算误差,
3.温度控制电路。
控制电路采用可控硅来实现,双向可控硅SCR和电炉电阻丝串接在交流220V的电回路中,单片机P1.7口的信号通过光电隔离器和驱动电路送到可控硅的控制端,由P1.7口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。
4.人机对话电路。
这部分包括键盘、显示和报警三部分电路。
本系统设有3位LED数码显示器,用于显示电阻炉的设定温度和实际温度。
采用串行口扩展的静态显示电路作为显示接口电路。
为使系统简单紧凑,键盘只设置3个功能键,分别是“百位”、“十位”和“个位”键,由P1口低3位作为键盘接口。
利用数字键可以分别对预置温度的百位、十位和个位进行
的温度设置,并在LED上显示当前设置值。
另外,还设置了系统复位键。
5.报警功能由蜂鸣器实现。
当由于意外因素导致电阻炉温度高于设置温度时,P1.6口送出低电平经反相器驱动蜂鸣器鸣叫报警。
4、软件设计
系统的操作过程和工作过程在程序的设计过程中起着很重要的指导作用,因此在软件设计之前应首先分析电阻炉的工作原理。
1.工作流程
电阻炉在上电复位后先处于停止加热状态,这时可以用数字键设定预置温度并显示出来;温度设定后,就可以按启动键启动系统工作。
温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限时再启动加热。
这样不断重复上述过程,使温度保持在预定温度围之。
启动后可以修改预置温度。
2.功能模块
根据对工作流程的分析,系统软件可以分为以下几个功能模块:
(1)键盘管理。
实现键盘扫描与处理功能,接收温度预置,启动系统工作。
(2)显示。
显示设置温度及当前温度。
(3)温度检测及温度值变换。
实现A/D转换及数字滤波功能。
(4)温度控制。
根据检测到的温度控制电炉的工作状态。
(5)报警。
当预置温度或当前检测的炉温越限时,输出报警信号。
3.资源分配
在编程前,首先要对89C51的资源进行分配。
它包括显示单元(6位)、预置温度单元(2位)、当前检测温度(2位)、BCD码显示缓冲区(3位)、二进制码显示缓冲区(3位)、报警允许标志、堆栈区等。
然后,还需要对键盘输入和报警、控制电路的端口地址进行分配。
地址
功能
名称
初始化值
50H~51H
当前检测温度,高位在前
TEMP1~TEMP0
00H
52H~53H
预置温度,高位在前
ST1~ST0
00H
54H~56H
温度BCD码显示缓冲区(百位、十位、个位)
T100,T10,T
00H
57H~58H
二进制显示缓冲区,高位在前
BT1,BT0
00H
59H~7FH
堆栈区
PSW.5
报警允许标志
F0=0时禁止报警;F0=1时允许报警
FO
O
单片机89C51存的资源分配可以利用伪指令进行定义。
数据存储器的分配与定义如下表。
P1.0~P1.3为键盘输入接口,P1.6和P1.7分别为报警控制和电路控制接口。
ADC0809输入通道INO~IN7的地址为7FF8H~7FFFH,本系统使用IN0通道。
4.程序总体结构设计
系统程序设计采用模块化设计方法,程序由主程序、中断服务子程序和各功能模块程序等组成,各功能模块可直接调用。
主程序完成系统的初始化、温度预置及其合法性检测、预置温度的显示及定时器T0的初始化设置等。
T0中断服务程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等)。
中断由T0产生,根据需要每隔15S中断一次,即每15S采样控制一次。
由于系统采用6MHZ晶振,最大定时为130ms,为实现15S定时,另行设计了一个软件计数器。
主程序和中断服务子程序如下。
TEMP1EQU50H;当前检测温度(高位)
TEMP2EQU51H;当前检测温度(低位)
ST1EQU52H;预置温度(高位)
ST1EQU53H;预置温度(低位)
T100EQU54H;温度BCD码显示缓冲区(百位)
T10EQU55H;温度BCD码显示缓冲区(十位)
T1EQU56H;温度BCD码显示缓冲区(个位)
BT1EQU57H;温度二进制显示缓冲区(高位)
BT2EQU58H;温度二进制显示缓冲区(低位)
ADINOEQU7FF8H;ADC0809通道IN0的端口地址
F0BITPSW.5;报警允许标志
TEMP1DB00H,00H,00H,00H,00H,00H,00H,00H;50H~58H`单元初始化(清零)
ORG0000H
AJMPMAIN;转主程序
ORGOOOBH
AJMPPT0;转PTO中断服务子程序
ORG0030H
MAIN:
MOVSP,#59H;设堆栈指针
CLRF0;报警标志清零
MOVTMOD,#01H;定时器0初始化(方式1)
MOVTL0,#0B0H;定时器100ms定时常数
MOVTH0,#3CH
MOVR7,#150;置15s计数器初值
SETBETO;允许定时器0中断
SETBEA;开中断
SETBTR0;启动定时器0
MAIN1:
ACALLKIN;调键盘管理子程序
ACALLDISP;调显示子程序
SJMPMAIN1
;定时器0中断服务子程序PT0:
PT0:
MOVTL0,#0B0H
MOVTH0,#3CH;重置定时器初值
DJNZR7,BACK;检测是否到达15S
MOVR7,#150;重置计数器初值
ACALLTIN;温度检测
MOVBT1,TEMP1;当前温度送显示缓冲区
MOVBT0,TEMP2
ACALLDISP;显示当前温度
ACALLCONT;温度控制
ACALLALARM;温度越限报警
BACK:
RETI
主程序
中断服务程序
系统程序总体结构框图
5.功能软件设计
(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 技术 课程设计 基于 PID 电阻炉 温度 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)