1、前言
永磁同步电机 (PMSM) 的参数辨识可以通过在线和离线两种方式进行,这两种方法各有不同的特点和适用场景。
● 在线参数辨识
在线参数辨识是在电机运行的过程中实时进行参数估计。通过实时获取电机的运行数据(如电流、电压、速度等),结合估计算法,动态调整和识别电机的参数。
优点:
实时性:能够在电机运行过程中实时估计参数,适应参数随运行工况的变化(如温度变化、负载波动等)。
适应性强:能在电机运行时检测并补偿由环境、负载和电机状态变化引起的参数漂移,提高系统的鲁棒性和适应性。
减少停机时间:不需要停机进行参数辨识,适用于对系统连续性要求较高的场合。
缺点:
复杂度高:在线算法对硬件(如处理器性能)和软件的要求较高,算法复杂且需要实时计算。
精度受限:在高频率和快速动态变化的场景下,辨识精度可能受到实时性和噪声的影响。
需要传感器支持:需要较高精度的电流、电压、转速等传感器来进行实时数据采集,成本较高。
● 离线参数辨识
离线参数辨识是在电机未运行或在特定测试工况下进行参数估计。通过施加已知的输入信号,测量输出响应,借助某些算法来估计电机参数。
优点:
精度高:在控制和已知条件下进行测量,减少了外界干扰,因此能够获得较为精确的电机参数。
算法简单:相对于在线辨识,离线方法不需要考虑实时性,因此辨识算法相对简单,计算量较小。
硬件要求低:对处理器和传感器的实时性要求较低,成本相对较低。
缺点:
静态性:离线辨识只是在某一特定环境或条件下测得的参数,无法反映电机在实际运行过程中的参数变化(如温升、磁路变化等)。
工况依赖:电机的参数在实际工况下可能会与离线辨识的结果有较大偏差,因此需要对离线参数进行修正。
需停机:需要在特定的测试工况下进行辨识,电机需要停机,无法应用在对持续运行有较高要求的场合。
总之,在线辨识更适用于那些运行环境多变、对控制精度和实时性要求高的应用场景,能够提供动态的参数调整。离线辨识则适用于对电机的初步建模或调试,或是电机运行环境较为稳定的应用,能够提供高精度的初始参数估计。
2、电阻辨识
2.1 原理
2.2 仿真
总体框图:
模型下载地址: 永磁同步电机PMSM离线参数辨识-相电阻辨识simulink仿真模型
核心模块:
function R = fcn(Ti,ia,va)
persistent sum_ia_temp1 sum_va_temp1 sum_ia_temp2 sum_va_temp2 n1 n2 i1 i2 V1 V2
if isempty(sum_ia_temp1) sum_ia_temp1=0;end
if isempty(sum_va_temp1) sum_va_temp1=0;end
if isempty(sum_ia_temp2) sum_ia_temp2=0;end
if isempty(sum_va_temp2) sum_va_temp2=0;end
if isempty(n1) n1=0;end
if isempty(n2) n2=0;end
if isempty(i1) i1=0;end
if isempty(i2) i2=0;end
if isempty(V1) V1=0;end
if isempty(V2) V2=0;end
% Initialize R to avoid output argument errors
R = 0;
%延时0.05s开始采样
if Ti>0.05 && Ti<=0.3
sum_ia1=sum_ia_temp1+ia;
sum_va1=sum_va_temp1+va;
N1=n1+1;
sum_ia_temp1=sum_ia1;
sum_va_temp1=sum_va1;
n1=N1;
if(Ti==0.3)
i1=sum_ia1/N1;
V1=sum_va1/N1;
end
elseif Ti>0.35 && Ti<=0.6
sum_ia2=sum_ia_temp2+ia;
sum_va2=sum_va_temp2+va;
N2=n2+1;
sum_ia_temp2=sum_ia2;
sum_va_temp2=sum_va2;
n2=N2;
if(Ti==0.6)
i2=sum_ia2/N2;
V2=sum_va2/N2;
end
end
if Ti==0.6
R=(V2-V1)/(i2-i1);
end
仿真结果:
辨识结果与理论值一致。
3、电感辨识
方法1:输入阶跃电压
3.2 方法2:高频注入电压法
具体实现过程中,涉及到滤波器的设计,高频注入信号的频率一般小于PWM载波的1/10,且远高于电机的基波频率。应用上,综合速度、精度与系统稳定性的考虑, 信号注入频率
f
h
f_h
fh选取为系统控制频率
f
c
f_c
fc的1/20 即可, 同时滤波器截止频率选择为信号的注入频率。在此频率点附近, 既能满足估算的快速性, 又能够保证估算精度的需求。 最低的注入频率选取应大于
R
s
/
L
d
R_s/L_d
Rs/Ld。注入电压幅值一般选择额定电压的10%~15%左右。
3.3 仿真
模型下载地址: 表贴式永磁同步电机PMSM离线参数辨识-相电感辨识simulink仿真模型
模型下载地址: 内嵌式永磁同步电机PMSM离线参数辨识-相电感辨识simulink仿真模型
4、磁链常数辨识
核心模块:
function flux = fcn(Ti, id, uq, we)
% 状态变量,用于替代持久变量
% State vector: [id1, id2, sum_uq1, n1, sum_uq2, n2, uq1, uq2]
state = coder.nullcopy(zeros(1, 8));
% 初始化状态变量(首次调用时)
if isempty(state)
state(1:8) = 0; % 初始化 8 个状态变量
end
% 解码状态变量
id1 = state(1);
id2 = state(2);
sum_uq1 = state(3);
n1 = state(4);
sum_uq2 = state(5);
n2 = state(6);
uq1 = state(7);
uq2 = state(8);
% 初始化输出
flux = 0;
% 时间段处理逻辑
if Ti <= 0.3
id1 = id; % 更新 id1
else
id2 = id; % 更新 id2
end
% 延时采样 [0.1, 0.3]
if Ti > 0.1 && Ti <= 0.3
sum_uq1 = sum_uq1 + uq;
n1 = n1 + 1;
if abs(Ti - 0.3) < 1e-6 % 时间点 0.3
uq1 = sum_uq1 / n1;
end
end
% 延时采样 [0.5, 0.6]
if Ti > 0.5 && Ti <= 0.6
sum_uq2 = sum_uq2 + uq;
n2 = n2 + 1;
if abs(Ti - 0.6) < 1e-6 % 时间点 0.6
uq2 = sum_uq2 / n2;
end
end
% 在 Ti = 0.6 计算 flux
if abs(Ti - 0.6) < 1e-6
if id2 ~= id1 % 避免分母为 0
flux = (uq1 * id2 - uq2 * id1) / (we * (id2 - id1));
else
flux = 0;
end
end
% 更新状态变量
state(1) = id1;
state(2) = id2;
state(3) = sum_uq1;
state(4) = n1;
state(5) = sum_uq2;
state(6) = n2;
state(7) = uq1;
state(8) = uq2;
end
5、惯量辨识
核心模块:
function J = fcn(Ti, Te,wm1,wm2,n)
% 状态变量,用于替代持久变量
% State vector: [id1, id2, sum_uq1, n1, sum_uq2, n2, uq1, uq2]
%state = coder.nullcopy(zeros(1, 2));
% % 初始化状态变量(首次调用时)
% if isempty(state)
% state(1:2) = 0; % 初始化 8 个状态变量
% end
% 声明持久变量
persistent state;
% 初始化持久变量(首次调用时)
if isempty(state)
state = zeros(1, 2); % 初始化 2 个状态变量
end
% 解码状态变量
sum_Te1 = state(1);
sum_Te2 = state(2);
% 初始化输出
J = 0;
% 延时采样 [0.1, 0.3]
if Ti < 0.25
sum_Te1 = sum_Te1 + Te;
end
% 延时采样 [0.5, 0.6]
if Ti > 0.25 && Ti <= 0.5
sum_Te2 = sum_Te2 + Te;
end
% 在 Ti = 0.6 计算 flux
if abs(Ti - 1.5) < 1e-6
J=(sum_Te1-sum_Te2)/((2*wm1)*n)
end
% 更新状态变量
state(1) = sum_Te1;
state(2) = sum_Te2;
end
参考
【1】永磁同步电机控制笔记:电机参数离线辨识方法:
https://blog.csdn.net/linzhe_deep/article/details/118067983
【2】杜鑫铭.基于参数辨识的低成本永磁同步电机伺服控制器设计[D].浙江大学,2020.DOI:10.27461/d.cnki.gzjdx.2020.000895.
【3】伺服系统的离线惯量辨识方法介绍:
https://bbs.elecfans.com/jishu_2337914_1_1.html
【4】永磁同步电机离线参数识别:
https://blog.csdn.net/weixin_43015338/article/details/140097541
【5】电机参数辨识算法(1)——基于高频注入的电感辨识策略:
https://blog.csdn.net/m0_46903653/article/details/136722750
【6】基于凌鸥创芯LKS32MC08x的电感参数辨识方法在电机控制中的应用 - - 21ic电子技术开发论坛
【7】表贴式永磁同步电机电阻电感参数离线辨识方法 - 道客巴巴