|
|
@@ -22,25 +22,30 @@ f_speed_ctrl = 500; % [Hz] Speed/torque Controll
|
|
|
Ts_Spd_ctl = 1/f_speed_ctrl;
|
|
|
PWM_Cnt = 6000;
|
|
|
PWM_Half_Cnt = PWM_Cnt/2;
|
|
|
-
|
|
|
+DeatTime = 0;
|
|
|
+DT_PWM_CNT = PWM_Cnt/(Ts_ctrl)*DeatTime;
|
|
|
Torque_Mode = 1;
|
|
|
Speed_Mode = 2;
|
|
|
Ctrl_Mode = Torque_Mode;
|
|
|
%Simulink provider Motor parameters
|
|
|
-n_polePairs = 5; % [-] Number of motor pole pairs
|
|
|
+n_polePairs = 4; % [-] Number of motor pole pairs
|
|
|
PM = 0.01688; % Permanent magnet flux linkage,
|
|
|
-Ld = 0.625e-4;%0.45e-4;%0.07e-3;% d-axis inductance,
|
|
|
-Lq = 0.625e-4;%0.178e-3; % q-axis inductance,
|
|
|
-Rs = 0.011; % Stator resistance,
|
|
|
+Ld = 0.7e-4;%0.07e-3;% d-axis inductance,
|
|
|
+Lq = 0.178e-3; % q-axis inductance,
|
|
|
+Rs = 0.015; % Stator resistance,
|
|
|
J = 0.03945; % Moment of inertia,
|
|
|
-bandwith = 1600*2*pi;
|
|
|
+bandwith = 800*2*pi;
|
|
|
i_Udc = 96; % DCbus max voltage
|
|
|
-
|
|
|
+Rload = 1e6;
|
|
|
%Current=xlsread('E:\works\项目\MC100\电机仿真数据\PhiD-I230405.xlsx','Sheet1','B2:N2');
|
|
|
%FluxD = xlsread('E:\works\项目\MC100\电机仿真数据\PhiD-I230405.xlsx','Sheet1','B4:N40');
|
|
|
%FluxQ = xlsread('E:\works\项目\MC100\电机仿真数据\PhiQ-I230405.xlsx','Sheet1','B4:N40');
|
|
|
%Torque = xlsread('E:\works\项目\MC100\电机仿真数据\T-I230405.xlsx','Sheet1','B4:N40');
|
|
|
|
|
|
+% FluxD = xlsread('E:\works\项目\MC100\电机仿真数据\5N-phiD-Current.xlsx','Sheet1','B4:N40');
|
|
|
+% FluxQ = xlsread('E:\works\项目\MC100\电机仿真数据\5N-phiQ-Current.xlsx','Sheet1','B4:N40');
|
|
|
+% Torque = xlsread('E:\works\项目\MC100\电机仿真数据\5N-Torque-Current.xlsx','Sheet1','B4:N40');
|
|
|
+
|
|
|
%% Define operating point and flux linkage table breakpoints
|
|
|
PointsPerCycle = 36; % Number of angle data points
|
|
|
Shaft_Speed = 3500; % Nominal shaft speed (RPM)
|
|
|
@@ -55,7 +60,7 @@ nAngle = length(angleVec);
|
|
|
fluxDmat = zeros(nMag,nGamma,nAngle);
|
|
|
fluxQmat = zeros(nMag,nGamma,nAngle);
|
|
|
torqueMat = zeros(nMag,nGamma,nAngle);
|
|
|
-%for i = 1:nMag
|
|
|
+% for i = 1:nMag
|
|
|
% for j = 1:nGamma
|
|
|
% for m = 1:nAngle
|
|
|
% fluxDmat(i,j,m) = FluxD(j, i);
|
|
|
@@ -63,8 +68,8 @@ torqueMat = zeros(nMag,nGamma,nAngle);
|
|
|
% torqueMat(i,j,m) = Torque(j, i);
|
|
|
% end
|
|
|
% end
|
|
|
-%end
|
|
|
-load A1_motor_flux_data
|
|
|
+% end
|
|
|
+load A1_N5_motor_flux_data
|
|
|
%% Extract flux linkdage data from Motor-CAD
|
|
|
% nMag = length(magVec);
|
|
|
% nGamma = length(gammaVec);
|