Challenge

Project 1

PROJECT 1: SIMULINK REPORT

Output Parameters

UDDS CYCLE

1. Acceleration/Brake Pedal/Speed

2. Engine Operating Points

3. Engine Torque Power Flow Rate:

4. Transmission Input, Transmission Out Speed. Wheel Speed, Engine Speed.

HWFET CYCLE

1. Transmission Input, Transmission Out Speed. Wheel Speed, Engine Speed.

2.Engine Operating Point

3. Engine Torque Power Fuel Consumption

4. Acceleration Brake Pedal Gear Command

Drive Cycle Fuel Economy
UDDS 24.57 kmpl
HWFET 36.88 kmpl

%% Initialization File_ANUBHAV GUPTA


%% Vehicle Parameters
M = 1500; % Vehicle weight [kg]
Cr = 0.015; % Rolling resistance coefficient
Rw = 0.35; % Rolling radius [m]
Cd = 0.33; % Drag coefficient
Af = 2; % Frontal area [m2]
rhoa = 1.225; % Air density [kg/m3]
Vwind = 0; % Wind velocity [kmph]
g = 9.81; % Gravitational acceleration [m/s2]
theta = 0; % Slope [deg]
myu_road_tire = 1; % Coefficient of friction between tire - road interface

%% Powertrain Parameters
FDR = 3.73; % Final Drive Ratio / Diff Ratio
DiffEff = 0.99; % Differential efficiency (assumed independent of operating conditions)

NumGear = 4; % Number of gears in transmission
TransGear = [1:NumGear]; % Transmission Gears
TransRatio = [3.06, 1.62, 1, 0.7]; % Corresponding Transmission ratios
TransEff = 0.90; % Transmission efficiency (assumed independent of operating conditions)

TC_SR = [0, .5, .6, .7, .8, .87, .92, .94, .96, .97, 1]; % Torque Converter Speed Ratio (Matlab default) -> TurbSpd/PumpSpd
TC_TR = [2.232, 1.5462, 1.4058, 1.2746, 1.1528, 1.0732, 1.0192, 1, 1, 1, 1]; % Torque Converter Torque Ratio (Matlab default) -> TurbTrq/PumpTrq
TC_Cf = 1e-4 * [.72558, .66322, .63463, .59042, .51331, .4144, .29287, .22444, .12186, .04386, 0]; % Torque Converter Capacity Factor (Matlab default) -> PumpTrq/PumpSpd^2 [Nm/rpm^2]

load Vehicle_Data/Engine_data_1_9L_Saturn_95kW
load Vehicle_Data/Trans_Shift_map

%% Driver Parameters
Kp = 10; % P gain for driver PI model
Ki = 1; % I gain for driver PI model
%Drive_Cycle_Select = 1; % Drive cycle selection
Drive_Cycle_Select = input(sprintf('Select a drive cycle: n 1. UDDS n 2. HWFET n 3. FTP n4. US06 n 5. NEDC n 6.WLTP n Your Selection is:'));

% Drive cycle values in m/s
%Loading drive cycle variables: Cycle time and cycle velocity

if Drive_Cycle_Select == 1
load DriveCycles/UDDS;

elseif Drive_Cycle_Select == 2
load DriveCycles/HWFET;

elseif Drive_Cycle_Select == 3
load DriveCycles/FTP;

elseif Drive_Cycle_Select == 4
load DriveCycles/US06;

elseif Drive_Cycle_Select == 5
load DriveCycles/NEDC;

elseif Drive_Cycle_Select == 6
load DriveCycles/WLTP;

end

time_end = cyc_time(end);
vel_end = cyc_vel(end);

%% OutPut-Processing File-ANUBHAV GUPTA


%% Changing Name
Time = out.tout;
Acc_Pdl = out.Acc_Pdl; % Accelerator pedal [%]
Brk_Pdl = out.Brk_Pdl; % Brake pedal [%]
Gear_Cmd = out.Gear_Cmd; % Transmission gear
Trans_In_Spd = out.Trans_In_Spd*30/pi; % Transmission input speed [rpm]
Trans_Out_Spd = out.Trans_Out_Spd*30/pi;% Transmission output speed [rpm]
Eng_Trq = out.Eng_Trq; % Engine brake torque [Nm]
Eng_Spd = out.Eng_Spd*30/pi; % Engine speed [rpm]
Eng_Fuel_Consump = out.Eng_Fuel_Consumption; % Engine fuel consumption [g]
Eng_Fuel_Rate = out.Eng_Fuel_Rate;
Veh_Dist = out.Veh_Dist/1000; % Distance traveled by vehicle [km]
Veh_Spd = out.Veh_Spd*18/5; % Vehicle speed [kmph]
WheelSpd=(Veh_Spd.*60)./(2.*pi.*Rw);
%% Vehicle Data Analysis
Eng_Pwr = out.Eng_Spd.*pi./30.*Eng_Trq./1000; % Engine brake power [kW]
rho_petrol = 0.7197; % Density of petrol [kg/L]
kmpl = out.Veh_Dist(end)/(Eng_Fuel_Consump(end)/1000/rho_petrol); % Fuel economy [kmpl]


%% Plotting vehicle characteristics time trace
figure(1)
plot(Time,Trans_In_Spd,'linewidth',1,'color','red');
hold on
plot(Time,Trans_Out_Spd,'linewidth',1,'color','green');
hold on
plot(Time,WheelSpd,'linewidth',1,'color','yellow');
hold on
plot(Time,Eng_Spd,'linewidth',1,'color','black');
ylabel('Speed[RPM]');
xlabel('Time[s]');
xlim([0,Time(end)]);
ylim([0,5000]);
legend('trans in','trans out','Wheel speed','Engine Speed');
grid on;

%%Plot: Engine torque, Power of Engine, Fuel rate and Fuel Consumption
figure (2)
subplot (2,2,1)
plot(Time,Eng_Trq,'linewidth',1,'color','green');
xlabel('Time[s]');
ylabel('Torque[Nm]');
legend('Engine Torque');
grid on;
xlim([0,Time(end)]);
ylim([-50 200])

subplot (2,2,2)
plot(Time,Eng_Pwr,'linewidth',1,'color','black');
xlabel('Time[s]');
ylabel('Power[kW]');
legend('Engine Power');
grid on;
xlim([0,Time(end)]);
ylim([-20 60])

subplot (2,2,3)
plot(Time,Eng_Fuel_Rate,'linewidth',1,'color','blue');
xlabel('Time[s]');
ylabel('Fuel Rate[g/s]');
legend('Engine Fuel rate');
grid on;
xlim([0,Time(end)]);
ylim([-1.5 2])

subplot (2,2,4)
plot(Time,Eng_Fuel_Consump,'linewidth',1,'color','magenta');
xlabel('Time[s]');
ylabel('Fuel Consumption[g]');
legend('Engine Fuel Consumption');
grid on;
xlim([0,Time(end)]);

%%%%%%%%Plotting Accelerator, brake Pedal, Gear, vehicle speed, vehicle
%%%%%%%%distance
figure (3)
subplot (3,1,1)
plot(Time,Acc_Pdl,'linewidth',1,'color','blue');
hold on;
plot(Time, Brk_Pdl, 'linewidth',1,'color','black');
ylabel('Pedal[%]');
xlim([0,Time(end)]);
legend('Accelerator','Brake');
grid on;
subplot(3,1,2)
hold on;
grid on;
plot(Time, Gear_Cmd,'linewidth',1,'color','yellow');
xlim([0,Time(end)]);
ylim([0,5]);
xlabel('Time [s]');
ylabel('Gear');

subplot(3,1,3)
hold on;
grid on;
plot(cyc_time, (cyc_vel.*(18./5)),'linewidth',1,'color','red');
plot(Time,Veh_Spd,'linewidth',1,'color','blue')
legend ('Desired','Actual');
xlim([0,Time(end)]);
ylim([0,125]);
xlabel('Time [s]');
ylabel('velocity[kmph]');

figure(4)
plot(Time,Veh_Dist,'linewidth',1,'color','blue');
xlim([0,Time(end)]);
xlabel('Time');
ylabel('distance');
grid on


%% Plotting engine operating points on engine fuel map
figure('Name','Engine Operating Points');
hold on
grid on
title('Engine Operating Points','fontsize',12);
p1=plot(Eng_map_spd*30/pi,Eng_max_trq,'linewidth',2,'color','r');
p2=line([Eng_map_spd(end)*30/pi Eng_map_spd(end)*30/pi],[0 Eng_max_trq(end)]);
set(p2,'linewidth',1,'linestyle','--','color','k');
p3=line([Eng_map_spd(1)*30/pi Eng_map_spd(1)*30/pi],[0 Eng_max_trq(1)]);
set(p3,'linewidth',1,'linestyle','--','color','k');
[c,h] = contour(Eng_map_spd'*30/pi,Eng_map_trq,Eng_fuel_map');
clabel(c,h);
xlabel('Engine Speed [rpm]');
ylabel('Engine Torque [Nm]');
title('Engine Fuel Consumption Map [g/s]');
p4 = plot(Eng_Spd,Eng_Trq,'.','color','k');
legend([p1 p4],{'Max Curve','Operating Points'});
axis([Eng_map_spd(1)*30/pi Eng_map_spd(end)*30/pi 0 Eng_map_trq(end)]);

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.