基于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
基于simulink的模糊PID控制器设计与实现相关推荐
- 【Simulink教程案例6】基于Simulink的自适应PID控制器设计与实现
欢迎订阅<FPGA/MATLAB/SIMULINK系列教程> 目录 1.软件版本 2.自适应PID控制器的理论 3.使用SIMULINK实现自适应PID控制器
- 基于simulink的模糊PID控制器
目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 模糊自适应PID控制是在PID算法的基础上,以误差e和误差变化率ec作为输入,利用模糊规则进行模糊推理,查询模糊矩阵表进行参数 ...
- pid控制器matlab仿真研究,基于MATLAB仿真的PID控制器设计毕业设计
基于MATLAB仿真的PID控制器设计毕业设计 基于 MATLAB 仿真的 PID 控制器设计 摘 要 本论文以温度控制系统为研究对象设计一个 PID 控制器.PID 控制是迄今为止最通用的控制方法, ...
- matlab数字pid控制仿真程序,基于MATLAB的数字PID控制器设计及仿真分析
基于MATLAB的数字PID控制器设计及仿真分析 基于基于MATLABMATLAB的数字的数字PIDPID控制器设计及仿真分析控制器设计及仿真分析 摘摘 要要 PID控制作为历史最为悠久,生命力最强的 ...
- 强化学习4——基于Actor-Critic的自适应PID控制器设计
注释:本博文内容来源于文献:Wang X, Cheng Y, Sun W, et al. A Proposal of Adaptive PID Controller Based on Reinforc ...
- 【Simulink教程案例7】基于Simulink的滑模控制器设计与实现
欢迎订阅<FPGA/MATLAB/SIMULINK系列教程> 目录 1.软件版本 2.滑模控制器的理论 3.使用SIMULINK实现滑模控制器
- 基于bp神经网络的pid算法,神经网络pid控制器设计
基于BP神经网络的PID控制器设计 参考一下刘金琨的<先进PID控制>这本书. 例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a ...
- 【Simulink教程案例1】基于Simulink的PID控制器设计与实现
欢迎订阅<FPGA/MATLAB/SIMULINK系列教程> 目录 1.软件版本 2.PID控制器理论概述 3.基于Simulink的PID控制器设计
- 【Simulink教程案例2】基于Simulink的模糊控制器设计与实现
欢迎订阅<FPGA/MATLAB/SIMULINK系列教程> 目录 1.软件版本 2.模糊控制器理论详细介绍 3.基于Simulink的模糊控制器设计
- 基于simulink的PID控制器设计
目录 1.PID算法的基本理论 1.1 PID 控制的基本概念 1.2 基本公式 1.3 PID控制系统原理图 2.在simulink中搭建PID控制器模型及调参 3.调参 1.PID算法的基本理论 ...
最新文章
- vivo 全球商城:商品系统架构设计与实践
- java基础值java 运行参数,及jvm调优
- 树莓派进阶之路 (002) - 系统烧录及系统使用(多平台)
- python适合零基础的人吗_学Python需要什么基础知识?零基础可以学Python吗?
- Linux学习日记——源码编译Apache
- 响应式web(四):使用Netty作为web容器,基于注解的WebFlux阻塞式与响应式实现
- html页面怎么让高度充满屏幕,怎么让一个页面高度占整个屏幕的_html/css_WEB-ITnose...
- Android四大组件之BroadCast(续)
- nodejs 中es5 模块的几种写法
- Eplan p8 v2.7安装不上加密狗驱动
- egde被360导航劫持
- cesium雷达图_cesium添加闪烁点,雷达图(一般用于预警)
- [转]centos安装oracle
- 用vue实现动态组织结构图
- 计算机usb共享网络泄密,信息泄密的三种渠道
- carsim2019.1下载安装包
- 2020数学复习全书习题全解【数学三】
- Docker(二十一)--Docker k8s--Kubernetes存储--Volumes配置管理--持久卷--动态静态分配
- 网络工程师第5版电子笔记第一章
- 注册香港公司和在注册国内公司有什么区别区别