永磁同步电机电阻、电感、惯量、转矩系数、反电势系数、极对数、编码器零位等一系列的参数辩识方法,电流速度环pi参数整定方法

参数辩识

永磁同步电机电阻、电感、惯量、转矩系数、反电势系数、极对数、编码器零位等一系列的参数辩识方法,电流速度环pi参数整定方法,都是从实际项目中总结出来的,个人写成了文档,很详细,想学参数辩识的可以参考,不出对应源代码,不出对应源代码。
请添加图片描述
请添加图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一份MATLAB代码,可用于内置式永磁同步电机参数识别: ``` %% 内置式永磁同步电机参数识别 % 通过实验测量,得到电机三相电流、转速、机械负载转矩等基本参数, % 计算推导得到电机的电感电阻、转动惯量、磁链等参数。 %% 1. 读取实验数据 % 读取电机三相电流、转速、机械负载转矩等实验数据 Ia = xlsread('data.xlsx','Sheet1','B2:B1001'); Ib = xlsread('data.xlsx','Sheet1','C2:C1001'); Ic = xlsread('data.xlsx','Sheet1','D2:D1001'); omega = xlsread('data.xlsx','Sheet1','E2:E1001'); Tm = xlsread('data.xlsx','Sheet1','F2:F1001'); %% 2. 计算电机参数 % 由电机基本原理得到电机模型方程 % Va = Ra*Ia + La*di_a/dt + omega*Lm*Ib*sin(theta) + omega*Lm*Ic*cos(theta) % Vb = Rb*Ib + Lb*di_b/dt + omega*Lm*Ic*sin(theta) + omega*Lm*Ia*cos(theta) % Vc = Rc*Ic + Lc*di_c/dt + omega*Lm*Ia*sin(theta) + omega*Lm*Ib*cos(theta) % 其中,Va、Vb、Vc为电机三相电压;Ia、Ib、Ic为电机三相电流; % Ra、Rb、Rc为电机三相电阻;La、Lb、Lc为电机三相电感; % Lm为磁链;theta为转子位置角。 % 为了简化问题,假设电机三相电阻相等,即Ra=Rb=Rc=R; % 电机三相电感相等,即La=Lb=Lc=L; % 假设电机空载时,磁链为定值,即Lm=Lm0; % 因此,电机模型方程可以简化为: % Va = R*Ia + L*di_a/dt + omega*Lm0*(Ib*sin(theta) + Ic*cos(theta)) % Vb = R*Ib + L*di_b/dt + omega*Lm0*(Ic*sin(theta) + Ia*cos(theta)) % Vc = R*Ic + L*di_c/dt + omega*Lm0*(Ia*sin(theta) + Ib*cos(theta)) % 把三个方程用矩阵示: % V = R*I + L*dI/dt + omega*Lm0*M*I % 其中,V、I为三相电压、电流的列向量;R、L为电阻电感的对角矩阵; % dI/dt为电流变化率的列向量;M为矩阵,其元素为三角函数值。 % 电机参数可以通过实验数据拟合矩阵方程得到。 % 定义矩阵参数 N = length(Ia); V = [Va Vb Vc]'; I = [Ia Ib Ic]'; R = diag([R R R]); L = diag([L L L]); dI = zeros(3,N); M = zeros(3,3,N); for k = 1:N theta = omega(k)/60*2*pi; % 角速度转弧度制 M(:,:,k) = [sin(theta) cos(theta) 0; 0 sin(theta) cos(theta); cos(theta) 0 sin(theta)]; if k > 1 dI(:,k) = (I(:,k)-I(:,k-1))/(omega(k)-omega(k-1)); end end % 拟合矩阵方程 X = [L*ones(3,1) R*ones(3,1) omega*Lm0*ones(3,1) M]; Y = V - R*I - L*dI; P = X\Y; % 计算电机参数 Ls = P(1,1); Rs = P(2,1); Lm = P(3,1)/omega(k); J = Tm(k)/(omega(k)*pi/30); % 输出电机参数 fprintf('电机电感:%.4f H\n',Ls); fprintf('电机电阻:%.4f ohm\n',Rs); fprintf('电机磁链:%.4f Wb\n',Lm); fprintf('电机转动惯量:%.4f kg*m^2\n',J); ``` 此代码假设电机三相电阻相等,即Ra=Rb=Rc=R;电机三相电感相等,即La=Lb=Lc=L;电机空载时,磁链为定值,即Lm=Lm0。如果电机实际情况与假设不同,需要相应地修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值