基于料筒温度控制.docx
- 文档编号:9278755
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:26
- 大小:283.94KB
基于料筒温度控制.docx
《基于料筒温度控制.docx》由会员分享,可在线阅读,更多相关《基于料筒温度控制.docx(26页珍藏版)》请在冰豆网上搜索。
基于料筒温度控制
课程设计说明书
基于单片机控制器的塑料成型加工过程单路料筒温度控制系统的设计
学院机器与汽车工程学院
专业材料成型及控制工程
学生姓名温峰
指导教师文生平
提交日期2013年6月17日
华南理工大学
课程设计(论文)任务书
兹发给材控高分子班学生温峰毕业设计(论文)任务书,内容如下:
1.课程设计(论文)题目:
基于单片机控制器的塑料成型加工过程单路料筒
温度控制系统的设计
2.应完成的项目:
(1)采用MATLAB工具箱仿真设计控制系统PID算法的最佳调节器参数
(2)控制系统硬件电路设计
(3)控制系统软件设计
3.参考资料以及说明:
(1)过程装备控制技术及应用
(2)单片机原理及系统设计
(3)单片机基础
(4)单片机原理与应用及C51程序设计
(5)MCS-51单片机温度控制系统的设计
(6)基于MATLAB的控制系统计算机仿真
(7)MATLAB与控制系统的数字仿真及CAD
4.本课程设计(论文)任务书于2013年6月10日发出,应于2013年6月17日
前完成,然后提交毕业考试委员会进行答辩。
专业教研组(系)、研究所负责人审核年月日
指导教师签发年月日
课程设计(论文)评语:
(应包括平时表现、论文质量、答辩表现等内容)
毕业设计(论文)总评成绩:
毕业设计(论文)答辩负责人签字:
年月日
摘要
随着现代科技的进步,工业生产中很多时候都会将温度作为被控参数。
因此,对温度控制系统进行研究具有很广泛的意义。
单片机在检测和控制系统中得到了广泛的应用,温度是一个系统经常需要测量、控制和保持的量。
然而,温度是一个模拟量,不能直接与单片机交换信息。
采用适当的技术将模拟的温度量转化为数字量在原理上并不困难,却需要较高的成本以及一些其他方面的问题。
因此,对单片机温度控制系统的研究有重要意义。
采用C51单片机对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且还可以大幅度提高被控温度的技术指标,从而大大提高产品的质量和数量。
本设计是以料筒三区温度作为被控对象,以C51为控制系统核心的闭环反馈调节系统。
通过单片机系统设定,实现对料筒温度的显示和控制功能。
本文主要介绍了料筒温度控制系统的工作原理和设计方法,利用单片机作为数据处理器,并运用PID算法进行处理。
单片机定时的对温度进行检测,信号经A\D转换得到相应的数字量,送到计算机中进行判断和运算得到相应的控制量,去控制料筒的温度。
关键词:
温度,PID算法,单片机
摘要4
第一章控制方案设计………………………………………………………………1
1.1、目标和任务估计…………………………………………………………1
1.2、方案选择…………………………………………………………………1
1.3、元件选择…………………………………………………………………1
1.4、软件控制方案的确定……………………………………………………2
第二章控制系统硬件电路设计……………………………………………………3
第三章控制算法的确定……………………………………………………………4
3.1、温度控制算法选择………………………………………………………4
3.2、调节器参数的工程整定…………………………………………………4
3.3、用MATLAB对系统进行仿真………………………………………………5
第四章DDC的基本算法……………………………………………………………9
4.1、DDC基本算法简述………………………………………………………9
4.2、DDC理想PID算法选择…………………………………………………9
4.3、PID增量型控制算法流程:
………………………………………………10
第五章温度控制的程序框图以及编写……………………………………………12
5.1、主程序框图………………………………………………………………12
5.2、中断服务程序框图………………………………………………………13
5.3、A/D和D/A转化器初始化程序…………………………………………16
5.4、PID计算程序……………………………………………………………17
第六章设计总结……………………………………………………………………19
参考文献……………………………………………………………………………20
第一章控制方案设计
1.1、目标和任务估计
从控制任务要求可知是单点、恒值控制。
控制范围和精度要求一般,功能上无特殊要求。
可采用一般的闭环控制系统实现。
其系统原理图如下
1.2、方案选择
根据课程设计要求,结合所学单片机知识,初步得到的单片机温度控制系统原理图:
1.3、元件选择
(1)计算机的选择按上述要求只需单点控制和显示,没有特别的数据处理任务。
因此适宜采用嵌入式微控制器控制。
为了使系统结构紧凑,采用国内应用非常广泛的80C51系列8位微控制器为核心组成控制系统。
该系列多种型号之间引脚兼容,可根据系统规模相互替换,开发和升级都很方便。
(2)A/D转换器的选择假定控制范围设定为80~300℃。
若选用8位A/D转换器,其分辨率约为1.5℃/字。
它虽然在±4℃的允许误差范围之内,但是裕量太小。
因为系统的其他环节,特别是传感元件的非线性,也会产生误差引起精度损失,因此实际精度很难达到要求。
若选用10位A/D转换器,其分辨率为0.3℃/字,在要求的精度范围内有较大裕量,可以满足要求。
若采用12位的A/D转换器,其分辨率约为0.1℃/字,但是由于其他环节对精度的影响,单纯过高追求A/D的高分辨率是一种资源浪费。
而且无论采用10位,还是12位A/D转换器,与8位CPU连接都比较麻烦,增加了系统的复杂性。
针对本系统的实际情况,实际控温范围只有(300-80)℃=220℃,因此可用8位A/D转换器。
对于A/D转换器的速度,没有过高的要求,采用一般中速芯片如AD0809即可满足。
(3)传感元件的选择柑橘控温范围,选用镍铬-镍铝(K型)热电偶可以满足。
下面根据它的分度表列出几个在控制范围内的数据:
温度/℃0100150200250300
毫伏值/mV0.0004.0956.1378.13710.15112.207
可见,其线性度比较好,如果不进行非线性补偿,把0~250℃之间作为线性看待,下面具体分析一下由于非线性带来的误差。
80~300℃的平均斜率为(12.207-0)/(300-80)=0.055mV/℃
(4)执行元件的选择通过电阻加热料筒,采用晶闸管(SCR)做功率控制。
(5)D/A转换器的选择D/A转换器的位数一般可低于A/D的位数。
因为一般控制系统对输出通道分辨率的要求比输入通道低。
因此选用常用的DAC0832芯片。
(6)放大器的选择因为要求偏置,又需要对热电偶进行冷端补偿,故采用常规的DDZ系列温度变送器。
1.4、软件控制方案的确定
按照系统的要求,采用程序巡回控制方式或者定时中断控制方式都可以实现。
为了便于功能的扩充,便于使用动态显示,采用定时中断控制方式。
定时中断由定时器TO的溢出来触发,定时长度50ms。
第二章控制系统硬件电路设计
根据上面分析,具体硬件线路如下图。
扩展I/O口82C55、ADC0809和DAC0832的地址分配采用线选方式,其中82C55地址为0FB00H~0FB03;ADC0809地址为0FE00H~0FE07(启动通道0~7),读数据地址可与启动相同;DAC0832的地址为0FD00H,接成一步直通的方式(WR/XFER均接地)。
第三章控制算法的确定
3.1、温度控制算法选择
PID控制是注塑机料筒温度控制最常用的算法。
温度控制系统将热电偶实时采集的温度值与设定值比较,偏差值作为PID功能块的输入。
然后对偏差值进行处理,获得的控制信号去调节料筒加热器的加热功率,以实现对料筒温度的控制。
基本的PID控制规律可描述为:
在PID控制算法中,存在比例、积分、微分3种控制作用,其特点分别是减小误差,消除偏差和减小超调量、加快动态响应。
根据被控对象的不同,可适当调节PID参数,可获得比较满意的控制效果。
因其算法简单,参数调整方便,并有一定的控制精度,因此,其应用极其普遍。
PID控制的原理简单,使用方便,适应性强,鲁棒性强。
PID参数KP、KI和KD可以根据过程动态特性及时调整。
PID应用范围广,虽然很多工业过程是非线性或时变的,但通过适当简化,可以将其变成基本线性和动态特性不随时间变化的系统,就可以进行PID控制了。
但不可否认PID规律也有其固定的缺点。
PID在控制非线性、时变、耦合及参数和结构不确定的复杂过程时,效果不太好;最主要的是:
如果PID控制器不能控制复杂过程,无论怎么调参数作用都不大。
在科学技术尤其是计算机技术迅速发展的今天,虽然涌现出许多新的控制方法,但PID仍因其自身的优点而得到了最广泛的应用。
3.2、调节器参数的工程整定
当一个控制系统设计安装完成后,系统各个环节以及被控对象各通道的特性就不能在改变,而唯一能够改变的就是调节器的参数,即调节器的比例度、积分时间和微分时间。
通过改变这三个参数的大小就可以改变整个系统的性能,获得较好的过渡过程和控制质量。
调节器参数整定的目的就是按照已定的控制系统,求取控制系统质量最好的调节器参数。
控制系统的整定是一个很重要的方法,但它只能在一定范围内起作用,绝不是万能的。
它的工作前提必须是:
系统设计合理、仪表选择得当和安装正确。
这样,调节器参数整定才有实际意义。
调节器参数的整定方法有很多中,通常可分为两大类:
一类是理论计算整定法,如根轨迹法、频率特性法。
这类方法基于被控对象数学模型,通过计算方法直接求得调节器整定参数。
另一类称为工程整定法,其中有一些基于对象的阶跃响应曲线,有些则直接在闭环系统中进行,虽然它们是一种近似的经验方法,但相当实用,在工程实际中最流行。
这里采用临界比例度法,是工程整定法的一种。
临界比例度法又称Ziegler-Nichols方法,早在1942年提出。
它首先求取在纯比例作用下的闭环系统为等幅振荡过过程时的比例度和振荡周期,然后根据经验公式计算相应的调节器参数。
通常将等幅振荡下的比例度和震荡周期分别称为临界比例度和临界周期。
临界比例度法便于使用,而且在大多数控制回路中能够得到较好的控制品质。
临界比例度法整定参数的具体步骤是:
首先将调节器的积分作用和微分作用全部除去,在纯比例的情况下,按比例度从大到小的变化规律,对应与某一比例度值做小幅度的设定值阶跃干扰,知道获得等幅振荡过渡过程曲线,这时的比例度未临界比例度,振荡周期为临界周期Tk,可在过渡过程曲线上求取。
最后根据所给的经验公式计算出调节器各参数的整定数值。
表一稳定边界法参数整定计算公式
控制规律
Kp
Ki
Kd
P
0.5Kp1
PI
0.455Kp1
0.535Kp1/T
PID
0.6Kp1
1.2Kp1/T
0.075Kp1*T
3.3、用MATLAB对系统进行仿真
已知料筒温控对象的数学模型为一阶惯性加纯滞后环节:
1、采用MATLAB工具箱仿真料筒温控对象的数学模型(一阶惯性加纯滞后环节),在simulink窗口下模拟数学模型,输入阶跃信号。
控制方案如下:
图一
2、临界比例度法整定的第一步是获取等幅振荡,kp设为12.8,选定仿真时间,设置延迟时间,仿真运行,运行完毕后双击“Scope”得到如下图所示结果:
图二
3、根据上表一,可以求得PID控制整定时,比例放大系数Kp1=12.8,将“Kp”的值设定为7.68,将“Ki”的值设定为0.0439,将“Kd”的值设定为336,仿真运行,运行完毕后,运行完毕后双击“Scope”得到如下图:
图三
4、这个参数不是最优的,我在其值的周围调整得
图四
此时Kp=7.7,Ki=0.05,Kd=336
4、最终设定值为Kp=7,Ki=0.03,Kd=250,仿真运行,运行完毕后,运行完毕后双击“Scope”得到如下图:
图五
5、但是曲线仍然不够好,再用经验试凑法,不断进行调整参数,最后得到
Kp=7
Ki=0.013I
Td=300
修改各值后仿真运行,运行完毕后,运行完毕后双击“Scope”得到如下图:
图六
第四章DDC的基本算法
4.1、DDC基本算法简述
DDC的基本算法是指计算机对生产过程进行PID控制时的几种控制方程。
PID调节器在模拟控制系统中应用最为广泛、技术最成熟,参数选择与调整都在长期的应用重积累了丰富的经验,且这些经验与方法为广大工程技术人员所熟悉。
随着计算机在过程控制重的广泛应用,人们首先想到的是把PID控制规律移植到数字控制系统中,即用数字PID调节器取代模拟调节器。
要完成此任务需要做的主要工作是:
把PID调节规律数字化,用数字运算来实现它,以及编制PID算法的程序。
在这里关键是PID算法的数字化。
实践证明,数字化PID能取得近似于PID模拟调节器的控制效果,而且在很多方面具有突出的优势,主要表现在:
ⅰ、可用一台微型计算机控制几十个回路,大量节省设备和费用,提高了系统的可靠性;
ⅱ、不仅用软件代替了物理的PID算法,而且由于变成灵活,可以方便地对PID规律进行各种改进,衍生多种形势的PID算法,如带死区的PID,带自动比率的PID等。
PID参数的调整也只要改变程序的数据,十分方便。
因此,在DDC系统中,用还俗子运算实现PID的调节规律呗广泛应用。
PID基本算法分为两种:
理想PID算法和实际PID算法。
DDC的理想PID算法的两种类型:
1、位置型控制――主要用于对连续量的控制
2、增量型控制――主要用于输出为调节阀开度的增量控制
4.2、DDC理想PID算法选择
在实际应用中,增量式PID算法应用很多。
与位置式相比,增量式PID的优点有:
ⅰ、位置式PID算法中的积分项包含了过去误差的累积值∑e(i),容易产生累积误差。
当该项累计值很大时,使输出控制量难以减少,调节缓慢,发生积分饱和,对控制调节不利。
由于计算机字长的限制,当该项值超过字长时,又引起积分丢失现象。
增量式则没有这种缺点。
ⅱ、系统进行手动或自动切换时,增量式PID由于执行元件保存了过去的位置,因此冲击较少。
即使发生故障时,也由于执行元件的寄存作用,仍可保存原位,对被控过程的影相较少。
因此本设计中应该采用离散型增量式PID算法,即
式中Ki=KpT/Ti--积分系数
Kd=KpTd/T--微分系数
4.3、PID增量型控制算法流程:
图A
第五章温度控制的程序框图以及编写
温度控制程序的设计应考虑如下:
1)料筒温度采样、数字滤波;2)数据处理;3)越限报警和处理;4)PID计算、温度标度转换。
通常,符合上述功能的温度控制程序由主程序和T0中断服务程序两部分组成。
5.1、主程序框图
主程序包括C51本身的初始化、并行接口8155初始化等等。
大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、TO初始化、CPU开中断、温度显示和键盘扫描等程序。
见下图所示。
主程序清单:
ORG0000H
START:
LJMPMAIN
MAIN:
ORG0100H
DISM0DATA78H;初始化开始
DISM1DATA79H
DISM2DATA7AH
DISM3DATA7BH
DISM4DATA7CH
DISM5DATA7DH
MOVSP,#50H;50H送SP
CLR5EH;清本次越限标志
CLR5FH;清上次越限标志
CLRA;清累加器A
MOV2FH,A;清缓存单元
MOV30H,A
MOV3CH,A
MOV3CH,A
MOV3DH,A
MOV3EH,A
MOV44H,A
MOVDISM0,A;清显示缓冲区
MOVDISM1,A
MOVDISM2,A
MOVDISM3,A
MOVDISM4,A
MOVDISM5,A
MOVTMOD,#56H;设T0为计数器,为工作方式1,T1为工作方式2
MOVTL0,#06H;T0赋初值
MOVTH0,#06H
CLRPT0;令T0为低中断优先级
SETBTR0;启动T0工作
SDTBET0;允许T0中断
SDTBEA;开CPU中断
LOOP:
ACALLDISPLY;调用显示程序
ACALLSCAN;调用扫描程序
AJMPLOOP;等待中断
5.2、中断服务程序
TO中断服务程序是温度控制系统的主体程序,用于启动数/模转换器、读人采样数据、数字滤波、越限温度报警和越限处理、PID计算和输出可控硅的触发脉冲等。
P1.3引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制.C51利用等待T1溢出中断的空闲时间(形成P1-3输出脉冲顶宽)完成把本次采样值转换成显示值而放人显示单元缓冲区和调用温度显示程序。
C51从T1中断服务程序返回后即可恢复现场和返回主程序。
Ⅰ、T0中断服务程序的清单
ORG000BH
AJMPCT0
CT0:
PUSHACC;保护现场
PUSHDPL;
PUSHDPH;
SETBGD5H;置标志
ACALLSAMP;调用采样子程序
ACALLFILTER;调用数字滤波程序
CJNEA,42H,TPL;若u(k)≠umax,则TPL
WL:
MOVC,5EH;(5EH)送5FH
MOV5FH,C;
CLR5EH;清5EH单元
ACALLUPL;转上限处理程序
POPDPH
POPDPL
POPACC
RETI;中断返回
TPL:
JNCTPL1若u(k)>umax,则TPL1
CLR5FH;清上次越限标志
CJNEA,43H,MTPL;若u(k)≠umax,则MTPL
HAT:
SETBP1.1;若温度不越限,则令绿灯亮
ACALLPOD;调用计算机PID子程序
MOV1,2FH;PID值送A
CPLA;对PID值求补,作为TL1值
INCA
NM:
SETBP1.3令P1.3输出高电平脉冲
MOVTL1,A;T1赋初值
MOVTH1,#0FFH
SETBPT1
SETBTR1
SETBET1
ACALLTRAST;调用标度转换程序
LOOP:
ACALLDISPLY;显示温度
JBD5H,LOOP;等待T1中断
POPDPH;恢复现场
POPDPL
POPACC
RETI;中断返回
MTPL:
JNCHATu(k)>umin,则HAT
SETBP1.0;否则,越下限声光报警
MOVA,45H;取PID最大值输出
CPLA;对PID值求补,作为TL1
INCA
AJMPNM;转NM执行
TPL1:
SETB5EH;u(k)>umax,则5EH单元置位
JNB5FH,WL;若上次未越限,则转WL
INC44H;越限计数器加一
MOVA,44H
CLRC
SUBBA,#N;越限N次吗?
JNZWL;越限小于N次,则WL
SETBP1.2;否则,越上限声光报警
CLR5EH;清越限标志
CLR5FH
POPDPH
POPDPL;恢复现场
POPACC
RETI;中断返回
Ⅱ、T1中断服务程序的清单
ORG001BH
AJMPCT1
CT1:
CLRD5H;清标志
CLRP1.3;令P1.3变为低电平
RETI;中断返回
5.3A/D和D/A转化器初始化程序
1ADC0809初始化程序
MOVR0,#A0H;设立数据存储区指针
MOVR2,#08H;8路计数值
SETBIT0;边沿触发方式
SETBIT1;
SETBEA;允许cpu开中断
SETBEX0;开中断T0
SETBEX1;开中断T1
MOVDPTR,#0FEF0H;送入口地址并指向IN0
LOOP:
MOVX@DPTR,A;启动A/D转换器
HERE:
SJMPHERE;等待中断
2DAC0832初始化程序
LOOP:
CLRA
CLRDPTR
MOVXDPTR,#07FFFH
MOVX@DPTR,A
INCA
SJMPLOOP
3中断服务程序
MOVXA,@DPTR
MOVX@R0,A
INCDPTR
INCR0
DJNZR2,INT1
CLREA
CLREX0
CLREX1
RETI
INT1:
MOVX@DPTR,A
RETI
5.4、PID计算程序
离散型增量式PID算法公式
可以改写为:
P(K)=P(K+1)+Pp+Pi+Pd
我们可以根据上次编程,相应程序框图如前面图A所示,程序清单如下:
汇编程序:
MOV01H,#00;初始设置
MOV02H,#00;初设置
MOV03H,#Kp;初设置Kp
MOV04H,#Ki;初设置Ki
MOV05H,#Kd;初设置Kd
MOV06H,#R(k);设置给定温度Rk
LOOP:
CLRA;清零
CLRDPTR
P2.5,LOOP;等待dac0809响应
MOVDPTR,#0FEF0H;
MOVXA,@DPTR;dac0809测量数据传送到单片机
MOV@R0,A;
ACALLMUL1;调用子程序
ACALLMUL2
ACALLMUL3
CLRA
ADDA,07H;加和
ADDA,08H;求
ADDA,0AH;求
MOVX@DPTR,A
MOVDPTR,#07FFFH;将数据传送到adc0832
SJMPLOOP
MUL1:
CLRCy;求子程序
MOVR1,01H;
SUBBA,R1;
MOVB,03H;
MULAB;
MOV07H,A;
RET;
MUL2:
MOVA,R0;求子程序
MOVB,04H;
MULAB;
MOV08H,A;
RET
MUL3:
MOVA,R0;求子程序
MOVR1,01H求
CLRCy
SUBBA,R1
MOVR2,A
MOVR3,02H
CLRCy
MOVA,R3
SUBBA,01H
ADDA,R2
MOVB,05H
MULAB
MOV09H,A
MOV02H,01H
MOV01H,R0
RET
第六章设计总结
做了一周的课程设计,有很多的心得体会。
有些是关于知识方面的,有些是关于团队方面的。
在设计的过程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 温度 控制