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

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*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
相关文章
|
4月前
|
传感器 算法 自动驾驶
混合A*运动规划算法:路径规划和路径跟踪-MPC-LQR-PID算法
混合A*运动规划算法:路径规划和路径跟踪-MPC-LQR-PID算法
336 0
混合A*运动规划算法:路径规划和路径跟踪-MPC-LQR-PID算法
|
2月前
|
传感器 数据采集 算法
LabVIEW中PID控制器系统的噪声与扰动抑制策略
LabVIEW中PID控制器系统的噪声与扰动抑制策略
56 21
|
编解码 算法 数据可视化
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
|
4月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【抗扰PID控制】干扰抑制PID控制器研究(Matlab代码实现)
【抗扰PID控制】干扰抑制PID控制器研究(Matlab代码实现)
192 0
|
机器学习/深度学习 人工智能 算法
神经网络自适应PID控制及其应用
神经网络自适应PID控制及其应用
1587 0
神经网络自适应PID控制及其应用
|
算法
使用HGS算法调整PD控制器增益的无人机动态性能数据——基于启发式的无人机路径跟踪优化(Matlab代码实现)
使用HGS算法调整PD控制器增益的无人机动态性能数据——基于启发式的无人机路径跟踪优化(Matlab代码实现)
使用HGS算法调整PD控制器增益的无人机动态性能数据——基于启发式的无人机路径跟踪优化(Matlab代码实现)
|
存储
用于调整PID控制器增益的遗传算法的实现(Matlab代码实现)
用于调整PID控制器增益的遗传算法的实现(Matlab代码实现)
|
机器学习/深度学习 算法 机器人
m基于simulink的PID,模糊PID以及神经网络模糊PID三种控制器的控制性能对比仿真
m基于simulink的PID,模糊PID以及神经网络模糊PID三种控制器的控制性能对比仿真
225 0
|
算法 异构计算
基于FPGA的控制参数在线实时调整的自适应PI控制器设计,包含testbench测试程序
基于FPGA的控制参数在线实时调整的自适应PI控制器设计,包含testbench测试程序
203 0