自适应pid控制器的设计及仿真本科毕业论文.docx

上传人:b****7 文档编号:23600267 上传时间:2023-05-18 格式:DOCX 页数:61 大小:535.65KB
下载 相关 举报
自适应pid控制器的设计及仿真本科毕业论文.docx_第1页
第1页 / 共61页
自适应pid控制器的设计及仿真本科毕业论文.docx_第2页
第2页 / 共61页
自适应pid控制器的设计及仿真本科毕业论文.docx_第3页
第3页 / 共61页
自适应pid控制器的设计及仿真本科毕业论文.docx_第4页
第4页 / 共61页
自适应pid控制器的设计及仿真本科毕业论文.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

自适应pid控制器的设计及仿真本科毕业论文.docx

《自适应pid控制器的设计及仿真本科毕业论文.docx》由会员分享,可在线阅读,更多相关《自适应pid控制器的设计及仿真本科毕业论文.docx(61页珍藏版)》请在冰豆网上搜索。

自适应pid控制器的设计及仿真本科毕业论文.docx

自适应pid控制器的设计及仿真本科毕业论文

摘要

PID控制器是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高和可靠性高,被广泛应用于工业过程控制。

PID控制器提供了反馈控制,通过比例环节成比例的反应偏差信号,加快系统响应速度,提高系统的调节精度,通过积分作用反应并消除系统的稳态误差,通过微分作用预测未来偏差信号的变化趋势,改善系统动态特性。

本文将模糊控制器和PID控制器结合在一起,利用模糊逻辑控制实现了PID控制器参数在线自调整,进一步完善了PID控制器的性能,提高了系统的控制精度。

并把MATLAB中的FuzzyToolbox和SIMULINK有机结合起来,方便的实现了该自适应模糊PID控制系统的计算机仿真,拓宽了FuzzyToolbox和SIMULINK的应用范围。

仿真结果表明:

模糊PID参数自整定控制较常规PID控制具有较小的超调量和较短的调节时间,以及较好的动态响应特性和稳态特性。

关键词:

模糊控制;PID控制器;MATLAB;SIMULINK;系统仿真。

 

Abstract

PIDcontrollerisoneofthefirstdevelopedoneofthecontrolstrategy,becauseofitsalgorithmissimple,robustandreliableandhighreliability,arewidelyusedinindustrialprocesscontrol.PIDcontrollerprovidesafeedbackcontrolthroughtheproportionalresponsebiassignaloftheaspectratio,tospeedupresponsetime,improvetheaccuracyofregulation;throughintegralroletoresponsetothesteady-statesystemandeliminateerrors,throughdifferentialroletopredictthechangesintrendsofsignaldeviationinfuture;improvedynamiccharacteristicsofthesystem.TheusingofFuzzylogiccontrollermakestheparameter’sself-adaptionofPIDcontrollerpossiblewhenFuzzylogiccontrollerandPIDcontrollerarecombinedtogether.ItalsoperfectsthepropertiesofPIDcontrollerandimprovestheprecisionofcontrolsystem.TheorganiccombinationofFuzzyToolboxandSIMULINKrealizedthecomputersimulationofthisself-adaptiveFuzzyPIDcontrolsystemconveniently,andalsopromotestheapplicationofMATLAB.Thesimulationresultsshowthat,comparedwithordinaryPIDcontrol,fuzzyPIDparametersofself-tuningcontrolhavesmallerovershoot,shorterregulationtimeandbetterdynamicresponsecharacteristics.

 

Keywords:

FuzzyLogiccontrol;PIDcontroller;MATLAB;SIMULINK;Systemsimulation.

 

绪论

PID(比例-积分-微分)控制器是工业过程控制中最常见的一种线性控制调节器,作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器,广泛应用于化工、冶金、机械、热工、轻工等工业过程控制系统。

PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。

PID控制器因为结构简单、鲁棒性较强,并且具有实现简单的特点,因而被广泛应用于各种工业过程控制中。

PID控制器提供了反馈控制,通过比例环节成比例的反应偏差信号,加快系统响应速度,提高系统的调节精度,通过积分作用反应并消除系统的稳态误差,通过微分作用预测未来偏差信号的变化趋势,改善系统动态特性。

作为一种广泛的控制规律,PID控制在相当长的一段时间内,并没有因为各种先进控制算法的出现而遭到淘汰。

相反,经过时间的考验,PID控制仍然在各种控制技术中占着主导地位。

但PID参数复杂繁琐的整定过程一直困扰着工程技术人员,研究PID参数整定技术具有十分重大的工程实践意义。

PID控制器参数整定优劣与否,是PID控制器能否在实用中得到好的闭环控制效果的一个前提。

近年来,随着计算机技术的飞跃发展和人工智能技术渗透到自动控制领域,各种整定PID控制器参数整定方法层出不穷,给PID控制器参数整定的研究带来了活力与契机。

另外系统稳定是控制器设计首先需要考虑的问题,只有在系统稳定的前提下,提高其它性能才是有意义的。

针对上述问题,通过研究,本课题所做的主要工作和研究结果如下:

首先,掌握MATLAB软件的应用,掌握MATLAB的Simulink环境的应用。

其次,就PID控制器的发展过程及其基本原理作简要介绍,由于传统PID控制器存在局限性,人们设计出模糊智能PID控制器来克服。

重点介绍了PID参数整定的优点,模糊参数自整定PID控制器的设计方法,通过与常规PID参数整定比较,仿真实验的结果验证了模糊PID控制器的优点,通过模糊参数自整定PID控制与普通PID控制参数整定比较得知,模糊参数自整定PID控制比普通PID参数整定更具备良好的动态响应特性和抗干扰性能。

然后综述了近几年在PID参数整定方面的研究发展情况。

 

1MATLAB/Simulink简介

1.1MATLAB

1.1.1MATLAB概述

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

1.1.2MATLAB的特点

1、高级语言可用于技术计算

2、此开发环境可对代码、文件和数据进行管理

3、交互式工具可以按迭代的方式探查、设计及求解问题

4、数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等

5、二维和三维图形函数可用于可视化数据

6、各种工具可用于构建自定义的图形用户界面

7、各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及MicrosoftExcel)集成。

 

1.1.3MATLAB窗口

1、主窗口介绍

MATLAB主窗口是MATLAB的主要工作界面。

主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。

(1)菜单栏

MATLAB主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help6个菜单项。

1)File菜单项:

File菜单项实现有关文件的操作。

2)Edit菜单项:

Edit菜单项用于命令窗口的编辑操作。

3)View菜单项:

View菜单项用于设置MATLAB集成环境的显示方式。

4)Web菜单项:

Web菜单项用于设置MATLAB的Web操作。

5)Window菜单项:

主窗口菜单栏上的Window菜单,只包含一个子菜单Closeall,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。

6)Help菜单项:

Help菜单项用于提供帮助信息。

(2)工具栏

MATLAB主窗口的工具栏共提供了10个命令按钮,这些命令按钮均有对应的菜单命令,但此菜单命令使用起来更快捷、方便。

2、命令窗口

命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。

MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。

在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。

一般来说,一个命令行输入一条命令,命令行以回车结束。

但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。

例如:

p=15,m=35

p=15;m=35

如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。

3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。

在MATLAB里,有很多的控制键和方向键可用于命令行的编辑。

3、工作空间窗口

工作空间是MATLAB用于存储各种变量和结果的内存空间。

在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。

4、常用工具箱

MATLAB包括拥有数百个内部函数的主包和三十几种工具包。

工具包又可以分为功能性工具包和学科工具包。

功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。

学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

开放性使MATLAB广受用户欢迎。

除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。

  MatlabMainToolbox——matlab主工具箱

  ControlSystemToolbox——控制系统工具箱

  CommunicationToolbox——通讯工具箱

  FinancialToolbox——财政金融工具箱

  SystemIdentificationToolbox——系统辨识工具箱

  FuzzyLogicToolbox——模糊逻辑工具箱

  Higher-OrderSpectralAnalysisToolbox——高阶谱分析工具箱

  ImageProcessingToolbox——图象处理工具箱

  LMIControlToolbox——线性矩阵不等式工具箱

  ModelpredictiveControlToolbox——模型预测控制工具箱

  μ-AnalysisandSynthesisToolbox——μ分析工具箱

  NeuralNetworkToolbox——神经网络工具箱

  OptimizationToolbox——优化工具箱

  PartialDifferentialToolbox——偏微分方程工具箱

  RobustControlToolbox——鲁棒控制工具箱

  SignalProcessingToolbox——信号处理工具箱

  SplineToolbox——样条工具箱

  StatisticsToolbox——统计工具箱

  SymbolicMathToolbox——符号数学工具箱

  SimulinkToolbox——动态仿真工具箱

  WaveleToolbox——小波工具箱。

1.2Simulink

1.2.1Simulink概述

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。

在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。

Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。

同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。

Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。

为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink®是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。

对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。

.

构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。

Simulink与MATLAB®紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。

1.2.2Simulink操作

1、Simulink启动和退出

安装时必须选择安装SIMULINK选项,启动SIMULINK必须先启动MATLAB。

在MATLAB的命令窗口输入simulink或单击MATLAB主窗口工具栏上的Simulink命令按钮即可启动Simulink。

Simulink启动后会显示Simulink模块库浏览器(SimulinkLibraryBrowser)窗口。

该窗口列出了当前MATLAB系统中已安装的所有SIMULINK模块。

在MATLAB主窗口File菜单中选择New菜单项下的Model命令,在出现Simulink模块库浏览器的同时,还会出现一个名字为untitled的模型编辑窗口。

在启动Simulink模块库浏览器后再单击其工具栏中的Createanewmodel命令按钮,也会弹出模型编辑窗口。

利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。

模型创建完成后,从模型编辑窗口的File菜单项中选择Save或SaveAs命令,可以将模型以模型文件的格式(扩展名为.mdl)存入磁盘。

如果要对一个已经存在的模型文件进行编辑修改,需要打开该模型文件,其方法是,在MATLAB命令窗口直接输入模型文件名(不要加扩展名.mdl)。

在模块库浏览器窗口或模型编辑窗口的File菜单中选择Open命令,然后选择或输入欲编辑模型的名字,也能打开已经存在的模型文件。

另外,单击模块库浏览器窗口工具栏上的Openamodel命令按钮或模型编辑窗口工具栏上的Openmodel命令按钮,也能打开已经存在的模型文件。

为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。

2、Simulink系统仿真模型

(1)Simulink的基本模块

Simulink的模块库提供了大量模块。

单击模块库浏览器中Simulink前面的“+”号,将看到Simulink模块库中包含的子模块库,单击所需要的子模块库,在右边的窗口中将看到相应+的基本模块,选择所需基本模块,可用鼠标将其拖到模型编辑窗口。

同样,在模块库浏览器左侧的Simulink栏上单击鼠标右键,在弹出的快捷菜单中单击Openthe‘Simulink’Libray命令,将打开Simulink基本模块库窗口。

单击其中的子模块库图标,打开子模块库,找到仿真所需要的基本模块。

(2)主要模块介绍

Simulink模块库按功能分为以下8类子库:

Continuous(连续模块)

Discrete(离散模块)

Function&Tables(函数和平台模块)

Math(数学模块)

Nonlinear(非线性模块)

Signals&Systems(信号和系统模块)

Sinks(接收器模块)

Sources(输入源模块)

1)连续模块(Continuous)

Integrator:

输入信号积分

Derivative:

输入信号微分

State-Space:

线性状态空间系统模型

Transfer-Fcn:

线性传递函数模型

Zero-Pole:

以零极点表示的传递函数模型

Memory:

存储上一时刻的状态值

TransportDelay:

输入信号延时一个固定时间再输出

VariableTransportDelay:

输入信号延时一个可变时间再输出

2)离散模块(Discrete)

Discrete-timeIntegrator:

离散时间积分器

DiscreteFilter:

IIR与FIR滤波器

DiscreteState-Space:

离散状态空间系统模型

DiscreteTransfer-Fcn:

离散传递函数模型

DiscreteZero-Pole:

以零极点表示的离散传递函数模型

First-OrderHold:

一阶采样和保持器

Zero-OrderHold:

零阶采样和保持器

UnitDelay:

一个采样周期的延时

3)Function&Tables

Fcn:

用自定义的函数(表达式)进行运算

MATLABFcn:

利用matlab的现有函数进行运算

S-Function:

调用自编的S函数的程序进行运算

Look-UpTable:

建立输入信号的查询表(线性峰值匹配)

Look-UpTable(2-D):

建立两个输入信号的查询表(线性峰值匹配)

4)Math(数学模块)

Sum:

加减运算

Product:

乘运算

DotProduct:

点乘运算

Gain:

比例运算

MathFunction:

包括指数函数、对数函数、求平方、开根号等常用数学函数

TrigonometricFunction:

三角函数,包括正弦、余弦、正切等

MinMax:

最值运算

Abs:

取绝对值

Sign:

符号函数

5)Nonlinear(非线性模块)

Saturation:

饱和输出,让输出超过某一值时能够饱和。

Relay:

滞环比较器,限制输出值在某一范围内变化。

Switch:

开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。

ManualSwitch:

手动选择开关

6)Signal&Systems(信号和系统模块)

In1:

输入端。

Out1:

输出端。

Mux:

将多个单一输入转化为一个复合输出。

Demux:

将一个复合输入转化为多个单一输出。

Ground:

连接到没有连接到的输入端。

Terminator:

连接到没有连接到的输出端。

SubSystem:

建立新的封装(Mask)功能模块

7)Sinks(接收器模块)

Scope:

示波器。

XYGraph:

显示二维图形。

ToWorkspace:

将输出写入MATLAB的工作空间。

ToFile(.mat):

将输出写入数据文件。

8)Sources(输入源模块)

Constant:

常数信号。

Clock:

时钟信号。

FromWorkspace:

来自MATLAB的工作空间。

FromFile(.mat):

来自数据文件。

PulseGenerator:

脉冲发生器。

RepeatingSequence:

重复信号。

SignalGenerator:

信号发生器,可以产生正弦、方波、锯齿波及随意波。

SineWave:

正弦波信号。

Step:

阶跃波信号。

9)Simulink模型的特点

在SIMULINK里提供了许多如Scope的接收器模块,这使得用SIMULNK进行仿真具有像做实验一般的图形化显示效果。

SIMULINK的模型具有层次性,通过底层子系统可以构建上层母系统。

SIMULINK提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。

 

2模糊控制

模在工控制过程中经常会碰到大滞后、时变、非线性的复杂系统。

其中,有的参数未知或缓慢化;有的存在滞后和随机干扰;有的无法获得精确的数学模型。

模糊控制器是一种近年来发展起来的新型控制器,其优点是不要求掌握受控对象的精确数学模型,而根据人工控制规则组织控制决策表,然后由该表决定控制量的大小。

将模糊控制和PID控制两者结合起来,扬长避短,既具有模糊控灵活而适应性强的优点,又具有PID控制精度高的特点。

这种Fuzzy-PID复合型控制器,对复杂控制系统和高精度伺服系统具有良好的控制效果。

2.1模糊控制的基本原理

模糊控制系统与一般的计算机控制系统具有相似的结构,其框图如图2.1所示。

系统的核心是一个用模糊知识表示,能完成模糊推理与模糊控制功能的模糊控制器。

图2.1模糊控制系统结构框图

模糊控制规律由计算机程序实现,计算机的采样值为被控量的精确值,将它与给定值比较便可得到偏差信号,此偏差经A/D转换后作为模拟控制器的输入,控制器首先对偏差值进行模糊处理,并用响应的模糊语言值(实际上是一个模糊向量)表示。

根据模糊控制规则经推理合成进行模糊决策,便可得到模糊控制向量。

控制向量经非模糊化(即清晰)化处理转换成精确量,由D/A输出实现对系统的精确控制。

2.2模糊控制器的设计

2.2.1结构设计

结构设计是指合理地确定控制器的输入和输出变量。

结构设计直接影响控制器的性能。

从输入信号“个数”上,模糊控制器可以分为单变量控制器和多变量控制器两种。

目前应用最多的是单变量模糊控制器。

单变量模糊控制器从输入信号“维数”上可分为以下三种:

(1)一维控制器:

输入为被控量与给定值的偏差E,其动态性能比较差,一般只适用于一阶被控对象。

(2)二维控制器:

输入为偏差E及其变化量EC,控制器有较好的动态响应,应用广泛。

(3)三维控制器:

输入为偏差E、偏差变化EC、及偏差变化的改变量ECC。

图2.3为单变

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

当前位置:首页 > 总结汇报 > 学习总结

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

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