前言
本文讨论有关模糊PID相关的问题。模糊PID是一种将PID控制和模糊算法结合起来的控制算法,其实质上是将模糊算法用在了PID的参数整定上,以此来满足需要动态调整PID参数的系统的要求。
一、模糊PID控制优势
(1)传统的控制方法有时无法满足控制精度的要求,而且抗干扰的能力较弱,模糊控制可以有效克服上述问题;
(2)对于常规的PID控制而言,虽然较为简单易操作,但相关的参数是提前设定的不可改变,因此无法适应参数变化、干扰较多的控制系统,模糊PID结合了PID控制和模糊控制的优势,有较好的控制效果;
(3)PID控制器都要求精确的数学模型,若数学模型不精确,控制性能将会降低,而模糊PID能有效解决该问题;
二、PID控制原理
PID控制由三部分组成控制率,即比例项(P),积分项(I)和微分项(D),调节的参数也只有三个,即各个部分的系数:比例系数
K
P
K_{P}
KP,积分系数
K
I
K_{I}
KI和微分系数
K
D
K_D
KD,对PID控制进行参数整定是设计PID控制系统的核心问题,下面给出一个PID的控制实例:
从上图可以看出,PID控制系统主要由两个部分组成:PID控制器和被控对象 ,被控对象在仿真图中用传递函数体现。系统通过对期望值
r
(
t
)
r(t)
r(t)和实际输出
y
(
t
)
y(t)
y(t)的误差值
e
(
t
)
e(t)
e(t)分别进行比例、积分和微分的操作,最后求和便得到了控制率,传入传递函数进而对被控对象进行控制。
用公式表示误差为:
e
(
t
)
=
r
(
t
)
−
y
(
t
)
e(t)=r(t)-y(t)
e(t)=r(t)−y(t)控制输入的表达式为:
u
(
t
)
=
K
P
e
(
t
)
+
K
I
∫
e
(
t
)
d
t
+
K
D
d
e
(
t
)
d
t
u(t)=K_P e(t)+K_I\int e(t)dt+K_D\frac{de(t)}{dt}
u(t)=KPe(t)+KI∫e(t)dt+KDdtde(t)
2.1三个参数的功能
比例 K P K_P KP
严重影响响应速度。与调节力度成一个比例关系,若 K P K_P KP太小,调节效果就会较为缓慢,所用的时间也会更长;若 K P K_P KP太大,响应就会很快,但是相应产生的超调也会较大;
积分 K I K_I KI
有效克服静态误差,可以消除因为散热、阻力等各种造成的静态误差。
微分 K D K_D KD
用于克服振动,在只有 K P K_P KP和 K I K_I KI的作用下,被控对象的控制量会一直在期望值附近振动,微分项根据误差值的变化率进行控制,类似于阻尼作用,可以使被控物理量趋近于零。
三、模糊控制原理
很多时候被控对象精确的数学模型很难建立或无法建立。
模糊控制的基本原理:将人们的手动控制经验用语言加以描述,构成一系列条件语句,即控制规则,再利用模糊理论、模糊语言变量和模糊逻辑推理,将模糊的控制规则上升为数值运算,让计算机运用程序来实现规则,如此便可以利用计算机模拟人机型自动控制被控对象。
模糊控制包含三个步骤:模糊化、模糊逻辑推理和解模糊。其分别由模糊器、模糊推理机和解模糊器来完成。
四、模糊PID控制器实现
模糊PID是以偏差
e
(
t
)
e(t)
e(t)和偏差的导数
d
e
(
t
)
de(t)
de(t)作为输入,利用模糊规则对PID的参数进行在线调整,一般结构可以由下图表示:
(1)打开matlab,输入fuzzy命令,进入fuzzy设计工具箱
在edit里添加额外的一个输入和两个输出,同时对输入输出进行重命名,如图所示。
(2)设置输入输出范围,修改隶属度函数并定义函数名
各范围为:E:[-3 3];EC:[-3 3];KP:[-0.3 0.3];KI:[-0.05,0.05];KD:[-2,2]
均采用七个函数,两个输入采用trifm函数,三个输出采用gaussmf函数
(3)修改函数参数
形如:
(4)确定模糊规则表,添加模糊规则
模糊规则表为:
设置完成后保存为fis格式。
(5)搭建仿真程序导入fuzzy,运行文章来源:https://www.toymoban.com/news/detail-415043.html
仿真程序1:
搭建如下:
仿真结果为:
仿真程序2
搭建如下:
文章来源地址https://www.toymoban.com/news/detail-415043.html
到了这里,关于模糊PID控制器的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!