<!-- Begin
var list=0
var KennWerte=new Array();
var ke=0; var iL=0; var Rm=0;
var ke1=0; var iL1=0; var Rm1=0; var etag=0; var u=0;
var etag1=0; var ueb1=0; var nZ=0;
var Raccu=0; var Rg=0;
var KennWerteP=new Array();
var n100=0; var H=0; var D=0;
var KennWerteA=new Array();
var u_accu=0; var Ri=0;
function getRadios(what){
if(what.sel.checked) list=1.0
else list=0.0
}
function DoCalc(form) {
motor=form.m_type.options[form.m_type.selectedIndex].value;
KennWerte=motor.split("/");
ke1=KennWerte[0]*1; iL1=KennWerte[1]*1; Rm1=KennWerte[2]*1;
ueb1=KennWerte[3]*1 ;etag1=KennWerte[4]*1;Kflug=KennWerte[5]*1;
nZ=eval(form.nZ.value);
propeller=form.p_type.options[form.p_type.selectedIndex].valuep;
KennWerteP=propeller.split("/");
n100=KennWerteP[0]*1;
H=KennWerteP[1]*1;
D=KennWerteP[2]*1;
//document.write("Kp : " + Kp )
Akku=form.accu_type.options[form.accu_type.selectedIndex].value_accu;
KennWerteA=Akku.split("/");
u_accu=KennWerteA[0]*1;
Ri=KennWerteA[1]*1;
// war Akku ausgewählt ?
if (u_accu == 0)
{alert("Please choose a accu!")}
// war Getriebe definiert in datenbank ?
if (etag1 != 0)
{etag = etag1}
else
{etag=eval(form.etag.value)}
if (ueb1 != 0)
{ueb = ueb1}
else
{ueb=eval(form.ueb.value)}
// war Motor definiert in datenbank ?
if (ke1 != 0)
{ke = ke1}
else
{ke = eval(form.ke.value)}
if (Rm1 != 0)
{Rm = Rm1}
else
{Rm = eval(form.Rm.value)}
if (iL1 != 0)
{iL = iL1}
else
{iL = eval(form.iL.value)}
// check whether Gear, Motor and Prop changes have been made
if (ueb == 0)
{alert("Enter gear ratio: '1' for direct drive")}
if (etag == 0)
{alert("Enter gear efficiency: '1' for direct drive")}
if (ke == 0)
{alert("Enter rpm/V!")}
if (iL == 0)
{alert("Enter No load current !")}
if (Rm == 0)
{alert("Enter internal resistance!")}
if (n100 == 0)
{alert("Enter Prop!")}
// update displayed characteristics
form.ke.value=ke;form.iL.value=iL; form.Rm.value=Rm;
form.etag.value=etag; form.ueb.value=ueb;
// Hier beginnen die eigentlichen Berechnungen
//--------------------------------------------
var Raccu=nZ*Ri;
var Rm=Rm*1.24; // delta T = 60°C, alpha copper = 0.00392 1/K
var Rg=Rm+Raccu+0.01;
var U=nZ*u_accu;
var Kv=ke; // rpm/V
var Ishort=U/Rg; // Blockierstrom
// Motordrehzahl
var RPMa=-1/200*Math.pow(ueb,3)*Math.pow(n100,3)*etag*(1/Math.pow(Kv,2)/Rg-Math.pow((Math.pow(ueb,3)*Math.pow(n100,3)*etag+400*Math.pow(Kv,3)*Rg*U-400*Math.pow(Kv,3)*Math.pow(Rg,2)*iL),0.5)/Math.pow(Kv,2)/Rg/Math.pow(ueb,1.5)/Math.pow(n100,1.5)/Math.pow(etag,0.5))
// Wirkungsgrade und abgegebene Leistung
var Pw=Math.pow(RPMa*1/ueb/n100,3)*100; // abgegebene Leistung an der Propellerwelle
var Im=(Ishort-1/Kv*RPMa/Rg)///Motorstrom
var Uk=U-(Raccu+0.01)*Im // Uk des Motors
//var etam=(1-Im/(Uk/Rm))*(1-iL/Im); // Max Wirkungsgrad Motor
var etam=Pw/Uk/Im; // Wirkungsgrad Motor incl. Getriebe
var etamg =Pw/U/Im; // Gesamtwirkungsgrad
var Pv=Rm*Im*Im // Pv der Wicklung
var nm=RPMa; // Motordrehzahl
var Vp=H*(2.54/100)*1/ueb*RPMa/60 // Strahlgeschwindigkeit
var HD = H/D
var J =0.2421 * Math.pow(HD,3) + 0.439 * HD + 0.1546
var Vf = J * 1/ueb * RPMa * D * 0.0254 / 60
var Dm = D * 2.54 / 100
var F = 0.785 * Math.pow(Dm,2)
var S1=0.55*Pw;
var S2=Math.pow(S1,2)
var S3=(2 * 1.24 * F * S2)
var S = Math.pow(S3,0.333)/9.81
var nop = U*Kv*0.625
//var eta_prop = (-13.984 * Math.pow(J,2) + 43.59 * J + 48.1189)/100
if (RPMa < nop)
{alert("Motor is overloaded!\nUse Motor with lower Kv, or prop with less diameter or less pitch.")}
form.nw.value=Math.ceil(RPMa*1/ueb)
form.nm.value=Math.ceil(nm)
form.etam.value=Math.round(etam*100)/100
form.etamg.value=Math.round(etamg*100)/100
form.Pv.value=Math.ceil(Pv)
form.Im.value=Math.round(Im*100)/100
form.Pw.value=Math.ceil(Pw)
form.Uk.value=Math.round(Uk*100)/100
form.Vp.value=Math.round(Vp*100)/100
form.Vf.value=Math.round(Vf*100)/100
form.S.value=Math.round(S*10)/10
}
// End -->