基于模糊pid控制器的S-函数磁悬浮非线性动态模型的控制仿真

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 基于模糊pid控制器的S-函数磁悬浮非线性动态模型的控制仿真

1.算法描述

   在磁悬浮的许多实际应用中,都要求磁悬浮系统的悬浮气隙有较大的工作范围。但由于磁悬浮力-电流-气隙之间的非线性特性,系统模型开环不稳定。至少需要输出反馈进行闭环控制,才能够实现稳定悬浮。为了设计一个性能良好的悬浮控制器,基于磁悬浮系统的稳定性控制问题受到了广泛而又深入的研究。传统工业控制中多采用成熟的PID控制调节器,其中比例环节可以加快系统反应速度,积分环节可以消除静差,调节系统刚度;微分环节可以调节系统阻尼特性,改善系统的动态品质。

   PID调节器结构简单,调节方便,应用成熟。但是在高精度的磁悬浮技术场合,工况的复杂性和磁场本身的非线性使得传统PID控制器难以满足工程需要。对磁悬浮模型的稳定控制通常是将非线性磁悬浮模型在平衡点附近进行泰勒展开,忽略高阶项以后,便得到一阶线性化模型。这种线性化模型在磁悬浮控制中得到了广泛应用,并已在工程上验证了它的实用价值,但使用这种线性化方法设计的控制策略也有其局限性。由于线性化模型是在平衡点附近得到的,当系统的平衡点改变时,系统的动态特性会显著改变,控制策略将迅速恶化,影响系统稳定。此时,线性控制律往往不能满足系统稳定性的要求。为此需要更加先进的控制方法。近年来,随着工业水平的提高,很多先进控制方法涌现于自动化领域。

  智能控制智能控制方法是指基于在线学习和辨识的控制方法,如模糊控制、神经网络控制等,此类方法的特点是被控系统可当作“黑箱”来处理,不需要任何有关的先验知识,控制器可根据输出响应来学习系统特性并根据需要对控制参数实施在线调节。此类方法的优点是能够克服磁浮非线性和外界干扰给系统造成的影响。然而,智能控制系统本身具有复杂性,尚处于实验研究阶段,并未得到成熟的工程运用。

    系统辨识系统辨识就是利用系统观测到的信息,构造系统的数学模型的理论和方法。它涉及到的理论基础相当广泛,对于单变量线性系统,已经有一系列成功的理论和辨识方法,多变量系统中的研究还尚未成熟。然而,在单变量系统中与传统的控制方法相比并没有明显的优势。

   磁吸控制系统主要由铁心、线圈、传感器、控制器、功率放大器及其控制对象刚体等元件组成。系统结构如图3-1所示。

image.png
image.png
image.png

线性方程的状态方程:

image.png

在这里,我们取一些值,得到状态方程式如下所示:

image.png

其MATLA代码如下所示:
function y=MagLev(m,g,R,L,k,h0);

i0=h0sqrt(mg/k);

A=[0 1 0;2ki0^2/(mh0^3) 0 -2ki0/(mh0^2);0 0 -R/L];

B=[0;0;1/L];

C=[1 0 0];

D=0;

y=ss(A,B,C,D)

在本系统,我们取m=0.1,g=9.82,R=5,L=0.04,k=0.01,h0=0.02;

2.仿真效果预览
matlab2022a仿真结果如下:
image.png
image.png

3.MATLAB核心程序

clear;
close all;
 
 
 
y=MagLev;
yy=pole(y);
 
PD=tf(-1*[1 20],[1 50]);
rlocus(PD*MagLev);
 
PI=tf([1 1],[1 0]);
[y,t]=impulse(feedback(150*PI*PD*MagLev,1));
sgrid;
figure(2);
plot(t,y)
grid;
v0=0.991;h0=0.02;
[num,den]=tfdata(150*PD*PI,'v');
simulink;
 
function[sys,x0]=MagModel(t,x,u,flag)
m=0.1;
g=9.82;
R=5;
L=0.04;
k=0.01;
h0=0.02;
 
i0=h0*sqrt(m*g/k);
 
switch flag,
    case 1,
        xdot   =zeros(3,1);
        xdot(1)=x(2);
        xdot(2)=m*g-k*x(3)^2/x(1)^2;
        xdot(3)=-R/L*x(3)+1/L*u(1);
        sys=xdot;
    case 3,
        sys=x(1);
    case 0,
        sys==[3 0 1 1 0 0];
        x0=[h0+0.1*h0;0;i0];
    otherwise
        sys=[];
end
相关文章
|
监控 Linux
掌握Linux du命令:高效查看文件和目录大小
du命令是Disk Usage的缩写,用于显示文件和目录的磁盘使用情况。通过du命令,你可以快速了解哪些文件或目录占用了大量的存储空间,从而更好地进行磁盘管理。
459 1
掌握Linux du命令:高效查看文件和目录大小
|
Java Spring 容器
【二十二】springboot整合拦截器实战并对比过滤器
【二十二】springboot整合拦截器实战并对比过滤器
183 0
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
7月前
|
边缘计算 人工智能 数据挖掘
|
JavaScript API
如何使用Vue 3和Type Script进行组件化设计
【8月更文挑战第16天】如何使用Vue 3和Type Script进行组件化设计
278 1
|
Java 关系型数据库 数据库连接
SpringBoot(二)【整合第三方技术】
SpringBoot(二)【整合第三方技术】
|
机器学习/深度学习 存储 分布式计算
阿里开源首个DL框架,新型XDL帮你搞定大规模稀疏数据
12 月 21 日,阿里巴巴旗下的大数据营销平台阿里妈妈开源了其应用于自身广告业务的算法框架 X-Deep Learning(XDL)。该框架非常擅长处理高维稀疏数据,对构建推荐、搜索和广告系统非常有优势。此外,阿里还配套发布了一系列官方模型,它们都是阿里在实际业务或产品中采用的高效模型。
1490 0
阿里开源首个DL框架,新型XDL帮你搞定大规模稀疏数据
|
Java C语言
优雅的使用String字符串处理各种类型转换
优雅的使用String字符串处理各种类型转换
207 0
|
供应链 安全 区块链
永续合约丨合约交易丨秒合约丨币币合约交易所系统开发|规则方案
区块链采用分布式记账模式,无论是登记结算场景下的实时对账能力,还是数据存证场景下的不可篡改能力
|
JSON JavaScript 前端开发
axios是什么
axios是什么
272 1
下一篇
oss教程