Challenge

Project 1

a] Aim 

  1. Build the complete model of vehicle by using simulink model
  2. Writing the scprit in matlab to load the all the variables required for runnning the simulink model.
  3. Tabulate the fuel economy number for (kmpl) for UDDS and HWFET cycle.
  4. plot the time trace for engine transmission input , transmission output and wheel speed on one plot 
  5. plot the engine torque ,engine power , fuel rate and fuel consumption using subplot .
  6. plot accelerator and brake pedel , gear command vehicle desired and actual speed,vehicle distance using subplot.
  7. plot engine operating on the engine fuel map

Conventional vehicles 

The IC engine is the most popular power plant for motor vehicles. In the foreseeable future, it will still be the dominant vehicular power plant. In HEVs, the IC engine will also be the first selection as a primary power source. However, the operation of an HEV differs from that of a conventional motor vehicle. The engine in an HEV runs for a longer time at high power and does not require its power to be changed frequently. A specifically designed and controlled engine for hybrid vehicle applications has not been fully developed. In this chapter, the commonly used four-stroke (4S) IC engine and other types of engines, which can be possibly used in hybrid vehicles, such
as two-stroke (2S) engines, rotary engines, Stirling engines, and gas turbineengines, are reviewed

Energy perfomance of conventional Vehicle 

Indicated Work per Cycles and Mean Effective Pressure

The torque performance is usually evaluated by the gross work done in one
cycle, usually called gross indicated work, Wc,in. The gross indicated work
can be calculated by

Wc,in = int(area A) p dV −int(area B) p dV,

The mean effective pressure can be expressed in terms of torque as
mep (kPa) = 2πnRT (Nm)/Vd (dm3)

Mechanical Efficiency

Pig = Pb + Pf

Specific Fuel Consumption and Efficiency

 sfc = m˙ f/P 

Volumetric Efficiency

ηv = ma/ρa,iVd

Effort Flow variables, Information /control variables .

  1. Effort - These are the inputs or driving forces that influence the behavior of a system. Effort variables are usually the quantities that individuals or entities can directly control or manipulate to affect the system's behavior. They represent the actions or efforts put into a system to cause changes. Example 1) Applied force in a mechanical system.2)Investment in an economic model. 3)Fuel input in a combustion engine.
  2. Flow Variables-Flow variables represent the rates of transfer or movement of something within a system. They describe the movement or flow of resources, energy, or other quantities over time. Flow variables are often influenced by effort variables and influence the accumulation of stocks or other variables in the system.
  3. Information/Control Variables-These variables pertain to the information available in a system or the control mechanisms governing the behavior of the system. Information variables influence decision-making and the control of effort and flow variables. They can also represent the feedback mechanisms used to regulate the system.

Matlab Script 

% Hybrid powertrain project
% By Ganesh chine
% vehcile parameter
m=1500;
Cr= 0.015;
Rw=0.35;
Cd=0.33;
Af=2;
rhoe=1.225;
Vwind=0;
theta=0;
Tm=150;
efft=0.8;
ratio=2.45;
g=9.81;
<!-- [if mso]>
<![endif]-->
<!-- [if mso]>
<![endif]-->
% Powertrain paramter
FDR= 3.73;
diffeff=0.99;
Numgear=4;
Transgear=[1:Numgear];
transratio=[3.06, 1.62, 1, 0.7];
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]
<!-- [if mso]>
<![endif]-->
% driver paramter
kp=10;
ki=1;
Driver_cycle_select=1;
% Drive cycle values in m/s
<!-- [if mso]>
<![endif]-->
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
<!-- [if mso]>
<![endif]-->
time_end = cyc_time(end);
vel_end = cyc_vel(end);
 
 
 
 
 
 
Post processing data 
% Post-Processing File
% File for post-processing the Conventional vehicle simulation model data
% Ganesh Chine
%% Renaming variables
Time = out.tout;
Acc_Pdl = out.Acc_Pdl; �celerator 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]
Veh_Dist = out.Veh_Dist/1000; % Distance traveled by vehicle [km]
Veh_Spd = out.Veh_Spd*18/5; % Vehicle speed [kmph]
Wheel_Speed = out.wh_speed; % Wheel speed [kmph]
Eng_Fuel_Rate = out.Eng_Fuel_Rate; % Engine fuel rate [%]
<!-- [if mso]>
<![endif]-->
%�ta Analysis
Eng_Pwr = Eng_Spd*pi/30*Eng_Trq/1000; % Engine brake power [kW]
rho_petrol = 0.7197; �nsity of petrol [kg/L]
kmpl = Veh_Dist(end)/(Eng_Fuel_Consump(end)/1000/rho_petrol); % Fuel economy [kmpl]
<!-- [if mso]>
<![endif]-->
<!-- [if mso]>
<![endif]-->
%% Plotting vehicle characteristics time trace transmission IN/OUT and Wheel Speed
figure(1)
hold on
grid on
plot(Time, Trans_In_Spd, 'linewidth', 1, 'Color', 'black');
plot(Time, Trans_Out_Spd, 'linewidth', 1, 'Color', 'red');
plot(Time, Wheel_Speed, 'linewidth',1, 'color', 'blue')
ylabel('Speed [rpm]')
xlabel('Timem [s]')
xlim([0, Time(end)]);
ylim([0, 6000]);
legend('Trans Input','Trans Output','Wheel Speed');
<!-- [if mso]>
<![endif]-->
%% Plotting vehicle characteristics time trace to Engine speed, Engine Torque, Engine Power,
% And Engine fuel rate, Engine fuel consumption
�ta conversion from Double Timeseries
<!-- [if mso]>
<![endif]-->
Eng_spd = Eng_Spd.Data(:,1); % engine speed
Eng_trq = Eng_Trq.Data(:,1); % engine torque
Eng_pwr = Eng_Pwr.Data(:,1); % engine power
Eng_fuel_rate = Eng_Fuel_Rate.Data(:,1); % engine fuel rate
Eng_fuel_consumption = Eng_Fuel_Consump.Data(:,1); % engine fuel consumption
Veh_dist = Veh_Dist.Data(:,1); % vehicle distance
Veh_spd = Veh_Spd.Data(:,1); % vehicle speed
<!-- [if mso]>
<![endif]-->
% Plotting Engine speed, Engine Torque, Engine Power,Engine fuel rate,Engine fuel consumption wrt Time
figure(2)
subplot(2,2,1)
plot(Time,Eng_trq,'linewidth',1,'color','black')
xlabel('Time [s]')
ylabel('Torque [Nm]')
legend('Engine Torque')
grid on
subplot(2,2,2)
plot(Time,Eng_pwr,'linewidth',1,'color','blue')
xlabel('Time [s]')
ylabel('Power [KW]')
legend('Engine Power')
grid on
subplot(2,2,3)
plot(Time,Eng_fuel_rate,'linewidth',1,'color','red')
xlabel('Time [s]')
ylabel('Fuel Rate [%]')
legend('Engine Fuel Rate')
grid on
subplot(2,2,4)
plot(Time,Eng_fuel_consumption,'linewidth',1,'color','green')
xlabel('Time [s]')
ylabel('Fuel Consumption')
legend('Engine Fuel Consumption')
grid on
<!-- [if mso]>
<![endif]-->
% Plotting fuel economy Vs Engine Fuel consumption
figure(3)
plot(Eng_fuel_consumption,Eng_fuel_rate,'color','r')
xlabel('Fuel consumption')
ylabel('Fuel Rate [%]')
title('Fuel economy Vs Fuel Consumption')
grid on
<!-- [if mso]>
<![endif]-->
%% Potting Accelerator pedal, Brake pedal and gear command with respect to time
figure(4)
subplot(2,1,1)
hold on
plot(Time, Acc_Pdl, 'linewidth', 1, 'Color', 'black');
plot(Time, Brk_Pdl, 'linewidth', 1, 'Color', 'red');
ylabel('Pedal [%]')
xlabel('Time [s]');
xlim([0, Time(end)]);
grid on
legend('Accel','Brake');
title('Acceleration & Brake Pedal wrt Time')
<!-- [if mso]>
<![endif]-->
subplot(2,1,2)
plot(Time, Gear_Cmd, 'linewidth', 1, 'Color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Gear');
grid on
title('Gear command wrt Time')
<!-- [if mso]>
<![endif]-->
% Plotting gear command vehicle desired with actual speed
figure(5)
subplot(2,1,1)
plot(Veh_spd, Gear_Cmd, 'linewidth', 1, 'Color', 'black');
xlabel('Speed [rpm]');
ylabel('Gear');
grid on
title('Gear command wrt vehicle speed')
<!-- [if mso]>
<![endif]-->
subplot(2,1,2)
plot(Veh_dist, Gear_Cmd, 'linewidth', 1, 'Color', 'red');
xlabel('Distance [kmpl]');
ylabel('Gear');
grid on
title('Gear command wrt Distance')
<!-- [if mso]>
<![endif]-->
%% 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]');
legend([p1 p3],{'Max Curve','Operating Points'});
axis([Eng_map_spd(1)*30/pi Eng_map_spd(end)*30/pi 0 Eng_map_trq(end)]);
<!-- [if mso]>
<![endif]-->
<!-- [if mso]>
<![endif]-->
<!-- [if mso]>
<![endif]-->
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.