close all clear clc Rs = 0.011; %电机相电阻 MotPoles = 4; vDC = 96; %母线电压96v MotDCMax = vDC * sqrt(3)/2; %dq 轴合称的电压矢量最大值 dc * 0.866 MotVel = 8000; %需要计算的当前转速,rpm Omega = MotVel / 60 * MotPoles * 2 * pi; % A1 5匝电机数据 % FluxD = xlsread('E:\works\项目\MC100\电机仿真数据\5N-phiD-Current.xlsx','Sheet1','B4:N12'); % FluxQ = xlsread('E:\works\项目\MC100\电机仿真数据\5N-phiQ-Current.xlsx','Sheet1','B4:N12'); FluxD = xlsread('E:\works\项目\MC100\电机仿真数据\PhiD-I230405.xlsx','Sheet1','B4:N12'); FluxQ = xlsread('E:\works\项目\MC100\电机仿真数据\PhiQ-I230405.xlsx','Sheet1','B4:N12'); currentVec = linspace(0,300,13); % 电流矢量 advAngleVec = linspace(0, 80, 9); % 超前角 nCurrent = length(currentVec); nAdvAngle = length(advAngleVec); idMat = zeros(nAdvAngle, nCurrent); iqMat = zeros(nAdvAngle, nCurrent); %生成DQ轴电流 for i = 1:nAdvAngle for j = 1:nCurrent idMat(i,j) = -currentVec(j) * sin((advAngleVec(i))/180*pi); iqMat(i,j) = currentVec(j) * cos((advAngleVec(i))/180*pi); end end Torque = 3/2*MotPoles*(FluxD.*iqMat-FluxQ.*idMat); Ud = -FluxQ * Omega + idMat * Rs; Uq = FluxD * Omega + iqMat * Rs; Us = sqrt(Ud.^2 + Uq.^2); %Us = sqrt(FluxD.^2+FluxQ.^2)*Omega+sqrt(iqMat.^2+idMat.^2)*Rs;