Challenge

Project 1

Aim:-

To develop a forward energy-based fuel consumption model of a conventional vehicle using matlab and simulink to analyse data and generate plots

Conventional Vehicle:-

Wheel power in conventional vehicles comes from an internal combustion engine running on either gasoline or diesel fuel. This heat engine works on the premise of releasing heat through the combustion of a fuel with an oxidizer in a combustion chamber to create expanding gases that push against a piston to produce force and torque.

In this vehicle engine converts chemical energy stored in the fuel into heat which is used to produce useful work. Typically use fossil fuels like petroleum (petrol and diesel).

The 4 stroke reciprocating engine is the most common type of engine used in this system. Otto and Diesel cycles are two examples of ideal thermodynamic cycles that can be used to simulate an engine in a cycler. A spark initiated SI engine's cycle mechanism is described by the Otto cycle, an ideal cycle. And the Diesel cycle is the best cycle for describing the operation of a CI engine with compression ignition.

Energy and performance of vehicle:-

In this design, the powertrain must immediately provide the wheel's power demand. In other words, the power from the powertrain determines the power needed at the wheels for performance factors like acceleration, speed, etc.

The power comes from the engine through the gearbox because this vehicle's powertrain comprises of an engine that is connected to the wheels through a transmission.

Conventional powertrain efficiency:-

The engine generates power by converting chemical energy into the mechanical energy by combustion. This process of energy conversion also has an efficiency and the energy input is in the form of fuel consumption.

- Instantaneous fuel consumption is given as

m.f=Peηe⋅ηt⋅QLHV">.mf=Peηe⋅ηt⋅QLHVm.f=Peηe⋅ηt⋅QLHV

Where,

mf = mass flow rate in [kg]

pe = Power of engine

pt = power of transmission

nt = efficiency of transmission

ne = efficiency of engine

QLHV = calorific value/ lower heating value of fuel.

In this IC engine system, even if there is no power at the wheels, the engine will still use some fuel to maintain rotation and compensate for drag loss. This is known as the idling process. Only when the wheel power is pure power can the aforementioned formula be used. Due to engine drag losses, the engine is either engaged and delivering some engine braking when the wheel power is negative or it is disengaged and idles.

The engine consumes fuel when it is in idling but even for engine braking the engine might be consuming some fuel.

The fuel consumption not only depend on the power requirement at the wheels but also is required to generate power to run the various engine and vehicle accessory loads.

Energy based models- Element models

To models the internal physical properties of the element and the losses there are basically two kinds of approach.

1] Map based models:- Elements are modeled using maps which characterized the relationship between the input and output , output and losses etc.

2] Analytical models:- Elements are modeled using physical equation that represent the internal dynamics. These are the two extremes most models are a combination of the two with some dynamics models analytically and for some using maps.

>> Matlab Script

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Skill-Lync -> Hybrid Drives Development
% Project 1 - Conventional Vehicle Model
% By - Ullekh Gambhira
% Description:
%% Initialization File
% Initialization file for loading the variables for the Conventional vehicle simulation model
%% 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 values in m/s
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);

Simulink model

Simulink model of a conventional vehicle

Driver block:

It is modeled using a ‘Driver’ block, which is a basic PI controller that generates accelerator and brake pedal outputs to match the desired and actual vehicle speeds. In this we use drive cycles fro the based on these results of fuel consumption and emissions the vehicle gets certified and it also forms a basis of uniform asessment. It is based on time, velocity then its all integrate and creates output accelration pedal and brake pedal.

Scope result from the driver block:

Controller block :

The ‘Controller’ block is the brains of the vehicle, representing the electronic controls units. Based on the driver inputs, it generates desired engine torque, desired transmission gear and desired brake torque.

Engine control unit:

In this control model We use engine control unit in that give input Engine speed through creating look up table. in that table we give input Maximum torque and map speed then also create 2nd look up trable in that give input ct torque and map speed then it substracts and multiplied. the engine speed also give to ideal contro speed to integrate from this we meet output of engine required torque.

Transmission control unit:

In this unit we create steadfy flow variable state for controlling of gears of vehicle as in ascending and descending order with respect to time, speed, distance. and give input to this steady state is vehicle speed in m/s to mph.

Brack control unit:

In this calculate brake torque and then all three control signals output is give to powertrain.

Scope from the Controller:

Powertrain unit:

The powertrain encompasses every component that converts the engine's power into movement. This includes the engine, transmission, the driveshaft, differentials, axles; basically anything from the engine through to the rotating wheels.

Engine:

In this model we used map based model to model the fuel consumption of engine. It is based on maximum Torque and minimum torque from the controller. and then it saturated torque and give output then saturated torque and speed map give fuel consumption takes the speed and torque then the output goes into saturated then its integrated.

Scope result : Engine Torque:

Transmission:

In these model we take engine torque, gear selector from controllerb for transmission of gear ratio. The ratio is multiply by transmission input torque and then the transmission efficiency positive torque and negative torque gives transmission input speed. In this case torque converter connects the engine to transmission it is part of transmission. In it basically engine dynamics and that is decoupled.

Torque converter:

Scope resut from Transmission unit:

Differential unit:

In this taking input is the transmission output then its going to the differential ratio multiplied the output and input torque then meet axle torque. The axle torque is a lower than the transmission torque and differential ratio.

Wheels unit:

In this model we take the axle torque from differentail and brake torque from controller. it is substracts and multiplied rolling radius and velocity then we meet the tractive force from axle and brake torque. and the wheelspeed is meet using velocity.

Vehicle dynamics unit:

In this takes tractive force and road load. It is dictates vehicle speed based on tractive force and road load.

the dynamic equation for calculating road load is

where,

p = air density [kg/m^3]

A = Frontal area [m^2]

Cd = drag Coefficiend

Vveh = velocity of vehicle [m/s^2]

Vwind = velocity of wind [m/s^2]

Cr = rolling resistance coefficient

M = mass in [Kg]

g = gravity.

Then we calculate and integrate then we meet acceleration of vehicle and velocity of vehicle it mean vehicle distance and vehicle speed.

Scope results:

1] Tractive force 2] Road load 3] Acceleration

Computing the Fuel economy numbers using UDDS and HWFET cycle:

UDDS

1. Time vs Speed

Above graph shows the speed is increasing continously.

2. Aerodynamic Drag:

When the power increases drag is also increases.

3. Rolling resistance

Rolling resistance increases when the power is increases with respective to time.

4. Total power

Aerodynamic drag + Rolling resistance + Inertial resistance

Conclusion:-

Total Power is increases slowly as increasing rolling resistance, aerodynamic drag and inertial resistance.

HWFET:

1. Time vs speed

Speed is continuosly increases with respective to time.

2. Aerodynamic drag

When the power increases drag is also increases.

3. Rolling resistance

In this Rolling resistance is decreasing with respective to time.

4. Total power

Aerodynamic drag + Rolling resistance + Inertial resistance

Conclusion:-

Total Power is increase slowly as increasing aerodynamic drag and inertial resistance. but in this drive cycle bad impact occurs due to the decreasing rolling resistance.

>> By comparing both the drive cycles UDDS drive cycle is used becouse comparitively it consumes less fuel and less emission.

For ploting

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Skill-Lync -> Hybrid Drives Development
% Project 1 - Conventional Vehicle Model
% By - Ullekh Gambhira
% Description:
% The following file is to used with the Initialization file and Simulink
% results for post-processing of the data.
% The file is incomplete, has some examples of how the data is imported
% into a readable format, data analysis and plotting examples.
% Based on the project task, use commands in a similar format as given
% below, to analyse the data and generate required plots.
% You can change variable names if desired
%% Post-Processing File
% File for post-processing the Conventional vehicle simulation model data
%% Renaming variables
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]
Veh_Dist = out.Veh_Dist/1000; % Distance traveled by vehicle [km]
Veh_Spd = out.Veh_Spd*18/5; % Vehicle speed [kmph]
%% Data Analysis
Eng_Pwr = Eng_Spd*pi/30*Eng_Trq/1000; % Engine brake power [kW]
rho_petrol = 0.7197; % Density of petrol [kg/L]
kmpl = Veh_Dist(end)/(Eng_Fuel_Consump(end)/1000/rho_petrol); % Fuel economy [kmpl]
%% PLotting Fuel Consumption vs Fuel Rate
figure(1)
hold on
grid on
plot(Time, Eng_Fuel_Consump.Data, 'linewidth', 1, 'Color', 'b');
plot(Time, Eng_Fuel_Rate.Data, 'linewidth', 1, 'Color', 'r');
xlabel('Fuel Consumption ')
ylabel('Fuel Rate ')
xlim([0, Time(end)]);
legend('Fuel Consumption','Fuel Rate');
%% Plotting vehicle characteristics time trace Engine,Transmission Input, Transmission Output and Wheel Speed
figure(2)
hold on
grid on
plot(Time,Eng_Spd.Data,'LineWidth',1,'Color','g');
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','b');
xlabel('Time [s]')
ylabel('Speed [rpm]')
xlim([0, Time(end)]);
ylim([0, 6000]);
legend('Transmission Input','Transmission Output','Wheel Speed','Engine Speed');
%% Plotting vehicle characteristics time trace engine torque, engine power, fuel rate and fuel consumption
figure(3)
subplot(2,2,1)
plot(Time,Eng_Trq.Data,'LineWidth',1,'Color','g')
xlabel('Time [s]')
ylabel('Torque [Nm]')
legend('Torque')
subplot(2,2,2)
plot(Time,Eng_Pwr.Data,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('Power [kW]')
legend('Engine Power')
subplot(2,2,3)
plot(Time,Eng_Fuel_Rate.Data,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('Fuel Rate [%]')
legend('Fuel Rate')
subplot(2,2,4)
plot(Time,Eng_Fuel_Consump.Data,'LineWidth',1,'Color','blue')
xlabel('Time [s]')
ylabel('Fuel Consumption [kmpl]')
legend('Fuel Consumption')
%% Plotting vehicle characteristics time trace accelerator and brake pedal, gear command, vehicle desired and actual speed.
figure(4)
subplot(3,1,1)
hold on
grid on
plot(Time, Acc_Pdl, 'linewidth', 1, 'Color', 'black');
plot(Time, Brk_Pdl, 'linewidth', 1, 'Color', 'red');
ylabel('Pedal [%]')
xlim([0, Time(end)]);
legend('Accel','Brake');
subplot(3,1,2)
hold on
grid on
plot(Time,Veh_Desired_Sped.Data, 'linewidth', 1, 'Color', 'black');
plot(Time,Veh_Spd.Data, 'linewidth', 1, 'Color', 'red');
ylabel('Speed [rpm]')
xlim([0, Time(end)]);
legend('Vehicle Desired Speed','Vehicle Actual Speed');
subplot(3,1,3)
hold on
grid on
plot(Time, Gear_Cmd, 'linewidth', 1, 'Color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Gear');
%% 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 p3],{'Max Curve','Operating Points'});
axis([Eng_map_spd(1)*30/pi Eng_map_spd(end)*30/pi 0 Eng_map_trq(end)]);

Plots:

UDDS

1. Fuel consumption vs Fuel rate

2. Vehiclemcharacteristics time trace Engine, Transmission input, Transmission output and Wheel speed

3. Vehicle Charecteristics time trace engine torque, engine power, fuel rate and fuel consumption

4. Vehicle charecteristics time trace accelerator and brack pedal, gear command, vehicle desired and actual speed

5. Engine operating points on engine fuel map

HWFET

1. Fuel consumption vs Fuel rate

2. Vehiclemcharacteristics time trace Engine, Transmission input, Transmission output and Wheel speed

3. Vehicle Charecteristics time trace engine torque, engine power, fuel rate and fuel consumption

4. Vehicle charecteristics time trace accelerator and brack pedal, gear command, vehicle desired and actual speed

5. Engine operating points on engine fuel map

Conclusion:

The forward energy-based fuel consumption model of a conventional vehicle was developed using MATLAB and SIMULINK and ploted the results for both the drive cyles.

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.