College of Engineering - Purdue University



Appendix D-1: The results from the modified Motor code.

Figure 1.1: Power, Efficiency and Torque of the major five candidates motors.

Figure 1.2: Motor Analysis of Astro CO25.

Figure 1.3: Motor Analysis of Aveox 1415/1.5.

Figure 1.4: Motor Analysis of Aveox 1415/2.

Figure 1.5: Motor Analysis of Maxcim N32-13D.

Figure 1.6: Motor Analysis of Maxcim N32-13Y.

Table 1.1: Efficiency and Power Output of Speed Controller.

| Speed Controller | |  |

|Model |Maxµ35B-21 |Maxµ35B-25NB |

|Efficiency (%) |99.3 |99.06 |

|Resistance (Ohms) |0.009 |0.012 |

|Power output (Watts) |367.2 |367.2 |

|Power input (Watts) |369.801 |370.668 |

|Power Dissipated (Watts) |2.601 |3.468 |

Appendix D-2: The results from Goldstein method code.

Table 2.1: The results from Goldstein Method for different Propeller.

|  |  |Propeller |Analysis |(Gold) |18 cells |

|Price |$180.00 |$247.95 |$247.95 |$177.95 |$177.95 |

|Speed Controller |  |  |  |  |  |

|Maxµ35B-21 |$159.95 |Aveox L260 |$159.99 |Astro 204D |$100.00 |

|Maxµ35B-25NB |$189.95 |Aveox M260 |$159.99 |  |  |

|Gearbox |  |  |  |  |  |

|Maxcim |Aveox PG37 |Astro 713 |  |  |  |

|$40.00 |$95.95 |$60.00 |  |  |  |

Table 3.4: Endurance Test for the Propulsion System.

Appendix D-4: Motor constant equations.

DC motors have the following constant parameters:

-Io: No load current. It is the lowest current to spin the motor.

-Rm: Terminal resistance: It is the resistance drawn by the motor structure.

-Kv: Voltage constant: It is a constant describing the relationship between RPM and voltage.

-Kt: Torque constant: It is a constant describing the relationship between torque and current drawn from the battery pack.

The current into a motor is,

I=Iin-Io [Eq. D-4.1]

Where Iin is the input current from the battery pack.

And the voltage into a motor is,

V=Vin-(Iin*Rm) [Eq. D-4.2]

Where Vin is the input voltage from the battery pack.

Then the power input and output from the motor can be calculated in the following way,

Pin = Vin*Iin [Eq. D-4.3]

Pout= V*I [Eq. D-4.4]

Pout = (Iin-Io)*(Vin-(Iin*Rm)) [Eq. D-4.5]

The speed and torque of a motor can be obtained using Kv.

RPM=Kv*(Vin-Iin*Rm) [Eq. D-4.6]

Torque=(In-Io)/Kv [Eq. D-4.7]

The relationship between Kv and Kt is shown below,

Kt=1355/Kv [Eq. D-4.8]

These equations are used to analyze the motor, therefore, they do affect the rest of the propulsion system. These equations are implemented in the following codes [App. D-5, D-6, D-7].

Table 4.1: Motor Constants of Various Motors.

Appendix D-5: Motor Selection code

%Motor Selection

clear all

close all

%Prto= input('Enter Power required fot TO :');

%Prcl= input('Enter Power required for Climb :');

%if Prto > Prcl

% Pto=Prto;

%else

% Pto=Prcl;

%end

Pto=277.7344;

%Wtot=8.6;

%Pto=50*Wtot; % 50 W/lb for take off for rough estimation

I=[2:0.1:60];

cell=18;

vol=1.2;

Vin=vol*cell;

%Astroflight CO25

Io1=2.2;

Rm1=0.093;

kv1=971;

kt1=1.395;

rpm1=kv1.*(Vin-(I.*Rm1));

P1=(I-Io1).*(Vin-(I.*Rm1));

Pin1= I.*Vin;

eff1=P1./Pin1;

T1=kt1.*(I-Io1);

Idrpm1=kv1*Vin;

Noloadrpm1= kv1*(Vin-Io1*Rm1);

Istall1=Vin/Rm1;

Imax1=sqrt(Io1*Istall1);

nmax1=((Imax1-Io1)/Imax1)^2;

%Aveox 1415/1.5

Io2=2.5;

Rm2=0.01;

kv2=1568;

kt2=0.848;

rpm2=kv2.*(Vin-(I*Rm2));

P2=(I-Io2).*(Vin-(I.*Rm2));

Pin2= I.*Vin;

eff2=P2./Pin2;

T2=kt2.*(I-Io2);

Idrpm2=kv2*Vin;

Noloadrpm2= kv2*(Vin-Io2*Rm2);

Istall2=Vin/Rm2;

Imax2=sqrt(Io2*Istall2);

nmax2=((Imax2-Io2)/Imax2)^2;

%MaxCim N32-13Y

Io3=0.8;

Rm3=0.058;

kv3=1420;

kt3=0.946;

rpm3=kv3.*(Vin-(I*Rm3));

P3=(I-Io3).*(Vin-(I.*Rm3));

Pin3= I.*Vin;

eff3=P3./Pin3;

T3=kt3.*(I-Io3);

Idrpm3=kv3*Vin;

Noloadrpm3= kv3*(Vin-Io3*Rm3);

Istall3=Vin/Rm3;

Imax3=sqrt(Io3*Istall3);

nmax3=((Imax3-Io3)/Imax3)^2;

%Maxcim N32-13D

Io4=2.5;

Rm4=0.022;

kv4=2500;

kt4=0.548;

rpm4=kv4.*(Vin-(I*Rm4));

P4=(I-Io4).*(Vin-(I.*Rm4));

Pin4= I.*Vin;

eff4=P4./Pin4;

T4=kt4.*(I-Io4);

Idrpm4=kv4*Vin;

Noloadrpm4= kv4*(Vin-Io4*Rm4);

Istall4=Vin/Rm4;

Imax4=sqrt(Io4*Istall4);

nmax4=((Imax4-Io4)/Imax4)^2;

%Aveox 1415/2

Io5=1.8;

Rm5=0.022;

kv5=1190;

kt5=1.13;

rpm5=kv5.*(Vin-(I*Rm5));

P5=(I-Io5).*(Vin-(I.*Rm5));

Pin5= I.*Vin;

eff5=P5./Pin5;

T5=kt5.*(I-Io5);

Idrpm5=kv5*Vin;

Noloadrpm5= kv5*(Vin-Io5*Rm5);

Istall5=Vin/Rm5;

Imax5=sqrt(Io5*Istall5);

nmax5=((Imax5-Io5)/Imax5)^2;

%max efficiency of motors

disp('For Astro CO25')

nmax1

Imax1

P1(151)

eff1(151)

disp('For Aveox 1415/1.5')

nmax2

Imax2

P2(151)

eff2(151)

disp('For Aveox 1415/2')

nmax5

Imax5

P5(151)

eff5(151)

disp('For Maxcim N32-13Y')

nmax3

Imax3

P3(151)

eff3(151)

disp('For Maxcim N32-13D')

nmax4

Imax4

P4(151)

eff4(151)

figure(2)

subplot(311)

plot(I,P1,'k',I,P2,'b',I,P3,'g',I,P4,'m',I,P5,'y')

legend('AstroC025','Aveox1415/1.5','MaxcimN32-13Y','MaxcimN32-13D','Aveox1415/2')

hold on

plot(I,Pto,'r')

axis([2 25 100 500])

hold off

title('Power output by the Motors')

subplot(312)

plot(I,eff1,'k',I,eff2,'b',I,eff3,'g',I,eff4,'m',I,eff5,'y')

legend('AstroC025','Aveox1415/1.5','MaxcimN32-13Y','MaxcimN32-13D','Aveox1415/2')

title('Power efficiency of the Motors')

subplot(313)

plot(I,T1,'k',I,T2,'b',I,T3,'g',I,T4,'m',I,T5,'y')

legend('AstroC025','Aveox1415/1.5','MaxcimN32-13Y','MaxcimN32-13D','Aveox1415/2')

title('Torque produced by Motor')

%Gear box

m=3.75; %gear box ratio

rpmg1=rpm1/m;

rpmg2=rpm2/m;

rpmg3=rpm3/m;

rpmg4=rpm4/m;

rpmg5=rpm5/m;

ng= 0.95;

Pgout1=P1.*ng;

Pgout2=P2.*ng;

Pgout3=P3.*ng;

Pgout4=P4.*ng;

Pgout5=P5.*ng;

Tg1= m*ng*T1;

Tg2= m*ng*T2;

Tg3= m*ng*T3;

Tg4= m*ng*T4;

Tg5= m*ng*T5;

figure(3)

subplot(211)

plot(I,Pgout1,'k',I,Pgout2,'b',I,Pgout3,'g',I,Pgout4,'m',I,Pgout5,'y')

legend('AstroC025','Aveox1415/1.5','MaxcimN32-13Y','MaxcimN32-13D','Aveox1415/2')

title('Power output after gearbox')

subplot(212)

plot(I,Tg1,'k',I,Tg2,'b',I,Tg3,'g',I,Tg4,'m',I,Tg5,'y')

legend('AstroC025','Aveox1415/1.5','MaxcimN32-13Y','MaxcimN32-13D','Aveox1415/2')

title('Torque produced by gearbox')

%Speed controllers

%For maxcim's and Aveox: Maxu35B-21

Requi1 = 0.009;

Pd2345 = I.^2.*Requi1;

%For Astro Flight : 204D

Requi2 =0.002;

Pd1= I.^2.*Requi2;

%Battery

Poutn1 = Pin1 + Pd1;

Poutn2 = Pin2 + Pd2345;

Poutn3 = Pin3 + Pd2345;

Poutn4 = Pin4 + Pd2345;

Poutn5 = Pin5 + Pd2345;

%Speed Controller efficiency

%ns =output pwr/input pwr

ns1= Pin1./Poutn1;

ns2= Pin2./Poutn2;

ns3= Pin3./Poutn3;

ns4= Pin4./Poutn4;

ns5= Pin5./Poutn5;

figure(4)

subplot(211)

plot(I,Pd1,'k',I,Pd2345,'b')

legend('AstroC025','Rest')

title('Power dissipated by speed controller')

subplot(212)

plot(I,ns1,'k',I,ns2,'b',I,ns3,'b',I,ns4,'b',I,ns5,'b')

legend('AstroC025','Aveox1415/1.5','MaxcimN32-13Y','MaxcimN32-13D','Aveox1415/2')

title('Speed controller efficiency')

Appendix D-6: Motor Analysis Code

clear all

motordata21

[nmotor,col]=size(mxdata)

for ii=1:nmotor

ii

disp(' ')

disp('Start new motor')

titstr=mxname(ii,:);

disp(titstr)

Kv=mxdata(ii,1) %RPM/volt

Kt=mxdata(ii,2) % inch-ounce per ampere

R= mxdata(ii,3) % Ohms

Io=mxdata(ii,4) % amperes

Vin=mxdata(ii,6) % volt

Iin=Io:30;

[Pout,Poutfpps,PoutHp,Pin,Tout,Toutfp,RPM,eta]=motor(Vin,Iin,Kv,Kt,R,Io);

figure(ii)

motorplot(Iin,Pout,Tout,RPM,eta,titstr)

[PoutMax,PoutfppsMax,PoutHpMax,PinMax,ToutMax,ToutfpMax,RPMMax,etaMax]=...

motoranalysis(Pout,Poutfpps,PoutHp,Pin,Tout,Toutfp,RPM,eta,titstr)

pause

end

Function called motordata21

% Kv= RPM/volt

% Kt= inch-ounce per ampere

% R= Ohms

% Io= amperes

% m=gear ratio if motor is geared

% Vnom=volt (nominal motor voltage)

% HPnom=nominal horsepower at the conditions for max efficiency

% Kv Kt R Io m Vnom HPnom

mxdata=[1568 0.848 0.010 2.5 3.70 21.6 0.1371

1190 1.130 0.022 1.8 3.70 21.6 0.15877

1420 0.946 0.058 0.8 3.70 21.6 0.26647

2500 0.548 0.022 2.5 3.70 21.6 0.28592

971 1.390 0.093 2.2 1.63 21.6 0.28592 ]

mxname=['Aveox 1415/1.5 '

'Aveox 1415/2 '

'Maxcim N32-13Y '

'Maxcim N32-13D '

'Astro Cobalt-25 Sport Motor #625']

Appendix D-7 : Modified Goldstein Method code.

clear all

close all

echo off

format compact

clear

disp(' ')

disp('Start new run')

disp('Propeller Analysis using Goldsteins Classical Vortex Theory')

disp(' This code works for two bladed propellers only.')

disp(' ')

% Input constants

Diam = [13 14 16 15 18 20 22 24]';

n=size(Diam);

for i =1:n(1)

Din=Diam(i);

% propeller diameter (inches)

Pin=8; % pitch of the propeller (inches)

RPM= 7805.8; % RPM of propeller

Vmph=25*60/88 ;

%Vmph=0 % airspeed in mph

rho=.002308; % air density (slug/ft**2) (sea level)

%rho=.002065; % air density (slug/ft**2) at 4750 feet

% Pin gives geometric angle to the flat part of the

% rear of the propeller

aoldeg=-6; % angle of zero lift of the propeller (degrees)

% measured from mean chord line (typically negative)

beta0deg=.5; % angle from flat part of the prop to mean chord line

a=2*pi; % lift curve slope of propeller

Cd0=.00655; % 2-d minimum drag coefficient

k=.01; % Cd = Cd0+k*Cl*Cl

B=2 ; % number of blades (2 for standard type propeller)

% input nondimensional properties at each radial location

% cR=c/R, x=r/R

x=[.3,.35,.4,.45,.5,.55,.6,.65,.7,.75,.8,.85,.9,.95,1.];

cR=.045*ones(size(x));

% END OF INPUTS

% Display inputs section

disp(['Diameter Din= ',num2str(Din),' inches'])

disp(['Pitch Pin= ',num2str(Pin),' inches'])

disp(['Angle of zero lift aoldeg= ',num2str(aoldeg),' degrees'])

disp(['Angle Flat side to mean chord beta0deg= ',num2str(beta0deg),' degrees'])

disp(['RPM= ',num2str(RPM),' rpm'])

disp(['2-d Lift curve slope a= ',num2str(a),' per rad'])

disp(['2-d Min drag coef Cd0= ',num2str(Cd0)])

disp(['k from 2-d drag polar= ',num2str(k)])

disp(['Number of blades B= ',num2str(B)])

disp(['air density rho= ',num2str(rho),' slug/ft^3'])

disp(['Airspeed Vmph= ',num2str(Vmph),' mph'])

% derived constants

V=Vmph*88/60; % airspeed in ft/sec

D=Din/12; % Diameter in feet

R=D/2; % Radius in feet

n=RPM/60; % propeller frequency (rev/sec) or (hz)

omega=2*pi*n; % frequency of revolution of the propeller (rad/sec)

lamda=V/(omega*R);

r2d=180/pi;

Vt=omega*R; % tip velocity (ft/sec)

J=V/(n*D); % advance ratio

% Output scalar constants

disp(['Airspeed V= ',num2str(V),' ft/sec'])

disp(['Propeller Diameter D= ',num2str(D),' feet'])

disp(['Propeller Radius R= ',num2str(R),' feet'])

disp(['propeller RPS n= ',num2str(n),' hertz'])

disp(['omega= ',num2str(omega),' rad/sec'])

disp(['lamda= ',num2str(lamda)])

disp(['r2d= ',num2str(r2d),' deg/rad'])

disp(['Tip speed Vt= ',num2str(Vt),' ft/sec'])

disp(['Advance Ratio J= ',num2str(J)])

disp(' ')

%derived section constants

c=R*cR; % chord in feet

cin=c*12; % chord in inches

%disp(' ')

%disp('x in r/R and is nondimensional, cR=c/R, cin in the chord in inches')

%echo on

%disp([x', cR', cin'])

%echo off

%disp(' ')

beta1=atan(((Pin/Din)/pi)./x);

beta=beta1+(beta0deg-aoldeg)/r2d;

sigma=B*c/(pi*R);

r=x*R;

Vr=Vt*sqrt(x.*x+lamda*lamda);

phi=atan(lamda./x);

WtVt=.02*ones(size(c)); %initial guess

nr=length(c);

nr1=nr-1;

aiold=zeros(size(c));

for ii=1:40

WaVt(1:nr1)=.5*(-lamda+sqrt(lamda*lamda+4*WtVt(1:nr1).*(x(1:nr1)-WtVt(1:nr1))));

ai(1:nr1)=atan(WtVt(1:nr1)./WaVt(1:nr1))-phi(1:nr1);

%ai(1:nr1)=atan((V+WaVt(1:nr1)*Vt)./(omega*r(1:nr1)-WtVt(1:nr1)*Vt))-phi(1:nr1);

e=sum(abs(ai(1:nr1)-aiold(1:nr1)));

iter=['Loop index= ',num2str(ii),' error= ',num2str(e)];

%disp(iter)

if e10,000')

disp(' where it may underestimate by a factor of .5')

disp(' For RPM ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download