MATLAB Code:
%code for excel conversion
filename1 = input(“Enter excel filename: “, “s”);
masterfile1 = xlsread(filename1);
m1 = input(“Enter the mass (g) of the AEV: “);
tE1 = masterfile1(9:end,1);
IE1 = masterfile1(9:end,2);
VE1 = masterfile1(9:end,3);
marks1 = masterfile1(9:end,4);
pos1 = masterfile1(9:end,5);
% Time tE=EEPROM time (ms)
t1=tE1./1000;
%Current I=current (amps) IE= EEPROM current (ADC counts) VR= 2.46 volts
i1=(IE1./1024).*(2.46/0.185);
%Voltage V=Voltage (volts) VE= EEPROM voltage (ADC counts)
V1=(15.*VE1)/1024;
%Distance d= distance (meters) marks= wheel counts accumulated by sensors
d1=0.0124.*marks1;
%Position s= AEV position (meters from start) pos= wheel counts
s1=0.0124.*pos1;
%Power Supplied
p1 = V1.* i1; %p is input power
%incremental energy
for interval = 1 : length(p1) – 1
eJ1(interval) = ((p1(interval)+p1(interval+1)) / 2) * (t1(interval + 1) – t1(interval));
end
eJ1=eJ1′;
%Energy Total
eT1 = sum(eJ1(1:(length(eJ1) – 1))) / (m1 / 1000); %weight in kg
%velocity
for interval = 2: length(s1)
vel1(interval) = (s1(interval) – s1(interval -1))/(t1(interval)- t1(interval-1));
end
vel1=vel1′;
%kenetic energy
kE1 = .5 .* m1 .* (V1.^2);
%RPM
rPM1 = (-64.59 .* (i1 .^2) + 1927.25 .* i1 – 84.58) .* .8; %for 3 inch propellor
%Advance Ratio Filter
for interval = 1:length(eJ1)
if (i1(interval) == 0) && (eJ1(interval) <= .15)
eJ1(interval) = 0;
elseif (i1(interval) > 0) && (eJ1(interval) < .15)
eJ1(interval) = .15;
end
end
%propellor advance ratio
J1 = V1 / ((rPM1 / 60) * .8);
%propulsion efficiency
n1 = -454.37 * J1^3 + 321.58 * J1^2 + 22.603 * J1;
%%next model
%code for excel conversion
filename = input(“Enter excel filename: “, “s”);
masterfile = xlsread(filename);
m = input(“Enter the mass (g) of the AEV: “);
tE = masterfile(9:end,1);
IE = masterfile(9:end,2);
VE = masterfile(9:end,3);
marks = masterfile(9:end,4);
pos = masterfile(9:end,5);
% Time tE=EEPROM time (ms)
t=tE./1000;
%Current I=current (amps) IE= EEPROM current (ADC counts) VR= 2.46 volts
i=(IE./1024).*(2.46/0.185);
%Voltage V=Voltage (volts) VE= EEPROM voltage (ADC counts)
V=(15.*VE)/1024;
%Distance d= distance (meters) marks= wheel counts accumulated by sensors
d=0.0124.*marks;
%Position s= AEV position (meters from start) pos= wheel counts
s=0.0124.*pos;
%Power Supplied
p = V.* i; %p is input power
%incremental energy
for interval = 1 : length(p) – 1
eJ(interval) = ((p(interval)+p(interval+1)) / 2) * (t(interval + 1) – t(interval));
end
eJ=eJ’;
%Energy Total
eT = sum(eJ(1:(length(eJ) – 1))) / (m / 1000); %weight in kg
%velocity
for interval = 2: length(s)
vel(interval) = (s(interval) – s(interval -1))/(t(interval)- t(interval-1));
end
vel=vel’;
%kenetic energy
kE = .5 .* m .* (V.^2);
%RPM
rPM = (-64.59 .* (i .^2) + 1927.25 .* i – 84.58) .* .8; %for 3 inch propellor
%Advance Ratio Filter
for interval = 1:length(eJ)
if (i(interval) == 0) && (eJ(interval) <= .15)
eJ(interval) = 0;
elseif (i(interval) > 0) && (eJ(interval) < .15)
eJ(interval) = .15;
end
end
%propellor advance ratio
J = V / ((rPM / 60) * .8);
%propulsion efficiency
n = -454.37 * J^3 + 321.58 * J^2 + 22.603 * J;
figure
plot(t1,p1,”b”,t,p,”g”)
title(‘Power vs Time’)
xlabel(‘Time, S’)
ylabel(‘Power, W’)
grid
legend(‘p1′,’p’)
figure
plot(d1,p1,”b”,d,p,”g”)
title(‘Power vs Distance’)
xlabel(‘Distance, m’)
ylabel(‘Power, W’)
grid
legend(‘p1′,’p’)
figure
plot(d1, vel1, “b”, d, vel, “g”)
title(‘Velocity vs Distance’)
xlabel(‘Distance, m’)
ylabel(‘Velocity, m/s’)
grid
legend(‘vel1′,’vel’)
figure
plot(d1, kE1, “b”, d, kE, “g”)
title(‘Kenetic Energy vs Time’)
xlabel(‘distance, m’)
ylabel(‘Kinetic Energy, J’)
grid
legend(‘kE1′,’kE’)
figure
plot(d1,n1,”b”, d, n,”g”)
title(‘Propultion Efficiency vs Distance’)
xlabel(‘Distance, n’)
ylabel(‘Propultion Efficiency, %’)
grid
legend(‘n1′,’n’)
Arduino Code