温度控制的PID算法及C程序实现_第1页
温度控制的PID算法及C程序实现_第2页
温度控制的PID算法及C程序实现_第3页
温度控制的PID算法及C程序实现_第4页
温度控制的PID算法及C程序实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、温度控制与PID算法温度控制与PID算法j较为复杂,下面结合实际浅显易懂的阐述一下PID控制理论,将温度控制及PID算法作一个简单的描述。1 .温度控制的框图油螃雕I这是一个典型的闭环控制系统,用于控制加热温区的温度(PV)保持在恒定的温度设定值(SV)。系统通过温度采集单元反馈回来的实时温度信号(PV)获取偏差值(EV),偏差值经过PID调节器运算输出,控制发热管的发热功率,以克服偏差,促使偏差趋近于零。例如,当某一时刻炉内过PCB板较多,带走的热量较多时,即导致温区温度下降,这时,通过反馈的调节作用,将使温度迅速回升。其调节过程如下:温度过程变量值(FVn嗜度偏差值PID调节脉冲输出吏度固

2、态继电器与发热管输出功率温区温度温度控制的功率输出采用脉宽调制的方法。固态继电器SSR的输出端为脉宽可调的电压Uout。当SSR的触发角触发时,电源电压Uan通过SSR的输出端加到发热管的两端;当SSR的触发角没有触发信号时,SSR关断。因此,发热管两端的平均电压为Ud=(t/T)*Uan=K*Uan其中K=t/T,为一个周期T中,SSR触发导通的比率,称为负载电压系数或是占空比,K的变化率在01之间。一般是周期T固定不便,调节t,当t在0T的范围内变化时,发热管的电压即在0Uan之间变化,这种调节方法称为定频调宽法。下面将要描述的PID调节器的算式在这里的实质即是运算求出一个实时变化的,能够

3、保证加热温区在外界干扰的情况下仍能保持温度在一个较小的范围内变化的合理的负载电压系数K。发热管L8KW简单的固态继也器加热电路脉宽调制电压输出示意图2 .温度控制的两个阶段温度控制系统是一个惯性较大的系统,也就是说,当给温区开始加热之后,并不能立即观察得到温区温度的明显上升;同样的,当关闭加热之后,温区的温度仍然有一定程度的上升。另外,热电偶对温度的检测,与实际的温区温度相比较,也存在一定的滞后效应。这给温度的控制带来了困难。因此,如果在温度检测值(PV)到达设定值时才关断输出,可能因温度的滞后效应而长时间超出设定值,需要较长时间才能回到设定值;如果在温度检测彳1(PV)未到设定值时即关断输出

4、,则可能因关断较早而导致温度难以达到设定值。为了合理地处理系统响应速度(即加热速度)与系统稳定性之间地矛盾,我们把温度控制分为两个阶段。Tempg)1) )PID调节前阶段在这个阶段,因为温区的温度距离设定彳1还很远,为了加快加热速度,SSR与发热管处于满负荷输出状态,只有当温度上升速度超过控制参数“加速速率”,SSR才关闭输出。“加速速率”描述的是温度在单位时间的跨度,反映的是温度升降的快慢,如上图所示。用“加速速率”限制温升过快,是为了降低温度进入PID调节区的惯性,避免首次到达温度设定值(SV)时超调过大。在这个阶段,要么占空比K=0,SSR关闭;要么占空比K=100%,SSR全速输出。

5、PID调节器不起作用,仅由“加速速率”控制温升快慢。2) )PID调节阶段在这个阶段,PID调节器调节输出,根据偏差值计算占空比(0100%),保证偏差(EV)趋近于零,即使系统受到外部干扰时,也能使系统回到平衡状态。3) PID算法PID控制的原理是基于下面的算式:输出M是比例项,积分项和微分项的函数。M(t)=Kc*e(t)+Ke(t)dt+e(t)/dt+输出一比例项+积分项+微分项+静态输出项(常数项)其中:M(t)PID回路的输出,是时间的函数KcPID回路的比例增益ePID回路的偏差(设定值(SV)与过程变量(PV)之差)MinitialPID回路的静态输出值为了能让数字计算机处理

6、这个算式,连续算式必须离散化为周期采样偏差算式,才能用来计算输出值。数字计算机处理的算式如下:M-3*0+K产璘输出=比例项+积分项+微分项+静态输出项(常数项)从这个公式可以看出,积分项是从第一个采样周期到当前采样周期所有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是当前采样的函数。在数字计算机中,不保存所有的误差项,其实也不必要。由于计算机从第一次采样开始,每有一个过程采样值必须计算一次车出值,只需要保存前一次过程值(PVn-1)和积分项前值。利用计算机处理的重复性,可以将以上算式变换为:SV-PVn)%*(P%-PV输出=比例项+积分项(K:*(SV-PVn)+MX)+in

7、itial微分项一静态输出项(常数项)其中:Mn在第n采样时刻,PID回路的输出计算值SVPID回路设定值PVn在第n采样时刻的过程变量值PVn-1在第n-1采样时刻的过程变量值MX积分前项值MintialPID回路的静态输出值KcPID回路的比例增益KI积分项的比例常数KI=Kc*Ts/TiTs是离散化时的采样时间间隔Ti是积分时间参数;KD微分项的比例常数KD=Kc*Td/TsTs是离散化时的采样时间间隔Td是微分时间参数;从上面PID的算式,可以分析三个基本参数Kc,KI,KD在实际控制中的作用:(1) 比例调节作用:比例项按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作

8、用用以减少偏差。比例作用大,可以加快调节,减少偏差。但是过大的比例调节,使系统的稳定性下降,甚至造成系统的不稳定。(2) 积分调节作用:积分项消除系统的稳态误差,提高无差度。只要有偏差,积分就进行,直到无偏差时,积分运算才停止,积分调节项输出一常数值。积分作用的强弱取决于积分时间常数Ti,Ti越小,积分作用越强。积分控制可提高系统的无差度,但积分项输出响应缓慢,使得系统调节时间增长。(3) 微分调节作用:微分项反映系统过程变量的变化率(PVn-1-PVn)/Ts),具有预见性,能预见变化的趋势,因此,能产生超前的调节作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能

9、。在微分时间参数Td选择合适的情况下,可以减少超调,减少调节时间。微分调节对干扰有放大效果,过强的微分调节,对系统抗干扰不利。此外,微分项反映的是过程变量的变化率,而当过程变量没有变化时,微分调节输出为零。微分调节不能单独使用,需要与另外两种调节规律相结合,组成PD或PID调节器。以上面的推导,C程序如下/*pid算法C源程序,还有实现pid自动调整。51用于控制温度26-100摄氏度。TIME:2011-07-2920:15:07*/#include<stdlib.h>#include"global_varible.h/*模块名:PID*描述:PID调节子程序* 采用P

10、ID-PD算法。在偏差绝对值大于e时,用PD算法,以改善动态品质。* 当偏差绝对值小于e时,用PID算法,提高稳定精度。* PIDout=kp*e(t)+ki*e(t)+e(t-1)+.+e(1)+kd*e(t)-e(t-1)*=* 入口:无* 出口:无* 改变:PID_T_Run=加热时间控制*voidPID_Math(void)(signedlongee1;/偏差一阶/signedlongee2;/偏差二阶signedlongd_out;/积分输出if(!Flag_PID_T_OK)return;Flag_PID_T_OK=0;Temp_Set=3700;/温度控制设定值37.00度PID

11、_e0=Temp_Set-Temp_Now;本次偏差ee1=PID_e0-PID_e1;/计算一阶偏差/ee2=PID_e0-2*PID_e1+PID_e2;计算二阶偏差一阶偏差的限制范围if(ee1>500)ee1=500;if(ee1<-500)ee1=-500;PID_e_SUM+=PID_e0;偏差之和积分最多累计的温差if(PID_e_SUM>200)PID_e_SUM=200;if(PID_e_SUM<-200)PID_e_SUM=-200;PID_Out=PID_kp*PID_e0+PID_kd*ee1;if(abs(PID_e0)<200)分输出计

12、算PID比例和微分输出/如果温度相差小于1.5度则计入PID积if(abs(PID_e0)>100)if(PID_e_SUM>100)PIDe/如果温度相差大于1度时积分累计限制SUM=100;if(PID_e_SUM<-100)PID_e_SUM=-100;)d_out=PID_ki*PID_e_SUM;if(PID_e0<-5)积分输出当前温度高于设定温度0.5度时积分累计限制if(PID_e_SUM>150)PID_e_SUM=150;if(PID_e_SUM>0)d_out>>=1;当前温度高于设定温度0.5度时削弱积分正输出)/PID比例,积分和微分输出PID_Out+=d_out;)elsePID_e_SUM=0;执八、PID_Out/=100;if(PID_Out>200)if(PID_Out<0)if(P

温馨提示

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

评论

0/150

提交评论