【PID控制与模糊PID控制的比较】(带仿真和代码链接)
目 录
一、序言
二、PID控制器的设计
1.PID控制原理图
2.PID控制器传递函数的一般表达式
三、模糊控制器的设计
1.模糊控制原理图
2.模糊控制器传递函数一般表达形式
四、系统仿真
五、总结
———————————————————————————————————————————
一、序言
当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。
它由于用途广泛、使用灵活,已有系列化产品,使用中只需设定三个参数(Kp, Ti和Td)即可。在很多情况下,并不一定需要全部三个单元,可以取其中的一到两个单元,但比例控制单元是必不可少的。
首先,PID应用范围广。虽然很多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时间变化的系统,这样PID就可控制了。
其次,PID参数较易整定。也就是,PID参数Kp,Ti和Td可以根据过程的动态特性及时整定。如果过程的动态特性变化,例如可能由负载的变化引起系统动态特性变化,PID参数就可以重新整定。
第三,PID控制器在实践中也不断的得到改进,下面两个改进的例子。
在一些情况下针对特定的系统设计的PID控制器控制得很好,但它们仍存在一些问题需要解决:
如果自整定要以模型为基础,为了PID参数的重新整定在线寻找和保持好过程模型是较难的。闭环工作时,要求在过程中插入一个测试信号。这个方法会引起扰动,所以基于模型的PID参数自整定在工业应用不是太好。
因此,许多自身整定参数的PID控制器经常工作在自动整定模式而不是连续的自身整定模式。自动整定通常是指根据开环状态确定的简单过程模型自动计算PID参数。
PID在控制非线性、时变、耦合及参数和结构不确定的复杂过程时,工作地不是太好。最重要的是,如果PID控制器不能控制复杂过程,无论怎么调参数都没用。
本文针对固定系统,分别利用传统PID控制方法和模糊控制方法对其进行仿真控制,并对两种控制的控制结果进行了比较,通过比较表明了模糊控制相比传统的PID控制改善控制系统的动态性能。
二、PID控制器的设计
1.PID控制原理图:
2.PID控制器传递函数的一般表达式
调整PID参数,以满足系统要求,从而使被控对象有更优良的动态响应和静态响应。
积分环节:用于消除静差,提高系统的无差度,积分时间常数决定着积分环节作用的强度,但是积分作用过强的话会影响系统的稳定性。
微分环节:根据偏差量的变化趋势来调节系统控制量,在偏差信号发生较大变化之前,提早引入一个校正信号,起到加快系统动作速度,减少调节时间的作用,调节微分参数需要注意微分作用太强可能会引起系统振荡。
三、模糊PID控制器的设计
1.模糊控制原理图
上面为模糊控制器的原理图,实际上模糊控制器的输出并非真正的控制信号,而是作为PID的参数。所以完整的模糊PID控制器框图应该需要包含PID控制的部分,如下图所示:
其中模糊推理部分即上面的模糊控制器,PID调节器才是真正起作用的控制器,而模糊控制器的作用是在线实时调整PID参数。
2.模糊控制器传递函数一般表达形式
一个典型工业过程通常可以等效为二阶系统加上一个非线性环节(如纯滞后),给出如下经典控制对象传递函数的一般形式:
其中模糊控制规则是模糊控制器的核心,是设计控制系统的主要内容。
(1)模糊化:把精确量(如偏差e和偏差变化ec)转化为相应的模糊量(E、EC);
(2)模糊推理:按总结的语言规则(模糊控制规划表)进行模糊推理;
(3)模糊判决:把推理结果(U)从模糊量转化为可以用于实际控制的精确量(u)。
用Simulink工具建立由PID控制器组成的系统仿真模型如下图所示,其中比例增益Kp取值0.04,积分增益取值0.03,微分增益取值1.2。选用的输入是单位阶跃信号。
- 选择偏差e、偏差变化ec和输出的模糊语言变量为E、EC和Kp,Ki,Kd。根据e、ec和PID参数实际的基本论域,设定E、EC都为[-3,3],Kp为[-0.3,0.3],Ki为[-0.06,0.06],Kd为[-3,3]。模糊控制器前后的GAIN模块为比例因子,可将输出输出转换到论域范围。
- 选取E、EC和PID参数的各语言变量值:正大为PB,正中为PM,正小为PS,为零为E,负小为NS,负中为NM,负大为NB,它们各自在论域上的模糊子集隶属度函数均为三角形。
- 选择一种模糊判决方法,将控制量由模糊量变为精确量,这个过程叫做“去模糊化”,这里采用的是“面积平分法”。
用Simulink工具建立由模糊控制器组成的系统仿真模型如下图所示:
(3)PID参数(即Kp,Ki,Kd)的隶属度函数图7:PID参数的隶属度函数
其中,黑色为PID控制法的输出信号,红色的为模糊PID控制法的输出信号。
五、总结
利用MATLAB的SIMULINK 仿真工具,分别用PID控制法和模糊PID控制法对对象进行了仿真,通过对两者图像的比较,我得出了一些结论。
调节过程中,由于对象选择的是比较简单,PID控制法所选用的各个环节的参数比较容易调得,波形相对稳定,但是波形峰值相对较大,超调量较大,调节时间稍长。
综上所述,PID的参数虽然相较容易调得,但控制结果还是模糊PID控制的好
matlab仿真:https://download.csdn.net/download/tishengsuo3396/20351058
C语言代码:https://download.csdn.net/download/tishengsuo3396/20350960
【PID控制与模糊PID控制的比较】(带仿真和代码链接)相关推荐
- 模糊pid控制的温度系统matlab源代码_变风量空调模糊 PID 控制系统的仿真研究
一般在负荷变化较大的大型中央空调系统中,采用温度恒定和改变风量的调节方式,从而使控制房间的送风量随系统负荷的变化而变化的中央空调系统叫做变风量空调系统.该系统最大优点就是a节能,如果全年运行,可节约能 ...
- matlab 模糊pid mimo 对应,双关节机械手的模糊PID控制系统设计.doc
双关节机械手的模糊 PID 控制系统设计 摘 要 为了实现高阶.非线性.强耦合的机械手运动系统的控制,本文选用能够充分 体现机械手特性并且结构较为简单的 2 自由度机械手--双关节机械手,作为被控 对 ...
- 模糊PID控制在自动光电整纬装置中的应用
模糊PID控制在自动光电整纬装置中的应用 摘要:针对纺织品在运行过程中的变形是非线性.时变的特点,提出一种新型自动整纬装置的设计方法.采用高性能的TMS320LF2407A芯片作为主处理单元,软件采用 ...
- 汽车防抱死系统_ABS_建模与模糊PID控制研究
本文旨在设计一种利用模糊控制理论优化的pid控制器,控制abs系统,达到对滑移率最佳控制范围的要求 ,所提出的方案采用级联控制架构:设计用于外环中的车轮打滑控制的具有Takagi-Sugeno-Kan ...
- 基于SIMULINK的燃烧过程模糊PID控制系统仿真
基于SIMULINK的燃烧过程模糊PID控制系统仿真 1 燃烧过程控制系统 在许多的工业生产过程中,燃烧都是必需的一环.燃烧过程有燃油.燃煤.燃气等区别.虽然燃烧应用场合和燃料各异,但是燃烧过程的控制 ...
- 2021-03-31 Matlab simulink 模糊PID在无刷直流电机中的应用
Matlab simulink 模糊PID在无刷直流电机中的应用 无刷直流电机的数学模型. 1.无刷直流电机数学模型 然后给出无刷直流电机的动态数学模型 看到上述这张图,不知聪明的你有没有发觉,图中采 ...
- Pid控制算法-专家PID与模糊PID的C++实现
PID控制算法的C语言实现 八 专家PID与模糊PID的C语言实现 本节是PID控制算法的C++语言实现系列的最后一节,前面7节中,已经分别从PID的实现到深入的过程进行了一个简要的讲解,从前面 ...
- 自适应模糊PID控制算法
一.自适应模糊PID控制 自适应模糊PID控制将模糊控制与传统PID控制相结合,将两种控制方式进行结合,取长补短,对传统的算法进行优化,形成一种新的控制算法,自适应模糊PID控制可以用于很多场景,比如 ...
- 模糊PID控制器的实现
文章目录 前言 一.模糊PID控制优势 二.PID控制原理 2.1三个参数的功能 比例KPK_PKP 积分KIK_IKI 微分KDK_DKD 三.模糊控制原理 四.模糊PID控制器实现 前言 本 ...
- 模糊控制应用(一)模糊PID在一个三阶系统上的应用
模糊控制应用(一)模糊PID在一个三阶系统上的应用 1. 系统概述 2. 经典PID调节 3. 模糊PID控制 1. 系统概述 设有系统传函 G(s)=280s3+70s2+13s+1G(s)=\fr ...
最新文章
- 数据结构 线性表java_java数据结构--线性表
- Linux下配置Smba服务器
- Mysql在字符串类型的日期上加上10分钟并和如今的日期做比較
- php重量,在PHP中按重量生成随机结果?
- vue路由跳转 返回上一级 this.$router.go(-1) 和返回到指定页面this.$router.push('/home')...
- android ImageSwitcher的使用
- Android studio的UI组件
- Hadoop精华问答:Hadoop框架最核心的设计是?
- 一个有限状态机的C++实现
- (22)Verilog HDL结构:function语句
- “618”台前幕后的那些事
- HDU2066一个人的旅行(dijkstra)
- android判断是否被点击方法,android 中有没有判断imageview是否以被单击的函数方法?...
- 如何准备互联网产品岗面试
- layabox 场景文件类型有哪些?
- 信息系统项目管理师(2022年) —— 第 7 章 项目成本管理
- Unknown rule function-calc-no-invalid.Stylelint(function-calc-no-invalid)
- 微软 bing 壁纸 每日一图 bing api
- FaceNet 人脸比对框架 部署+测试
- 应届生什么专业方向就业面广?
热门文章
- 嵌入式--接口(一)Camera接口:DVP、MIPI
- 什么是多道程序设计技术,试述多道程序运行的特征。
- matlab image反色,Matlab读入PNG图像后自动反色现象解释
- Java全栈开发---Java ERP系统开发:商业ERP(十三)CXF框架,物流BOS系统开发
- 医学自然语言处理(NLP)相关论文汇总之 NAACL 2022
- Unity 粒子特效
- 智头条:3月智能圈投融资大事记:极米、涂鸦上市,大华获中国移动56亿投资,凯迪仕获近1亿美元融资,小米投100亿美金造车
- SVN工具的安装和使用
- Linux卸载Anaconda
- 计网实验(一):IP子网划分