模拟直流电机+螺旋桨的迭代过程

时间:2019-06-16 16:30:01

标签: matlab process iteration

我目前正在尝试模拟连接到螺旋桨的直流电动机。因此,我为螺旋桨,电池和直流电动机创建了一个模型(根据等效电路)。

螺旋桨: 输入:螺距英寸,直径英寸,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计算完全错误。

0 个答案:

没有答案