【电控笔记z29】扰动估测器DOB估测惯量J-摩擦系数B

基本原理

扰动估测器的核心思想是通过向电机系统施加特定的扰动信号,观察系统响应的变化,然后利用系统的动态模型和控制理论来估计未知参数,如惯量和摩擦系数 。一般基于电机的运动方程建立数学模型,结合观测到的电机实际运行数据(如转速、转矩等),通过一定的算法来计算未知参数。

具体方法

基于自适应控制的方法
  • 模型参考自适应控制(MRAC)

    • 原理:设计一个参考模型,该模型具有已知的理想动态特性(包含假设的惯量和摩擦系数等参数)。将电机实际系统的输出与参考模型的输出进行比较,得到误差信号。然后设计自适应律,根据误差信号实时调整电机控制系统中的参数估计值,使得实际系统输出逐渐逼近参考模型输出。
    • 步骤
      1. 建立电机的动力学模型,例如对于永磁同步电机,其数学模型包含电磁转矩方程、机械运动方程等,其中惯量和摩擦系数是待估参数。
      2. 设计参考模型,通常是一个具有期望性能指标(如期望的转速响应曲线)的系统模型。
      3. 构建自适应律,常见的有基于梯度下降法或最小均方误差(LMS)算法的自适应律。例如,对于参数估计值 θ ^ \hat{\theta} θ^(包含惯量和摩擦系数),自适应律可以表示为 θ ^ ˙ = − γ e ϕ \dot{\hat{\theta}} = -\gamma e \phi θ^˙=γeϕ,其中 γ \gamma γ 是自适应增益, e e e 是跟踪误差(参考模型输出与实际系统输出的差值), ϕ \phi ϕ 是与系统状态相关的回归向量。
      4. 在实际系统中实时运行自适应算法,不断更新参数估计值,直到收敛到稳定状态,此时的估计值即为电机惯量和摩擦系数的估计结果。
  • 模型无关自适应控制(MIAC)

    • 原理:不依赖于精确的电机数学模型结构,直接从输入输出数据中提取系统的动态特性信息来估计参数。通过设计特殊的输入信号(如伪随机二进制序列 PRBS 等),使系统产生丰富的动态响应,然后利用在线辨识算法对输入输出数据进行处理,从而估计出惯量和摩擦系数。
    • 步骤
      1. 向电机施加特定的扰动输入信号,采集电机的转速、转矩等输出数据。
      2. 利用递推最小二乘法(RLS)、卡尔曼滤波等算法对采集的数据进行处理和分析。以 RLS 算法为例,它通过不断更新参数估计值,使得估计模型输出的预测误差平方和最小。具体迭代公式为 θ ^ ( k ) = θ ^ ( k − 1 ) + K ( k ) [ y ( k ) − ϕ T ( k ) θ ^ ( k − 1 ) ] \hat{\theta}(k)=\hat{\theta}(k - 1)+K(k)[y(k)-\phi^T(k)\hat{\theta}(k - 1)] θ^(k)=θ^(k1)+K(k)[y(k)ϕT(k)θ^(k1)],其中 y ( k ) y(k) y(k) 是第 k k k 时刻的输出测量值, ϕ ( k ) \phi(k) ϕ(k) 是第 k k k 时刻的回归向量, K ( k ) K(k) K(k) 是增益矩阵。
      3. 经过足够长时间的在线辨识后,得到电机惯量和摩擦系数的估计值。
基于滑模观测器的方法
  • 原理:滑模观测器是一种非线性观测器,通过设计合适的滑模面和控制律,使观测误差在滑模面上滑动,从而实现对系统状态的准确估计。对于电机系统,可以将惯量和摩擦系数相关的参数融入到状态变量中,然后利用滑模观测器对这些参数进行估计。
  • 步骤
    1. 建立电机的滑模观测器模型,通常包括对电机状态的预测方程和滑模面设计。例如,对于电机的转速和位置状态,设计滑模面函数 s = x ˙ − x ^ s = \dot{x} - \hat{x} s=x˙x^,其中 x x x 是实际状态, x ^ \hat{x} x^ 是观测器估计的状态。
    2. 设计滑模控制律,使得观测误差 s s s 趋近于零。常见的滑模控制律包含符号函数项,以保证系统能够快速到达滑模面并在滑模面上保持滑动。
    3. 在实际运行中,通过观测电机的输入输出信号(如电压、电流、转速等),利用滑模观测器进行实时计算,最终得到电机惯量和摩擦系数的估计值。由于滑模观测器存在抖振现象(由于符号函数的使用),通常需要采用边界层法等方法对其进行改进,以提高估计的精度和稳定性 。

注意事项

  • 扰动信号的设计:扰动信号的类型、幅值和频率等参数对估测结果有重要影响。合适的扰动信号应能使系统产生明显且易于分析的响应变化,同时避免对电机正常运行造成过大干扰。
  • 噪声和干扰处理:实际系统中存在各种噪声和干扰,如测量噪声、电磁干扰等,这些会影响估测的准确性。可以采用滤波技术(如低通滤波器、卡尔曼滤波等)对采集的数据进行预处理,以提高数据质量。
  • 系统建模误差:电机的实际模型往往较为复杂,在建立数学模型时会存在一定的简化,导致建模误差。需要对模型的准确性进行评估,并在估测算法中考虑如何减小建模误差的影响 。

正文

大体思路
dob本质就是基于电机机械模型进行估测TL,类似隆博戈二阶观测器
DOB扰动估测器
z54在线惯量观测:
二阶隆博戈观测器,观测负载转矩TL,然后利用TL去修正B的值,然后再修正J的值

在这里插入图片描述

在这里插入图片描述

在线观测器设计

在这里插入图片描述
在这里插入图片描述
iq 和 iL 可以比作Tq和TL ,本文的Kt融入了pi控制器中
在这里插入图片描述
二阶巴特沃斯设计极点带宽
在这里插入图片描述
定转速且无载,TL = 0,第6式 可以转化为 第9式
在这里插入图片描述
在这里插入图片描述
先估测B再估测J
在这里插入图片描述
在这里插入图片描述

实验:

抑制粘滞摩擦
静摩擦 动摩擦 库伦摩擦
在这里插入图片描述

simulink实验记录

注意:实验过程中不能外加扰动力矩TL,也就是无载工况下

实验参数:

%% pmsm参数
%电流环============================
Ts = 1/20000;%电流环频率-开关频率
Rs = 0.51;
wq = 1000;%电流环带宽
L = 0.000295;Ls=L;Ld =L; Lq = L;%Lq = 0.0125;
flux =0.00983;Lamda_f = flux;
pole = 8;%极数
Pn=pole/2;%极对数
J=0.000017;
B = 8e-4;
Kt=3/4*pole*Lamda_f; %3/4 p lamta 
Ke =0.041;  % V/(rad/s)
curr_d_ki=Rs*wq;
curr_d_kp=L*wq;
%速度环==============================
wm_Ts = 1/1000;%速度环频率
Wsc = 200;
spd_kp= J *Wsc;
spd_ki = spd_kp*Wsc/5;
%母线电压
Udc = 24;

DOB设计

采用带宽为300的观测器,设计方法:
Z19

  1. 先直接断掉BW,也就是认为B=0,后续可以直接测出B=dB
  2. 其中估测的J为实际的0.6倍,现实中也没办法准确先得到J的值,需要后续校准
  3. 并且再本系统中第3s时加入TL=0.5的扰动力矩

在这里插入图片描述

测量粘滞摩擦系数B

给定任意一个恒定速度
在这里插入图片描述

在这里插入图片描述
观测示波器可得3s前B=dB数值为 8 e-4 , 与电机实际给的粘滞摩擦系数吻合。

在这里插入图片描述

验证:
将BW连接上测试

在这里插入图片描述

在这里插入图片描述

可以看到第3s前测出来的dB已经接近0,说明我们估测的Bhat接近真实值

由于3s时给一个持续的负载TL=0.5,运行观测器可得到:

在这里插入图片描述
观测器正常运行,并且准确估测出TL

转动惯量J测试

注意此时估测器的J还是不准确的,相当于真实值的0.6倍,接下来需要准确观测出J,让理论值尽量靠近真实值J
将速度命令更改为恒加速命令
在这里插入图片描述

### 如何在Simulink中实现和运行DOB控制仿真 #### 创建新的Simulink模型 启动MATLAB并创建一个新的Simulink模型文件。 #### 添加必要的模块 为了构建一个基本的DOB控制系统,在库浏览中找到并添加以下模块到工作区: - **Transfer Fcn**:用于表示系统的传递函数。 - **Sum**:求和运算,通常用来计算误差信号。 - **Gain**:增益调节,可以调整反馈路径上的比例系数。 - **Scope**:观察输入输出变化趋势。 - **Step** 或其他类型的源模块作为参考命令输入。 - **Disturbance Observer (DOB)** 模块:这是核心部分,可以从自定义子系统或者使用现有的工具箱来建立。如果选择自己编写,则需按照特定的应用场景设计相应的状态空间方程或传递函数形式[^2]。 #### 设计干扰观测(DOB) 对于DOB的设计而言,关键是确定合适的参数以估计外部扰动。这涉及到对目标植物(plant)特性的深入了解以及期望达到什么样的性能标准。一般情况下,会先假设存在某种形式的状态空间描述\[A,B,C,D\],接着引入额外的状态变量去逼近实际存在的未知干扰项w(t),从而形成扩展后的系统矩阵\[A_e, B_e, C_e, D_e\][^3]。 ```matlab % 定义原系统参数 A, B, C, D 和 DOB 的 L 矩阵 A = ...; % 原始系统的状态转移矩阵 B = ...; C = ...; D = ...; L = ... ; % 干扰观测增益向量的选择取决于具体应用场景的要求 % 扩展系统矩阵 Ae Be Ce De 来包含干扰 w(t) 的影响 Ae = [A zeros(size(A)); C*L eye(length(L))]; Be = [B;zeros(1,length(B))]; Ce = [C zeros(1,length(L))]; De = D; ``` #### 连接各个组件 将上述提到的所有元件按逻辑顺序连接起来,确保数据流方向正确无误。特别是要注意的是,来自DOB估算出来的伪干扰应该反相加入到主回路之前的位置处,以此抵消真实世界里可能遇到的各种不确定性因素带来的负面影响[^4]。 #### 设置初始条件与参数配置 根据实际情况给定合理的初值;同时也要仔细校准各个环节里的关键数值比如采样周期T_s、积分限幅范围等,这些都会直接影响最终仿真的准确性及时效性。 #### 启动仿真过程 完成以上准备工作之后就可以点击“Run”按钮开始执行整个流程了。期间可以通过Scopes实时监控各项指标的变化情况以便后续分析评估控制效果的好坏程度。 #### 结果分析 利用内置的数据记录功能保存下重要时刻点的相关信息,绘制曲线图表辅助直观判断稳定性、快速性和抗噪能力等方面的表现特征。必要时还可以进一步微调某些超参直至满足预期设定为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值