ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

永磁同步电机的在线参数辨识仿真模型(二)一一一RLS仿真与实现

2020-12-28 17:33:23  阅读:318  来源: 互联网

标签:仿真 同步电机 永磁 参数 Pn0 辨识 RLS


永磁同步电机的在线参数辨识仿真模型一一一RLS(递推最小二乘法)

写在前面

在这篇博客的基础之上,运用RLS对电机的定子电阻R, 永磁磁链ψf, dq轴电感Ls进行辨识。

永磁同步电机的在线参数辨识仿真模型(一)一一一最小二乘法及递推最小二乘法

针对表贴式的永磁同步电机SPMSM进行在线参数辨识:
辨识的参数为: 定子电阻R, 永磁磁链ψf, dq轴电感Ls
主要步骤可如下:

1.建立矢量控制的电机模型
2.确定辨识方法
3.将定子的d-q电压方程转化为辨识方程
4.搭建辨识仿真模型,开始仿真。

1.辨识模型的推导

在这里插入图片描述
在这里插入图片描述
图2 参数辨识的基本原理

通过电机的基本数学模型对其定子电阻R, 永磁磁链ψf, dq轴电感Ls进行递推最小二乘法辨识,具体推导过程如下:

1.1 d-q轴永磁同步电机基本的数学模型
在这里插入图片描述
1.2 辨识模型的建立与推导

首先是将所需要辨识的 定子电阻R, 永磁磁链ψf, dq轴电感Ls提取出来,依据电压方程可改写成矩阵的形式如下:

在这里插入图片描述

又由于采取的是双闭环矢量PID控制,且id*=0的矢量控制策略,暂时不考虑电流变化率对辨识稳定性所造成的影响,即整个辨识是建立在系统稳态下进行的,由此式(1.19)又可变形为:
在这里插入图片描述
可依据q轴电压方程将其变形为最小二乘的辨识模型,如下:

在这里插入图片描述

在这里插入图片描述
又或者可参考RLS的递推解:

在这里插入图片描述
由此,依据式(1.17)可得递推公式并进行编程,如式(1.24)所示。

在这里插入图片描述

2.辨识仿真模型的搭建与分析

2.1辨识仿真模型的搭建

首先搭建双闭环矢量PID控制的Simulink仿真模型,如图3所示。并运用.m文件或者MATLAB/FCN函数进行递推最小二乘法的编程与应用,如图4所示。PMSM的参数设定,如图5所示。最终运行过程下得到三个参数Ls、R和ψf的辨识结果,如表2所示。

在这里插入图片描述
图3 双闭环矢量PID控制Simulink仿真图

在这里插入图片描述

图4 基于RLS的PMSM在线参数辨识仿真模型

其中,图4中的RLS_ident3 S函数代码如下:

function[sys,x0,str,ts]=RLS_ident3(t,x,u,flag)
theta0=[0.05,0.01,10000];     %被辨识参数的初值,取充分小的实向量
Pn0 =0.0008*eye(3);      % 协方差矩阵,取充分大的实数为0.5
% Pn0 =[0.0008*eye(1) 0 0;
%       0  0.0008*eye(1) 0;
%       0  0   1*eye(1)] ;
switch flag,
    case 0,
        [sys,x0,str,ts]=mdlInitializeSizes(theta0,Pn0);
    case 2,
        sys=mdlUpdate(t,x,u);
    case 3,
        sys=mdlOutputs(t,x,u);
    case {1,4,9}
        sys=[];
    otherwise
        error(['Unhanded flag=',num2str(flag)]);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[sys,x0,str,ts]=mdlInitializeSizes(theta0,Pn0)
sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=12;
sizes.NumOutputs=3;  %% 输出量
sizes.NumInputs=4;   %% 输入量
sizes.DirFeedthrough=0;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[theta0';Pn0(:)];% 需要更新的状态向量的初值
str=[];
ts=[-1,0]; % 继承输入信号的采样时间
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function sys=mdlUpdate(t,x,u)
h=[u(1),u(2),u(3)]';                %采集数据
Pn0=reshape(x(4:end),3,3);     %从状态变量中分离出p0 去除初始化值Pn0---P(k-1)
K=Pn0*h/(1+h'*Pn0*h);          %计算增益矩阵
Pn1=(Pn0-K*h'*Pn0);            %计算下一个协方差阵
theta0=x(1:3);                 %从状态变量中分离出theta0
y=[u(4)];
theta1=theta0+K*(y-h'*theta0);  %计算下一个theta
sys=[theta1;Pn1(:)];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function sys=mdlOutputs(t,x,u)
a1 =1/x(3);    %% 电感Ls
a2 =x(1)/x(3); %% 电阻RS
a3 =x(2)/x(3); %% 磁链flux
% theta1 =x(1:3);
theta1 =[a1 a2 a3];
sys=theta1;

在这里插入图片描述
图5 PMSM参数模型设定值

2.2 辨识仿真结果的分析
在这里插入图片描述

图6~图8分别为定子电阻R, 永磁磁链ψf, dq轴电感Ls的辨识仿真图以及误差图,可知在稳态的情况下很好的可以达到辨识稳定,且辨识误差不超过10%。在这里值得注意的是dq轴电感Ls通过q轴电压方程设计的递推RLS所辨识误差高达51.16%,而通过d轴电压方程重构其RLS辨识模型,辨识误差得到极大的改善。

在这里插入图片描述
在这里插入图片描述
图6 定子电阻R的辨识仿真结果及误差图

在这里插入图片描述
在这里插入图片描述

图7 永磁磁链ψf的辨识仿真结果及误差图

在这里插入图片描述

在这里插入图片描述
图8 dq轴电感Ls的辨识仿真结果及误差图

图9和图10分别为电角速度和转矩的响应曲线,可知该双闭环矢量PID控制下电机的驱动状态是正常的,且可以很好的进行运转,下一步的工作将参数的在线辨识与控制器的参数整定相结合,从而做到电机的参数自整定。

在这里插入图片描述

图9 转速的阶跃响应曲线仿真图
在这里插入图片描述

图10 转矩的阶跃响应曲线仿真图

3.总结

1.运用RLS搭建辨识仿真模型,首先需要明确哪些是输入量,哪些是输出量,哪些是估计量,哪些是无关量,进而运用上一篇博客永磁同步电机的在线参数辨识仿真模型(一)一一一最小二乘法及递推最小二乘法进行模型的建立与仿真搭建。
2.利用带遗忘因子的最小二乘法进行IPMSM的参数辨识可以加快收敛速度。并且上述推导过程中未考虑暂态过程下
电流的变化率对参数辨识的影响。具体的设计:在动态算法中引入电流变化率,消除辨识误差的剧烈波动;并对用于更新d轴、q轴电感的增益矩阵K进行修正,减小由于引入电流变化率对电感辨识造成的影响。后续有时间的话,将仿真模型分享出来与详细的推导过程。读者也可以参考《基于改进RLS算法的永磁同步电机参数辨识》。
3.本仿真模型也可以作为SPMSM的参数在线辨识的研究基础,基于此结合其他先进的算法与控制策略进行电机控制性能的改进。

参考资料

[1]R. Ramakrishnan, R. Islam, M. Islam and T. Sebastian, “Real time estimation of parameters for controlling and monitoring permanent magnet synchronous motors,” 2009 IEEE International Electric Machines and Drives Conference, Miami, FL, 2009, pp. 1194-1199, doi: 10.1109/IEMDC.2009.5075355.
[2]林巨广,陈桐.基于改进RLS算法的永磁同步电机参数辨识[J].合肥工业大学学报(自然科学版),2019,42(07):876-880+934.
[3]荀倩,王培良,李祖欣,蔡志端,秦海鸿.基于递推最小二乘法的永磁伺服系统参数辨识[J].电工技术学报,2016,31(17):161-169.

标签:仿真,同步电机,永磁,参数,Pn0,辨识,RLS
来源: https://blog.csdn.net/qq_42249050/article/details/111607012

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有