计算机控制系统课设报告--数字温度PID控制器的设计_第1页
计算机控制系统课设报告--数字温度PID控制器的设计_第2页
计算机控制系统课设报告--数字温度PID控制器的设计_第3页
计算机控制系统课设报告--数字温度PID控制器的设计_第4页
计算机控制系统课设报告--数字温度PID控制器的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机控制技术与系统计算机控制系统A课程设计任 务 书1、 目的与要求1、 通过本课程设计教学环节,使学生加深对所学课程内容的理解和掌握;2、 结合工程问题,培养提高学生查阅文献、相关资料以及组织素材的能力;3、 培养锻炼学生结合工程问题独立分析思考和解决问题的能力;4、 要求学生能够运用所学课程的基本理论和设计方法,根据工程问题和实际应用方案的要求,进行方案的总体设计和分析评估;5、 报告原则上要求依据相应工程技术规范进行设计、制图、分析和撰写等。2、 主要内容1、 数字控制算法分析设计;2、 现代控制理论算法分析设计;3、 模糊控制理论算法分析设计;4、 过程数字控制系统方案分析设计;5、

2、 微机硬件应用接口电路设计;6、 微机应用装置硬件电路、软件方案设计;7、 数字控制系统I/O通道方案设计与实现;8、 PLC应用控制方案分析与设计;9、 数据通信接口电路硬件方案设计与性能分析;10、 现场总线控制技术应用方案设计;11、 数控系统中模拟量过程参数的检测与数字处理方法;12、 基于嵌入式处理器技术的应用方案设计;13、 计算机控制系统抗干扰技术与安全可靠性措施分析设计;14、 计算机控制系统差错控制技术分析设计;15、 计算机控制系统容错技术分析设计;16、 工程过程建模方法分析;3、 进度计划序号设计内容完成时间备注1选择课程设计题目,查阅相关文献资料7月13日2文献资料的

3、学习,根据所选题目进行方案设计7月14日3讨论设计内容,修改设计方案7月15日4撰写课程设计报告7月16日5课程设计答辩7月17日4、 设计成果要求1、 针对所选题目的国内外应用发展概述;2、 课程设计正文内容包括设计方案、硬件电路和软件流程,以及综述、分析等;3、 课程设计总结或结论以及参考文献;4、 要求设计报告规范完整。5、 考核方式 通过系统设计方案、总结报告、图文质量和学习与设计态度综合考评,并结合学生的动手能力,独立分析解决问题的能力和创新精神等。计算机控制系统课程设计成绩评定依据如下:1、 撰写的课程设计报告;2、 独立工作能力及设计过程的表现;3、 答辩时回答问题的情况。优秀:

4、设计认真,设计思路新颖,设计正确,功能完善,且有一定的独到之处,打印文档规范;良好:设计认真,设计正确,功能较完善,且有一定的独到之处,打印文档规范;及格:设计基本认真,设计有个别不完善,但完成基本内容要求,打印文档较规范;不及格:设计不认真,未能完成设计任务,打印文档较乱或出现抄袭现象者。说明: 同学选择题目要尽量分散,并且多位同学选同一个题目时,要求各自独立设计,避免相互参考太多,甚至抄袭等现象。 学生姓名:苏印广 指导教师:李士哲 2015年7月 17日一、课程设计(综合实验)的目的与要求 1.1设计目的(1)加深对控制算法设计的认识,学会控制算法的应用。(2) 掌握A/D转换电路的应用

5、、掌握51单片机、8253可编程定时器/计数器的应用、掌握温度采集及控制方法。(3)了解计算机控制系统的整体设计及调试的方法, 锻炼和培养由各个子模块功能单元构筑完整的微机控制系统的能力。1.2设计要求(1) 系统的被控对象为温箱系统,被测参数为温箱的温度,测温范围为0-300,误差不超过±0.1。(2)设计以89C51单片机和ADC、DAC等电路、有运放电路实现的被控对象构成的计算机单闭环反馈控制系统。 (3)控制算法:增量型数字PID控制(4) 软件设计:主程序、中断程序、A/D转换程序、滤波程序、PID控制程序、D/A输出程序等。二、设计(实验)正文1:总体方案设计本系统是一个

6、典型的温度闭环控制系统,需要完成的功能是温度设定、检测与显示以及温度控制、报警等。温度的设定和显示功能可以通过键盘和显示电路部分完成;温度检测可以通过热电阻、热电偶或集成温度传感器等器件完成;温度超限报警可以利用蜂鸣器等实现; 温度控制可以采用可控硅电路实现。 系统采用89C51作为系统的微处理器来完成对炉温的控制和键盘显示功能。8051片内除了128KB的RAM外,片内又集成了4KB的ROM作为程序存储器,是一个程序不超过4K字节的小系统。系统程序较多时,只需要外扩一个容量较小的程序存储器,占用的I/O口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。因

7、此89C51可以完成设计要求2:控制系统的建模和数字控制器的设计2.1:温箱的数学模型和控制算法的选择根据实际测量,温箱是一个近似一阶惯性环节。以加热功率为输入,箱内温度为输出,其传递函数表达为 (2.1)其中:时间常数=300;放大系数=20;滞后时间=102.2:数字控制器的设计2.2.1 模拟PID控制系统结构图+ -+ +c(t)u(t)e(t)r(t)比例积分微分被控对象图1模拟PID控制系统结构图它主要由PID控制器和被控对象所组成。而PID控制器则由比例、积分、微分三个环节组成。它的数学描述为: (2.2)式中,K为比例系数T;为积分时间常数;T为微分时间常数.下面把PID控制分

8、成三个环节来分别说明:A. 比例调节(P调节) (2.3)式中为比例系数,为控制常量,即偏差为零时的控制变量。偏差。偏差一旦产生,比例调节立即产生控制作用,使被控制的过程变量向使偏差减小的方向变化。比例调节能使偏差减小,但不能减小到零,有残存的偏差(静差)。加大比例系数可以提高系统的开环增益,减小静差,从而提高系统的控制精度。但当过大时,会使动态质量变差,导致系统不稳定。B. 积分调节(I调节)在积分调节中,调节器输出信号的变化速度du/dt与偏差成正比,即 或 (2.4) 其中 为积分常数,越大积分作用越弱。I调节的特点是无差调节,与P调节的有差调节形成鲜明对比。上式表明,只有当被调节量偏差

9、为零时,I调节器的输出才会保持不变。I调节的另一个特点是它的稳定作用比P调节差。采用I调节可以提高系统的型别,有利于系统稳态性能的提高,但积分调节使系统增加了一个位于原点的开环极点,使信号产生90°的相角迟后,对系统的稳定性不利。C. 微分调节(D调节)在微分调节中,调节器的输出与被调节量或其偏差对于时间的导数正比,即 (2.5) 其中 为积分常数,越大微分作用越强。由于被调节量的变化速度(包括其大小和方向)可以反映当时或稍前一些时间设定值r与实际输出值y之间的不平衡情况,因此调节器能够根据被调节量的变化速度来确定控制量u,而不要等到被调节量已出现较大的偏差后才开始动作,这样等于赋予

10、调节器以某种程度的预见性。2.2.2 数字PID控制系统结构图在计算机控制系统中,使用的是数字PID控制器,数字PID控制算法通常又分为位置式HD控制算法和增量式PID控制算法。A:位置式PID控制算法 由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对式(2-1)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID控制算法的算式(2-1),现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可以作如下的近似变换: (2-6)显然,上述离散化过程中,采样周期T必须足够短,才能保证有足够的精度。为了书写方便,将e(kT)简化表示成e(k)等

11、,即省去T。将式(2.6)代入式(2.1),可以得到离散的PID表达式为: (2-7)中式:k 采样序列号;u(k) 第k次采样时刻的计算机输出值;e(k)第k次采样时刻输入的偏差值;e(k-1) 第k-1次采样时刻输入的偏差值;K 积分系数,K/T 微分系数,/。我们常称式(2.7)为位置式PID控制算法。对于位置式PID控制算法来说,位置式PID控制算法示意图如图2所示,由于全量输出,所以每次输出均与过去的状态有关,计算时要对误差进行累加,所以运算工作量大。而且如果执行器(计算机)出现故障,则会引起执行机构位置的大幅度变化,而这种情况在生产场合不允许的,因而产生了增量式PID控制算法。+-

12、r(t)e(t)uc(t)PID位置算法调节阀被控对象图2位置型控制示意图B:增量式PID控制算法所谓增量式PID是指数字控制器的输出只是控制量的增量(k)。增量式PID控制系统框图如图3所示。当执行机构需要的是控制量的增量时,可以由式(2-7)导出提供增量的PID控制算式。根据递推原理可得: (2-8)用式(2-7)减去式(2-8),可得: (2-9)式(2-9)称为增量式PID控制算法。增量式控制算法的优点是误动作小,便于实现无扰动切换。当计算机出现故障时,可以保持原值,比较容易通过加权处理获得比较好的控制效果。但是由于其积分截断效应大,有静态误差,溢出影响大。所以在选择时不可一概而论。+

13、-r(t)e(t)uc(t)PID增量算法调节阀被控对象图3增量型控制示意图3:硬件的设计和实现  系统的硬件电路包括微控制器部分(主机)、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分 图4电热阻控制系统结构框图3.1微控制器本设计要求采用51内核的单片机。AT89C51是一种带4K字节Flash可编程可擦除的高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的8

14、9C51是一种高效微控制器。综合考虑,本设计选择AT89C51单片机为核心控制器。AT89C51单片机的引脚图如图5所示。图5 AT89C51引脚图 3.2:温度检测电路。温度检测电路包括温度传感器、变送器和A/D转换器三部分。温度传感器和变送器的类型选择与被控温度的范围及精度等级有关。型号为WZB-003的铂热电阻适合于0500的温度测量范围,可以满足本系统的要求。变送器将电阻信号转换成与温度成正比的电压,当温度在0500时变送器输出04.9V左右的电压。 A/D转换器件的选择主要取决于温度的控制精度。本系统要求温度控制误差£C02±,采用8位A/D转

15、换器,其最大量化误差为CCo1)5002551(210,能够满足精度要求。因此,本系统采用ADC0809作为A/D转换器。电路设计好后,调整变送器的输出,使Co5000的温度变化能对应于04.9V的输出,则A/D转换对应的数字量为00HFAH,即0250,转换结果乘以2正好是温度值。用这种方法一方面可以减少标度变换的工作量,另一方面还可以避免标度变换带来的计算误差,  图6 由LM331实现A/D转换器的框图图7温度传感器连接电路3.3:温度控制电路。控制电路采用可控硅来实现,双向可控硅SCR和电炉电阻丝串接在交流220V的电回路中,单片机P1.7口的信号通过光电隔离器和驱

16、动电路送到可控硅的控制端,由P1.7口的高 低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。  3.4:人机对话电路。这部分包括键盘、显示和报警三部分电路。其中LED采用共阴极方式,4个显示器的段选码由8155的PB口提供,位选码由8155的PA口提供,矩阵式键盘的行线由PC提供。LED采用动态扫面方式,而键盘采用中断的工作方式。因为系统已经使用了和,所以采用定时器T0作为外部中断源。可以选择设置T0工作在方式2外部计数方式,定时器TH0,TL0初值为0FFH,并允许T0中断,这样当T0引脚上发生负跳变时,TL0加1,产生溢出,置“1”TF0向CPU

17、发出中断申请,同时TH0的内容0FFH送TL0,即TL0恢复初值0FFH,然后CPU去执行键盘扫描 ,还设置了系统复位键。 报警功能由蜂鸣器实现。当由于意外因素导致电阻炉温度高于设置温度时,P1.6口送出低电平经反相器驱动蜂鸣器鸣叫报警。四、软件设计  系统的操作过程和工作过程在程序的设计过程中起着很重要的指导作用,因此在软件设计之前应首先分析电阻炉的工作原理。 1.工作流程      电阻炉在上电复位后先处于停止加热状态,这时可以用数字键设定预置温度并显示出来;温度设定后,就可以按启动键启动系

18、统工作。温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。启动后可以修改预置温度。 2.功能模块  根据对工作流程的分析,系统软件可以分为以下几个功能模块: (1)键盘管理。实现键盘扫描与处理功能,接收温度预置,启动系统工作。 (2)显示。显示设置温度及当前温度。 (3)温度检测及温度值变换。实现A/D转换及数字滤波功能。 (4)温度控制。根据检测到的温度控制电炉的工作状态。 (5)报警。当预置温度或当前检

19、测的炉温越限时,输出报警信号。 3.资源分配 在编程前,首先要对89C51的资源进行分配。它包括显示单元(6位)、预置温度单元(2位)、当前检测温度(2位)、BCD码显示缓冲区(3位)、二进制码显示缓冲区(3位)、报警允许标志、堆栈区等。然后,还需要对键盘输入和报警、控制电路的端口地址进行分配。 单片机89C51内存的资源分配可以利用伪指令进行定义。数据存储器的分配与定义如下表。 P1.0P1.3为键盘输入接口,P1.6和P1.7分别为报警控制和电路控制接口。ADC0809输入通道图9 地址单元及其功能INOIN7的地址为7FF8H7FFFH,本系统使用

20、IN0通道。4.程序总体结构设计      系统程序设计采用模块化设计方法,程序由主程序、中断服务子程序和各功能模块程序等组成,各功能模块可直接调用。  主程序完成系统的初始化、温度预置及其合法性检测、预置温度的显示及定时器T0的初始化设置等。T0中断服务程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等)。中断由T0产生,根据需要每隔15S中断一次,即每15S采样控制一次。由于系统采用6MHZ晶振,最大定时为130ms,为实现15S定时,另行

21、设计了一个软件计数器。主程序和中断服务子程序如下。 TEMP1  EQU 50H        ;当前检测温度(高位)TEMP2  EQU 51H        ;当前检测温度(低位)ST1     EQU 52H        

22、;预置温度(高位)ST1     EQU 53H        ;预置温度(低位)T100    EQU 54H        ;温度BCD码显示缓冲区(百位)T10     EQU 55H      

23、0; ;温度BCD码显示缓冲区(十位)T1      EQU 56H        ;温度BCD码显示缓冲区(个位)BT1     EQU 57H        ;温度二进制显示缓冲区(高位)BT2     EQU 58H 

24、60;      ;温度二进制显示缓冲区(低位) ADINO  EQU 7FF8H      ;ADC0809通道IN0的端口地址  F0      BIT  PSW.5      ;报警允许标志  TEMP1  DB  00H,

25、00H,00H,00H,00H,00H,00H,00H  ;50H58H单元初始化(清零)主程序:  ORG   0000H AJMP  MAIN             ;转主程序 ORG   OOOBH AJMP  PT0       

26、        ;转PTO中断服务子程序 ORG   0030H MAIN:  MOV  SP,#59H     ;设堆栈指针        CLR  F0           ;

27、报警标志清零      MOV  TMOD,#01H  ;定时器0初始化(方式1)     MOV  TL0,#0B0H   ;定时器100ms定时常数     MOV  TH0,#3CH        MOV  R7,#150    &#

28、160; ;置15s计数器初值     SETB ETO          ;允许定时器0中断      SETB EA           ;开中断       SETB TR0 

29、0;        ;启动定时器0 MAIN1: ACALL KIN        ;调键盘管理子程序         ACALL DISP        ;调显示子程序      SJMP

30、  MAIN1  ;定时器0中断服务子程序PT0: PT0:  MOV  TL0,#0B0H MOV  TH0,#3CH    ;重置定时器初值DJNZ R7,BACK      ;检测是否到达15SMOV  R7,#150      ;重置计数器初值ACALL TIN 

31、0;       ;温度检测MOV BT1,TEMP1    ;当前温度送显示缓冲区MOV BT0,TEMP2ACALL DISP        ;显示当前温度ACALL CONT       ;温度控制ACALL ALARM     ;温

32、度越限报警BACK:  RETI  第 18 页 共 18 页开始定义堆栈区定时器0、软定时器、各数据缓冲区、个标志位初始化开定时器0中断调用键盘管理子程序调用显示子程序图10主程序开始保护现场重置定时器0初值定时器减1当前温度送显示缓存重置定时器初值调用显示子程序调用温度检测系统调用报警子程序调用温度子程序中断返回定时15s到?图11中断服务子程序(2)显示模块。显示子程序的功能是将显示缓冲区57H和58H的二进制数据先转换成3个BCD码,分别存入百位、十位和个位显示缓冲区(54H、55H和56H)单元,然后通过串行口送出显示。 显示子程序DISP:&

33、#160;DISP:  ACALL   HTB      调用将显示数据转换成BCD码的子程序         MOV   SCON,#00H     置串行口为方式0      MOV   R2,#03H   

34、0; 显示位数送R2      MOV   R0,#T100     显示缓冲区首地址送R0 LD:    MOV   DPTR,#TAB     指向字符码表首地址         MOV  A,R0  &#

35、160;   取显示数据 MOVC  A,A+DPTR     查表      MOV   SBUF,A      字符码送串行口 WAIT:  JBC   TI,NEXT     发送结束转下一个数据并清中断标志   

36、      SJMP  WAIT      发送未完等待 NEXT:  INC   R0       修改显示缓冲区指针         DJNZ  R2,LD      判断3位

37、显示是否完成,未完继续      RET TAB:  C0H  F9H  A4H  B0H  99H  92H  82H  F8H  80H  90H  HTB:   MOV   A,57H      

38、;取二进制显示数据        MOV   A,58H            MOV   B,#100      除以100,确定百位数      DIV   A,B     M

39、OV   54H,A      百位数送54H单元      MOV   A,#10      除以10,确定十位数以及个位数      XCH   A,B      DIV   A,B  

40、    MOV   55H,A      十位数送55H单元      MOV   56H,B      个位数送56H单元     RET        返回 (3)温度检测模块。A/D转换采用查询方式。为提

41、高数据采样的可靠性,对采样温度进行数字滤波。数字滤波的算法很多,这里采用4次采样取平均值的方法。如前所述,本系统A/D转换结果乘以2正好是温度值,因此,4次采样的数字量之和除以2就是检测的当前温度。检测结果高位存入50H,低位存入51H。图12温度检测流程图程序如下:         MOV    51H,#00H      清检测温度缓冲区      &#

42、160;  MOV    50H,#00H                 MOV    R2,#04H      取样次数送R2         MOV    DPTR

43、,#7FF8H     指向A/D转换器0通道 TADC0:MOVX   DPTR,A      启动转换 TADC1:JNB    IE1,TADC1     等待结束         MOVX   A,DPTR  &

44、#160;   读转换结果      ADDC   A,51H       累加      MOV    51H,A      DJNZ   R2,TADC0      4次采样是否完成,未

45、完继续      CLR    C        累加结果除以2     MOV    A,51H      RRC    A     MOV    R5,A 

46、    ORL   A,#0FH      高8位放50H低8位放51H     MOV    51H,A     ORL    R5,#0F0H      MOV    50H,R5 &#

47、160;    RET (4)温度控制模块。将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度,继电器断开,停止加热;当两者相等时电炉保持原来状态;当前温度降低到比预置温度低Co2时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。 温度控制子程序: CONT:   MOV   A,51H      当前温度A   

48、0;       CLR   C       清零     SUBB  A,53H      当前温度-预置温度     JNC   CONT1      无借位,表示当前温度预置温度,转C

49、ONT1     JNB   F0,CONT0     当前温度<预置温度,判断是否超过预置温度     CLR   C     SUBB  A,#02H      若超过预置温度,判断二者差值是否大于2     JNC  

50、 ACC.7,CONT1     差值不大于2,转CONT1 CONT0:  CLR   P1.7       开电炉           SJMP  CONT2      返回 CONT1:  SE

51、TB  F0       设置允许报警标志           SETB  P1.7       关电炉 CONT2: RET(5)温度超限报警模块。报警上限温度值为预置温度Co5±,即当前温度上升到高于预置温度Co5+时报警,并停止加热;报警下限温度值设为预置温度Co5,即在当前温度下降

52、到低于预置温度Co5,且允许报警,这是为了防止开始从较低温度加温时报警。报警的同时关闭电炉。 程序如下 ALARM:  MOV   A,51H      读取当前温度          CLR   C       清零    SUBB &#

53、160;A,53H      当前温度-预置温度A    JC    ALARM0     有借位,当前温度小于预置温度转ALARM0    SETB  F0      当前温度预置温度,允许报警    AJMP  ALARM1      ALARM0:MOV   A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论