基于MATLAB的模糊PID控制器的设计.docx

上传人:b****2 文档编号:23013495 上传时间:2023-04-30 格式:DOCX 页数:15 大小:96.68KB
下载 相关 举报
基于MATLAB的模糊PID控制器的设计.docx_第1页
第1页 / 共15页
基于MATLAB的模糊PID控制器的设计.docx_第2页
第2页 / 共15页
基于MATLAB的模糊PID控制器的设计.docx_第3页
第3页 / 共15页
基于MATLAB的模糊PID控制器的设计.docx_第4页
第4页 / 共15页
基于MATLAB的模糊PID控制器的设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于MATLAB的模糊PID控制器的设计.docx

《基于MATLAB的模糊PID控制器的设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的模糊PID控制器的设计.docx(15页珍藏版)》请在冰豆网上搜索。

基于MATLAB的模糊PID控制器的设计.docx

基于MATLAB的模糊PID控制器的设计

1课题背景、意义及发展现状

随着越来越多的新型自动控制应用于实践,其控制理论的发展也经历了经典控制理论、现代控制理论和智能控制理论三个阶段。

智能控制的典型实例是模糊全自动洗衣机。

自动控制系统可分为开环控制系统和闭环控制系统。

一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。

控制器的输出经过输出接口、执行机构加到被控系统上;控制系统的被控量,经过传感器、变送器通过输入接口送到控制器。

不同的控制系统,传感器、变送器、执行机构是不一样的。

比如压力控制系统要采用压力传感器;电加热控制系统要采用温度传感器[1]。

目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用。

比如,工业生产过程中,对于生产装置的温度、压力、流量、液位等工艺变量常常要求维持在一定的数值上,或按一定的规律变化,以满足生产工艺的要求[2]。

PID控制器可以根据PID控制原理对整个控制系统进行偏差调节,从而使被控变量的实际值与工艺要求的预定值一致。

PID(比例积分微分)控制具有结构简单、稳定性能好、可靠性高等优点,尤其适用于可建立精确数学模型的控制系统。

而对于一些多变量、非线性、时滞的系统,传统的PID控制器并不能达到预期的效果。

随着模糊数学的发展,模糊控制的思想逐渐得到控制工程师们的重视,各种模糊控制器也应运而生。

而单纯的模糊控制器有其自身的缺陷—控制效果很粗糙、控制精度无法达到预期标准。

但利用传统的PID控制器和模糊控制器结合形成的模糊自适应的PID控制器可以弥补其缺陷;它将系统对应的误差和误差变化率反馈给模糊控制器进而确定相关参数,保证系统工作在最佳状态,实现优良的控制效果[3]。

1.模糊PID控制器的设计

1.1模糊PID控制器的工作原理

模糊PID控制器是以操作人员手动控制经验总结出的控制规则为核心,通过辨识系统当前的运行状态;经过模糊推理,模糊判决,解模糊过程得到确定的控制量以实现对被控对象的在线控制。

模糊PID控制器是运用模糊数学的基本理论和方法,把控制规则的条件、操作用模糊集表示,并把这些模糊控制规则及有关专家的控制信息作为知识存入计算机知识库中[4],然后计算机根据控制系统实际响应状况,运用模糊控制规则表中的相关的规则进行模糊推理。

它能自动调整PID参数,实现对PID控制器参数的最优配备,从而让PID控制具有更强的适应性,优化了控制效果。

模糊PID控制器有多种结构和形式,但是其原理都是基本一致的。

1.2模糊PID控制器组织结构和算法的确定

模糊PID控制器的设计选用二维模糊控制器。

即,以给定值的偏差e和偏差变化ec为输入;ΔKP,ΔKD,ΔKI为输出的自适应模糊PID控制器,见图1-1。

图1-1自适应模糊PID控制器

其中PID控制器部分采用的是离散PID控制算法,如公式1-1。

(1-1)

1.3模糊控制器的基本结构与工作原理

模糊控制器有如下结构,图1-2呈现了其基本控制流程。

图1-2模糊控制器控制流程

为了了解模糊控制器的工作原理,图1-3列出其结构框图。

图1-3模糊控制器结构

显然,模糊控制器主要由模糊化接口、知识库、模糊推理机、解模糊接口四部分组成,通过单位负反馈来引入误差,并以此为输入量进行控制动作。

1.4模糊控制器各部分组成

1.4.1模糊化接口

模糊化接口接受的输入只有误差信号e(t),由e(t)再生成误差变化率或误差的差分Δe(t),模糊化接口主要完成以下两项功能:

⑴论域变换

⑵模糊化

1.4.2知识库

知识库中存储着有关模糊控制器的一切知识,它们决定着模糊控制器的性能,是模糊控制器的核心[5]。

⑴数据库(DataBase)

数据库中存储着有关模糊化、模糊推理、解模糊的一切知识,包括模糊化中的论域变换方法、输入变量各模糊集合的隶属度函数定义等,以及模糊推理算法、解模糊算法、输出变量各模糊集合的隶属度函数定义等。

⑵规则库(RuleBase)

模糊控制规则集,即以“if…then…”形式表示的模糊条件语句,如

R1:

Ife*isA1,thenu*isC1,

R2:

Ife*isA2,thenu*isC2,

其中,e*就是前面所说的模糊语言变量,A1,A2,…,An是et*的模糊子集,C1,C2,…,Cn是u*的模糊子集。

规则库中的n条规则是并列的,它们之间是“或”的逻辑关系,整个规则集合的总模糊关系为:

1.4.3模糊推理机

模糊控制应用的是广义前向推理。

即通过模糊规则对控制决策进行推断,以确定模糊输出子集。

1.4.4解模糊接口

⑴解模糊

⑵论域反变换

2、模糊推理方式

Mamdani模糊模型

Mamdani型的模糊推理方法最先将模糊集合的理论用于控制系统[7]。

它是在1975年为了控制蒸汽发动机提出来的。

其采用极小运算规则定义表达的模糊关系。

如R:

IfxisAthenyisB。

如式中:

x为输入语言变量;A为推理前件的模糊集合;y为输出语言变量;B模糊规则的后件。

用RC表示模糊关系,如公式2-1。

(2-1)

当x为

,且模糊关系的合成运算采用“极大—极小”运算时,模糊推理的结论计算如公式3-2所示。

(2-2)

3、模糊PID控制器模糊部分设计

3.1定义输入、输出模糊集并确定个数类别

依据模糊PID控制器的控制规律以及经典PID的控制方法[6],同时兼顾控制精度。

论文将输入的误差(e)和误差微分(ec)分为7个模糊集:

NB(负大),NM(负中),NS(负小),ZO(零),PS(正小),PM(正中),PB(正大)。

即,模糊子集为e,ec={NB,NM,NS,ZO,PS,PM,PB}。

将输出的ΔKP,ΔKD,ΔKI也分为7个模糊集:

NB(负大),NM(负中),NS(负小),ZO(零),PS(正小),PM(正中),PB(正大)。

即,模糊子集为ΔKP,ΔKD,ΔKI={NB,NM,NS,ZO,PS,PM,PB}。

3.2确定输入输出变量的实际论域

根据控制要求,对各个输入,输出变量作如下划定:

e,ec论域:

{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}

ΔKP,ΔKD,ΔKI论域:

{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}

应用模糊合成推理PID参数的整定算法。

第k个采样时间的整定为

式中

为经典PID控制器的初始参数。

为了便于系统输入,输出参数映射到论域内。

根据实验和相关文献,确定模糊化因子为:

ke=kec=0.01;解模糊因子为:

K1=0.5,K2=K3=0.01。

3.3定义输入、输出的隶属函数

误差e、误差微分及控制量的模糊集和论域确定后,需对模糊变量确定隶属函数。

即对模糊变量赋值,确定论域内元素对模糊变量的隶属度。

参考输入、输出变量的变化规律,通过实验、试凑。

最终作如下规定:

对于输入量误差(e),误差微分(ec)都采用高斯型的隶属函数(gaussmf),同时为体现定义的7个模糊子集,见图3-1和图3-2。

图3-1偏差隶属函数图3-2偏差微分隶属函数

对于输出量KP变化量(ΔKP),KD变化量(ΔKD),KI变化量(ΔKI)采用三角形隶属函数(trimf),同时为体现定义的7个模糊子集,见图3-3,3-4,3-5。

图3-3KP变化量隶属函数

图3-4KD变化量隶属函数

图3-5KI变化量隶属函数

3.4确定相关模糊规则并建立模糊控制规则表

根据参数KP、KI、KD对系统输出特性的影响情况,可以归纳出系统在被控过程中对于不同的偏差和偏差变化率参数KP、KI、KD的自整定原则[7]:

⑴当偏差较大时,为了加快系统的响应速度,并防止开始时偏差的瞬间变大可能引起的微分过饱和而使控制作用超出许可范围,应取较大的KP和较小的KD。

另外为防止积分饱和,避免系统响应较大的超调,KI值要小,一般取KI=0。

⑵当偏差和变化率为中等大小时,为了使系统响应的超调量减小和保证一定的响应速度,KP应取小些。

在这种情况下KD的取值对系统影响很大,应取小一些,KI的取值要适当。

⑶当偏差变化较小时,为了使系统具有较好的稳态性能,应增大KP、KI值,同时为避免输出响应在设定值附近振荡,以及考虑系统的抗干扰能力,应适当选取KD。

原则是:

当偏差变化率较小时,KD取大一些;当偏差变化率较大时,KD取较小的值,通常为中等大小。

参考以上自整定原则,总结工程设计人员的技术知识和实际操作经验,建立合适的关于e、ec、ΔKP、ΔKD、ΔKI的模糊规则,如:

1.If(eisNB)and(ecisNB)then(KPisPB)(KIisNB)(KDisPS)

2.If(eisNB)and(ecisNM)then(KPisPB)(KIisNB)(KDisNS)

3.If(eisNB)and(ecisNS)then(KPisPM)(KIisNM)(KDisNB)

......

49.If(eisPB)and(ecisPB)then(KPisNB)(KIisPB)(KDisPB)

将以上规则定义成模糊规则控制表,见表3-1,3-2,3-3。

表3-1ΔKP模糊规则表

ec

ΔKP

e

NB

NM

NS

ZO

PS

PM

PB

NB

NM

NS

ZO

PS

PM

PB

PB

PB

PM

PM

PS

PS

ZO

PB

PB

PM

PM

PS

ZO

ZO

PM

PM

PM

PS

ZO

NS

NM

PM

PS

PS

ZO

NS

NM

NM

PS

PS

ZO

NS

NS

NM

NM

ZO

ZO

NS

NM

NM

NM

NB

ZO

NS

NS

NM

NM

NB

NB

表3-2ΔKI模糊规则表

ec

ΔKI

e

NB

NM

NS

ZO

PS

PM

PB

NB

NM

NS

ZO

PS

PM

PB

NB

NB

NB

NM

NM

ZO

ZO

NB

NB

NM

NM

NS

ZO

ZO

NM

NM

NS

NS

ZO

PS

PS

NM

NS

NS

ZO

PS

PS

PM

NS

NS

ZO

PS

PS

PM

PM

ZO

ZO

PS

PM

PM

PB

PB

ZO

ZO

PS

PM

PB

PB

PB

表3-3ΔKD模糊规则表

ec

ΔKD

e

NB

NM

NS

ZO

PS

PM

PB

NB

NM

NS

ZO

PS

PM

PB

PS

PS

ZO

ZO

ZO

PB

PB

NS

NS

NS

NS

ZO

NS

PM

NB

NB

NM

NS

ZO

PS

PM

NB

NM

NM

NS

ZO

PS

PM

NB

NM

NS

NS

ZO

PS

PS

NM

NS

NS

NS

ZO

PS

PS

PS

ZO

ZO

ZO

ZO

PB

PB

3.5模糊推理

⑴选择模糊推理方法

权衡PID控制自身的诸多特点。

例如,它的控制规则形式符合人们的思维和语言表达的习惯,控制策略能够方便地表达,控制算法简单等。

⑵规则匹配和触发

给定输入的误差和误差微分后,分别代入隶属函数中,并求出关于所建立七个模糊子集的隶属度,统计输入的误差和误差微分隶属度不为零的模糊子集对数,依照模糊控制规则表,查得并统计输出对应的模糊子集。

⑶规则前提推理

在同一条规则内,前提之间通过“与”的关系得到规则结论。

对前提的可信度之间通过取小运算来确定,之后统计出规则总的可信度。

⑷模糊系统总的输出

模糊系统总的可信度为各条规则可信度推理的并集。

通过统计,可以得到被触发的若干条规则。

⑸解模糊

4.对模糊控制器的SIMULINK建模

MATLAB提供的SIMULINK是一个用来对动态系统进行建模,仿真与分析的软件包[8]。

它功能强大,使用简单,支持连续,离散和二者混合的系统,同时还可用于线性系统和非线性系统的分析。

SIMULINK包含多个子模型库,每个子模型库里又包含多个功能模块。

利用这些资源直接进行系统仿真,最后用模拟示波器将仿真动态结果予以显示。

4.1将模糊系统载入SIMULINK

SIMULINK可以与模糊逻辑工具箱结合。

在MATLAB中建立一个M文件,命名为“graduate2.m”,其内容为:

matrix=readfis(‘graduate1.fis’),这样就完成了模糊逻辑组件和SIMULINK相关模块的连接。

4.2在SIMULINK中建立模糊子系统

在MATLAB的命令窗口里键入“SIMULINK”可建立一个新的SIMULINK仿真模型。

打开的SIMULINK库中选择“FuzzyLogicToolbox”项,将选项“FuzzyLogicController”拖到SIMULINK仿真系统中。

确定模糊化因子为:

ke=kec=0.01;解模糊因子为:

K1=0.5,K2=K3=0.01[9]。

建立如下模型,并将其封装成子系统。

见图4-1。

图4-1模糊控制器

4.3PID部分的SIMULINK建模

首先,在MATLAB提示符下键入下“SIMULINK”,启动SIMULINK模块。

由于在Matlab7的版本中,PID控制器有独立的SIMULINK模块,它的KP、KD、KI可直接设置。

建立“五入单出”的PID控制器。

见图4-2[10]。

图4-2五输入PID控制器

4.4模糊PID控制器的SIMULINK建模

完成各个部分的SIMULINK仿真后。

依据模糊PID控制器原理,利用刚刚封装的子系统进行模糊PID控制器的仿真。

为了预置初始参数,利用SIMULINK中“CommonlyUsedBlocks”下的“Constant模块”和“Sum模块”。

如针对被控对象

,把经典PID控制器的预置参数KP=20,KD=3.7,KI=1.35设置给“Constant模块”,将模糊控制器的输出控制信号ΔKP、ΔKI、ΔKD与预置参数加和一起送到经典PID控制器,并在输出的PID参数位置分别加入SIMULINK中“Sinks”下的“Scope模块”,用来观察模糊PID控制器的在线参数整定的情况。

依照以上要求,建立如图4-3模型。

图4-3模糊PID控制器

4.5利用子系统对控制系统进行SIMULINK建模

先将各个部分封装成子系统,再把控制器与被控对象进行连接,设定单位负反馈回路以形成闭环系统。

举例:

选择单位阶跃信号为系统输入;被控对象为

;控制系统分三个支路进行输出[11]:

1.单位阶跃信号直接作为系统输出

2.模糊PID控制系统输出

3.经典PID控制系统输出

论文采用同一个示波器同时显示经典PID控制器、模糊PID控制器的系统输出图像和输入信号的方式来显示输出波形,建立如图4-4的控制系统模型。

图4-4控制系统SIMULINK模型

而通过仿真可知,模糊控制器的控制输出反应灵敏,动作迅速,可靠性比较高。

模糊PID控制器具有优良的控制效果。

参考文献

[1]王蕾,宋文忠.PID控制[J].东南大学自动化所,南京,210096

[2]刘建昌等.计算机控制系统[M].北京:

科学出版社,2009.8

[3]廉小亲.模糊控制技术[M].北京:

中国电力出版社,2003

[4]李士勇.模糊控制、神经控制和智能控制论[M].哈尔滨:

哈尔滨工业大学出版社,1998

[5]LuckR,RayA.Experimentalverificationofadelaycompensationalgorithmforintegratedcommunicationandcontrolsystems[J].InternationalJournalofControl,1994,59(6):

1357-1372.

[6]王建辉,顾树生.自动控制原理[M].北京:

清华大学出版社,2007.4

[7]刘伯春.智能PID调节器的设计及其应用[J].电气自动化,1995.3

[8]赵永娟,孙华东.基于Matlab的模糊PID控制器的设计和仿真[J].中北大学硕士学位论文,2005

[9]闻新.MATLAB模糊逻辑工具箱的分析与应用[M].北京:

科学出版社,2001

[10]L.A.Zadeh.FuzzySets[J].Informationandcontrol,1965.8

[11]欧阳黎明.MATLAB控制系统设计[M].北京:

国防工业出版社,2001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1