恒压供水模糊自适应PID控制器的设计_仿真
- 格式:pdf
- 大小:726.59 KB
- 文档页数:6
恒压供水控制系统自适应模糊PID控制器设计及仿真作者:田红彬刘阳来源:《消费电子·理论版》2013年第03期摘要:恒压供水系统中控制系统复杂多变,控制参数测定不精确;本文提出了把PID控制与自适应模糊控制结合在一起的一种自适应模糊PID控制器应用恒压供水系统中,借助于PID参数的在线模糊自整定,实时修改PID参数,通过Matlab仿真实验发现该控制系统的响应速度加快,超调量减小,过渡过程时间大大缩短,振荡次数少,系统在运行过程中始终处于优化状态。
自适应模糊PID控制器在恒压供水系统中的应用既可以提高系统控制性能,又能最大限度地节约供水系统能源。
关键词:自适应模糊控制;PID控制;恒压供水;系统仿真中图分类号:TP273.4 文献标识码:A 文章编号:1674-7712 (2013) 06-0049-02一、引言随着人们生活品质的提高,人们对生活饮用水的要求也在不断地提高,恒压供水系统在多层及高层住宅用水和消防供水中得到了越来越广泛地应用。
现代的恒压供水系统中主要由水泵、变频器及调节环节构成,整个控制系统控制复杂多变,控制参数一般不能精确测定。
水泵作为一种典型的非线性负载,在运行的过程中其旋转的速度与给定的信号之间具有滞后、惯性较大的特点。
如果采用常规的PID控制,在系统运行过程中因不能可靠地调整PID参数而无法实现管道压力精确恒定控制,而且响应速度比较慢。
而模糊控制对数学模型的依赖性较弱,不需要建立过程的精确模型,它可以把人们的经验转化为控制策略,对时变的、非线性的、滞后的、高阶的大惯性的被控制对象,能获得良好的动态特性。
基于以上原因,本文提出了模糊控制系统与传统的PID控制相结合,设计了一种自适应模糊PID控制器,借助于PID参数的在线模糊自整定,实时修改PID参数,确保系统在运过程中始终处于优化状态,既提高了系统控制性能,又能最大限度地节约供水系统能源。
二、自适应模糊PID的概念根据PID控制器的Kp、Ki、Kd的三个参数与偏差e和偏差的变化率ec之间的模糊关系,在运行时不断检测e及ec,通过事先确定的关系,利用模糊推理的方法,在线自动修改控制器PID参数。
恒压供水模糊自适应PID控制器的设计、仿真作者:黄祥源来源:《计算技术与自动化》2011年第03期摘要:对遗传算法和传统PID控制作简要的介绍,针对工程整定方法整定的初始值超调量较大,调节时间较长的问题,利用遗传算法对其初值进行整定。
利用遗传算法整定出的一组性能较优良的PID初值,结合模糊控制的思想,利用专家系统直接建立模糊规则,进行模糊自适应PID控制器的初步设计,并对恒压供水系统进行仿真,仿真结果满足设计要求。
关键词:模糊控制;PID控制器;恒压供水;Matlab中图分类号: TP312 文献标识码:A1 引言目前恒压供水技术在农业、工业和民用供水系统中已广泛使用,由于系统的负荷变化的不确定性,采用传统的PID算法实现压力控制的动态特性指标很难收到理想的效果。
在大多数恒压供水系统中采用传统意义的PID调节器,系统的动态特性指标总是不稳定,通过实际应用中的对比发现应用模糊控制理论形成的控制方案在恒压供水系统中有较好的效果。
本方案在常规PID控制器基础上引入模糊控制器,实现被控制对象参数变化在一定范围内模糊PID控制,使恒压供水系统动态静态性能指标保持最优。
2 模糊控制的结构与原理模糊控制系统是以模糊集理论,模糊语言变量和模糊逻辑推理为理论基础,采用计算机控制技术构成的一种具有闭环结构的数字控制系统,它从行为上模仿人的模糊推理和决策过程,它的组成核心是具有智能性的模糊控制器[1]。
模糊逻辑控制的实质是利用模糊逻辑建立一种“自由模型”的非线性控制算法,在那些采用传统定量技术分析过程过于复杂的过程,或者提供的信息是定性的、非精确的、非确定的系统中,其控制效果是相当明显的。
模糊控制的基本原理框图如图1所示[3]。
它的核心部分为模糊控制器,如图1中点划线框中所示,模糊控制器的控制规律由计算机的程序实现。
实现一步模糊控制算法的过程描述如下:微机经中断采样获取被控制量的精确值,然后将此量与给定值比较得到误差信号E,一般选误差信号作为模糊控制器的一个输入量。
自适应模糊PID控制器的设计与仿真自适应模糊PID控制器是一种结合了模糊控制和PID控制的自适应控制器,它能够在系统的不同工况下根据实际需求对PID参数进行自适应调整,从而使得系统具有更好的动态性能和稳定性。
本文将介绍自适应模糊PID控制器的设计思路和仿真过程。
1.设计思路1.1系统建模首先需要对待控制的系统进行建模,得到系统的数学模型。
这可以通过实验数据或者理论分析来完成。
一般情况下,系统的数学模型可以表示为:$G(s)=\frac{Y(s)}{U(s)}=\frac{K}{s(Ts+1)}$其中,K是系统的增益,T是系统的时间常数。
1.2设计模糊控制器接下来需要设计模糊控制器,包括模糊规则、模糊集和模糊运算等。
模糊控制器的输入是系统的误差和误差的变化率,输出是PID参数的调整量。
1.3设计PID控制器在模糊控制器的基础上,设计PID控制器。
PID控制器的输入是模糊控制器的输出,输出是控制信号。
1.4设计自适应机制引入自适应机制,根据系统的性能指标对PID参数进行自适应调整。
一般可以采用Lyapunov函数进行系统性能的分析和优化。
2.仿真过程在仿真中,可以使用常见的控制系统仿真软件,如MATLAB/Simulink 等。
具体的仿真过程如下:2.1设置仿真模型根据系统的数学模型,在仿真软件中设置仿真模型。
包括系统的输入、输出、误差计算、控制信号计算等。
2.2设置模糊控制器根据设计思路中的模糊控制器设计,设置模糊控制器的输入和输出,并设置模糊规则、模糊集和模糊运算等参数。
2.3设置PID控制器在模糊控制器的基础上,设置PID控制器的输入和输出,并设置PID参数的初始值。
2.4设置自适应机制设置自适应机制,根据系统的性能指标进行PID参数的自适应调整。
2.5运行仿真运行仿真,观察系统的响应特性和PID参数的变化情况。
根据仿真结果可以对设计进行调整和优化。
3.结果分析根据仿真结果,可以分析系统的稳定性、动态性能和鲁棒性等指标,并对设计进行调整和改进。
模糊PID控制器的设计与仿真设计模糊PID控制器时,首先要将精确量转换为模糊量,并且要把转换后的模糊量映射到模糊控制论域当中,这个过程就是精确量模糊化的过程。
模糊化的主要功能就是将输入量精确值转换成为一个模糊变量的值,最终形成一个模糊集合。
本次设计系统的精确量包括以下变量:变化量e ,变化量的变化速率ec 还有参数整定过程中的输出量ΔK P,ΔK D,ΔK I,在设计模糊PID 的过程中,需要将这些精确量转换成为模糊论域上的模糊值。
本系统的误差与误差变化率的模糊论域与基本论域为:E=[-6,-4,-2,0,2,4,6];Ec=[-6,-4,-2,0,2,4,6]。
模糊PID控制器的设计选用二维模糊控制器。
以给定值的偏差e和偏差变化ec为输入;ΔK P,ΔK D,ΔK I为输出的自适应模糊PID控制器,见图1。
图1模糊PID控制器(1)模糊变量选取输入变量E和EC的模糊化将一定范围(基本论域)的输入变量映射到离散区间(论域)需要先验知识来确定输入变量的范围。
就本系统而言,设置语言变量取七个,分别为NB,NM,NS,ZO,PS,PM,PB。
(2)语言变量及隶属函数根据控制要求,对各个输入,输出变量作如下划定:e ,ec 论域:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}ΔK P ,ΔK D ,ΔK I 论域:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}应用模糊合成推理PID 参数的整定算法。
第k 个采样时间的整定为).()(,)()(,)()(000k K K k K k K K k K k K K k K D D D I I I P P P ∆+=∆+=∆+=式中000,,D I P K K K 为经典PID 控制器的初始参数。
设置输入变量隶属度函数如图2所示,输出变量隶属度函数如图3所示。
图2 输入变量隶属度函图3 输出变量隶属度函(3)编辑模糊规则库根据以上各输出参数的模糊规则表,可以归纳出49条控制逻辑规则,具体的控制规则如下所示:1.If (e is NB) and (ec is NB) then (kp is NB)(ki is PB)(kd is NS)(1)2.If (e is NB) and (ec is NM) then (kp is NB)(ki is PB)(kd is PS)(1)3.If (e is NB) and (ec is NS) then (kp is NM)(ki is PM)(kd is PB)(1)4.If (e is NB) and (ec is ZO) then (kp is NM)(ki is PM)(kd is PB)(1)5.If (e is NB) and (ec is PS) then (kp is NS)(ki is PS)(kd is PB)(1)6.If (e is NB) and (ec is PM) then (kp is ZO)(ki is ZO)(kd is PM)(1)7.If (e is NB) and (ec is PB) then (kp is ZO)(ki is ZO)(kd is NS)(1)8.If (e is NM) and (ec is NB) then (kp is NB)(ki is PB)(kd is NS)(1)9.If (e is NM) and (ec is NM) then (kp is NB)(ki is PB)(kd is PS)(1)11.I f (e is NM) and (ec is ZO) then (kp is NS)(ki is PS)(kd is PM)(1)12.I f (e is NM) and (ec is PS) then (kp is NS)(ki is PS)(kd is PM)(1)13.I f (e is NM) and (ec is PM) then (kp is ZO)(ki is ZO)(kd is PS)(1)14.I f (e is NM) and (ec is PB) then (kp is PS)(ki is ZO)(kd is ZO)(1)15.I f (e is NS) and (ec is NB) then (kp is NM)(ki is PB)(kd is ZO)(1)16.I f (e is NS) and (ec is NM) then (kp is NM)(ki is PM)(kd is PS)(1)17.I f (e is NS) and (ec is NS) then (kp is NM)(ki is PS)(kd is PM)(1)18.I f (e is NS) and (ec is ZO) then (kp is NS)(ki is PS)(kd is PM)(1)19.I f (e is NS) and (ec is PS) then (kp is ZO)(ki is ZO)(kd is PS)(1)20.I f (e is NS) and (ec is PM) then (kp is PS)(ki is NS)(kd is PS)(1)21.I f (e is NS) and (ec is PB) then (kp is PS)(ki is NS)(kd is ZO)(1)22.I f (e is ZO) and (ec is NB) then (kp is NM)(ki is PM)(kd is ZO)(1)23.I f (e is ZO) and (ec is NM) then (kp is NM)(ki is PM)(kd is PS)(1)24.I f (e is ZO) and (ec is NS) then (kp is NS)(ki is PS)(kd is PS)(1)25.I f (e is ZO) and (ec is ZO) then (kp is ZO)(ki is ZO)(kd is PS)(1)26.I f (e is ZO) and (ec is PS) then (kp is PS)(ki is NS)(kd is PS)(1)27.I f (e is ZO) and (ec is PM) then (kp is PM)(ki is NM)(kd is PS)(1)28.I f (e is ZO) and (ec is PB) then (kp is PM)(ki is NM)(kd is ZO)(1)29.I f (e is PS) and (ec is NB) then (kp is NS)(ki is PM)(kd is ZO)(1)30.I f (e is PS) and (ec is NM) then (kp is NS)(ki is PS)(kd is ZO)(1)31.I f (e is PS) and (ec is NS) then (kp is ZO)(ki is ZO)(kd is ZO)(1)32.I f (e is PS) and (ec is ZO) then (kp is PS)(ki is NS)(kd is ZO)(1)33.I f (e is PS) and (ec is PS) then (kp is PS)(ki is NS)(kd is ZO)(1)34.I f (e is PS) and (ec is PM) then (kp is PM)(ki is NM)(kd is ZO)(1)36.I f (e is PM) and (ec is NB) then (kp is NS)(ki is ZO)(kd is NB)(1)37.I f (e is PM) and (ec is NM) then (kp is ZO)(ki is ZO)(kd is PS)(1)38.I f (e is PM) and (ec is NS) then (kp is PS)(ki is NS)(kd is NS)(1)39.I f (e is PM) and (ec is ZO) then (kp is PM)(ki is NS)(kd is NS)(1)40.I f (e is PM) and (ec is PS) then (kp is PM)(ki is NM)(kd is NS)(1)41.I f (e is PM) and (ec is PM) then (kp is PM)(ki is NB)(kd is NS)(1)42.I f (e is PM) and (ec is PB) then (kp is PB)(ki is NB)(kd is NB)(1)43.I f (e is PB) and (ec is NB) then (kp is ZO)(ki is ZO)(kd is NB)(1)44.I f (e is PB) and (ec is NM) then (kp is ZO)(ki is ZO)(kd is NM)(1)45.I f (e is PB) and (ec is NS) then (kp is PM)(ki is NS)(kd is NM)(1)46.I f (e is PB) and (ec is ZO) then (kp is PM)(ki is NM)(kd is NM)(1)47.I f (e is PB) and (ec is PS) then (kp is PM)(ki is NM)(kd is NS)(1)48.I f (e is PB) and (ec is PM) then (kp is PB)(ki is NB)(kd is NS)(1)49.I f (e is PB) and (ec is PB) then (kp is PB)(ki is NB)(kd is NB)(1) 把这49条控制逻辑规则,键入到模糊规则库中,如图4。
·98·(总第33—1008)火力与指挥控制2008年第7期隶属函数图形如图4所示。
打开RulerEditor窗口,以If…then的形式输入模糊控制规则,与方式(Andmethod)为min;或方式(0rmethod)为max;推理(Implication)为min;合成(Aggregation)为max;去模糊(Defuzzification)为重心平均法(centroid)。
这样就建立了一个FIS文件,取名为Fuzzypid.fis。
在MATLAB的M文件编辑器里建立一个名为fpid.m的文件,其内容为:martrix=readfis(‘Fuzzypid.fis’);这样就完成了模糊工具箱与SIMULINK的链接,为整个系统的建立打下基础。
打开曲面观测窗口(Surface),可以查看△KP、△K,和△KD分别在论域上的输出曲面如图5所示。
裹l△KP、△足,、△KD的控制规则图4E、EC、K,、K。
和Kd的隶属函数图S△KP、△KJ和△KD分别在论域上的输出曲面计系统的仿真框图,如图9所示。
其中,模糊控制器及其封装仿真模型如图6所示,ke、kec为模糊化因子,K1、K2、K3为解模糊因子。
PID控制器及其封装仿真模型如图7所示,kpo、kio、kdo为其初始值。
把模糊控制器和PID控制器封装在一起,组成Fuzzy—PID控制器,如图8所示。
图6模糊控制器及其封装图7PID控制器及其封装臼b口圈8模糊自适应PID控制器及其封装2模糊PID控制系统应用及其仿真2.2仿真昙羹模糊Ⅳ。
控制系统仿真框图2.1建立系统结构仿真框图由于许多工业过程的对象特性可用二阶惯性环在MATLAB的Simulink环境下根据图1设节加纯滞后来表示,所以本文选择的仿真对象数学殷云华,等:自适应模糊PlD控制器的设计和仿真(总第33—1009)·99·模型传递函数G(s)一讨孓干吾南,丁,=2,[73T。
万方数据2006年第2期·控制与检测·糊自整定PID控制器如图1所示。
模糊自整定PID是在PID算法的基础上通过计算当前系统误差e和误差变化率ec,利用模糊规则进行模糊推理,再查询模糊矩阵表进行参数调整。
其设计核心是总结工程设计人员的技术知识和实际操作经验,建立合适的模糊规则表。
我们按如下方法进行了k。
、k。
、k。
三个参数的自适应校正:(1)确定输入变量,并将其模糊化通过实测值与理想值比较求出误差值e及误差变化率ec作为输入变量,定义e、ec模糊量的模糊子集为:{NB,NM,NS,zD,PS,PM,PB},子集中元素分别代表负大,负中、负小、零、正小、正中、正大。
论域为{-6,6}。
(2)确定输出变量和隶属函数以K、K、弼三个参数作为输出变量,K、K、心模糊量的模糊子集为:{NB,NM,NS,ZO,PS,聊,P曰},K的论域为{-0.3,0.3},K的论域为{-0.06,0.06},%的论域为{一3,3}。
考虑论域的覆盖程度和灵敏度,以及为了调整方便,以上各模糊子集均选用三角形隶属函数。
(3)确定模糊控制规则模糊推理的核心是“IF…THEN”形式的模糊控制规则。
控制规则的选取直接关系到系统控制性能的优劣。
我们假设根据现有经验,经过现场反复调试,分别制定了三个输出参数的模糊控制规则表如表1~表2所示。
表1kz参数的模糊控制规则表”—而—■而——丽——历——面——而r—而NBPBPBPMPMPsZONsNMPBPBPMPsPszoNsNsPMPMPMPszoNsNsZDPMPMPlsZONsNMNMPsPSPsZONSNSNMNMPMP_sZ0NsNMNMNMNBPBZDZ0NMNMNMNBNB表2屯、虬参数的模糊控制规则表NBNBNBNMNMNsZDZ0NMNBNBNMNSNsZDZ0NSNBNMNsNSZ0PSPSZDNMNMNsZ0P_sPMPMPSNMNsZDNsPSPMPBPMZOZDPSPsPMPBPBPBZ0Z0PsPMPMPBPB(4)在线自适应校正模糊规则制定以后,设e、ec、K、K。
实验三模糊自适应整定PID控制仿真实验一、实验目的1.通过实验了解数字PID控制的原理2.通过实验实现离散系统的数字 PID 控制仿真3.通过实验了解模糊自适应整定PID控制的原理4.通过实验实现模糊自适应整定PID控制仿真5.通过实验进一步熟悉并掌握Matlab软件的使用方法二、实验内容1.针对给定离散系统的输入信号的位置响应,设计离散PID控制器,编制相应的仿真程序。
2.若采样时间为1ms ,采用模糊PID控制进行阶跃响应,在第300个采样时间时控制器输出加1.0的干扰,编制该模糊自适应整定PID系统的Matlab仿真程序三、实验步骤1.针对给定离散系统的阶跃信号、正弦信号和方波信号的位置响应,设计离散PID控制器,编制相应的仿真程序。
2.确定模糊自整定PID的算法基础3.针对 kp, ki , kd 三个参数分别建立合适的模糊规则表4.画出PID参数的在线自校正工作程序流程图5.编制该模糊自适应整定PID系统的Matlab仿真程序四、实验要求1.设被控对象为:采样时间为1ms,采用Z变换进行离散化,经过Z变换后的离散化对象为:yout(k)=-den(2)yout(k-1)-den(3)yout(k-2)-den(4)yout(k-3)+num(2)u(k-1)+num(3)u(k-2)+num(4)u(k-3)针对离散系统的阶跃信号、正弦信号和方波信号的位置响应,设计离散PID控制器。
其中,S为信号选择变量,S=1时为阶跃跟踪,S=2时为方波跟踪,S=3时为正弦跟踪。
2.采样时间为1ms ,采用模糊PID控制进行阶跃响应,在第300个采样时间时控制器输出加1.0的干扰,编制炉温模糊控制系统的Matlab仿真程序五﹑自适应模糊控制的规则1﹑控制规则:2.模糊控制器设计确定为双输入,三输出结构确定每个变量的论域,其中每个变量都有一个模糊子集来表示。
这个模糊子集中有3个模糊子集,分别是:N ,Z ,P 在编辑界面中,确定好每一个语言变量的范围,以及隶属函数的类型。
模糊自整定PID控制器设计摘要本文主要研究的是有关模糊自整定PID控制器的设计与仿真,其中涉及到模糊控制,PID控制器,参数自整定三个领域的相关内容。
首先,我们先讨论了模糊控制的原理,历史和它的发展趋势,然后介绍了常规PID控制器和自整定算法的一些内容,最后,结合上述两种控制器的优点,设计出一种基于模糊推理的参数自整定模糊PID控制器。
模糊控制器是把专家的PID参数整定经验总结成模糊控制规则,然后形成模糊控制查询表,模糊控制过程实际上就是一个查表的过程。
模糊控制对具有非线性,时变性,较大的随机干扰等不具有精确的数学模型的控制系统具有较好的控制效果。
而PID参数整定方法是最基本的也是最常用的方法被广泛的应用于各个领域。
将两者有效的结合形成的模糊自整定PID控制器,它的简单性和可实施性是现而易见的。
本文将这种模糊自整定PID控制器应用于带有时滞的二阶系统中并将其同Z-N整定方法,临界灵敏度等常规PID整定方法进行比较。
结果表明,这种控制算法的控制效果明显好于传统的方法。
关键词:模糊控制,PID控制,参数自整定,隶属函数Design of Fuzzy Self-tuning PID Controlle rAbstractIn this paper, the design and simulation of a self-turning fuzzy PID type controller is proposed. The fuzzy control, PID controller and parameters self-turning are described.Firstly, the principle, history and developing trend of fuzzy control are discussed. Secondly, the conventional PID controller and self-turning are introduced. Finally, a self-turning PID controller based on fuzzy inferences is designed by combining the advantages of first one with a second one.A fuzzy controller is built based on the expert’s experiences, then it is changed into an inquiry table. The process of the fuzzy control practically inquires the table. The fuzzy control is good at the inexactly mathematical model such as non-linear, time-variant systems and so on. PID self-turning is the basest and most-used. After attaining the PID self-turning to the fuzzy controller, it is obvious that this method is simple and feasible.In this paper, the fuzzy control PID controller is used to a two-order plus time delay system. Simulation results show that the algorithm has better performance than traditional methods.Keywords Fuzzy control, PID control, self-turning, membership function目录第一章绪论 (1) (1) (1) (2)PID控制算法的基本理论 (3)PID控制器参数整定 (4) (4)第二章模糊控制概述 (4) (4) (5) (5) (6) (9) (9) (10) (12) (16) (18) (19) (20) (22)第三章PID控制原理极其参数自整定概述 (23) (23) (24) (26) (29) (32)第四章模糊自整定PID控制器设计 (35) (35) (36)第五章仿真与分析 (46) (46) (46)小结 (51)第六章结束语 (52)谢辞 (53)参考文献 (54)第一章绪论PID控制是最早发展起来的控制策略之一,由于其算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程控制,至今仍有90%控制回路具有PID结构。
模糊自适应PID控制的Matlab仿真设计研究:明学号:201208070103班级:大学智能1201一、模糊控制思想、PID控制理论简介:在工业生产过程中,许多被控对象受负荷变化或干扰因素很多基于模糊自适应控制理论, 设计了一种模糊自适应PID 控制器, 具体介绍了这种PID 控制器的控制特点及参数设计规则, 实现PID 控制器的在线自整定和自调整。
通过matlab 软件进行实例,仿真表明, , 提高控制系统实时性和抗干扰能力,易于实现.便于工程应用。
1.1模糊控制的思想:应用模糊数学的基本理论和方法, 控制规则的条件、操作用模糊集来表示、并把这些模糊控制规则以及有关信息, 诸如PID 控制参数等作为知识存入计算机知识库, 然后计算机根据控制系统的实际情况(系统的输入, 输出) , 运用模糊推理。
1.2PID算法:u (t) = Kp·e (t) + Ki·∫t0e (t) dt + Kd·de (t)dt= Kp e (t) + Ki Σei (t) + Kdec (t)其中, u (t) 为控制器输出量, e ( t ) 为误差信号, ec (t) 为误差变化率, Kp , Ki , Kd 分别为比例系数、积分系数、微分数。
然而,课本中,为了简化实验难度,只是考虑了kp,ki参数的整定。
1.3模糊PID控制器的原理图:二、基于Matlab的模糊控制逻辑模块的设计关于模糊逻辑的设计,主要有隶属函数的编辑,参数的选型,规则导入,生成三维图等2.1 模糊函数的编辑器的设定:打开matlab后,在命令窗口输入“fuzzy”,回车即可出现模糊函数编辑器,基本设置等。
基于课本的实验要求,我选的是二输入(e, )二输出()。
需要注意的是,在命名输入输出函数的时候,下标字母需要借助下划线的编辑,即e_c 能够显示为。
2.2四个隶属函数的N, Z, P 函数设定:在隶属函数的设定中,N 选用的是基于trimf(三角形隶属函数) , Z是基于zmf(Z 型隶属函数),P是基于smf(S型隶属函数)。
模糊PID控制器的设计与仿真——设计步骤1.确定控制目标和系统模型:首先确定需要控制的目标,并建立系统模型。
系统模型可以是实际系统的数学模型,也可以是通过实验和观测得到的经验模型。
2.设计模糊控制器的输入和输出变量:根据系统模型和控制目标,确定模糊控制器的输入和输出变量。
输入变量通常是系统误差和误差变化率,输出变量是控制信号。
3.设计模糊控制器的模糊集合:为每个输入和输出变量定义模糊集合。
模糊集合可以是三角形、梯形或高斯分布等形状,根据实际情况选择最合适的形状。
4.设计模糊控制器的规则库:根据经验和专业知识,设计模糊控制器的规则库。
规则库是一组条件-结论对,规定了在不同情况下如何调整输出变量。
5. 进行仿真实验:使用仿真软件(如MATLAB/Simulink)或自己编写的代码,将设计好的模糊PID控制器与系统模型进行结合,进行仿真实验。
6.优化和调整模糊控制器参数:根据仿真实验的结果,通过优化和调整模糊PID控制器的参数,使系统的性能达到预期要求。
可以使用试验-分析-调整的方法,不断迭代优化直到满意为止。
7.实际系统应用:在仿真实验中验证通过后,将优化调整好的模糊PID控制器应用到实际系统中,进行实际控制。
过程中需要注意安全性和稳定性,随时进行监控和调整。
总结:模糊PID控制器的设计和仿真步骤包括确定控制目标和系统模型,设计模糊控制器的输入和输出变量,设计模糊控制器的模糊集合,设计模糊控制器的规则库,进行仿真实验,优化和调整模糊控制器参数,最后将优化的模糊PID控制器应用到实际系统中。
在整个过程中,需要根据实际情况不断尝试和调整,使模糊PID控制器能够更好地适应它所控制的系统。
毕业论文(设计) 题目自适应模糊PID控制器的设计与仿真学生姓名*******学号*******院系*******专业电气工程与自动化指导教师*******二O一一年五月二十五日目录1引言 (1)1.1 PID简介 (1)1.2 模糊控制简介 (2)1.3 本文研究的目的和意义 (2)1.4 本文的内容与安排 (3)2国内外现状 (3)3 MATLAB工具箱简介 (4)3.1 MATLAB 系统的应用 (4)3.2 Simlulink工具箱 (4)3.3 模糊逻辑工具箱 (5)3.4 MATLAB环境下的SIMULINK的应用 (5)3.4.1 MATLAB 环境中启动SIMULINK 的方法 (5)3.4.2打开SIMULINK 模型窗口的方法 (5)3.4.3 SIMULINK 仿真基本步骤 (5)4自适应模糊PID控制器的设计 (6)4.1 自适应模糊PID控制器的性能要求 (6)4.2 PID控制的理论基础 (6)4.3 模糊控制原理 (9)4.4 模糊PID控制系统结构及原理 (10)4.5 PID控制器参数自整定原则 (10)4.6 各变量隶属度函数的确定 (11)4.7 建立模糊规则表 (13)5 利用MATLAB对模糊PID控制系统进行仿真 (18)5.1建立系统结构仿真框图 (18)5.2 仿真结果分析 (19)6结论 (22)参考文献 (23)ABSTRACT (25)致谢 (26)附录 (27)自适应模糊PID控制器的设计与仿真摘要:本文在参数自适应模糊PID控制器的基础上,利用模糊推理的方法实现了对PID参数的在线自动整定,并且在MATLAB软件下将该控制器在某系统中的应用进行了研究,仿真结果表明,参数自适应模糊PID控制能使系统达到满意的控制效果,对进一步应用研究具有较大的参考价值。
关键词:自适应;PID控制器;模糊PID;MATLAB仿真1引言1.1 PID简介PID,(Proportional Integral Derivative)控制是目前工业上应用最广泛深入的控制方法。
第30卷第3期2 0 1 1年9月计 算 技 术 与 自 动 化ComutinTechnoloandAutomationVol.30,No.3 Sep.2 0 1 1收稿日期:2011-05-17作者简介:黄祥源(1974—),男,江苏盐城人,硕士研究生,研究方向:自动控制(E-mail:hxy@czili.edu.cn)。
文章编号:1003-6199(2011)03-0056-06恒压供水模糊自适应PID控制器的设计、仿真黄祥源(常州轻工职业技术学院,江苏常州 213164) 摘 要:对遗传算法和传统PID控制作简要的介绍,针对工程整定方法整定的初始值超调量较大,调节时间较长的问题,利用遗传算法对其初值进行整定。
利用遗传算法整定出的一组性能较优良的PID初值,结合模糊控制的思想,利用专家系统直接建立模糊规则,进行模糊自适应PID控制器的初步设计,并对恒压供水系统进行仿真,仿真结果满足设计要求。
关键词:模糊控制;PID控制器;恒压供水;Matlab中图分类号:TP312 文献标识码:ADesign to Adaptive Fuzzy PID Controller for Constant-pressure Water SupplyHUANG Xiang-yuan(Changzhou Institute of Light Industry Technology,changzhou 213164,china) Abstract:This paper gave a brief introduction for the traditional PID control and genetic algorithms.For the larger o-vershoot of tuning initial solution and longer adjustment time from engineering neaten method,the initial values were set byuse of genetic algorithm.The paper set up the fuzzy rules directly and made the preliminary design to the adaptive fuzzy PIDcontroller,and simulated the constant-pressure water supply system according to fuzzy control theory,by a set of good ini-tial PID values from genetic algorithms,and expert system.Key words:fuzzy control;PID controller;Constant-pressure water supply;matlab1 引 言目前恒压供水技术在农业、工业和民用供水系统中已广泛使用,由于系统的负荷变化的不确定性,采用传统的PID算法实现压力控制的动态特性指标很难收到理想的效果。
在大多数恒压供水系统中采用传统意义的PID调节器,系统的动态特性指标总是不稳定,通过实际应用中的对比发现应用模糊控制理论形成的控制方案在恒压供水系统中有较好的效果。
本方案在常规PID控制器基础上引入模糊控制器,实现被控制对象参数变化在一定范围内模糊PID控制,使恒压供水系统动态静态性能指标保持最优。
2 模糊控制的结构与原理模糊控制系统是以模糊集理论,模糊语言变量和模糊逻辑推理为理论基础,采用计算机控制技术构成的一种具有闭环结构的数字控制系统,它从行为上模仿人的模糊推理和决策过程,它的组成核心是具有智能性的模糊控制器[1]。
模糊逻辑控制的实质是利用模糊逻辑建立一种“自由模型”的非线性控制算法,在那些采用传统定量技术分析过程过于复杂的过程,或者提供的信息是定性的、非精确的、非确定的系统中,其控制效果是相当明显的。
模糊控制的基本原理框图如图1所示[3]。
它的核心部分为模糊控制器,如图1中点划线框中所示,模糊控制器的控制规律由计算机的程序实现。
第30卷第3期黄祥源:恒压供水模糊自适应PID控制器的设计、仿真实现一步模糊控制算法的过程描述如下:微机经中断采样获取被控制量的精确值,然后将此量与给定值比较得到误差信号E,一般选误差信号作为模糊控制器的一个输入量。
把误差信号的精确量进行模糊化变成模糊量。
误差E的模糊量可用相应的模糊语言表示,得到模糊语言集合的一个子集e(e是一个模糊矢量),再由e和模糊关系R根据推理的合成规则进行模糊决策,得到模糊控制量u。
模糊控制器通常由模糊化接口、推理机、知识库和解模糊等四部分组成。
图1 模糊控制基本原理由图1可知,模糊控制系统与通常的计算机数字控制系统的主要差别是采用了模糊控制器。
模糊控制器是模糊可控制的核心,一个模糊控制系统性能的优劣,主要取决于模糊控制器的结构、所采用的模糊规则、合成推理算法及模糊决策的方法等因素。
3 模糊自适应PID控制器的结构与原理在工业生产过程中,许多被控对象受负载变化或干扰因素影响,其对象特性参数或结构易发生改变。
自适应控制运用现代控制理论在线辨识对象特性参数,实时改变其控制策略,使控制系统品质指标保持在最佳范围内,但其控制效果的好坏取决于辨识模型的精确度,这对于复杂系统是非常困难的。
因此,在工业生产过程中,大量采用的仍然是PID算法。
PID参数的整定方法很多,但大多数都以对象特性为基础。
随着计算机技术的发展,人们利用人工智能的方法将操作人员的调整经验作为知识存入计算机中,根据现场实际情况,计算机能自动调整PID参数,这样就出现了专家PID控制器。
该控制器把古典的PID控制与先进的专家系统相结合,实现系统的最佳控制。
这种控制方法必须精确地确定对象模型,将操作人员(专家)长期实践积累的经验知识用控制规则模型化,并运用推理对PID参数实现最佳调整。
由于操作者经验不易精确描述,控制过程中各种信号量及评价指标不易定量表示,专家PID方法受到局限。
模糊理论是解决这一问题的有效途径,所以人们运用模糊数学的基本理论和方法,把规则的条件、操作用模糊集表示,并把这些模糊控制规则及有关信息(如评价指标、初始PID参数等)作为知识存人计算机知识库中,然后计算机根据控制系统的实际响应情况(即专家系统的输入条件),运用模糊推理,即可自动实现对PID参数的最佳调整,这就是模糊自适应PID控制。
模糊自适应PD控制器目前有多种结构形式,但其工作原理基本一致。
参数自整定模糊PID控制系统如图2所示。
模糊自调整PID控制在PID算法的基础上,通过计算当前系统偏差和偏差变化,用模糊推理的方法对PID参数kp,ki,kd进行在线自整定,查询模糊矩阵表对PID控制器参数进行调整。
模糊规则根据人们实际经验而获得。
模糊自调整PID控制基本设计思想是将模糊决策理论与PID控制结合起来,发挥两者的优点,其响应特性优于数字PID控制[4,5],对于非线性和时变性的被控对象,可得到较满意的控制效果。
图2 模糊自适应PID控制系统结构如图2所示,模糊自调整PID控制器通常由两部分构成:模糊控制器和控制器。
模糊控制器以偏差e和偏差变化ec作为输入,运用模糊推理得到PID制器三个预整定参数即kp0,ki0,kd0的修正参数,从而得到PID控制器的参数,如式所示:kp=kp0+k′pki=ki0+k′ikd=kd0+k′烅烄烆d通过对PID控制器的三个参数进行在线修改k′p,k′i,k′d,满足不同偏差e和偏差ec变化对控制参数的不同要求,从而使被控对象具有良好的动、静态特性。
75计算技术与自动化2011年9月4 恒压供水系统模糊自适应PID控制器的设计 模糊控制系统结构如图3。
本系统中以给定以水压给定值SP和实际水压测量值的偏差e(e=SP-偏差)和偏差变化率ec(ec=de/dt),通过量化因子模糊化后分别得到模糊量E和EC,并分别用模糊语言加以描述。
如果用PLC进行在线模糊推理,将花费大量的运算时间,从而影响系统工作。
所以这里采用查询模糊控制表的方法实现恒水压控制。
图3 模糊控制系统结构图1)确定模糊控制器的输入输出量。
基于对系统的上述分析,由于受控对象具有非线性与时滞性,为了得到良好的控制性能,我们不观测系统的压力误差e,模糊控制器采用两输入、三输出的控制器,将误差e和误差的变化率ec作为输入,将PID控制器的三个参数kP、ki、kd作为输出。
2)确定语言变量的论域元素。
需要确定的语言变量有五个,即误差e、误差变化ec和输出量kP、ki、kd。
本设计中,给定的压力值为yd=0.6 MPa,系统实际的压力值设为y,则误差e=yd-y,取其语言变量为E,论域E={-3,-2,-1,0,1,2,3},论域上的模糊子集是Ai(i=1,2,……,7),相应语言值为:{负大(NB),负中(NM),负小(NS),零(Z0),正小(PS),正中(PM),正大(PB)}。
分别表示当力值相对与设定值为:“极大”、“很大”、“偏大”、“正好”、“偏小”、“很小”、“极小”。
ec=e2-e1=(yd-y2)-(yd-y1)=y1-y2,取其语言变量为EC,论域EC=-3,-2,-1,0,1,2,3},论域上模糊子集是Bj(j=1,2,…,7),相应语言值为:{负大(NB)、负中(NM)、负小(NS)、零(Z0)、正小(PS)、正中(PM)、(PB)}。
分别表示当前水压的变化y2-y1为:“快速增大”、“较快增大”、“增大”、“不变”、“减小”、“较快减小”、“快速减小”。
系统输出量为:kP、ki、kd,分别取其语言变量为:Kp、Ki、Kd,论域为Kp={-3,-2,-1,0,1,2,3},Ki={-3,-2,-1,0,1,2,3},Kd={-2,-1,0,1,2,3},相应的语言值分别为:{负小(NB)、负中(NM)、负小(NS)、零(Z0)、正小(PS)、正中(PM)、正大(PB)}。
3)确定语言值的隶属度函数。
本设计中选用三角型和正态分布型隶属函数相结合的形式。
>>a=newfis('tipper');>>a=addvar(a,'input','e',[-3,3]);>>a=addmf(a,'imput',1,'NB','zmf',[-3,-1]);>>a=addmf(a,'imput',1,'NM','trimf',[-3,-2,0]);>>a=addmf(a,'imput',1,'NS','trimf',[-3,-1,1]);>>a=addmf(a,'imput',1,'NO','trimf',[-2,0,2]);>>a=addmf(a,'imput',1,'PS','trimf',[-1,1,3]);>>a=addmf(a,'imput',1,'PM','trimf',[0,2,3]);>>a=addmf(a,'imput',1,'PB','smf',[1,3]);>>plotmf(a,'imput',1)得到的隶属度函数分别见图4-8所示:图4 输入e的隶属度函数4)模糊控制规则的设计。