北京交通大学水温炉温控制pid系统课程设计

上传人:人*** 文档编号:548639078 上传时间:2022-11-02 格式:DOCX 页数:16 大小:130.11KB
返回 下载 相关 举报
北京交通大学水温炉温控制pid系统课程设计_第1页
第1页 / 共16页
北京交通大学水温炉温控制pid系统课程设计_第2页
第2页 / 共16页
北京交通大学水温炉温控制pid系统课程设计_第3页
第3页 / 共16页
北京交通大学水温炉温控制pid系统课程设计_第4页
第4页 / 共16页
北京交通大学水温炉温控制pid系统课程设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《北京交通大学水温炉温控制pid系统课程设计》由会员分享,可在线阅读,更多相关《北京交通大学水温炉温控制pid系统课程设计(16页珍藏版)》请在金锄头文库上搜索。

1、基于单片机的PID温度控制系统.概述温度控制技术无论在工业生产,还是日常生活中都起着非常重要的作用。常 规的温度控制方法以设定温度为临界点,超出设定允许范围就进行温度调控,低 于设定值就加热,反之就停止或降温。这种方法实现简单,成本低,但控制效果 不理想,控制温度精度不高,容易引起震荡,达到稳定点的时间也长。因此,只 能用于精度要求不高的场合。采用PID算法进行温度控制,它具有控制精度高,能够克服容量滞后的特点, 特别适用于负荷变化大,控制品质要求高的系统。单片机作为控制系统中必不可少的部分,在各个领域得到了广泛的应用,用 单片机进行系统数据处理和控制,保证系统工作在最佳的状态,提高系统的控制

2、 精度,有利于提高系统的工作效率。本系统就是采用单片机编程实现PID算法进 行温度控制。二.PID控制的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制, 简称PID控制,又称PID调节。PID控制器以其结构简单、稳定性好、工作可靠、 调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌 握,或得不到精确的数学模型,控制理论的其他技术也难以采用,系统控制器的 结构和参数必须依靠经验和现场调试来确定时,应用PID控制技术最为方便。PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特 性确定PID控制器的比例系数、积分时问和微分时间的大小

3、。PID控制器参数整 定的方法概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模 型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用, 还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验, 直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采 用。PID 一般算式及模拟控制规律如式(1)所示:w(z) = Kc(t)+ * e(t)dt + Td(1)式中:u(t)为控制器的输出;e(t)为偏差,即设定值与反馈值之差;KC为 控制器的放大系数,即比例增益;TI为控制器的积分常数;TD为控制器的微分 时间常数。PID算法的原理

4、即调节KC,TI,TD三个参数使系统达到稳定。由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制 量。因此在计算机控制系统中,必须首先对式(1)进行离散化处理,用数字形式 的差分方程代替连续系统的微分方程,此时积分项和微分项可用求和及增量式表 示:deCt) E(K) E(K1) = E(K) E(Q1)dt 一去TeU)山=工 E(j)4 = TE(j) (3) Joj=0j=0将式和式代入式,则可得到离散的PID表达式:T kP(K) = KpE(K)+4工 E(j)+1 I 7=0书E(K)E(K 1)(4)式中:At=T为采样周期,必须使T足够小,才能保证系统有一定的精度

5、(采 样定理);E(K)为第K次采样时的偏差值;E(K-1)为第K-1次采样时的偏差值; P(K)为第K次采样是调节器的输出。三硬件构成本系统由传感器采样输入、单片机控制、人机交互、控制信号输出四部分组成,其中 温度传感部分由测试采样电路实现,人机交互由矩阵键盘和LCD液晶屏构成,PID控制算 法由89C51单片机实现,控制信号输出部分则由功率放大和开关控制电路组成。系统框图 如图1所示。RP1RESPACK-8LCD1C130pU1I I19C2X1CRYS1nFR11k19XTAL1XTAL2RSTPSEN ALE EA2345678P1.0 P1.1P1.2P1.3P1.4P1.5P1

6、6P1.7AT89C51P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7P2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A1539383/3635343332石224.7k2/28VCC DQGND1J6DS18B20TO-131516P3.7/RD17P3.0/RXD P3.17TR P3.2/INT0 P3.3/INT1P3.47TOP3.57nP3 6/WR654TIP31OPTOCOUPLER-NPN 1kD11

7、0A05G2R-1E-DC120RL1Q2p1.0p1.2p1.3p1.1m 7 ; m 12 3E3712 3 4四主程序流程软件程序是本控制系统的核心,它包括从温度采样到信号输出的整个流程控制, 其示意图如下图所示.主程序流程图增量式 PID控制算法程序框图五程序部分实现这个系统的控制的程序部分主要由复位子程序,LCD显示子程序,温度输入子程序, PID控制子程序等组成。具体如下:#includevreg52.h#includevintrins.h#includevmath.h #includevstring.h struct PID unsigned int SetPoint; / 设定

8、目标 Desired Value unsigned int Proportion; / 比例常数 Proportional Const unsigned int Integral; / 积分常数 Integral Const unsigned int Derivative; / 微分常数 Derivative Const unsigned int LastError; / Error-1 unsigned int PrevError; / Error-2 unsigned int SumError; / Sums of Errors;struct PID spid; / PID Control

9、 Structure unsigned int rout ; / PIDponse (Output) unsigned int rin; / PID Feedback (Input) sbit data1=P1A0;sbit clk=PlAl; sbit plus=P2A0; sbit subs=P2A1;sbit stop=P2A2;sbit output=P3A0;sbit DQ=P2A2;unsigned char flag,flag_1=0;unsigned char high_time,low_time,count=O; 占空比调节参数unsigned char set_temper

10、=35;unsigned char temper;unsigned char i;unsigned char j=0;unsigned int s;延时子程序,延时时间以12M晶振为准,延时时间为30usXtimevoid delay(unsigned char time) unsigned char m,n;for(n=O;nvtime;n+) for(m=0;mv2;m+)写一位数据子程序/ Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx T

11、x Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx /void write_bit(unsigned char bitval)EA=0;DQ=0; /*拉低DQ以开始一个写时序*/if(bitval=1)_nop_();DQ=1; /*如要写1,则将总线置高*/ delay(5); /*延时 90us 供 DA18B20 采样*/DQ=1; /*释放DQ总线*/_nop_();_nop_();EA=1;/ Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx

12、 Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx写一字节数据子程序/ Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx T

13、x Tx Tx Tx Tx Tx Tx /void write_byte(unsigned char val)unsigned char i;unsigned char temp;EA=0;/*关中断*/TR0=0;for(i=0;iv8;i+) /*写一字节数据,一次写一位*/temp=vali; /*移位操作,将本次要写的位移到最低位*/temp=temp &1; write_bit(temp); /* 向总线写该位 */ delay(7); /*延时 120us 后*/ TR0=1;EA=1; /*开中断*/ Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx读一位数据子程序/ Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号