基于simulink的模糊PID控制例子

基于simulink的模糊PID控制例子

ID:47477704

大小:309.51 KB

页数:5页

时间:2020-01-11

基于simulink的模糊PID控制例子_第1页
基于simulink的模糊PID控制例子_第2页
基于simulink的模糊PID控制例子_第3页
基于simulink的模糊PID控制例子_第4页
基于simulink的模糊PID控制例子_第5页
资源描述:

《基于simulink的模糊PID控制例子》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1模糊PID用命令Fuzzy打开模糊控制工具箱。Anfisedit打开自适应神经模糊控制器,它用给定的输入输出数据建个一个模糊推理系统,并用一个反向传播或者与最小二乘法结合的来完成隶属函数的调节。Surfview(newfis)可以打开表面视图窗口8.1模糊PID串联型新建一个simulink模型同时拖入一个fuzzylogiccontroller模块,双击输入已经保存的fis模糊控制器的名字。由于这个控制模块只有一个输入端口,需要用到mux模块。模糊结合PID,当输出误差较大时,用模糊校正,当较小时,用PID校正

2、。8.2模糊自适应PID (1)PID参数模糊自整定的原则PID调节器的控制规律为:u(k)=Kpe(k)+KiΣe(i)+Kdec(k)其中:Kp为比例系数;Ki为积分系数;Kd为微分系数;e(k)、ec(k)分别为偏差和偏差变化率.模糊自整定PID参数的目的是使参数Kp、Ki、Kd随着e和ec的变化而自行调整,故应首先建立它们间的关系.根据实际经验,参数Kp、Ki、Kd在不同的e和ec下的自调整要满足如下调整原则:(1)当e较大时,为加快系统的响应速度,防止因开始时e的瞬间变大可能会引起的微分溢出,应取较大的K

3、p和较小的Kd,同时由于积分作用太强会使系统超调加大,因而要对积分作用加以限制,通常取较小的Ki值;(2)当e中等大小时,为减小系统的超调量,保证一定的响应速度,Kp应适当减小;同时Kd和Ki的取值大小要适中;(3)当e较小时,为了减小稳态误差,Kp与Ki应取得大些,为了避免输出响应在设定值附近振荡,同时考虑系统的抗干扰性能,Kd值的选择根据

4、ec

5、值较大时,Kd取较小值,通常Kd为中等大小。同时按照需要,将输入语言变量E和EC分为7个模糊子集,分别用语言值正大(PB)、正中(PM)、正小(PS)、零(Z)、负小(

6、NS)、负中(NM)、负大(NB)来表示,它们的隶属函数为高斯型(gaussmf),输出语言变量Kp′、Ki′、Kd′用语言值小正大(PB)、正中(PM)、正小(PS)、零(Z)、负小(NS)、负中(NM)、负大(NB)来表示隶属函数为三角型(trimf),方法二:图-1模糊自适应simulink模型根据各模糊子集的隶属度赋值表和各参数模糊控制模型,应用模糊合成推理设计分数阶PID参数的模糊矩阵表,算出参数代入下式计算:Kp=Kp0+(E,EC)p;Ki=Ki0+(E,EC)I;Kd=Kd0+(E,EC)d式中:K

7、p0、Ki0、Kd0为PID参数的初始设计值,由传统的PID控制器的参数整定方法设计。(E,EC)p、(E,EC)i、(E,EC)d即(ΔKp,ΔKi,ΔKd)为模糊控制器的3个输出,可根据被控对象的状态自动调整PID三个控制参数的取值。PID控制器部分例子:下面是一个例子工业控制常见例子二阶惯性加纯滞后环节,传递函数为,T1=1,T2=1,=0.3,模糊化因子,ke=kec=0.01;解模糊因子k1=0.5,k2=0.05,k3=0.05;PID初始值Kp0=6.5;Ki0=1;Kd0=3.5;设置采样频率为0.

8、01s。建立simulink系统模型如下。其中模糊控制器变量论域取[-66].同时按照需要,将输入语言变量E和EC分为7个模糊子集,分别用语言值正大(PB)、正中(PM)、正小(PS)、零(Z)、负小(NS)、负中(NM)、负大(NB)来表示。对于模糊控制规则按照上面的表选取。图5-绿色线为fuzzy_pid输出,红色线为常规PID输出四、量化因子Ke,Kec,Ku该如何确定?有个一般的公式:Ke=n/e(max),Kec=m/ec(max),Ku=u(max)/l。n,m,l分别为Ke,Kec,Ku的量化等级,一

9、般可取6或7。e(max),ec(max),u(max)分别为误差,误差变化率,控制输出的论域。不过通过我实际的调试,有时候这些公式并不好使。所以我一般都采用凑试法,根据你的经验,先确定Ku,这个直接关系着你的输出是发散的还是收敛的。再确定Ke,这个直接关系着输出的稳态误差响应。最后确定Kec,前面两个参数确定好了,这个应该也不会难了。五、在仿真的时候会出现刚开始仿真的时候时间进度很慢,从e-10次方等等开始,该怎么解决?这时候肯定会有许多人跳出来说是步长的问题,等你改完步长,能运行了,一看结果,惨不忍睹!我只能说

10、这个情况有可能是你的参数有错误,但如果各项参数是正确的前提下,你可以在方框图里面加饱和输出模块或者改变阶跃信号的sampletime,让不从0开始或者加个延迟模块或者加零阶保持器看看……六、仿真到一半的时候仿真不动了是什么原因?仿真图形很有可能发散了,加个零阶保持器,饱和输出模块看看效果。改变Ke,Kec,Ku的参数。七、仿真图形怎么反了?把Ku里面的参数改

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

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

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