模型预测控制专题(六)—— 基于ESO的无模型预测电流控制

0 前言

在前五小节中,我们系统阐述了多种基于模型的电流预测控制(DPCC)策略;本文自此开始,将探索基于超局部模型的电流预测控制策略。这两类方法最本质的区别在于所依托的模型不同:前者完全依赖永磁同步电机的精确数学模型实现控制,而后者则基于单输入单输出(SISO)的超局部模型完成电流的预测与控制。

本篇文章基于前面关于无模型预测控制的综述,进行一定关于无模型预测电流控制的探索。前文链接如下:
模型预测控制专题(五)------ Model-free 的一篇review论文_超局部模型(ulm)-CSDN博客

​文章标题:Model-free Predictive Control of Motor Drives: A Review

1 何为超局部模型?

超局部模型(Ultra-Local Model)是无模型控制中核心的建模方法,其核心思想是削弱对被控对象精确数学模型的依赖,将系统中所有未知的动态、耦合项、参数摄动和外部扰动归并为"总扰动",仅保留一阶线性简化形式。即:

输出导数 = 输入增益×输入 + 总扰动

对于我们电机控制而言,超局部模型不依赖电感、电阻、永磁磁链等精确电机参数,仅通过"电流导数"与"电压输入"的线性关系建模。其中电流为输出,电压为输出,其实这个就是单输入单输出模型,非要取个超局部模型的称谓。在得到超局部模型后,再通过观测器实时估计并补偿总扰动,实现鲁棒控制。

1.1 超局部模型推导步骤

永磁同步电机在dq旋转坐标系下的原始电压方程 (工业应用核心形式)为:
{ u d = R s i d + L d d i d d t − ω e L q i q u q = R s i q + L q d i q d t + ω e ( L d i d + ψ f ) \begin{cases} u_d = R_s i_d + L_d \frac{di_d}{dt} - \omega_e L_q i_q \\ u_q = R_s i_q + L_q \frac{di_q}{dt} + \omega_e (L_d i_d + \psi_f) \end{cases} {ud=Rsid+Lddtdid−ωeLqiquq=Rsiq+Lqdtdiq+ωe(Ldid+ψf)

步骤1:解出电流导数项

将原始电压方程变形为"电流导数 = 电压项 - 所有非电压相关项"的形式,单独分离 d i d d t \frac{di_d}{dt} dtdid和 d i q d t \frac{di_q}{dt} dtdiq:
(1)d轴电流导数推导

对d轴电压方程移项,将 L d d i d d t L_d \frac{di_d}{dt} Lddtdid单独置于左侧:
L d d i d d t = u d − R s i d + ω e L q i q L_d \frac{di_d}{dt} = u_d - R_s i_d + \omega_e L_q i_q Lddtdid=ud−Rsid+ωeLqiq

两边除以 L d L_d Ld,得到d轴电流导数的显式表达式:
d i d d t = 1 L d u d − R s L d i d + ω e L q L d i q (1) \frac{di_d}{dt} = \frac{1}{L_d} u_d - \frac{R_s}{L_d} i_d + \frac{\omega_e L_q}{L_d} i_q \tag{1} dtdid=Ld1ud−LdRsid+LdωeLqiq(1)
(2)q轴电流导数推导

对q轴电压方程展开并移项,将 L q d i q d t L_q \frac{di_q}{dt} Lqdtdiq单独置于左侧:
L q d i q d t = u q − R s i q − ω e L d i d − ω e ψ f L_q \frac{di_q}{dt} = u_q - R_s i_q - \omega_e L_d i_d - \omega_e \psi_f Lqdtdiq=uq−Rsiq−ωeLdid−ωeψf

两边除以 L q L_q Lq,得到q轴电流导数的显式表达式:
d i q d t = 1 L q u q − R s L q i q − ω e L d L q i d − ω e ψ f L q (2) \frac{di_q}{dt} = \frac{1}{L_q} u_q - \frac{R_s}{L_q} i_q - \frac{\omega_e L_d}{L_q} i_d - \frac{\omega_e \psi_f}{L_q} \tag{2} dtdiq=Lq1uq−LqRsiq−LqωeLdid−Lqωeψf(2)

步骤2:定义总扰动项

超局部模型的关键是将所有未知/耦合项归并为总扰动,这一点非常关键需要着重理解,此时令:

  • d轴总扰动 f d f_d fd:包含电阻压降、dq轴耦合项等所有非电压输入的扰动
    f d = − R s L d i d + ω e L q L d i q f_d = - \frac{R_s}{L_d} i_d + \frac{\omega_e L_q}{L_d} i_q fd=−LdRsid+LdωeLqiq
  • q轴总扰动 f q f_q fq:包含电阻压降、dq轴耦合项、永磁反电动势等所有非电压输入的扰动
    f q = − R s L q i q − ω e L d L q i d − ω e ψ f L q f_q = - \frac{R_s}{L_q} i_q - \frac{\omega_e L_d}{L_q} i_d - \frac{\omega_e \psi_f}{L_q} fq=−LqRsiq−LqωeLdid−Lqωeψf
步骤3:超局部模型标准形式

将总扰动项代入式(1)、(2),得到PMSM超局部模型的基础形式
{ d i d d t = 1 L d u d + f d d i q d t = 1 L q u q + f q \begin{cases} \frac{di_d}{dt} = \frac{1}{L_d} u_d + f_d \\ \frac{di_q}{dt} = \frac{1}{L_q} u_q + f_q \end{cases} {dtdid=Ld1ud+fddtdiq=Lq1uq+fq

步骤4:整理换参

实际控制中,为进一步降低对电感参数 L d 、 L q L_d、L_q Ld、Lq的依赖,将 1 L d 、 1 L q \frac{1}{L_d}、\frac{1}{L_q} Ld1、Lq1定义为标称增益 α d 、 α q \alpha_d、\alpha_q αd、αq,得到工程中最常用的超局部模型简化形式:
{ d i d d t = α d u d + f d d i q d t = α q u q + f q \begin{cases} \frac{di_d}{dt} = \alpha_d u_d + f_d \\ \frac{di_q}{dt} = \alpha_q u_q + f_q \end{cases} {dtdid=αdud+fddtdiq=αquq+fq

其中 α d ≈ 1 L d \alpha_d \approx \frac{1}{L_d} αd≈Ld1, α q ≈ 1 L q \alpha_q \approx \frac{1}{L_q} αq≈Lq1, f d 、 f q f_d、f_q fd、fq包含所有未建模动态、参数误差、外部扰动和耦合项。

所以何为超局部呢?如果做一个形象的比喻就是本来电机是个复杂、耦合性强的系统模型,但是我仅仅去看电流-电压这个模型,那么大的系统模型我不看了。这个"只看"相对于"全看"的区别,可能就是局部这个单词的由来。这种取名还是越高大上约有吸引力。值得学习。


2 扩展状态观测器如何构建? Extended State Observer (ESO)

在得到了电机超局部模型后,下一步就是最关键的一步:集总扰动的观测。观测器的效果决定了整体控制策略的性能。我们参照2021年的一篇比较典型的基于ESO的无模型预测模型方法进行探究。(这里跟它不完全一样,文章内是基于亮相静止坐标系进行的建模。本文是基于旋转坐标系进行的建模。)

文章标题 :Model-Free Predictive Current Control of PMSM Drives Based on Extended State Observer Using Ultralocal Model

2.1 回顾超局部模型

首先,我们回顾从之前推导得到的PMSM dq轴超局部模型出发:
{ d i d d t = α d u d + f d d i q d t = α q u q + f q \begin{cases} \frac{di_d}{dt} = \alpha_d u_d + f_d \\ \frac{di_q}{dt} = \alpha_q u_q + f_q \end{cases} {dtdid=αdud+fddtdiq=αquq+fq
由于dq轴的超局部模型结构完全对称,我们以d轴为例单独推导ESO,q轴的推导过程完全一致

2.2 将总扰动定义为扩展状态 Extended State

ESO的核心思想是:将不可直接测量的"总扰动"扩展为一个新的状态变量 ,从而将原一阶系统转化为一个扩展的二阶系统,通过观测器同时估计原状态即电流 i d i_d id 和 扩展状态即总扰动 f d f_d fd。

步骤1:写出d轴原系统的状态方程

令原状态变量为 x 1 = i d x_1 = i_d x1=id,则d轴超局部模型可写为:
x ˙ 1 = α d u d + f d \dot{x}_1 = \alpha_d u_d + f_d x˙1=αdud+fd

其中 x ˙ 1 = d i d d t \dot{x}_1 = \frac{di_d}{dt} x˙1=dtdid 表示状态的时间导数。

步骤2:定义扩展状态变量

将总扰动 f d f_d fd 定义为第二个状态变量 x 2 x_2 x2,即:
x 2 = f d x_2 = f_d x2=fd

同时,假设总扰动的变化率为 h d ( t ) h_d(t) hd(t),则扩展后的二阶系统状态方程为:
{ x ˙ 1 = x 2 + α d u d x ˙ 2 = h d ( t ) \begin{cases} \dot{x}_1 = x_2 + \alpha_d u_d \\ \dot{x}_2 = h_d(t) \end{cases} {x˙1=x2+αdudx˙2=hd(t)

系统的输出方程为(电流可直接测量):
y = x 1 = i d y = x_1 = i_d y=x1=id

2.3 构建线性扩展状态观测器(LESO)

针对上述扩展的二阶系统,我们设计线性扩展状态观测器 来同时估计 x 1 = i d x_1=i_d x1=id 和 x 2 = f d x_2=f_d x2=fd。记状态的估计值为 x ^ 1 , x ^ 2 \hat{x}_1, \hat{x}_2 x^1,x^2,则LESO的结构如下:

{ x ^ ˙ 1 = x ^ 2 + α d u d − β 1 ( x ^ 1 − y ) x ^ ˙ 2 = − β 2 ( x ^ 1 − y ) \begin{cases} \dot{\hat{x}}_1 = \hat{x}_2 + \alpha_d u_d - \beta_1 (\hat{x}_1 - y) \\ \dot{\hat{x}}_2 = - \beta_2 (\hat{x}_1 - y) \end{cases} {x^˙1=x^2+αdud−β1(x^1−y)x^˙2=−β2(x^1−y)

其中, x ^ 1 − y = i ^ d − i d \hat{x}_1 - y = \hat{i}_d - i_d x^1−y=i^d−id是电流估计值与实际值的误差; x ^ 1 \hat{x}_1 x^1是d轴电流的估计值 i ^ d \hat{i}_d i^d; x ^ 2 \hat{x}_2 x^2是d轴总扰动的估计值 f ^ d \hat{f}_d f^d; β 1 , β 2 \beta_1, \beta_2 β1,β2是观测器的增益矩阵。

2.4 观测器增益的参数化(带宽法)

为了简化增益调整,通常采用带宽法 设计 β 1 , β 2 \beta_1, \beta_2 β1,β2:将观测器的极点配置在同一个期望的带宽 ω o \omega_o ωo 处,从而将增益转化为单一参数观测器带宽 ω o \omega_o ωo的函数。对于二阶LESO,若将观测器的两个极点都配置在 s = − ω o s = -\omega_o s=−ωo 处,则增益可直接取为:
{ β 1 = 2 ω o β 2 = ω o 2 \begin{cases} \beta_1 = 2 \omega_o \\ \beta_2 = \omega_o^2 \end{cases} {β1=2ωoβ2=ωo2

其中 ω o \omega_o ωo 是观测器带宽,需根据实际系统调整:

  • ω o \omega_o ωo 越大,观测器跟踪速度越快,但对测量噪声越敏感;
  • 通常取 ω o \omega_o ωo 为控制带宽的3~10倍。

2.5 离散化实现(适合数字控制)

在实际的PMSM数字控制器中,需要将上述连续时间的LESO离散化。假设控制周期为 T s c T_{sc} Tsc,采用欧拉前向差分法 近似微分( x ^ ˙ ≈ x ^ ( k + 1 ) − x ^ ( k ) T s c \dot{\hat{x}} \approx \frac{\hat{x}(k+1) - \hat{x}(k)}{T_{sc}} x^˙≈Tscx^(k+1)−x^(k)),则离散化后的LESO为:

d轴离散LESO:

{ i ^ d ( k + 1 ) = i ^ d ( k ) + T s c [ f ^ d ( k ) + α d u d ( k ) − β 1 ( i ^ d ( k ) − i d ( k ) ) ] f ^ d ( k + 1 ) = f ^ d ( k ) − T s c β 2 ( i ^ d ( k ) − i d ( k ) ) \begin{cases} \hat{i}_d(k+1) = \hat{i}d(k) + T{sc} \left[ \hat{f}_d(k) + \alpha_d u_d(k) - \beta_1 (\hat{i}_d(k) - i_d(k)) \right] \\ \hat{f}_d(k+1) = \hat{f}d(k) - T{sc} \beta_2 (\hat{i}_d(k) - i_d(k)) \end{cases} {i^d(k+1)=i^d(k)+Tsc[f^d(k)+αdud(k)−β1(i^d(k)−id(k))]f^d(k+1)=f^d(k)−Tscβ2(i^d(k)−id(k))

q轴离散LESO(结构完全一致):

{ i ^ q ( k + 1 ) = i ^ q ( k ) + T s c [ f ^ q ( k ) + α q u q ( k ) − β 1 ( i ^ q ( k ) − i q ( k ) ) ] f ^ q ( k + 1 ) = f ^ q ( k ) − T s c β 2 ( i ^ q ( k ) − i q ( k ) ) \begin{cases} \hat{i}_q(k+1) = \hat{i}q(k) + T{sc} \left[ \hat{f}_q(k) + \alpha_q u_q(k) - \beta_1 (\hat{i}_q(k) - i_q(k)) \right] \\ \hat{f}_q(k+1) = \hat{f}q(k) - T{sc} \beta_2 (\hat{i}_q(k) - i_q(k)) \end{cases} {i^q(k+1)=i^q(k)+Tsc[f^q(k)+αquq(k)−β1(i^q(k)−iq(k))]f^q(k+1)=f^q(k)−Tscβ2(i^q(k)−iq(k))

2.6 线性扩展状态观测器(LESO)实现代码

这里直接附上观测器部分的代码:

复制代码
    % ====================== ESO核心控制逻辑 ======================
    w0 = 4000;                        % 观测器带宽
    alphad = alpha;                   % d轴标称增益
    alphaq = alpha;                   % q轴标称增益
    beta1 = 2 * w0;                   % 观测器参数1
    beta2 = w0 * w0;                  % 观测器参数2
    
 	% d轴扰动观测与电流估计
    erro_id = id_est_k - id;
    id_est_k1 = id_est_k + Tsc * (Fdk + alphad * Udk - beta1 * erro_id);
    Fdk1 = Fdk - Tsc * beta2 * erro_id;

    % q轴扰动观测与电流估计
    erro_iq = iq_est_k - iq;
    iq_est_k1 = iq_est_k + Tsc * (Fqk + alphaq * Uqk - beta1 * erro_iq);
    Fqk1 = Fqk - Tsc * beta2 * erro_iq;

3 仿真结果分析

3.1 仿真工况

(1)电机空载零速启动加速至2000rpm;

(2)0.2s突加4Nm负载;

(3)0.3s带负载降速至1000rpm;
注:文章中的图像图例存在一定的错误,每张图的最后一个波形为MF-ESO方法。

3.2 标称参数仿真结果

依据超局部模型中的推导, α \alpha α取得电感值的倒数为标称参数。按照所提论文中阐述,在10kHz开关频率下选择观测器带宽为6000-8000 r a d / s rad/s rad/s合适,因此选择 ω o = 6000 r a d / s \omega_o=6000 rad/s ωo=6000rad/s为标称参数。仿真结果如下所示,其中第一行为转速,第二行为idiq波形,第三行为A相相电流波形。此阶段是粗略的看,可以看到系统能够实现较好的电流指令跟踪。

3.3 与DPCC的对比结果

(1)参数准确的情况

对比在电感参数准确情况下的PI控制器、DPCC、MF-ESO控制结果;

在参数完全准确时,启动过程的电流跟踪 DPCC是优于MF-ESO的;稳态跟踪效果基本一致。(这两者动态性能当然是优于PI的,这点毋庸置疑,不然预测就没意义了。)

(2)参数不准确的情况

对比在磁链参数准确情况下的PI控制器、DPCC、MF-ESO控制结果;此时磁链参数设置为标准值的两倍;可以看到DPCC的电流无法跟随给定值,出现了较大的偏差,而MF-ESO则运行过程中无静态误差跟踪。


3.4 标称参属下电流THD与传统PI的对比

ESO这种观测器不仅能够观测上文中推导的已知扰动,还能对频谱范围内的未知扰动例如死区导致的非线性干扰进行已知。在此对比不同策略的THD大小。对比结果如下FFT分析所示。

**(1)PI电流THD = 6.13% **

(2)DPCC电流THD = 5.72%

(3) MF-ESO 电流THD = 5.41% 在基波幅值一致的情况下,5次和7次谐波幅值相对明显较低。

以上仿真结果验证了MF-ESO的参数鲁棒性以及对扰动的抑制效果。

从动态性能的角度考虑,DPCC实际实验绝对无法做到参数完全准确,因此动态性能上在参数准确时效果与DPCC基本一致,在参数不准确时MF-ESO优于DPCC,且优于PI。

从稳态跟踪的角度考虑,参数准确的情况下三者基本一致。但是在参数不准确的情况下,DPCC效果最差,PI与MF-ESO基本一致。

从稳态电流谐波的角度考虑,MF-ESO具备最小电流THD。

从目前的仿真结果整体来看这个控制策略还是具备明显优势的。

下一节内容

在下一节内容中,我们将讨论具体的MF-ESO内部参数对性能的影响。

相关推荐
深圳市尚想信息技术有限公司19 小时前
原装UCC27524DR 栅极驱动器 TI德州仪器 电子元器件 进口芯片IC
开关电源·电机控制·电动汽车充电·德州仪器·栅极驱动器·太阳能逆变器
廷华电子6 天前
SSI接口板设计
stm32·电机控制
廷华电子7 天前
STM32H743+AX58100学习板
stm32·嵌入式硬件·电机控制·ethercat·cia402
GreenGoblin8 天前
13.DSP学习记录之SPI
单片机·dsp开发·电机控制
沉沙丶15 天前
关于matlab分析电流THD的一些探究和记录
开发语言·matlab·电机控制·foc·永磁同步电机·模型预测·预测控制
GreenGoblin16 天前
12.DSP学习记录之SCI
单片机·dsp开发·电机控制
沉沙丶17 天前
模型预测控制专题(十二)—— 基于高阶扩展状态观测器HESO的MPFCC
simulink·电机控制·foc·永磁同步电机·pmsm·无模型预测·电流预测控制
沉沙丶17 天前
模型预测控制专题(十一)—— 基于改进型扩张状态观测器MESO的MPFCC
电机控制·foc·永磁同步电机·模型预测·预测控制·pmsm·无模型预测
沉沙丶18 天前
模型预测控制专题(十)—— 现有观测器限制分析
电机控制·foc·永磁同步电机·模型预测·预测控制·pmsm·无模型预测
沉沙丶19 天前
模型预测控制专题(九)—— 进一步优化的方向
人工智能·电机控制·永磁同步电机·模型预测·预测控制·pmsm·无模型预测控制