Challenge

Project 1

AIM:-To develop a forward energy-based fuel consumption model of a conventional vehicle with a 1.9L engine and a 4- speed automatic transmission using Matlab and Simulink to generate plots and analyze data.

MATLAB INITIAL 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:-

Now let’s see the Simulink model of a conventional vehicle.

It is modelled using the Driver block, Controller block and Vehicle dynamics block.

Driver Block:-

Driver block is a primary PI controller that generates accelerator and brake pedal output to match desires and the vehicle’s actual speed.

Controller Block:-

It represents the Electronic control unit of the system, we can call it the brain of the Vehicle. Based on the Drivers input, it generates desired Engine torque, transmission gear and brake torque.

Powertrain Block:-

The data from the controller block is fed into a powertrain block. The powertrain block consists of an Engine block connected to the Automatic transmission. The output of the transmission is connected to the differential which powers the wheels by providing tractive force for acceleration.

Engine Block:-

Transmission Block:-

Differential Block:-

Wheels Block:-

Vehicle Dynamics Block:-

POST-PROCESSING:-

After running Simulink Model, with the help of the To Workspace block, all values were transferred to the Matlab workspace.

A post-processing MATLAB code is used to generate the necessary plots.

MATLAB PROCESSING FILE SCRIPT:-

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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.Vehicle_Distance/1000;   % Distance traveled by vehicle [km]
Veh_Spd = out.Vehicle_Velocity*18/5;     % Vehicle speed [kmph]
Eng_Fuel_Rate = out.Eng_Fuel_Rate;

%% 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,'LineWidth',1,'Color','black');
plot(Time,Eng_Fuel_Rate,'LineWidth',1,'Color','blue');
xlabel('Fuel Consumption');
ylabel('Fuel Rate');
xlim([0,Time(end)]);
legend('Fuel Consumption','Fuel rate');

%Plotting vehicle characteristics time trace engine,Transmission
%input,Transmisson output 
figure(2)
hold on
grid on
plot(Time,Eng_Spd,'LineWidth',1,'Color','g');
plot(Time,Trans_In_Spd,'LineWidth',1,'Color','red');
plot(Time,Trans_Out_Spd,'LineWidth',1,'Color','black');
xlabel('Time[s]');
ylabel('Speed[rpm]');
xlim([0,Time(end)]);
ylim([0,6000]);
legend('Engine speed','Transmission input','Transmission output');

%Plotting vehicle characteristics time trace engine torque, engine
%power,fuel rate and fuel consumption
figure(3)
subplot(2,2,1)
plot(Time,Eng_Trq,'LineWidth',1,'Color','g');
xlabel('Time[S]');
ylabel('Torque[Nm]');
legend('Torque');

subplot(2,2,2)
plot(Time,Eng_Pwr,'LineWidth',1,'Color','black');
xlabel('Time[S]');
ylabel('Power[KW]');
legend('Engine Power');

subplot(2,2,3)
plot(Time,Eng_Fuel_Rate,'LineWidth',1,'Color','red');
xlabel('Time[S]');
ylabel('Fuel rate[%]');
legend('Fuel Rate');

subplot(2,2,4)
plot(Time,Eng_Fuel_Consump,'LineWidth',1,'Color','blue');
xlabel('Time[S]');
ylabel('Fuel consumption [kmpl]');
legend('Fuel consumption');

%Plotting vehicle characteristics time trace, accelerator & brake pedal,
%vehicle desired and actual speed
figure(4)
subplot(3,1,1)
hold on 
grid on
plot(Time,Acc_Pdl,'LineWidth',1,'Color','green');
plot(Time,Brk_Pdl,'LineWidth',1,'Color','black');
xlabel('Pedal[%]');
ylim([0,Time(end)]);
legend('Torque','Brake');

subplot(3,1,2)
hold on 
grid on
plot(Time,Veh_Spd,'LineWidth',1,'Color','green');
xlabel('Speed[rpm]');

subplot(3,1,3)
hold on 
grid on
plot(Time,Gear_Cmd,'LineWidth',1,'Color','black');
xlabel('Time[S]');
ylabel('Gear');

PLOTS FOR UDDS CYCLE:-

1) Fuel consumption vs Fuel Rate

2) Vehicle characteristic time trace Engine, Transmission input, Transmission output

3) Vehicle characteristic time trace Engine torque, engine power,Fuel rate and fuel consumption

4) Vehicle characteristic time trace accelerator and brake pedal, gear command.

PLOTS FOR HWFET CYCLE:-

1) Fuel consumption vs Fuel Rate

2) Vehicle characteristic time trace Engine, Transmission input, Transmission output

3) Vehicle characteristic time trace Engine torque, engine power,Fuel rate and fuel consumption

4) Vehicle characteristic time trace accelerator and brake pedal, gear command.

CONCLUSION:-

A forward energy-based fuel consumption model of a conventional vehicle is developed using MATLAB and Simulink and also plots are obtained for mentions UDDS and HWFET drive cycles.

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.