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:-
An combustion engine that burns either gasoline or diesel powers the wheels of typical vehicles. The basic idea behind this heat engine is that heat is produced by burning fuel and an oxidizer in a combustion chamber to produce expanding gases that push on 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 most prevalent kind of engine utilised in this system is the four-stroke reciprocating engine. Ideal thermodynamic cycles like the Otto and Diesel cycles may be utilised to mimic an engine in a cycler. The Otto cycle is an ideal cycle that describes the cycle mechanism of a spark-initiated SI engine. The best cycle for describing how a CI engine with compression ignition operates is the Diesel cycle.
Energy and performance of vehicle:-
The powerplant in this configuration must provide the required power to the wheels right away. In other words, the power needed at the wheels for performance variables like acceleration, speed, etc. is determined by the power from the powertrain.
Because this vehicle's powertrain consists of an engine coupled to the wheels through a transmission, power is delivered from the engine through the gearbox.
Conventional powertrain efficiency:-
The engine produces power by combusting chemical energy to create mechanical energy. The energy input for this energy conversion process comes from the use of fuel, and it is also efficient..
- Instantaneous fuel consumption is given as
m.f=Peηe⋅ηt⋅QLHV">.mf=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, the machine will still use some fuel to maintain rotation and make up for drag loss even if there is no power going to the wheels. The idling process is what's happening here. The calculation given above can only be applied so when wheel power is pure power. When the wheel power is negative, the engine will be either engaged and producing some engine braking or it is disengaged and idles as a result of engine drag losses.
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:
A "Driver" block, a fundamental PI controller, is used to simulate it. It creates outputs for the accelerator and brake pedals that correspond to the desired and actual vehicle speeds. We utilise driving cycles for this since they serve as a basis for consistent assessment and the outcomes of fuel consumption and emissions certification for the vehicle. It is based on time and velocity, after which everything is integrated to produce the accelerator and brake pedals.

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:
We employ an engine control unit in this control model, which provides input for the engine speed by building a look-up table. We feed Maximum torque and map speed into that table, and we also establish a second look-up table in which we input CT torque and map speed, from which it subtracts and multiplies. The engine speed also provides the correct counterspeed to integrate, and as a result, the engine's needed torque output is met.


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 models, we use the gear selector from the controllerb for transmission of the gear ratio and the engine torque. The gearbox input speed is determined by multiplying the ratio by the transmission input torque, positive torque, and negative torque, respectively. In this instance, the torque converter is a transmission component that connects the engine to the transmission. It essentially has decoupled engine dynamics.

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