All Courses
All Courses
Courses by Software
Courses by Semester
Courses by Domain
Tool-focused Courses
Machine learning
POPULAR COURSES
Success Stories
AIM: To develop the forward energy-based fuel Consumption model of a P1 hybrid vehicle by using the matlab and simulink. Overview: 1. Hybrid Electric vehicle: Using the Two or more energy sources to propulsion system in driving is called the Hybrid Electric Vehicle. Conventionally,petroleum fuel based energy source (Petrol,deisel,etc..)via…
Mohmmed Riyaz
updated on 30 Jun 2022
AIM:
To develop the forward energy-based fuel Consumption model of a P1 hybrid vehicle by using the matlab and simulink.
Overview:
1. Hybrid Electric vehicle:
1.1 propulsion system of Hybrid Electric Vehicle:
Fuel-Tank as the primary energy source
Batteries are the secondary energy source
Batteries can store the energy for the electric drive unit and other accessories.
1.2 Benefits of Hybrid Electric Vehicle:
1.3 State of the Art Technologies :
1.4 Vehicle Road Loads:
1.5 Vehicle operation Fundametals:
1.6 Motivation of Hybrid power train:
1.7 Energy Requirement of the vehicle:
It is the counterintuitive, The performance of the Vehicle is not just depend on the propulsion system (engine ,torque ,power, etc..),But also significantly depends on the road Load acting on the vehicle.The propulsion needs to be matched for a Vehicle based on the reqiurements of the Vehicle.
Therfore the understanding of the energy requirements of the vehicle is must for an optimized design for the propulsion system.
1.8 Losses in Hybrid Electric vehicle:
Idle loss=0.
power to wheels=24%-38%
Regenerative braking=5%-9%
1.9 Regenerative braking:
Regenerative braking is the one of the main advantages of the Hev.Regenerative Braking uses an elctric vehicle's motor acts as a generator to convert much of the kinetic energy lost when decelerating back into the stored energy in the Vehicle Battery.Then the next time car accelerates,it uses much of the energy previously stored from regenerative braking instead of tapping in further to its own energy reserves.
Figure:1 Regenerative braking in Vehicle
1.10 Tractive Forces:
The total tractive forces acitng on the vehicle = Rolling Resistance force+ aerodynamic drag force+Hill Climbing Force+ acceleration due to gravity (linear or angular).the tractive forces are used to propelling the vehicle to move forward.
1.11 Drive Cycle:
Drive cycle is the set of data points which is used to trace the variation of speed with respect to time.
Every region and regulatory body defines its own Vehicle,depending on the Vehicle Class and intended test.
Also,OEM's generally develop their own drive cycle which might be extensive.
1.12 System Dynamics:
There are three types:
Energy Converter-Convert the energy in one form to another
Energy Transform- Transform the energy within the same type.
Energy Storage/Reservoir-Stores and release the energy either in the same form or different form.
1.13 Basic structure :
There are two basic types of structure,
Forward Model-simulate from the source to the sink Viz.Start the simulation from the input to the engine and engine to the wheels to determine the vehicle performance.
Forward Model are the dynamic simulation.it is used for the detailed structure
Forces,torques,power is the input and the vehicle state variable velocity and acceleration are the output.
Models and simulation are more realistic due to physical causability,hence appropriate fro control development.
There is a feed back loop to meet the desired vehicle state.
Backward Model- Simulate from the sink tothe source viz.Input is the Vehicle speed and accelerate the engine input is back calculated.
1.14 Types of hybrid powertrain:
Figure:2 Series ,parallel,series-parallel.
This project is deals with the Development of a forward energy-based fuel Consumption model of a P1 hybrid vehicle.
Figure: 3 P1 hybrid Architecture.
Tasks:
The task of this project is to quantify the improvement in fuel economy numbers for the hybrid Vehicle(kmpl).Compared to the Conventional Vehicle, on the Urban cycle(UDDS) and Highway cycle (HWFET),also to analyze and understand the Vehicle operating points in terms of engine and motor speed,torque,transmission speeds,pedal positions,gear,distance travelled,battery voltage,current,SOC etc..
2. Construction:
Model for Hybrid Electric Vehicle:
The main goal of the project is to understand the functionality of a P1 hybrid and be able to model it.The main Model of vehicle blocks contains three main blocks which are Driver,controller and Powertrain .
2.1 Initial Matlab File:
Honda Insight motor and battery are considered for this project.Data is taken from ADVISOR data base developed by NREL,USA,Data provided in the project files.
Motor - 10kw PMSM
Battery - 6Ah 154V NiMH battery pack
a matlab code “Project2_InitFile.m” is a Matlab script used to load all the variables to the workspace.
The model developed has the capability to simulate the vehicle on different drive cycles like UDDS, HWFET, FTP, NEDC, etc.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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
load Vehicle_Data/EM_Honda_Insight_10kW
load Vehicle_Data/ESS_NiMH6
ESS_init_soc = 0.8;
ESS_soc_max = 0.9;
ESS_soc_min = 0.6;
%% 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);
3. SIMULINK MODEL:
3.1 Drive Train:
Drive train is the entire system of the vehicle.
Figure:4 Blocks of driver,controller and power train.
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.
The accelerator and bake pedal data is generated using the drive cycle data in which is fed through look up table.
3.2 Driver Block:
Figure:5 Driver Block of the P1 Hev.
3.3 CONTROLLER BLOCK:
1.The 'controller' block is the brains of the vehicle,representing the electronic controls unit.Based on the driver inputs,it generates desired engine torque,desired transmission gear and desired brake torque.
2.The data inputs are fed to the 'power train' block which represents the drivetrain of the vehicle.it consists of an engine connected to the automatic transmission through the torque converter.The output of the transmission is connected to the differential,which is used to transfer the power to the wheel,that provides a tractive force for the vehicle acceleration.The longitudinal dynamics of the vehicle along with the road load is represented in the vehicle dynamics block.The solver selected is ode3 with a fixed step size of 0.01sec.
The Controller Block contains the 'Engine control unit','Transmission Control Unit','Electric Motor Control Unit','Brake control Unit',and 'Mode Selection unit'.All this system are connected with the bus creater and control signal as the output of the controller block.
Figure: 6 controller Block system of the P1 HEV.
3.4 Mode Selection unit:
The mode Selection unit is otherwise called as the Master Control Unit .the control element of the vehicle which will get the inputs given from the driver.The below mode selection contains the operating conditions of engine on,engine throttle,and electric motor throttle with the state flow of Stop,Start,Drive,Regenerative braking.The actions will be typed in the transition lines.
Figure: 7 State Flow Chart For Mode Selection.
3.5 Engine Control Unit:
During the Engine Mode the engine Control unit control the Vehicle.The idle speed controller is used to control the idle speed of the vehicle.it should be giving a output as engine requested torque.
Figure :8 Engine Control Unit of HEV P1.
3.6 Idle speed Controller:
Figure:9 Idle speed Controller Block
3.7) Transmission Control Unit:
Transmission Control Unit is a sensor which is Used to control the shifting of gears with respect to the speed and time.The clutch is lock up with the gears.
Figure:10 Transmission Control Block.
3.8) Shift logics :
The below figure 11 represents the shift logics.The gears are changed with respect to the conditions.Based on the speed increases or decreases the gear is shifting to up and down.The gear state and selection state are made up of parallel state which is used for the two states are operating parallel(Example if the gear shift 1 to 2 that time the selection state upshifting the gear).
Figure:11 Gear shifting logic in state flow chart.
3.8.1Threshold calculation:
Due to the throttle given by the driver the gear shifting between up and down.
Figure:12 Threshold calculation block.
3.9 Electric Motor Controll Unit:
When the Electric motor is controlled in the Electric control Unit (it is a sensor).In this Unit,Motor Throttle request is fed in as a input nad based on the speed of the motor and throttle,either motoring torque or generating torque is selected from the look up table.This torque is multiplied to get the electric motor torques request.Since the engine is integrated with the electrical machine,the speed of engine is taken as an input speed of a motor.since the engine is integrated with the electrical machine,the speed of engine is taken as an input speed for a motor.
Figure:13 Electric Motor Control Unit in Controller.
3.10 Brake Control Unit:
Brake Control Unit in the Controller is sensor which sense the driver is applying the brake or not.The Brake Control Unit is used to Control the Brake system of the Vehicle.the braking request from the driver is fetch as an input and based on the braking action of driver brake torque request is send to the driver.
Figure:14 Brake Control Unit in Controller.
All the control signal from the Controller is fetch to the bus creater, Which merges the signals and send it to the Powertrain block.
3.11 Power Train Block:
Power Train is a subsystem of drive train.it is a combination of two energy sources and energy converters.it contains Engine,Electric Motor,Battery,Crank Hub,Transmission,Wheels and vehicle Dynamics.
Figure: 15 Power Train Block for P1 HEV.
3.12 Engine Block:
1.An internal combustion engine (ICE or IC engine) is a Heat engine in which the combustion of a fuel occurs with an oxidizer (usually air) in a combustion chamber that is an integral part of the working fluid flow circuit. In an internal combustion engine, the expansion of the high-temperature and high-pressure gases produced by combustion applies direct force to some component of the engine. The force is typically applied to pistons (piston engine). This force moves the component over a distance, transforming chemical energy into kinetic energy which is used to propel, move or power whatever the engine is attached to.
2.From the engine speed block can be connected with the 1-D look up table which is used to import Lookup Table Data from MATLAB You can import table and breakpoint data from variables in the MATLAB workspace by referencing them in the Table and Breakpoints tab of the dialog box. Import Lookup Table Data from Excel This example shows how to use the MATLAB xlsread function in a Simulink model to import data into a lookup table.
3.There are two lookup tables are created one block is used to maximum torque and another one is minimum torque.
4.The input of the engine torque, the min torque curve,max torque curve are connected to the saturation dynamics.
5.The saturation dynamic are connected to the 2-D lookup table and output of the engine torque .the output of the engine torque has taken to the workspace for the calculations and plotting purposes.
6.The 2-D lookup tables are connected to the saturation block which is used to the option of using saturation through the Saturation block under the Discontinuities category of the library – by double clicking it, its property window opens where you need to type 50 under the Upper limit and −50 under the Lower limit to indicate the saturation voltage values.
7. The saturation block is connects the integrator block and finally connects with terminator and scope.the terminator block is used to cap blocks whose output ports are not connected to other blocks. If you run a simulation with blocks having unconnected output ports, Simulink issues warning messages. Using Terminator blocks to cap those blocks avoids warning messages.the scope is used to observe the signals.the ouput of the engine fuel rate and engine fuel consumption taken to the workspace for calculations and plots.
Figure:16 Engine Subsystem of P1 HEV.
3.13 Electric Motor Block:
In motor Subsystem is based on the motor torque request from the controller and the engine speed,the torque and input power to the motor is calculated.The engine speed is considered because is is considered that engine and motor are running at the same speed in P1 hybrid Vehicle.
Figure: 17 Electric motor of P1 HEV.
3.14 Crank Hub:
In this block,The torque from the engine and the torque from the motor is addedand the combined torque is the result of the system.
Figure:18 Crank Hub of P1 HEV
3.15 Battery(Energy Storage System [ESS]):
Battery is the Secondary Energy Source which is the Subsystem based on the input power demand from the motor,batetry current is Considered.State of Charge (SOC) level of the battery is calculated by the technique is called as Coulomb Counting.The Voltage of the battery is function with the SOC level of the battery.So the open circuit Voltage is Calculated by SOC level of battery.
Figure:19 Energy Storage System of P1 HEV.
3.16 Transmission System:
The Transmission system is used to control the speed and speed of the vehicle it also transfer a power to the wheels.In transmission subsystem,Torque from the torque converter is calculated.based on the gear command from the controller,gear ratio is selected by considering the gear and gear ratio data from the lookup table .product of the gear ratio and torque from the torque converter gives us the totla output torque from the transmission .Based on the nature of torque its efficiency is assigned and output torque is calculated.
Figure:20 Transmission substem of P1 HEV.
3.17 Differential:
Differential is used to transmit the power to the wheels.In differential subsystem,transmission output torque is multiplied with final drive ratio of the system and based on the nature of the torque which is positive or negative axle is calculated.
Figure:21 differential block of P1 HEV.
3.18 Wheels:
In wheels subsystem,the brake torque request from the brake controller is fetch in.based on the brake torque request and axle torque,traction force is calculated by considering the wheel speed and the traction force is send to the vehicle body dynamics subsystem.
Figure:22 Wheels subsystem of P1 HEV
3.19 Vehicle Dynamics:
Vehicle Bodey Dynamics is the Used to calculating the reistance force.The total tractive force is calculated by adding of the forces acting on the vehicle which are Rolling Resistance force,aerodynamic drag force,acceleration due to gravity (either linear or angular),Hill climbing force. The resistance is subtracted from the total tractive force and result is divided by mass of the vehicle to obtain the acceleration of the vehicle.The integration of acceleration done to find out the velocity of the vehicle.The velocity is reverted back to the Driver block and based on driver handelling with the brakes and acceleration comparing the velocity with the given drive cycle.
Figure:23 Vehice body dynamics of P1 HEV
4. Post Processing File:
I have done this processing file,Due to the variation of length the time is reduced to gear command length
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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]
Wheel_speed =out.Wheel_speed;% wheel speed [kmph]
Eng_Fuel_Rate=out.Eng_Fuel_Rate;%Engine fuel rate[%]
Veh_Desired_speed=out.Veh_desired_spd;%desired vehicle speed[kmph]
EM_Spd=out.EM_Spd;%Electric motor speed [rpm]
EM_Trq=out.EM_Trq;%Electric motor Torque [Nm]
EM_ElecPwr=out.ElecPwr;%electric motor power [kw]
Pack_current =out.Pack_Current;%packing current
Pack_Voltage=out.Term_volt;%terminal voltage
SOC=out.SOC;%state of charge
%% 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 vehicle characteristics time trace
figure(1)
subplot(3,1,1)
hold on
grid on
plot(Time,Eng_Spd,'linewidth',1,'Color','green')
xlabel('Time [s]')
ylabel('Speed [RPM]')
legend('Engine speed')
subplot(3,1,2)
hold on
grid on
plot(Time, Trans_In_Spd, 'linewidth', 1, 'Color', 'black');
plot(Time, Trans_Out_Spd, 'linewidth', 1, 'Color', 'red');
ylabel('Speed [rpm]')
xlim([0, Time(end)]);
ylim([0, 6000]);
legend('Trans Input','Trans Output');
subplot(3,1,3)
hold on
grid on
plot(Time,Wheel_speed)
xlabel('Time [s]')
ylabel('Wheel speed [RPM]')
%%Engine Torque,Engine Power,Fuel COnsumption,Efficiency
figure(2);
hold on
grid on
subplot(2,2,1)
plot(Time,Eng_Trq,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('Torque [Nm]')
legend('Engine Torque')
subplot(2,2,2)
plot(Time,Eng_Pwr,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('Power [KW]')
legend('Engine Power')
subplot(2,2,3)
plot(Time, Eng_Fuel_Consump,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('Fuel consumption [gm/s]')
legend('fuel consumption')
subplot(2,2,4)
plot(Time,Eng_Fuel_Rate,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('Fuel rate')
xlim([0, Time(end)]);
legend('Fuel rate');
%%Plotting acceleration,brake,gear command,real vs desired speed and
%%distance with respect to time
figure(3)
subplot(2,2,1)
hold on
grid on
plot(Time, Acc_Pdl, 'linewidth', 1, 'Color', 'black');
plot(Time, Brk_Pdl, 'linewidth', 1, 'Color', 'red');
xlabel('Time [s]')
ylabel('Pedal [%]')
legend('Accel','Brake');
subplot(2,2,2)
load New_Time
load Time_3
plot(NewTime, Gear_Cmd,'linewidth', 1, 'Color', 'black');xlim([0, Time(end)]);
%plot(Time3, Gear_Cmd,'linewidth', 1, 'Color', 'black');xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Gear');
legend('Gear cmd')
subplot(2,2,3)
plot(Time,Veh_Dist,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('distance')
legend('vehicle distance')
subplot(2,2,4)
plot(Time,Veh_Desired_speed, 'linewidth', 1, 'Color', 'red');
hold on
plot(Time,Veh_Spd, 'linewidth', 1, 'Color', 'black');
xlabel('Time [s]');
ylabel('vehicle Speed [RPM]')
legend('veh speed actual','veh desired speed');
%% 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','showText','on');
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 p4],{'Max Curve','Operating Points'});
axis([Eng_map_spd(1)*30/pi Eng_map_spd(end)*30/pi 0 Eng_map_trq(end)]);
%%plotting of motor speed,torque,motor input power
figure(5)
subplot(3,1,1)
hold on
grid on
plot(Time,EM_Spd*30/pi,'linewidth',1,'Color','green')
xlabel('Time [s]')
ylabel('EM Speed [RPM]')
legend('Electric motor speed')
subplot(3,1,2)
plot(Time,EM_Trq,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('EM Torque [Nm]')
legend('Electric motor Torque')
subplot(3,1,3)
plot(Time,EM_ElecPwr,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('EM Power [KW]')
legend('Electric motor Power')
%%Plotting of Electric Motor Operating points
figure('Name','Motor operating points');
hold on
grid on
title('Electric motor Operating Points')
p1=plot(EM_map_spd*30/pi,EM_max_trq,'lineWidth',2,'color','b','Displayname','Maximum Torque');
p4=plot(EM_map_spd*30/pi,EM_max_gen_trq,'lineWidth',2,'color','r','Displayname','Maximum Generating Torque');
p2=line([EM_map_spd(end)*30/pi,EM_map_spd(end)*30/pi],[0 EM_max_trq(end)]);
set(p2,'linewidth',1,'linestyle','--','color','k');
p3=line([EM_map_spd(1)*30/pi EM_map_spd(1)*30/pi],[0 EM_max_trq(1)]);
set(p3,'linewidth',1,'linestyle','--','color','k');
[c,h]=contour(EM_map_spd'*30/pi,EM_map_trq,EM_inpwr_map','ShowText','on','Displayname','efficiency');
clabel(c,h)
xlabel('EM Speed [rpm]')
ylabel('EM Torque [Nm]')
title('EM Input Power');
legend([p1 p4 p3],{'max Curve','Regen Curve','Operating Points'});
%%Plot battery packs
figure(6)
subplot(3,1,1)
hold on
grid on
plot(Time,Pack_current,'linewidth',1,'Color','green')
xlabel('Time [s]')
ylabel('Pack current')
legend('Pack current')
subplot(3,1,2)
plot(Time,Pack_Voltage,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('Pack Voltage')
legend('Pack Voltage')
subplot(3,1,3)
plot(Time,SOC,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('SOC')
legend('State Of Charge')
%%plotting drive cycle
figure(7)
plot(cyc_time,cyc_vel);
xlabel('Time [s]')
ylabel('Velocity [m/s]')
Based on the need the drive cycle is selected from the initialization script.For Udds we have selected the drive cycle as 1 and for HWFET we to select it as 2.
5. HWFET initial file:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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
load Vehicle_Data/EM_Honda_Insight_10kW
load Vehicle_Data/ESS_NiMH6
ESS_init_soc = 0.8;
ESS_soc_max = 0.9;
ESS_soc_min = 0.6;
%% Driver Parameters
Kp = 10; % P gain for driver PI model
Ki = 1; % I gain for driver PI model
Drive_Cycle_Select = 2; % 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);
6. Processing File:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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]
Wheel_speed =out.Wheel_speed;% wheel speed [kmph]
Eng_Fuel_Rate=out.Eng_Fuel_Rate;%Engine fuel rate[%]
Veh_Desired_speed=out.Veh_desired_spd;%desired vehicle speed[kmph]
EM_Spd=out.EM_Spd;%Electric motor speed [rpm]
EM_Trq=out.EM_Trq;%Electric motor Torque [Nm]
EM_ElecPwr=out.ElecPwr;%electric motor power [kw]
Pack_current =out.Pack_Current;%packing current
Pack_Voltage=out.Term_volt;%terminal voltage
SOC=out.SOC;%state of charge
%% 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 vehicle characteristics time trace
figure(1)
subplot(3,1,1)
hold on
grid on
plot(Time,Eng_Spd,'linewidth',1,'Color','green')
xlabel('Time [s]')
ylabel('Speed [RPM]')
legend('Engine speed')
subplot(3,1,2)
hold on
grid on
plot(Time, Trans_In_Spd, 'linewidth', 1, 'Color', 'black');
plot(Time, Trans_Out_Spd, 'linewidth', 1, 'Color', 'red');
ylabel('Speed [rpm]')
xlim([0, Time(end)]);
ylim([0, 6000]);
legend('Trans Input','Trans Output');
subplot(3,1,3)
hold on
grid on
plot(Time,Wheel_speed)
xlabel('Time [s]')
ylabel('Wheel speed [RPM]')
%%Engine Torque,Engine Power,Fuel COnsumption,Efficiency
figure(2);
hold on
grid on
subplot(2,2,1)
plot(Time,Eng_Trq,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('Torque [Nm]')
legend('Engine Torque')
subplot(2,2,2)
plot(Time,Eng_Pwr,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('Power [KW]')
legend('Engine Power')
subplot(2,2,3)
plot(Time, Eng_Fuel_Consump,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('Fuel consumption [gm/s]')
legend('fuel consumption')
subplot(2,2,4)
plot(Time,Eng_Fuel_Rate,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('Fuel rate')
xlim([0, Time(end)]);
legend('Fuel rate');
%%Plotting acceleration,brake,gear command,real vs desired speed and
%%distance with respect to time
figure(3)
subplot(2,2,1)
hold on
grid on
plot(Time, Acc_Pdl, 'linewidth', 1, 'Color', 'black');
plot(Time, Brk_Pdl, 'linewidth', 1, 'Color', 'red');
xlabel('Time [s]')
ylabel('Pedal [%]')
legend('Accel','Brake');
subplot(2,2,2)
load New_Time
load Time_3
%plot(NewTime, Gear_Cmd,'linewidth', 1, 'Color', 'black');xlim([0, Time(end)]);
plot(Time3, Gear_Cmd,'linewidth', 1, 'Color', 'black');xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Gear');
legend('Gear cmd')
subplot(2,2,3)
plot(Time,Veh_Dist,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('distance')
legend('vehicle distance')
subplot(2,2,4)
plot(Time,Veh_Desired_speed, 'linewidth', 1, 'Color', 'red');
hold on
plot(Time,Veh_Spd, 'linewidth', 1, 'Color', 'black');
xlabel('Time [s]');
ylabel('vehicle Speed [RPM]')
legend('veh speed actual','veh desired speed');
%% 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','showText','on');
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 p4],{'Max Curve','Operating Points'});
axis([Eng_map_spd(1)*30/pi Eng_map_spd(end)*30/pi 0 Eng_map_trq(end)]);
%%plotting of motor speed,torque,motor input power
figure(5)
subplot(3,1,1)
hold on
grid on
plot(Time,EM_Spd*30/pi,'linewidth',1,'Color','green')
xlabel('Time [s]')
ylabel('EM Speed [RPM]')
legend('Electric motor speed')
subplot(3,1,2)
plot(Time,EM_Trq,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('EM Torque [Nm]')
legend('Electric motor Torque')
subplot(3,1,3)
plot(Time,EM_ElecPwr,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('EM Power [KW]')
legend('Electric motor Power')
%%Plotting of Electric Motor Operating points
figure('Name','Motor operating points');
hold on
grid on
title('Electric motor Operating Points')
p1=plot(EM_map_spd*30/pi,EM_max_trq,'lineWidth',2,'color','b','Displayname','Maximum Torque');
p4=plot(EM_map_spd*30/pi,EM_max_gen_trq,'lineWidth',2,'color','r','Displayname','Maximum Generating Torque');
p2=line([EM_map_spd(end)*30/pi,EM_map_spd(end)*30/pi],[0 EM_max_trq(end)]);
set(p2,'linewidth',1,'linestyle','--','color','k');
p3=line([EM_map_spd(1)*30/pi EM_map_spd(1)*30/pi],[0 EM_max_trq(1)]);
set(p3,'linewidth',1,'linestyle','--','color','k');
[c,h]=contour(EM_map_spd'*30/pi,EM_map_trq,EM_inpwr_map','ShowText','on','Displayname','efficiency');
clabel(c,h)
xlabel('EM Speed [rpm]')
ylabel('EM Torque [Nm]')
title('EM Input Power');
legend([p1 p4 p3],{'max Curve','Regen Curve','Operating Points'});
%%Plot battery packs
figure(6)
subplot(3,1,1)
hold on
grid on
plot(Time,Pack_current,'linewidth',1,'Color','green')
xlabel('Time [s]')
ylabel('Pack current')
legend('Pack current')
subplot(3,1,2)
plot(Time,Pack_Voltage,'LineWidth',1,'Color','black')
xlabel('Time [s]')
ylabel('Pack Voltage')
legend('Pack Voltage')
subplot(3,1,3)
plot(Time,SOC,'LineWidth',1,'Color','red')
xlabel('Time [s]')
ylabel('SOC')
legend('State Of Charge')
%%plotting drive cycle
figure(7)
plot(cyc_time,cyc_vel);
xlabel('Time [s]')
ylabel('Velocity [m/s]')
7. Results:
The model has been Run for different cycle based on the Given condition and different parameters were analyzed and compared with the conventional vehicle model.
Comparison For different Drive Cycle :
UDDS and HWFET drive Cycles are discussed in this project.
7.1 Comparison for speed for engine, Transmission input and Output,Wheel speed for both the drive cycles:
We can observe the UDDS Cycle the average speed of the Wheel transmission and engine is higher as compared to Hwfet cycle.In the case of the HWFET cycle the vehicle has to propel with higher velocity as compared with the UDDS cycle.The rising and falling of the speed is continuosly happend in the UDDS cycle because it is a urban driving condition.The higer rotating speed of around 4900rpm. the Hwfet is running with the constant speed some places get falling happend because of the Highway driving Condition.The rotaing speed of around 3800rpm in HWFET.The transmission input and output of th UDDS cycle is increases and decreases rapidly with respect to time as compared to HWFET.This is due to frequent start stop condition in Urban driving condition.
FIGURE:24a)Engine speed,wheel speed,Trans in&out UDDS,24b Engine speed,wheel speed,trans in&out HWFET
7.2 Engine Analysis for UDDS and HWFET Cycle:
In UDDS Cycle we can observe that there is frequent Rise and Fall in the engine power and torque.Due to the observance the engine power and torque needed is higer in the urban driving condition.meanwhile the HWFET is less Rise and Fall in the power and torque .the needed of the power and torque is comparitively less to the UDDS cycle.This enables work with the HWFET is more efficient regions are showned in figure 25a and 25b.The fuel rate is lower in HWFET.The negative creation of the torque in HWFET is low so we get the efficiency of the fuel rate high.But the UDDS is Creating more torque due to the road conditions with start and stop .so there is some efficiency losses happend in the UDDS.
Figure:25a Speed,Power,Fuel Consumption&Rate UDDS; Figure:25b speed,power,fuel consumption&rate HWFET
7.2 Accelerator,Brake pedal and gear selection for different Drive cycle:
Figure 26 shows the brake pedal and accelerator ,gear command positions for UDDS cycle.we observe that the vehicle is following the UDDS Cycle .the use of the Brake pedal is quite often and the intensity of for the pressed is also high as compared with the HWFET cycle is shown in Below figures.The Black color represents the acceleration of vehicle and Red color represents the deccelerating or Breke apllied of an vehicle.The gear shifting is higher as compared to the HWFET.due to the conditions of UDDS the up shifting and down shifting are changed rapidly.the vehicle covers a distance of approximately 12kms for the UDDS cycle and 17 kms for the HWFET cycle.
Figure:26a acceleration,braking&distance travelled UDDS; Figure:26b Acceleration,braking&distance HWFET
7.3 Comparison of UDDS and HWFET with Operating points of Engine fuel consumption map[g/s]:
The speed Torque characteristics of the fuel map are showned below.The operating points of UDDS and HWFET cycle should be Shown below. the UDDS have high fuel consumption as compared to hwfet.
Figure:27a Engine fuel consumption map Figure:27b Engine fuel consumption map
7.4 Analysis of Electric Power Train:
We can observe the charcteristics of the speed,torque and power of the electric motor.The motor fluctuation is higher in the UDDS cycle.The motor speed ,torque and power is high in UDDS,because urban condition needs high propulsion.In HWFET is constant 0 because the propulsion needed is less.the speed of the electric motor is around 5000 rpm in UDDS and 3800rpm in HWFET.The power consumption is higher in UDDS and lower in HWFET.
Figure:28a Electric motor,torque and power of UDDS; Figure:28b ELectric motor,torque and power of HWFET.
7.5 Comparison of battery current,voltage and state of charge for UDDS and HWFET:
The battery current usage and voltage fluctuation is very high in UDDS cycle.the discharge rate is high and the state of charge is reduced to 70% in UDDS cycle.In HWFET the current and voltage needed is low power due constant moving of vehicle.The discharge rate is very low as compared to UDDS cycle.the battery get recharged that should be observed in figure below.
Figure:29a Current,voltage & soc of P1 HEV UDDS cycle; Figure:29b Current,voltage and soc of P1 HEV HWFET
7.6 Operating points of P1 HEV for UDDS and HWFET:
The Speed and Torque Characteristic of the motor power are showned below.maximum power curve is represent the blue color and the regenerating curve is represent as red color also the operating points are having doted lines showned below.
Figure:30a Operating points of UDDS Cycle ; Figure:30b Operating points of HWFET Cycle
7.7 Drive Cycle of UDDS and HWFET:
Figure 31a represents the UDDS cycle and figure 31b represents the HWFET cycle.
Figure:31a UDDS cycle Figure:31b HWFET Cycle
7.8 Comparision of conventional vehicle and P1 hybrid elctric vehicle:
conventional vehicle fuel consumption map (figure 32a and 32b)with its operating point and the figure(32c and 32d)is the P1 Hybrid Electric vehicle with its operating points.we observe the large amount of cluster of operating points in conventional vehicle than the hybrid vehicle .The Conventional vehicle running under the UDDS condition it may give the milage around 14.2047 kmpl and HWFET condition the milage is give around 16.051.meanwhile the P1 hybrid electric Vehicle will be running under the UDDS cycle it will give the milage approximately 15.1262 kmpl and HWFET milage can give 17.1690 kmpl.The Hybrid Electric Vehicle is more Efficient than the Conventional electric vehicle.
Figure:32a Conventional vehicle fuel consumption with UDDS Figure:32b Conventional vehicle fuel consumption with HWFET
Figure:32c P1 hybrid Electric vehicle of UDDS fuel consumption Figure:32d P1 hybrid electric vehicle fuel consumption HWFET
VEHICLE | UDDS (kmpl) | HWFET(kmpl) |
Conventional Vehicle | 14.2047 | 16.051 |
Hybrid Electric Vehicle | 15.1262 | 17.1690 |
Conclusion:
The milage of hybrid electric vehicle is higher efficient than the conventional vehicle.The system level Analysis was done in the P1 hybrid Electric vehicle. the forward energy-based fuel Consumption model of a P1 hybrid vehicle has developed successfully by using the matlab and simulink
Leave a comment
Thanks for choosing to leave a comment. Please keep in mind that all the comments are moderated as per our comment policy, and your email will not be published for privacy reasons. Please leave a personal & meaningful conversation.
Other comments...
Project 2
AIM: To develop the forward energy-based fuel Consumption model of a P1 hybrid vehicle by using the matlab and simulink. Overview: 1. Hybrid Electric vehicle: Using the Two or more energy sources to propulsion system in driving is called the Hybrid Electric Vehicle. Conventionally,petroleum fuel based energy source (Petrol,deisel,etc..)via…
30 Jun 2022 03:17 PM IST
Project 2 Adaptive Cruise Control
EV BATCH17 AIM: To develop a model of adaptive cruise control by using the matlab. Objective: Development of a MATLAB Simulink Model for Adaptive Cruise Control feature as per the requirement document following Model Based Development(MBD) related process.SLDD creation,configuration parameter changes,Model advisor check…
27 Jun 2022 07:56 AM IST
Project 1 (Mini Project on Vehicle Direction Detection
AIM: To develop the model of vehicle direction by using the matlab. OBJECTIVE: The objective of this project is to create a MBD complaint MATLAB Simulink model for a vehicle direction dectection as per the requirement specified. Tag the requirements to the simulink model;Requirement 1 & Requirement 2 are tagged…
26 Jun 2022 06:30 AM IST
Project 2 Thermal modeling of battery pack
EV BATCH17 AIM: To design a 10 series lithium ion battery model,simulate the thermal effects by using the matlab. abstract: Lithium ion (Li-ion) battery pack is a complex system consisting of numerous cells connected in parallel and series. The performance of the pack is highly dependent on the health of each individual…
18 Jun 2022 09:46 AM IST
Related Courses
Skill-Lync offers industry relevant advanced engineering courses for engineering students by partnering with industry experts.
© 2025 Skill-Lync Inc. All Rights Reserved.