回复:模糊自适应PID

蓝色的小尾巴

  • 帖子

    214
  • 精华

    5
  • 被关注

    12

论坛等级:侠士

注册时间:2010-07-21

普通 普通 如何晋级?

发布于 2010-12-13 11:29:28

8楼



注:大部分为摘入或加以修改。
模糊自适应PID 控制器是在常规PID控制器的基础上以偏差E和偏差变化率Ec 作为输入,利用模糊控制规则在线对Kp、Ki、Kd的修改,以满足不同时刻偏差E 和偏差变化率Ec 对PID参数自调整的要求。
模糊控制器是以e 和ec 为输入变量,Kp、Ki、Kd为输出语言变量的双输入三输出的模糊控制器。在运行中通过不断检测e 和ec,查询模
糊控制表得出三个参数Kp、Ki、Kd对P、I、D进行在线修改(得到Kp、Ki、Kd需去模糊化处理,一般采用重心法),以满足不同e 和ec 时对P、
I、D的不同要求,从而使被控对象具有良好的动、静态性能。
模糊控制表的规则:
(1)当e较大时,为使系统具有较好的跟踪性能,应取较大的Kp与较小的Kd,同时为避免系统响应出现较大的超调,应对积分作用加以限制,通
常取Ki=0。
(2)当e处于中等大小时,为使系统响应具有较小的超调,Kp应取得小些。在这种情况下,Kd的取值对系统响应的影响较大,Ki的取值要适当。
(3)当e较小时,为使系统具有较好的稳定性能,Kp与Ki均应取得大些,同时为避免系统在设定值附近出现振荡,Kd值的选择根据ec值较大时
,Kd取较小值,通常Kd为中等大小。
具体控制表制作方式:
另外主要还得根据系统本身的特性和你自己的经验来整定。
注:E是设定值与实际输入变量的差值,Ec是当前偏差与前一偏差值之差
P=KP+KP*(设定的原始值)
I=KI+KI*(设定的原始值)
D=KD+KD*(设定的原始值)
做为PID控制的参数

具体做法如下:
1,输入输出模糊化及隶属函数的建立
偏差e和偏差变化率ec作为模糊运算的输入量,Kp,Ki和Kd模糊运算的输出量。e 和ec 基本论域均设为(-0.6,0.6),输出量Kp,Ki和Kd的基本论域分别设为(-0.3,0.3), (-0.06,0.06)和(-3,3),都划分为7个等级,即(e,ec,Kp,Ki,Kd)={-3,-2,-1,0,1,2,3},对应其模糊集的语言变量均取7个,{NB,NM,NS,Z,PS,PM,PB},其含义依次为:负大,负中,负小,零,正小,正中,正大。各模糊子集均采用三角形作为隶属函数.
e 和ec量化因子为5,Kp比例因子0.1,Ki比例因子0.02,Kd比例因子1。
2,根据模糊规则得出模糊查询表
例如,Kp模糊规则

Kp EC

E NB NM NS Z PS PM PB

NB PB PB PM PM PS Z Z

NM PB PB PM PS PS Z NS

NS PM PM PM PS Z NS NS

Z PM PM PS Z NS NM NM

PS PS PS Z NS NS NM NM

PM PS Z NS NM NM NM NB

PB Z Z NM NM NM NB NB
则其模糊查询表就是将其符号用对应的子集参数代替。

3,查询表格及解模糊
运行中读取E和EC将其模糊化(乘以对应的量化因子),找出表格对应KP,Ki,Kd值,由于受隶属度不同,采用重心法计算最符合的KP,Ki,
Kd值,然后将此值乘以其对应比例因子,就得到我们所需的参数值了,将此值加上设定基准值,送入PID回路进行运算即可。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33258条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。