模糊PID控制器的实现

文章目录

  • 前言
  • 一、模糊PID控制优势
  • 二、PID控制原理
    • 2.1三个参数的功能
      • 比例 K P K_P KP
      • 积分 K I K_I KI
      • 微分 K D K_D KD
  • 三、模糊控制原理
  • 四、模糊PID控制器实现

前言

本文讨论有关模糊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控制器的实现_第1张图片
从上图可以看出,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)+KIe(t)dt+KDdtde(t)

2.1三个参数的功能

比例 K P K_P KP

严重影响响应速度。与调节力度成一个比例关系,若 K P K_P P太小,调节效果就会较为缓慢,所用的时间也会更长;若 K P K_P P太大,响应就会很快,但是相应产生的超调也会较大;

积分 K I K_I KI

有效克服静态误差,可以消除因为散热、阻力等各种造成的静态误差。

微分 K D K_D KD

用于克服振动,在只有 K P K_P KP K I K_I KI的作用下,被控对象的控制量会一直在期望值附近振动,微分项根据误差值的变化率进行控制,类似于阻尼作用,可以使被控物理量趋近于零。

三、模糊控制原理

很多时候被控对象精确的数学模型很难建立或无法建立。
模糊控制的基本原理:将人们的手动控制经验用语言加以描述,构成一系列条件语句,即控制规则,再利用模糊理论、模糊语言变量和模糊逻辑推理,将模糊的控制规则上升为数值运算,让计算机运用程序来实现规则,如此便可以利用计算机模拟人机型自动控制被控对象。
模糊控制包含三个步骤:模糊化、模糊逻辑推理和解模糊。其分别由模糊器、模糊推理机和解模糊器来完成。
模糊PID控制器的实现_第2张图片

四、模糊PID控制器实现

模糊PID是以偏差 e ( t ) e(t) e(t)和偏差的导数 d e ( t ) de(t) de(t)作为输入,利用模糊规则对PID的参数进行在线调整,一般结构可以由下图表示:
模糊PID控制器的实现_第3张图片(1)打开matlab,输入fuzzy命令,进入fuzzy设计工具箱
在edit里添加额外的一个输入和两个输出,同时对输入输出进行重命名,如图所示。
模糊PID控制器的实现_第4张图片
(2)设置输入输出范围,修改隶属度函数并定义函数名
各范围为:E:[-3 3];EC:[-3 3];KP:[-0.3 0.3];KI:[-0.05,0.05];KD:[-2,2]
均采用七个函数,两个输入采用trifm函数,三个输出采用gaussmf函数
模糊PID控制器的实现_第5张图片
(3)修改函数参数
形如:
模糊PID控制器的实现_第6张图片
(4)确定模糊规则表,添加模糊规则
模糊规则表为:
模糊PID控制器的实现_第7张图片
模糊PID控制器的实现_第8张图片
设置完成后保存为fis格式。
(5)搭建仿真程序导入fuzzy,运行

仿真程序1:
搭建如下:
模糊PID控制器的实现_第9张图片
仿真结果为:
模糊PID控制器的实现_第10张图片
仿真程序2
搭建如下:
模糊PID控制器的实现_第11张图片
模糊PID控制器的实现_第12张图片

你可能感兴趣的:(控制方法,SIMULINK仿真,模糊控制,算法)