基于simulink的模糊PID控制器设计与实现
目录
作者ID :fpga和matlab
CSDN主页:https://blog.csdn.net/ccsss22?type=blog
擅长技术:
1.无线基带,无线图传,编解码
2.机器视觉,图像处理,三维重建
3.人工智能,深度学习
4.智能控制,智能优化
5.其他
一、理论基础
PID校正传递函数应为:
我们课题中式PI控制器,那么只要把Kd设置为0即可,这里我们还是按PID来进行说明
理论上,PID三个参数的确定有如下方法:
设系统固有开环传递函数为:
系统的特征方程为:
通过对三个系数的不同赋值,可改变闭环系统的全部或部分极点的位置,从而改变系统的动态性能。由于PID调节器只有三个任意赋值的系数,因此只能对固有传递函数是一阶和二阶的系统进行极点位置的任意配置。
对于一阶系统,只需采用局部的PI或PD校正即可实现任意极点配置。设一阶系统开环固有传递函数和校正环节传递函数分别为:
下面重点讲一下模糊PI/PID控制器的设计流程,其基本理论如需所示:
这里,我们所采用的模糊PI的控制方式,可以实现实时参数更新,从而改善控制系统的控制性能,提高控制系统的稳定性和高精度性。
图1 模糊PI结构图
模糊PI控制器,其主要多了一个模糊控制器,通过模糊控制对输入误差和误差变化率,得到一个最佳的Kp和Ki,从而实现实时的调整PI参数的作用。
模糊集、论域及隶属度函数的确定
本系统,考虑到控制规则的实际情况,本课题选择7个模糊语言作为模糊规则的基本语句,这里主要为NB (负大)、NM (负中)、NS (负小)、ZO (零)、PS (正小)、PM (正中)、PB (正大)。这里选择的模糊变为输入误差E,输入误差变化率Ec,输出变量和。
输入E、EC和输出、的模糊集论域采用Mamdani类型,模糊语言集合为{NB,NM,NS,ZO,PS,PM,PB},在MATLAB中,使用模糊函数编辑工具设计上述讲述的模糊模糊集和隶属函数。常用的隶属函数有梯形分布、三角形分布和正态分布等。
隶属函数的类型决定了系统的控制性能,隶属函数中的曲线斜率越大,其模糊分辨率就越高,系统的控制性能就越低,隶属函数中的曲线斜率越小,其模糊分辨率就越低。系统的控制性能就越高,系统稳定性就越高。
模糊控制规则
模糊控制规则表建立的基本原则为,当误差较大的时候,应尽快的消除误差,而当误差较小的时候,应消除可能存在的超调。就是说,如果实际值和和期望值的偏差负大,而且偏差变化率为负中时,则需要使得Id的输出量为正大。由模糊语言的等级可以得知,模糊控制规则有49条模糊条件语句。通常情况下,模糊规则如表1,2所示。
表1 e规则控制表
Kp | EC | ||||||
E | NB | NM | NS | ZO | PS | PM | PB |
NB | PB | PB | PM | PM | PS | ZO | ZO |
NM | PB | PB | PM | PS | PS | ZO | NS |
NS | PM | PM | PS | PS | ZO | NS | NS |
ZO | PM | PM | PS | ZO | NS | NS | NM |
PS | PS | PS | ZO | NS | NS | NM | NM |
PM | PS | ZO | NS | NS | NM | NM | NB |
PB | ZO | ZO | NS | NM | NM | NB | NB |
表3-2 ec规则控制表
Kp | EC | ||||||
E | NB | NM | NS | ZO | PS | PM | PB |
NB | PB | PB | PM | PM | PS | ZO | ZO |
NM | PB | PB | PM | PS | PS | ZO | NS |
NS | PM | PM | PS | PS | ZO | NS | NS |
ZO | PM | PM | PS | ZO | NS | NS | NM |
PS | PS | PS | ZO | NS | NS | NM | NM |
PM | PS | ZO | NS | NS | NM | NM | NB |
PB | ZO | ZO | NS | NM | NM | NB | NB |
这里,我们使用的25个模糊规则,比上面的简化些
最后就是反模糊化,所谓的反模糊化,就是根据模糊推理规则计算出控制器的输出,在通常情况下,反模糊算法主要有加权平均法、限幅元素平均法等算法。
二、核心程序
首先讲一下关于电力系统的仿真,simulink的仿真环境的配置设置:
这里,在simulink中,我们一般选择内插方式为ode23tb。然后在选择精度为0.0001.这样的话,在powerGUI设置为continue的时候,我们可以得到比较光滑的曲线,并且仿真速度较快,而默认状态的配置,只适合于离散情况下进行仿真。
然后,是电机部分,电机部分,为了能突出对比性,我们这里还是使用你上次提供的电机的配置设置,不过修改了初始参数的值,因为之前你的初始值都是0.这样显然是不对的。
然后几个其他电力模块:
注意,之前,你的设置是
就是最后两个你都设置了100,但是这样的话,电机和RLC是冲突的,所以需要设置为0,设置为0之后,就可以正常的运行了。
然后建立如下的模型:
三、仿真测试结果
通过MATLAB中的模糊规则的设计方法,可以得到模糊规则的三维效果图,这个三维效果图中的纵坐标表示的是模糊控制器输出控制量u的曲面。其仿真效果如图3所示。
图3模糊控制器的输出曲面
通过上面的基本理论,我们得到的控制系统的基本结构如下所示:
01:
从上面的仿真结果对来看,模糊PI比PI能够更快收敛到预设值0附近。
02:
03:
A05-11
相关文章
- 基于窗函数法的FIR数字滤波器实现matlab仿真
- 【电梯控制系统】基于VHDL语言和状态机实现的电梯控制系统的设计,使用了状态机
- 【FPGA+PWM】基于FPGA的三相PWM整流器移相触发电路的设计与实现
- 简易的基于FPGA的OFDM系统的ISE实现
- 【FPGA教程案例10】基于Verilog的复数乘法器设计与实现
- 【FPGA教程案例4】基于vivado核的FIFO设计与实现
- 【FPGA教程案例2】基于vivado核的NCO正弦余弦发生器设计与实现
- 【语音SBC算法】基于正交滤波器组的语音SBC算法设计与实现
- (免费分享)java基于SSM的进销存管理系统设计与实现
- 基于Java Web + MySQL实现的(Web)手机商城系统【100010668】
- 基于 C++ OpenGL框架实现小桌模型绘制【100010594】
- 基于QT(C++)实现(图形界面)连连看【100010520】
- 基于C++实现(控制台)电网建设造价模拟系统【100010500】
- 基于Python+Vue+Mysql实现(物联网)智能大棚【100010340】
- 基于php和mysql实现(Web)学生课外活动成果统计系统【100010274】
- 基于Java(SSH)+MySQL 设计与实现的食品销售网站【100010070】
- 基于C++ 实现简易图书管理系统【100010046】
- 基于MaterialDesign设计风格的妹纸app的简单实现
- Python实现图片的base64编码
- 毕业设计 基于Vue的在线聊天系统设计与实现
- 【毕业设计_课程设计】基于深度学习与词嵌入的情感分析系统设计与实现(源码+论文)
- 【毕业设计_课程设计】基于python的微信公众平台机器人的设计与实现
- 基于CC2530的ZigBee转以太网网关的设计与实现
- 基于C51实现按键控制
- U3D客户端框架之基于类对象池的可回收变量代码实现