温度的pid控制及程序示例

温度的pid控制及程序示例

ID:33757669

大小:48.50 KB

页数:9页

时间:2019-02-28

温度的pid控制及程序示例_第1页
温度的pid控制及程序示例_第2页
温度的pid控制及程序示例_第3页
温度的pid控制及程序示例_第4页
温度的pid控制及程序示例_第5页
资源描述:

《温度的pid控制及程序示例》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、温度的PID控制一.温度检测部分首先要OK.二、PID调节作用PID控制时域的公式分解开来:(1)比例调节器y(t)=Kp*e(t)e(k)为当前的温差(设定值与检测值的插值)y(k)为当前输出的控制信号(需要转化为PWM形式)#输出与输入偏差成正比。只要偏差出现,就能及时地产生与之成比例的调节作用,使被控量朝着减小偏差的方向变化,具有调节及时的特点。但是,Kp过大会导致动态品质变坏,甚至使系统不稳定。比例调节器的特性曲线.(2)积分调节器y(t)=Ki*∫(e(t))dtKi=Kp/TiTi为积分时间#TI是积分时间常数,它表示积分速度的大小,Ti越大,积分速

2、度越慢,积分作用越弱。只要偏差不为零就会产生对应的控制量并依此影响被控量。增大Ti会减小积分作用,即减慢消除静差的过程,减小超调,提高稳定性。(3)微分调节器y(t)=Kd*d(e(t))/dtKd=Kp*TdTd为微分时间#微分分量对偏差的任何变化都会产生控制作用,以调整系统输出,阻止偏差变化。偏差变化越快,则产生的阻止作用越大。从分析看出,微分作用的特点是:加入微分调节将有助于减小超调量,克服震荡,使系统趋于稳定。他加快了系统的动作速度,减小调整的时间,从而改善了系统的动态性能。三.PID算法:由时域的公式离散化后可得如下公式:y(k)=y(k-1)+(Kp

3、+Ki+Kd)*e(k)-(Kp+2*Kd)*e(k-1)+Kd*e(k-2)y(k)为当前输出的控制信号(需要转化为PWM形式)y(k-1)为前一次输出的控制信号e(k)为当前的温差(设定值与检测值的插值)e(k-1)为一次前的温差e(k-2)为二次前的温差Kp为比例系数Ki=Kp*T/TiT为采样周期Kd=Kp*Td/T四.PID参数整定(确定Kp,Ts,Ti,Td):温度控制适合衰减曲线法,需要根据多次采样的数据画出响应曲线。所以需要通过串口将采样时间t,输出y(t)记录下来,方便分析。1)、不加入算法,系统全速加热,从常温加热到较高的温度的时间为Tk,则

4、采样时间一般设为T=Tk/10。2)、置调节器积分时间TI=∞,微分时间TD=0,即只加比例算法:y(k)=y(k-1)+Kp*e(k)比例带δ置于较大的值。将系统投入运行。(δ=1/Kp)3)、待系统工作稳定后,对设定值作阶跃扰动,然后观察系统的响应。若响应振荡衰减太快,就减小比例带;反之,则增大比例带。如此反复,直到出现如图所示的衰减比为4:1的振荡过程时,记录此时的δ值(设为δS),以及TS的值(如图中所示)。当采用衰减比为10:1振荡过程时,应用上升时间Tr替代振荡周期TS计算。系统衰减振荡曲线图中,TS为衰减振荡周期,Tr为响应上升时间。据表中所给的经

5、验公式计算δ、TI及TD的参数。表衰减曲线法整定计算公式衰减率ψ整定参数调节规律δ(1/Kp)TITD0.75PδSPI1.2δS0.5TSPID0.8δS0.3TS0.1TS0.9PδSPI1.2δS2TrPID0.8δS1.2Tr0.4Tr大致计算出Kp,Ti,Td后代入公式,然后完善算法。让系统运作多测试几次。直到满意为止。以下是网上找的一个示例程序#include#include#defineN040536#definenop()_nop_()#defineucharunsignedchar#defineuintu

6、nsignedint/*程序中变量数组定义*/ucharidatatable[]={"Real-timeTemp:"};//第一行显示"Real-timeTemp:"ucharidatatable1[5];uchardata1,kp,ki,kd;uintt,hightime,count;//占空比调节参数uintrltemp,settemp=350;inte1,e2,e3,duk,uk;/*引脚定义*/sbitEOC=P2^6;sbitOE=P2^5;sbitSTART=P2^7;sbitlcden=P3^2;sbitlcdrw=P3^1;sbitlcdrs=P

7、3^0;sbitpwm=P3^3;/******************************延时子程序*******************************/voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=29;y>0;y--);}/******************************LCD忙检测*******************************/bitlcd_busy(){bitresult;lcdrw=1;lcdrs=0;lcden=1;nop();nop();nop();nop(

8、);result=(bi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。