模糊PID控制器设计

合集下载

模糊PID温度控制系统的设计

模糊PID温度控制系统的设计

模糊PID温度控制系统的设计模糊PID控制是一种将模糊逻辑和PID控制相结合的控制方法,它充分利用了PID控制器的优点,同时通过引入模糊逻辑来克服传统PID控制中的一些问题,如参数调整不易、对非线性和时变系统的适应性较差等。

本文将介绍模糊PID温度控制系统的设计。

一、系统结构设计模糊PID温度控制系统的基本结构包括输入端、模糊推理机和输出端。

输入端包括温度传感器和设定温度设备,用于测量被控温度和设定温度。

模糊推理机通过将模糊化的输入转换为模糊化的输出,生成对应的控制量。

输出端包括执行器,将控制量转换为控制信号,使温度回路的输出能够稳定地接近设定值。

二、模糊化模糊化是将连续性的输入(如温度误差和误差变化率)转换为模糊集合的过程。

在模糊化中,需确定输入的模糊集合函数和隶属度函数的形状。

常见的模糊集合函数有三角型、梯形和高斯型函数。

可以根据实际系统的特点和需求选择适合的模糊集合函数,并确定隶属度函数的参数。

三、模糊推理机模糊推理机是模糊PID控制的核心部分,它通过模糊化的输入和事先设定的模糊规则来生成模糊化的输出。

首先,需要确定模糊规则的数量和形式。

常见的模糊规则形式有“IF-THEN”规则和模糊关联规则。

在确定模糊规则时,可以参考专家经验或使用模糊综合评判方法进行推导。

然后,需要设计模糊推理机的推理引擎,常见的方法有最大隶属度法和加权平均法。

四、解模糊化和反馈解模糊化是将模糊化的输出转换为实际的控制量,以便执行器能够产生相应的控制信号。

常见的解模糊化方法有最大隶属度法、面积法和中心平均法等。

在解模糊化的过程中,可以根据系统的需求和性能要求选择合适的解模糊化方法,并确定相应的解模糊化函数和参数。

另外,模糊PID 控制系统通常还会加入反馈环节,用于对控制效果进行调整和修正,提高控制系统的稳定性和鲁棒性。

五、参数调整和性能评价模糊PID控制器的参数调整是控制系统设计中的重要环节。

传统的PID控制器可以通过经验公式或试错法进行参数调整,而模糊PID控制器通常使用专家经验、试验方法或优化算法进行参数调整。

自适应模糊PID控制器的设计与仿真

自适应模糊PID控制器的设计与仿真

自适应模糊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.结果分析根据仿真结果,可以分析系统的稳定性、动态性能和鲁棒性等指标,并对设计进行调整和改进。

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

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

基于MATLAB的模糊PID控制器的设计模糊PID控制器是一种常用的控制算法,可以解决传统PID控制器在非线性系统中效果不佳的问题。

在MATLAB中,可以使用fuzzylogic工具箱来设计模糊PID控制器。

模糊PID控制器的设计过程分为三个步骤:建立模糊系统、设计控制器和性能评估。

接下来,设计模糊PID控制器。

在MATLAB中,可以使用fuzzy工具箱提供的mamdani和sugeno两种模糊控制器类型。

其中,mamdani模糊控制器基于模糊规则的if-then逻辑,而sugeno模糊控制器使用模糊规则来计算模糊输出。

根据系统的具体需求,可以选择合适的模糊控制器类型,并设置相应的参数。

同时,可以使用模糊控制器设计工具来对模糊控制器进行优化和调整。

最后,对设计的模糊PID控制器进行性能评估。

在MATLAB中,可以使用模拟仿真工具对模糊PID控制器进行测试和评估。

具体方法是将模糊PID控制器与待控制的系统进行耦合,观察系统的响应和控制效果,并评估其性能和稳定性。

可以通过调整模糊PID控制器的参数和模糊规则来改善控制效果。

总之,基于MATLAB的模糊PID控制器设计包括建立模糊系统、设计控制器和性能评估三个步骤。

通过合理设置模糊输入、模糊输出和模糊规则,可以有效地解决非线性系统的控制问题。

同时,利用MATLAB提供的模糊控制器设计工具和性能评估工具,可以对模糊PID控制器进行优化和改进,以达到更好的控制效果和稳定性。

基于神经网络的模糊PID控制器设计与实现

基于神经网络的模糊PID控制器设计与实现

基于神经网络的模糊PID控制器设计与实现随着科技的不断发展,控制技术在工业自动化中的应用越来越广泛。

PID控制器因其简单易懂、易实现的特点而被广泛使用,但是传统的PID控制器在某些场合下会出现失效的情况。

为了解决这一问题,研究者们开始着手开发基于神经网络的模糊PID控制器。

本文将介绍基于神经网络的模糊PID控制器的设计与实现。

一、控制器介绍基于神经网络的模糊PID控制器是一种新型的控制器,它将模糊控制的优点与神经网络的处理能力相结合,形成了一种高效的自适应控制器。

该控制器利用神经网络的学习算法实现自适应参数的调节,将模糊控制中的模糊规则与神经网络的处理能力相结合,形成一种新的控制方法。

该控制器的核心思想是利用神经网络对系统进行建模,通过学习算法自适应地调节系统参数,从而实现对系统的控制。

其中,模糊控制器用于对输出进行模糊处理,神经网络用于对输入和输出进行处理,从而实现对系统的控制。

二、控制器设计基于神经网络的模糊PID控制器的设计需要以下几个步骤:1.系统建模系统建模是设计基于神经网络的模糊PID控制器的第一步。

系统建模的目的是构建系统的数学模型,以便于后续的设计过程。

在建模过程中,需要考虑系统的类型、运动方程、非线性因素等因素。

2.控制器设计控制器的设计是基于神经网络的模糊PID控制器设计的核心。

控制器的设计包括神经网络的结构设计、神经网络权值的选择、模糊控制的设计等。

3.参数调节参数调节是控制器设计的重要环节。

由于系统的运动方程等因素的影响,不同系统的参数可能不同。

因此,在实际应用中需要根据实际情况对控制器进行参数调节。

三、控制器实现基于神经网络的模糊PID控制器的实现需要以下步骤:1.数据采集数据采集是基于神经网络的模糊PID控制器实现的第一步。

数据采集的目的是获取系统的输入输出,以便为神经网络提供数据。

2.神经网络训练神经网络训练是实现控制器的关键步骤。

在训练过程中,通过对神经网络进行学习,让它逐渐对系统的输入输出进行建模。

基于BP神经网络的模糊PID控制器的设计

基于BP神经网络的模糊PID控制器的设计

基于BP神经网络的模糊PID控制器的设计【摘要】工业过程控制中广泛采用PID控制,但传统PID控制因其控制参数的固定,在线整定难等问题。

为此本文研究了一种新的自适应模糊PID控制方法,为了解决模糊推理没有学习能力的问题,本文又提出了一种基于BP神经网络的自适应模糊控制方法。

此方法是模糊控制、神经网络和PID控制的有效结合。

仿真实验表明,这种基于BP神经网络的模糊PID控制算法具有良好的控制效果。

【关键词】PID控制;BP神经网络;模糊PID控制Abstruct:PID control are widely used in industrial process control,but the traditional PID control because of its control parameters are fixed,and it is difficult to adjust its parameters online.So this paper studies a new adaptive fuzzy PID control method,to solve problem without the ability to learn,and put forward a kind of adaptive fuzzy control method based on BP neural network in this paper.It is the effective combination of fuzzy control,neural network and PID control.Simulation results show that this fuzzy PID control method based on BP neural network has good control effect.Keywords:PID control;BP neural network;Fuzzy PID control1.引言常规PID在控制领域被广泛应用,利用数学算法来整定参数。

模糊PID控制原理与设计步骤

模糊PID控制原理与设计步骤

模糊PID控制原理与设计步骤模糊PID控制(Fuzzy PID control)是在PID控制基础上引入了模糊逻辑的一种控制方法。

相比传统的PID控制,模糊PID控制能够更好地适应系统的非线性、时变和不确定性等特点,提高系统的性能和鲁棒性。

设计步骤:1.确定系统的模型和控制目标:首先需要对待控制的系统进行建模,确定系统的数学模型,包括系统的输入、输出和动态特性等。

同时,需要明确控制目标,即系统应达到的期望状态或性能指标。

2.设计模糊控制器的输入和输出变量:根据系统的特性和控制目标,确定模糊控制器的输入和输出变量。

输入变量通常为系统的误差、误差变化率和累积误差,输出变量为控制力。

3.确定模糊集和模糊规则:对于每个输入和输出变量,需要确定其模糊集和模糊规则。

模糊集用于将实际变量映射为模糊集合,如“大、中、小”等;模糊规则用于描述输入变量与输出变量之间的关系,通常采用IF-THEN形式,如“IF误差大AND误差变化率中THEN控制力小”。

4.编写模糊推理和模糊控制算法:根据确定的模糊集和模糊规则,编写模糊推理和模糊控制算法。

模糊推理算法用于根据输入变量和模糊规则进行推理,生成模糊的输出变量;模糊控制算法用于将模糊的输出变量转化为具体的控制力。

5.调试和优化:根据系统的实际情况,调试和优化模糊PID控制器的参数。

可以通过试错法或专家经验等方式对模糊集、模糊规则和模糊函数等进行调整,以达到较好的控制效果。

6.实施和验证:将调试完成的模糊PID控制器应用到实际系统中,并进行验证。

通过监控系统的实际输出和期望输出,对模糊PID控制器的性能进行评估和调整。

总结:模糊PID控制是一种将模糊逻辑引入PID控制的方法,能够有效地提高系统的性能和鲁棒性。

设计模糊PID控制器的步骤主要包括确定系统模型和控制目标、设计模糊控制器的输入输出变量、确定模糊集和模糊规则、编写模糊推理和模糊控制算法、调试和优化以及实施和验证。

通过这些步骤,可以设计出较为优化的模糊PID控制器来实现系统的控制。

无刷直流电机模糊pid控制器的simulink设计

无刷直流电机模糊pid控制器的simulink设计

无刷直流电机模糊pid控制器的simulink设计在控制系统中,PID控制器是最常见且广泛应用的控制器之一,它通过调节比例项、积分项和微分项来实现对系统的控制。

而模糊控制器则是一种基于模糊逻辑的控制器,能够处理系统模型非线性、参数变化较大或难以精确建模的情况。

将PID控制器与模糊控制器相结合,可以充分发挥各自的优势,提高系统的控制性能。

在Simulink中设计无刷直流电机模糊PID控制器,首先需要建立电机模型。

电机模型可以通过数学建模或直接使用Simulink中的电机模型来实现。

接下来,需要设计PID控制器和模糊控制器。

PID控制器的参数可以通过经验法则、试错法或自整定法等方法进行调节,以获得合适的控制效果。

模糊控制器的设计需要确定模糊集合、模糊规则库和模糊推理方法,以实现对系统的模糊控制。

设计无刷直流电机模糊PID控制器的Simulink模型时,可以按照以下步骤进行:1. 建立电机模型:选择合适的直流电机模型,包括电机的电气特性、机械特性和控制接口等。

2. 设计PID控制器:设置PID控制器的比例、积分和微分参数,通过模拟和调节,使得系统的响应速度、稳定性和抗干扰能力达到要求。

3. 设计模糊控制器:确定模糊控制器的模糊集合、模糊规则库和模糊推理方法,设置模糊控制器的输入输出变量和模糊规则。

4. 整合PID控制器和模糊控制器:将PID控制器和模糊控制器串联或并联,根据系统的要求和性能指标来设计控制器的整体结构。

5. 仿真验证:在Simulink中进行仿真验证,通过模拟系统的运行情况和控制效果,来评估控制器的性能和稳定性。

通过以上步骤的设计和仿真验证,可以得到一个合理、有效的无刷直流电机模糊PID控制器的Simulink模型。

在实际应用中,可以根据系统的实际情况和性能要求,进一步优化控制器的参数和结构,以实现更好的控制效果。

同时,不断的实验和调试,能够进一步提高控制器的稳定性和鲁棒性,确保系统的可靠性和性能的提升。

模糊PID控制器设计

模糊PID控制器设计

模糊PID控制器设计PID控制器是一种常用的自动控制算法,广泛应用于各种工业过程中。

在实际应用过程中,由于系统的复杂性和非线性等原因,常常需要设计模糊PID控制器来提高系统的鲁棒性和控制性能。

1.确定系统的控制目标和性能指标:首先需要明确系统的控制目标,例如稳定性、响应速度、抗扰性等,然后确定对应的性能指标,例如超调量、调整时间、稳态误差等。

2.建立模糊控制规则库:根据系统的特性和控制目标,设计一套模糊控制规则库。

规则库一般包括模糊化、模糊规则以及解模糊化三个部分。

-模糊化:将输入目标和输入量经过模糊化,得到模糊量化值。

常见的模糊化方法有隶属函数法和三角函数法等。

- 模糊规则:根据经验规则和专家知识,设计一系列的模糊规则。

模糊规则一般采用if-then的形式,其中if部分是输入量模糊化后的模糊量化值,then部分是输出量的模糊量化值。

-解模糊化:将模糊量化值转化为具体的控制量。

常见的解模糊化方法有最大值法、加权平均法和中心平均法等。

3.设计模糊推理机制:模糊控制器的核心是模糊推理机制,通过模糊推理机制来根据输入的模糊量化值和模糊规则库来得到输出的模糊量化值。

常见的模糊推理机制有模糊与运算和模糊或运算等。

4.调整模糊PID控制器参数:根据系统的特性和性能指标,通过试验或者仿真的方法,对模糊PID控制器的参数进行优化调整。

一般可以采用遗传算法、粒子群算法等优化算法来进行参数调整。

5.实时控制和优化:将设计好的模糊PID控制器实时应用于控制系统中,并根据系统的反馈信号对控制器进行实时优化和参数调整,以达到更好的控制性能。

模糊PID控制器相比传统的PID控制器具有更好的鲁棒性和适应性,可以应对各种复杂、非线性的工业控制系统,提高控制精度和控制性能。

在实际应用中,需要根据具体的系统特性和性能需求来设计合适的模糊PID控制器,并经过实验和调整来优化控制效果。

同时,也需要考虑到计算复杂度和实时性等因素,确保控制系统的稳定性和可靠性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模糊PID控制器o引言:PID控制作为一种典型的传统反馈控制器,以其结构简单,易于实现和鲁棒性好等特点在工业过程控制中广泛应用。

但是传统PID控制器的参数需要被控对象的数学模型来进行调整,而控制过程中的滞后性、控制参数的非线性和高阶陛增加了对Kp、Ki、Kd三个参数的调整难度。

所以对确定的控制系统通过复杂的计算后,其三个参数的值在控制运行中一般是固定的,不易进行在线的调整。

而在实际的工业生产过程中,许多被控对象受到负荷变化和干扰因素的作用,其对象参数的特征和结构易发生改变,这就需要对参数进行动态的调整。

同样因为被控系统的复杂性和不确定性,其精确的数学模型难以建立,甚至无法建立模型,所以需要利用模糊控制技术等方法来解决。

模糊PID无需考虑被控系统的模型,而只根据其误差e和误差变化ec等检测数据来自适应调整Kp、Ki、Kd的值,最终使被控系统处于稳定工作态。

1、传统PID控制器:PID参数模糊自整定是找出PID中3个参数与e和ec之间的模糊关系,在运行中通过不断检测e和ec,根据模糊控制原理来对3个参数进行在线修改,以满足不同e和ec时对控制参数的不同要求,而使被控对象有良好的动稳态性能。

从系统的稳定性、响应速度、超调量和稳态精度等方面来考虑Kp,Ki,Kd的作用如下:(1)比例系数Kp的作用是:加快系统的响应速度,提高系统的调节精度。

Kp越大,系统的响应速度越快,系统的调节精度越高,但易产生超调,甚至导致系统不稳定;Kp取值过小,则会降低调节精度,使响应速度缓慢,从而延长调节时间,使系统静态、动态特性变坏。

⑵积分作用系数Ki的作用是:消除系统的稳态误差。

Ki越大,系统的稳态误差消除越快,但Ki过大,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调;若Ki过小,将使系统稳态误差难以消除,影响系统的调节精度。

(3)微分作用系数Kd的作用是:改善系统的动态特性。

其作用主要是能反应偏差信号的变化趋势,并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。

2、模糊PID参数自整定控制器设计2.1控制器结构:2.2模糊化由PID各个参数对系统的影响得到:(a) 当误差|e|较大时,说明误差的绝对值较大, 不论误差的变化趋势如何, 都应该考虑控制 器的Kp 取较大值,以提高响应的快速性; 而为防止因为|ec|瞬时过大,kd 应该取较小的值; 为控制超调,ki 也应该取值很小。

(b) 当误差|e|在中等大小时,为保证系统的相应速度并控制超调, 应减小Kp , Ki 值应增大,Kd 应适中。

(c) 当误差|e|较小时,为保证系统具有良好的稳态特性,应加大Kp 、Ki 的取值,同时为避免产生振荡,Kd 的取值应该和|ec|联系起来。

模糊PID 控制根据系统运行的不同状态, 考虑Kp Ki 、Kd 三者的关联,根据工程经验设计模糊整定这三个参数,选择输入语言变量为误差e 和偏差变化率ec ,语言变量值取{NB ,NM NS 0,PS, PM ,PB }七个模糊值;选择输出语言变量为△ ©,△ Ki ,△ Kd 语言变量值也取{NB ,NM NS 0,PS, PM ,PB }七个模糊值,建立△ Kp ,△ Ki ,△ Kd 的模糊规则。

2.3设计模糊控制器在MATLAB 命令空间输入fuzzy ,弹出对话框,然后进行设置,如图:FIS Name :zhmengkongzFIS Type :mamdaniAnd method min 仃Current VariableOr methodmax▼ NameeType 庶ar 虫七input[-3 3]kmplicatiormin仃Aggrcgcriionmax亍Defuzzificertio ncertroid仃HedpCloseSystem '*zhinBngkcngz"; 2 inpifts, 3 outputs, and 49『(Jew设置为两输入三输出结构。

根据经验设置输入输出的隶属度函数都为:S] =]S Editor zhinengtongzFiie Edit View秒MembershipRule Editor: zhineriglcorigzFile Edit View Optionsand Then endzononenot X设置完隶属度函数后,按照上述三个模糊规则表格设置模糊规则,如图1 W (e is rib) and - ec is nb 1 then (kp is pb)(ld is nlj)(kd is ps) (1)2 If (e is nbj and (ec is nm) then (kp is pbj(ki is nb)(kd is ns) (1)3 If (& is nbj and (ec is ns) then (kp is pm^lci is nm)(l£d is nbj (1)4. If (e is n町and (ec is zo) then (kp is pm^ki is is nb} (1)5. If (e is nb) and (ec is p$) then (kp is ps)(ki Is ns)(kd is nb) (1)6. If (e is nb)and (ec is pm)then (kp is zoXki is zo)(kd t£ nm)0}7. If (e is nb) and (ec is pb)thert (kp is zo)(ki Is zo)(kd is ps) (1)8. If {e is nn) and (ec Is nb) then (kp Is Is nb)陋is ias) (1)9. If (e is nirr) and (ec Is nm) tnen (kp Is is nb麻"is ns) (1)1D. If (e is nm) and (BC is ns) then (kp is pmXkl is nm)(kd is nb) (1} 11. If(e is nm) and (BC is xoj then (kp is ps丽is ns)(kd is nm) (1}IfJ Inn£Apmnot厂Comedioin—iw& ^nd |nbInmt __________notnb> Inm nnszoPSpmki is日n已1!Delete rule Add rule Change ruleFIS Name; zhineng^ongz Help Close设置完毕后,保存文件"zhi nen gk on gz.fis ”至磁盘,留给仿真调用,生成的文件为: [System]Name='zh inengkon gz'Type='mamda ni'Versio n=2.0Numl nputs=2NumOutputs=3NumRules=49An dMethod='mi n'OrMethod='max'ImpMethod='mi n'AggMethod='max'DefuzzMethod='ce ntroid'[In put1]Name='e'Ran ge=[-3 3]NumMFs=7MF仁'nb':'zmf,[-3 -1]MF2=' nm':'trimf,[-3 -2 0]MF3=' ns':'trimf,[-3 -1 1]MF4='zo':'trimf,[-2 0 2]MF5='ps':'trimf,[-1 1 3]MF6='pm':'trimf,[0 2 3]MF7='pb':'smf,[1 3][Input2]Name='ec'Ran ge=[-3 3]NumMFs=7MF1=' nb':'zmf,[-3 -1]MF2=' nm':'trimf,[-3 -2 0]MF3=' ns':'trimf,[-3 -1 1]MF4='zo':'trimf,[-2 0 2]MF5='ps':'trimf,[-1 1 3]MF6='pm':'trimf,[0 2 3]MF7='pb':'smf,[1 3][Output1]Name='kp'Ran ge=[-3 3]NumMFs=7MF1=' nb':'zmf,[-3 -1]MF2=' nm':'trimf,[-3 -2 0]MF3=' ns':'trimf,[-3 -1 1] MF4='zo':'trimf,[-2 0 2] MF5='ps':'trimf,[-1 1 3]MF6='pm':'trimf,[0 2 3]MF7='pb':'smf,[1 3][Output2]Name='ki'Ran ge=[-3 3]NumMFs=7MF1=' nb':'zmf,[-3 -1]MF2=' nm':'trimf,[-3 -2 0]MF3=' ns':'trimf,[-3 -1 1]MF4='zo':'trimf,[-2 0 2]MF5='ps':'trimf,[-1 1 3] MF6='pm':'trimf,[0 2 3] MF7='pb':'smf,[1 3][Output3]Name='kd'Ran ge=[-3 3]NumMFs=7MF1=' nb':'zmf,[-3 -1]MF2=' nm':'trimf,[-3 -2 0]MF3=' ns':'trimf,[-3 -1 1]MF4='zo':'trimf,[-2 0 2]MF5='ps':'trimf,[-1 1 3] MF6='pm':'trimf,[0 2 3] MF7='pb':'smf,[1 3][Rules]1 1,7 1 5 (1) : 11 2, 7 1 3 (1) : 11 3, 62 1 (1) : 11 4, 6 5 1 (1) : 11 5, 5 3 1 (1) : 11 6, 4 42 (1) : 11 7, 4 4 5 (1) : 12 1,7 1 5 (1) : 12 2, 7 13 (1) : 12 3, 6 2 1 (1) : 12 4, 53 2 (1) : 12 5, 53 2 (1) : 12 6, 4 43 (1) : 12 7,34 4 (1) : 13 1,6 14 (1) : 13 2, 6 2 3 (1) : 13 3, 6 3 2 (1) : 13 4, 5 3 2 (1) : 13 5,4 4 3 (1) : 13 6, 3 5 3 (1) : 13 7, 3 54 (1) : 14 1,6 2 4 (1) : 14 2, 6 2 3 (1) : 14 3,5 3 3 (1) : 14 4, 4 4 3 (1) : 14 5, 35 3 (1) : 14 6, 2 6 3 (1) : 14 7, 2 6 4 (1) : 15 1,5 2 4 (1) : 15 2, 5 3 4 (1) : 15 3, 4 4 4 (1) : 15 4, 3 5 4 (1) : 15 5, 3 5 4 (1) : 15 6, 26 4 (1) : 15 7, 2 7 4 (1) : 16 1,5 47 (1) : 16 2, 4 4 3 (1) : 16 3, 3 5 5 (1) : 16 4, 2 5 5 (1) : 16 5, 2 6 5 (1) : 16 6, 27 5 (1) : 16 7, 17 7 (1) : 17 1,4 4 7 (1) : 17 2, 4 4 6 (1) : 17 3, 2 5 6 (1) : 17 4, 2 6 6 (1) : 17 5, 2 6 5 (1) : 17 6, 1 7 5 (1) : 17 7, 1 7 7 (1) : 13、系统仿真设控制对象为:G(s)=25/s A2+6s+25通过程序(含注释)仿真如下:clear all;clc;a=readfis('zh inengkon gz'); % ts=O.OO1; % 读取设定的FIS模糊控制器抽样时间为1MS构造系统G(s)=25/sA2+6s+25sys=tf(25,[1,6,25]);dsys=c2d(sys,ts,'z'); % 离散化[nu m,de n]=tfdata(dsys,'v'); % 得到系数液置系统初值u1=0;u2=0;y1=0;y2=0;x=[0,0,0];e1=0;ec 1=0;Kp0=0.3;Ki0=2;Kd0=1;for k=1:5000; % 仿真5Stime(k)=k*ts;r(k)=1; % 输入阶跃信号fpid=evalfis([e1,ec1],a); % 模糊推理Kp(k)=Kp0+fpid(1); % 得到新的参数Ki(k)=Ki0+fpid(2);Kd(k)=Kd0+fpid(3);u(k)=Kp(k)*x(1)+Ki(k)*x(2)+Kd(k)*x(3); 输出%PID系统输出y(k)=-de n(2)*y1-de n(3)*y2+num(1)*u(k)+num(2)*u1+ nu m(3)*u2;% xlabel('time(s)');ylabel( 'Kd '); grid on;结果显示:e(k)=r(k)-y(k); % u2=u1;u1=u(k); % 计算误差更新数据 y2=yl;y 仁y(k); x(1)=e(k); % x(2)=x(2)+e(k)*ts; % x(3)=e(k)-e1; % ec 仁 e(k)-e1; % e1=e(k); %对应KP 对应KI 对应KD 重新计算ec 重新计算eend%丁印输出figure(1);plot(time,y,'g',time,r,'r'); grid on;xlabel('time(s)');ylabel( 'y '); figure(2) plot(time,Kp,'r'); xlabel('time(s)');ylabel( 'Kp '); grid on;figure(3) plot(time,Ki,'b'); grid on;xlabel('time(s)');ylabel( 'Ki '); figure(4)plot(time,Kd,'g');Ki 自动调整曲线 Kd 自动调整曲线可以看出,系统输出具有较好的超调量和调节时间,没有稳态误差,达到了理想的效果。

相关文档
最新文档