我目前正在尝试模拟连接到螺旋桨的直流电动机。因此,我为螺旋桨,电池和直流电动机创建了一个模型(根据等效电路)。
螺旋桨: 输入:螺距英寸,直径英寸,rpm,rho,Pprop,推力 输出:Ct和Cp
电池: 该模型基于此处介绍的模型https://www.mathworks.com/help/physmod/sps/powersys/ref/battery.html#bry4req-2 唯一必要的物理输入是IBattery。通过实验获得了必要的常数。
直流电动机: 我选择的模型的控制方程为:w_em =(V-I * Ra)* Kv | T_em =(I-I0)/ KV
我假设w_em等于w_prop
我的问题是方程w_em =(V-I * Ra)* Kv!我尝试以数字方式重新创建实验设置。在该测试中,EM的节气门设置从10%扫描到100%,并记录了rpm,转矩,电流和电压。电源由电池供电。
现在我的问题是: ->当我随着时间增加节流阀时,电池的电压会下降,而电流会增加(实验结果) ->但是根据此公式,当电压降低而电流增加时,转速应降低,这是错误的! 我必须将公式中的某些变量解释为错误的。有谁能够帮助我 ?
while deltaRPM >=20
if ~exist('rpmEff','var')
load('Eff_curve.mat');
end
noIteration = noIteration + 1;
if noIteration >= 1000
disp('There was a problem with convergence! Check code!');
break;
end
if ~exist('Ct','var')
Ct = 0.105 ;
if ~exist ('Cp','var')
Cp=0.022;
end
n = rpm / 60;
dia = propData(1) * 0.0254;
Pprop = Thrust * n * dia / (Ct / Cp);
[Pabs,torque,Cp,Ct] = EXP_prop_curves(pitchInches, diameterInches, rpm,
Velocity, rho, Pprop, Thrust);
Pprop = Thrust * n * dia / (Ct / Cp);
TorqueProp = Pprop / ( 2*pi/60 * rpm);
mu = Effrpm.setup(rpm);
TorqueEm = TorqueProp * 1/ mu;
Ibattery = TorqueEm * motorData(1) * 2 * pi / 60 + motorData(2);
[Vbattery, ChargePcntNew, ~, ~, batteryVolume, emissions, ~] =
batteryModel( Ibattery, ChargePcnt, Capacity, cells_series,
timeStep,'batteryType', 'lipo');
rpmNew = ( Vbattery - Ibattery * motorData(3)) *
motorData(1);
estimatedEnd = ChargePcnt/100*Capacity/Ibattery*60;
%% ERROR COMPUTATION
deltaRPM = abs(rpm - rpmNew);
rpm = rpmNew;
end
rpmNew计算完全错误。