Challenge

Project 1

QUESTION -:

Project 1 deals with the development of a forward energy-based fuel consumption model of a conventional vehicle.

Task:
The task of this project is to compute the fuel economy numbers for the given vehicle (kmpl) on the urban cycle (UDDS) and highway cycle (HWFET). Also, to analyze and understand the vehicle operating
points in terms of engine speed, torque, transmission speeds, pedal positions, gear, distance traveled, etc.

a. Tabulate the fuel economy numbers (kmpl) for UDDS and HWFET cycle. This forms the baseline numbers for comparing with the future hybrid version.
b. Plot the time trace for engine, transmission input, transmission output and wheel speed on one plot.
c. Plot engine torque, engine power, fuel rate and fuel consumption using subplots.
d. Plot accelerator and brake pedal, gear command, vehicle desired and actual speed, vehicle distance using subplots.
e. Plot the engine operating points on the engine fuel map.
f. Write down appropriate brief comments on each of these plots, describing the vehicle behavior throughout the drive cycle.
g. Generate the plots for both drive cycles.

Answer -:

Conventional Vehicle -:

Conventional vehicles use an internal combustion engine fueled by gasoline or diesel to power the wheels. in this the heat engine uses the principle of heat release through combustion of a fuel with an oxidizer in a combustion chamber to create expanding gases which pushes against a piston creating force and torque output.

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 most popular type of engine is used in this system is 4 stroke reciprocating engine. Engine in cylinder process can be represented by ideal thermodynamic cycles such as otto cycle, Disel cycle. otto cycle is a ideal cycle that decribes the cycle process for spark ignited SI engine. and the diesel cycle is the ideal cycle that describes the cycle process for a compression ignited CI engine.

Energy and performance of vehicle -:

In this system trge power demand on the wheel need to instant supplied by the powertrain. in other word the power coming from the powertrain dictates the power demand on the wheels (as per performance viz, acceleration, speed) etc is determined by it.

in this vehicle the powertrain is consists of an engine connected to the wheels through a transmission therefore the power comes from the engine through the transmission.

Conventional powertrain efficiency -:

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

- Instantaneous fuel consumption is given as -

mf = Pv/ne . nt . 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 = it is the ecalorific value/ lower heating value of fuel

in this system of IC engine if tge power at the wheels is Zero the engine is idling and still consumes some fuel to overcome the engine drag loss and keep it spinning this is the idling fuel consumption and know as idling process.above mention formula is applicable only when the wheel power is strictily power. when the wheel power is negative either the engine is disengaged and providing some engine braking due to the engine drag losses.

The engine is consuming fuel when it is 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.

System Dynamics -:

it deals with the modeling of multi domain systems through the use of a unified approach based on a ordinary differential and algebraic equation describing the static and dynamic effects.

Each systems has are two generalised variables -

1) Efforts -: it is generalised force variable ex - torque, force, voltage, heating value.

2) Flow -: it is the generalised flow/velocity variable ex - velocity, current, mass flow rate.

3) Power -: it is the product of the effort and flow variable. it is interchangeable between energy domains.

Enrgy 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 representthe 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.

In This Model We use Forward Model -:

It also known as dynamic simulation. Dynamic models are used for detailed simulations. In this model force/torque/power is the input and the vehicle state variable velocity and acceleration are outputs. The models and simulations are more realistic due to physical casualty hence appropriate for control development.

Drive Cycle-: Drive cycle is a series of data points representing the speed of a vehicle various time. Driving cycle are produced by different countries and organizations to assesss the performance of vehicles various ways, as for instance fuel consumption, electric vehicle autonomy and pulling emissions. in this simulation the drive cycles such as UDDS(Urban Dynamometer Driving Schedule) and HWFET(The Highway Fuel Economy Test) are analysed for a conventional forward model of a vehicle.

Procedure-: The simulation is carrird out in 3 stages. In first stage all the variables required for the simulink model are loaded in MATLAB workspace, in second stage the vehicle model is developed in simulink environment and send the required values to matlab workspace, and in final stage the post processing is done by using simulink values that sent to matlab workspace. By using the values. the graphs are generated.

Stage 1-: Initialization

1. Open given matlab initialisation file. the file consists of the required variables,conversions from m/s to kmph, and all other necessary manipulations are shown in code as comments.

2. Run the script to get required variables.

3. Change the drive cycle values. They are assigned to numbers from 1 to 6 using else if conditions. for UDDS type 1 and for HWFET type 2 in Drive_cycle_Select.

Code-:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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);

Stage 2 -: Developing a model in simulink for the forward fuel consumption model of a vehicle.

1. The main simulink model is shown below. it has Driver, Controller and Power train as shown.

Driver:- All the inputs to vehicle like acceleration and braking are given through this block. This block is responsible for implementing the required drive cycle. the inputs like velocity follows the drive cycle and the velocity is controlleed by braking. The PI is a feedback controll loop that calcultions on error signal taking the diffreence between the output of a system, in this case the signal is velocity.

Controller Model :-

The controller block is the brains of the vehicle, representing the electronic controlsunits. based on the driver inputs, it generates desired engine torque, desired transmission gear and desired brake torque. these inputs are fed to the powertrain block. the controller has 3 sub blocks which are engine control unit , transmission control uniit and brake control unit. the maximum and minimum torque curves are feed into lookup table.

Engine control unit :-

Idle Speed Controller :-

- Engine control unit compare engine speed with the maximum torque and minimum torque curves of the lookup table and give the required torque command to the engine block. the throttle input is combined with the idle speed throttle and gains with the torque output from the lookup table to estimate the torque input required for the engine.

- Throttle input, idle throttle and their sum can be scoped from this block.

Transmission Control Block :-

- The transmission control block controls the gear shifting using the study flow variable chart.

- The gear shifting is controlled according to the vehicle speed and throttle input.

- The gear command is passed to the transmission block to select the desired gear ratio.

Brake Control Unit :-

- Brake control unit produce required brake torque according to the brake pedal input and passes the brake torque in to the wheel block in the transmission model.

Power Train Model :-

- The includes Engine, Transmission, Differential, wheels and the vehicle body dynamics subsystems.

Engine Model :-

- Based on the engine speed the required torque from the controller is saturated between max torque curve and min torque curve and passes the engine torque to the transmission block.

- The 2D lookup table is used to calculate the fuel flow rate based on engine speed and enginee torque. the fuel flow rate is then integrated to find the fuel consumption.

- Engine fuel flow rate and fuel consumption are scoped.

Transmission Model :-

- The engine block is connected to the automatic transmission via a torque convertor. the output of the transmission is connected to the differential.

Torque Convertor :-

- The gear selection from the transmission control unit is multiplied by the engine torque in this block, and the efficiency and engine dynamics of the torque convertor are applied in this model.

Differential Model :-

- The transmission output torque is multiplied by the differential ratio and differential efficiency in this block and the torque is transmitted to the wheel as the axie torque.

Wheel Model :-

- The brake torque from the control model is subtracted from the axie torque and divides from the rolling radius to determine the tractive force.

- The wheel speed is calculated from the vehicle velocity and saved in the workspace.

Vehicle Dynamics :-

- The longitudinal dynamics of the vehicle along with the road load is represented in the ' vehicle Dynamics' block.

- Tractive force and road loads are used to calculate the vehicle velocity.

- The variables are loaded on the workspace using matlab script.

- The Acceleration, Velocity and distance travelled are calculated and stored in the workspace.

SIMULATION RESULTS -:

UDDS Drive Cycle HWFET Cycle :-

Post-Processing -:

- A Matlab script is Created to analyse data and to generate plots. Here we rename the variables loaded from the model, do same basic post-process calculations and generate results and plots.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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_rate = out.Eng_Fuel_Rate; %Engine Fuel Rate [gkW]
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]
Whl_Spd = out.Whl_spd*30/pi;    %wheel speed [rpm]
Desired_spd = out.Desired_spd*18/5; % Desired 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] 

% Display Fuel Economy of the cycle
fprintf('nFuel Economy = %2.2fkmplnn',kmpl);


%% Plotting vehicle characteristics time trace
% Ploting transmission input, transmission output and wheel speed
figure(1)
hold on
grid on
subplot(3,1,1)
plot(Time, Trans_In_Spd, 'linewidth', 1, 'Color', 'black');
subplot(3,1,2)
plot(Time, Trans_Out_Spd, 'linewidth', 1, 'Color', 'red');
subplot(3,1,3)
plot(Time, Whl_Spd, 'linewidth' , 1,'color' , 'blue'); 
xlabel('Time [s]')
ylabel('speed [rpm]')
xlim([0, Time(end)]);
legend('Trans Input','Trans Output','Wheel speed');
% ploting engine torque, engine power, fuel rate and fuel consumption
figure(2)
subplot(4,1,1)
hold on
grid on
plot(Time, Eng_Trq, 'linewidth', 1, 'Color', 'black');

ylabel('Torque [Nm]')
xlim([0, Time(end)]);
subplot(4,1,2)
hold on
grid on
plot(Time, Eng_Pwr, 'linewidth', 1, 'Color', 'black');
xlabel('Power [KW]')
xlim([0, Time(end)]);
subplot(4,1,3)
hold on 
grid on
plot(Time, Veh_Spd, 'linewidth', 1, 'color', 'red');
plot(Time, Desired_spd, 'linewidth', 1, 'color', 'black');
ylabel('speed [kmph]');
xlim([0, Time(end)]);
legend('Actual speed','Desired speed');
subplot(4,1,4)
hold on
grid on
plot(Time, Veh_Dist, 'linewidth', 1, 'color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Distance [km]');


%% plotting Drive Cycle
figure(4)
hold on 
grid on
plot(cyc_time, cyc_vel, 'linewidth',1, 'color', 'black');
xlabel('Time [s]')
ylabel('velocity [Mph]')
title('Drive Cycle')
% Test Results
Avg_speed = sum(Veh_Spd)/length(Veh_Spd);
Max_speed = maxk(Veh_Spd,1);
table(Avg_speed,Max_speed,kmpl,'Variablenames',{'Average speed [kmph]','Maximum speed [kmph]','Fuel Economy [kmpl]'})



%% 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(out.Eng_Spd,out.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)]);



RESULTS -:

Fuel Economy [kmpl] for UDDS and HWFET Drive Cycle :-

UDDS :-

Average Speed Maximum Speed [kmph] Fuel Economy [kmpl]

31.342 91.894 11.59

HWFET :-

Average Speed Maximum Speed [kmph] Fuel Economy [kmpl]

77.692 97.583 18.26

- The city fuel economy is much lower than the Highway drive as the brake padel engagement and idle time on the drive cycle is less.

CONCLUSION :-

- Hence, the forward energy based fuel consumption model of a conventional vehicle has been successfully Simulated using MATLAB and Simulink.

- Analyses and understands vehicle operating points based on engine speed, torque, transmission speed, pedal positions, gear and distance teravelled.

- post process calculation were performed and the required graphs were successfully plotted.

- Successfully calculated vehicle fuel efficiency numbers (kmpl) for the given city cycle (UDDS) and highway cycle (HWFET).

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.