m厌氧间歇发酵动态控制系统matlab仿真,对比PID控制和MPC控制

简介: m厌氧间歇发酵动态控制系统matlab仿真,对比PID控制和MPC控制

1.算法描述

    生物发酵过程,其中稀释速率和供料基质浓度可作为操作变量。出口的细胞浓度或生物浓度、基质浓度以及产品浓度是过程的状态变量。例如在生产酒精的发酵过程中,是酵母浓度,是葡萄糖浓度,而是乙醇浓度。假设发酵培养基是单一均相生长的有机体,则广泛采用的非构造化模型较适用于非线性控制器的设计,其模型为

b8d49b5b31520f2df0cbaf5d7408598f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
ed96ab5e233beb8e2ec5775bda2d7474_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

  这个连续发酵过程的控制目标是单位时间内生成产品细胞的数量。实际生产中,发酵罐出口物料中,酵母细胞量与基质含量和产品相比可以忽略,故控制目标可表示为 

4cee8f755d2b2d6802e6a220538c400c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    PID控制器,即控制器的控制方式为P比例调整,I积分调整以及D微分调整三个部分构成,PID控制器是目前为止应用最为广泛的控制方式。PID控制器具有结构简单,性能稳定,参数设置简单等优势。PID控制器适用于各种控制对象无法进行测量获得系统参数的情况,其根据控制对象的输出和参考控制变量的输入差进行实时的调整实现对未知参数控制对象的有效控制。PID控制器由比例调整模块,积分调整模块以及微分调整模块三个部分构成,那么其输入的误差信号e(t)与输出u(t)的关系为公式6:

6a342e1faf6e1d1c00e049a3bcf84456_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
93476fce5aaf58307d4ff9edbedd7ca6_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   MPC(Model Predictive Control),又称RHC, Receding Horizon Control,是一种进阶过程控制方法,自1980年以来开始在化工炼油等过程工业得到应用,并在经济领域开始得到应用。

MPC是一种多变量控制策略,其中涉及了:

   过程内环动态模型;控制量的历史数值;在预测区间上的一个最优值方程J。最优控制量可由以上各量求出。

   MPC最大的特点在于,相对于LQR控制而言,MPC可以考虑空间状态变量的各种约束,而LQR,PID等控制只能够考虑输入输出变量的各种约束。

MPC可应用于线性和非线性系统。

  在当今过程控制中,PID当然是用的最多的控制方法,但MPC也超过了10%的占有率。MPC是一个总称,有着各种各样的算法。其动态矩阵控制(DMC)是代表作。DMC采用的是系统的阶跃响应曲线,其突出的特点是解决了约束控制问题。那么是DMC是怎么解决约束的呢?在这里只给出宏观的解释,而不做详细的说明。DMC把线性规划和控制问题结合起来,用线性规划解决输出约束的问题,同时解决了静态最优的问题,一石二鸟,在工业界取得了极大的成功。

  MPC作用机理描述为:在每一个采用时刻,根据获得的当前测量信息,在线求解一个有限时间开环优化问题,并将得到的控制序列的第一个元素作用于被控对象。在下一个采样时刻,重复上述过程:用新的测量值作为此时预测系统未来动态的初始条件,刷新优化问题并重新求解 。
即MPC算法包括三个步骤:
(1)预测系统未来动态;
(2)(数值)求解开环优化问题;
(3)将优化解的第一个元素(或者说第一部分)作用于系统
  这三步是在每个采样时刻重复进行的,且无论采用什么样的模型,每个采样时刻得到的测量值都作为当前时刻预测系统未来动态的初始条件
  在线求解开环优化问题获得开环优化序列是MPC和传统控制方法的主要区别,因为后者通常是离线求解一个反馈控制律,并将得到的反馈控制律一直作用于系统。

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

f417c13c16c68bdac6c81202cdf9bbdc_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
ee66b51bc34066ebfbbe1aca41885a13_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
a1de7d2ac996064cd4ea6a18097a65bc_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
af5ec1e22d56f0e2ad840f44e1de338c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序

%已知初始浓度
X0 = 0.0005; 
S0 = 0.1; 
P0 = 0;
 
 
[RX,RS,RP] = model_of_fj(X0,S0,P0);
 
 
%采样时间
ts=20
%PID的控制变量
kp=1;
ki=0.05;
kd=0.3;
 
%原系统离散化
sysc=tf([1],[60 1],'inputdelay',80);
sysd=c2d(sysc,ts,'zoh');
%得到需要的离散系统参数
[num,den]=tfdata(sysd,'v');
%PID仿真参数设定
u1=0;
u2=0;
u3=0;
u4=0;
u5=0;
 
y1=0;
y2=0;
y3=0;
e1=0;
e2=0;
es=0; 
%开始PID仿真
for k=1:500
    t(k)=k*ts;
    y(k)=-den(2)*y1+num(2)*u5;
    r(k)=1;
    e(k)=r(k)-y(k);
    es=es+e(k)*ts;
    %PID Control
    u(k)=kp*e(k)+kd*(e(k)-e1)/ts+ki*es;
    if u(k)>5
        u(k)=5;
    elseif u(k)<-5
        u(k)=-5;
    end
    u5=u4;
    u4=u3;
    u3=u2;
    u2=u1;
    u1=u(k); 
    
    e2=e1;
    e1=e(k);
end
 
%DMC仿真
%建立离散的系统
gmpc=poly2tfd([1],[60 1],0,80);
%系统阶跃响应的时间
tend=20000;
mymodel=tfd2step(tend,ts,1,gmpc);
%MPC参数设定
P=5;
M=3;
ywt=[];
uwt=[1];
rmpc=[1];
%系统的仿真时间设定
tend=10000;
%建立MPC的系数矩阵
mpcM=mpccon(mymodel,ywt,uwt,M,P);
%MPC仿真
[ympc,umpc,ymmpc]=mpcsim(mymodel,mymodel,mpcM,tend,rmpc);
%MPC控制绘图
相关文章
|
2月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
193 0
|
2月前
|
算法
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
2月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
3月前
|
机器学习/深度学习 存储 算法
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
328 0
|
3月前
|
机器学习/深度学习 边缘计算 算法
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
206 0
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
272 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
132 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
118 0
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
132 0

热门文章

最新文章