在simulink环境下,根据Uq Ud Id Iq We进行内置式永磁同步电机参数识别交直轴电感、电阻、磁链、转动惯量,给出matlab代码
时间: 2024-02-01 17:04:19 浏览: 138
PMSG.zip_PMSG simulink_simulink 参数_同步电机_永磁同步_永磁电机模型
5星 · 资源好评率100%
对于内置式永磁同步电机,其数学模型可以表示为:
$$
\begin{bmatrix}
u_d\\
u_q\\
\end{bmatrix}
=
\begin{bmatrix}
R_s & \omega_e L_s & 0\\
-\omega_e L_s & R_s & \psi_m\\
\end{bmatrix}
\begin{bmatrix}
i_d\\
i_q\\
\omega_m\psi_m\\
\end{bmatrix}
+
\begin{bmatrix}
0\\
0\\
T_L/J\\
\end{bmatrix}
$$
其中,$u_d$和$u_q$分别为直轴和交轴电压,$i_d$和$i_q$分别为直轴和交轴电流,$\omega_m$为电机转速,$\psi_m$为磁链,$R_s$为电阻,$L_s$为交轴电感,$J$为转动惯量,$T_L$为负载转矩。
根据以上模型,可以得到以下代码实现:
```matlab
% 计算Uq Ud对应的电流
id = (Ud - Rs*Iq + w_e*Ls*Iq)/(w_m*psi_m);
iq = (Uq - Rs*Id - w_e*Ls*Id - T_L/J)/(w_m*psi_m);
% 构造矩阵
A = [Rs w_e*Ls 0; -w_e*Ls Rs psi_m; 0 0 0];
B = [0; 0; T_L/J];
C = [0 0 1];
% 最小二乘法求解参数
x = (inv(A'*A)*A'*[id; iq; w_m*psi_m])';
% 提取参数
R_s = x(1);
L_s = x(2)/w_e;
psi_m = x(3)/w_m;
J = T_L/(x(4)*w_m);
```
其中,`Uq`、`Ud`、`Id`、`Iq`、`w_e`、`w_m`、`T_L`为已知量,分别代表交轴电压、直轴电压、直轴电流、交轴电流、电机的空载电角速度、电机的实际电角速度、负载转矩。根据这些已知量计算出对应的电流,然后根据最小二乘法求解矩阵$A$和向量$B$,最后提取出电机的参数$R_s$、$L_s$、$\psi_m$、$J$。
阅读全文