Project 2
AIM:
Development of a forward energy-based fuel consumption model of a P1 hybrid vehicle. This model is based on the conventional vehicle model from Project 1.
The main goal of this project is to understand the functionality of a P1 hybrid and be able to model it.
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.
- Tabulate the fuel economy numbers (kmpl) for UDDS and HWFET cycle. Compare these numbers with the baseline numbers for conventional vehicle model from Project 1.
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. Plot motor speed, torque, motor input power using subplots.
g. Plot pack voltage, current and SoC using subplots.
h. Plot the motor operating points on the motor input power map, with the motor max motoring and generating torque curves.
i. Write down appropriate brief comments on each of these plots, describing the vehicle behavior throughout the drive cycle.
j. Generate the plots for both drive cycles
SOLUTION:
Types of Mild Hybrid Electric Vehicles (MHEV)
In this article we are going to go through different system architectures for Mild Hybrid Electric Vehicles (MHEV), looking into the positioning of the components on the vehicle, the possible control functions and advantages and disadvantages in terms of fuel efficiency and driveability.
By architecture, topology or configuration we understand the positioning of the main components of the hybrid electric system on the vehicle. Since the only mechanical link between the electrical system and the rest of the vehicle is done through the electric machine, the MHEV architecture is basically defined by the position of the electric machine and the type of connection with the powertrain / drivetrain (belt, integrated or gear mesh).
The 48V electrical system has become the industry standard for mild hybrid MHEV applications for several reasons:
- it’s relatively simple to integrate on a vehicle
- it’s modular, safe and compact
- the mass of the components is relatively small so the impact on the total weight of the vehicle is limited
- the system cost to performance (fuel efficiency, torque boost) ratio is very competitive
With the except of the crankshaft-mounted integrated starter generator (Honda IMA and Mercedes Benz BlueHybrid), all the mild hybrid vehicle architectures presented in this article are based on 48V systems.
The powertrain configuration of the MHEV system has significant impact on the performance and characteristics of the vehicle, in terms of:
- integration cost
- fuel efficiency
- dynamic performance (powertrain torque enhancement)
Automotive OEMs and automotive Tier 1 system suppliers are currently analyzing and evaluating several major powertrain architectures for MHEVs. The electric machine can be positioned, relative to the other powertrain components, in five major points:
The brief description of the electric machine connection points is done in the table below.
|
P0 |
The electric machine is connected with the internal combustion engine through a belt, on the front end accessory drive (FEAD) |
|
P1 |
The electric machine is connected directly with the crankshaft of the internal combustion engine |
|
P2 |
The electric machine is side-attached (through a belt) or integrated between the internal combustion engine and the transmission; the electric machine is decoupled from the ICE and it has the same speed of the ICE (or multiple of it) |
|
P3 |
The electric machine is connected through a gear mesh with the transmission; the electric machine is decoupled from the ICE and it’s speed is a multiple of the wheel speed |
|
P4 |
The electric machine is connected through a gear mesh on the rear axle of the vehicle; the electric machine is decoupled form the ICE and it’s located in the rear axle drive or in the wheels hub |
Notice that P0 and P1 architectures do not allow the mechanical disconnection of the electric machine from the engine. On the other side P2, P3 or P4 configurations disconnects the electric machine from the engine through a clutch.
Crankshaft mounted electric machine (P1)
The P1 architecture, with the electric machine connected directly to the crankshaft, is the solution adopted by Honda on their first generation Integrated Motor Assist (IMA) technology. The electric motor functions as a generator, during vehicle deceleration, as an engine starter, and as a motor (to assist the engine) during vehicle accelerations.
One of the biggest advantage of this solution is that the electric motor can provide higher torque than the BiSG, since there is no belt limitation (due to slip). However, since there is no speed / torque ratio between the electric machine and crankshaft, the torque requirements on the electric motor can be quite demanding.
Two examples of P1 MHEV architectures are:
- Honda Insight Hybrid 2009 (with Integrated Motor Assist technology)
- Mercedes Benz S400 Blue hybrid 2010
PROCEDURE
- Load the Project2 folder as the Current Folder in Matlab.
- Run the “Project2_InitFile.m” Matlab script.
- The Drive cycle selection is done here.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Skill-Lync -> Hybrid Drives Development
% Project 2 - Conventional Vehicle Model
% By - Ullekh Gambhira
% Description:
%% Initialization File
% Initialization file for loading the variables for the Conventional vehicle simulation model
%% Vehicle Parameters
clc
clear all
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);
Vehicle Model Layout:




- 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. - These inputs are fed to the ‘Powertrain’ block which represents the drivetrain of the vehicle.
- It consists of an ‘Engine’ connected to the ‘Automatic Transmission’ through a ‘Torque Converter’.
- The Engine Block is developed by applying torque characteristics and fuel consumption details.

- The output of the transmission is connected to the ’Differential’, which powers the ‘Wheels’, that provides the tractive force for 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.01 sec.
- The Vehicle dynamics block is developed using the equations. Equations for aerodynamic drag, rolling resistance, and gradient are created and summed up to get the road load.
- Road load is subtracted from the tractive force to get the force. This force is then divided by the mass to get the acceleration component.
- Integrator is used to integrate the acceleration and get the velocity component.
- Road load and velocity are multiplied to get the power required for the vehicle.
- Power is then multiplied by the total time to get the energy required.
- All the blocks of velocity, acceleration, road load, the power required, and energy required are attached to the 'scope' block to see the output variations with respect to the time.

In this we integrate pack current and convert it rad to amp then saturated and meet SOC.
Then we create one coding file for creating plots and to meet all answers. that file shown in next.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Skill-Lync -> Hybrid Drives Development
% Project 2 - Hybrid Electric 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]
Eng_Fuel_Rate=out.Eng_Fuel_Rate; % Engine fuel rate [gm/sec]
Veh_Desired_Speed = out.Veh_Desired_Speed.*18/5 ; %Desired 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 vehicle characteristics time trace
% a. Tabulate the fuel economy numbers (kmpl) for UDDS and HWFET cycle.
Fuel_Economy = kmpl
%% b. Plot the time trace for engine, transmission input, transmission output and wheel speed on one plot.
figure('Name','Eng,Trans & Veh Speed Characteristics')
subplot(3,1,1)
hold on
grid on
plot(Time, Eng_Spd, 'linewidth', 1, 'Color', 'blue');
ylabel('Eng Speed [rpm]')
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]')
legend('Trans Input','Trans Output');
subplot(3,1,3)
hold on
grid on
plot(Time, Veh_Spd, 'linewidth', 1, 'Color', 'green');
xlabel('Time [s]');
ylabel('Vehicle Speed[Kmph]');
% c. Plot engine torque, engine power, fuel rate and fuel consumption using subplots.
figure('Name','Engine T,P,FR,FC Characteristics')
subplot(4,1,1)
hold on
grid on
plot(Time, Eng_Trq, 'linewidth', 1, 'Color', 'red');
ylabel('Engine Torque [Nm]')
subplot(4,1,2)
hold on
grid on
plot(Time, Eng_Pwr, 'linewidth', 1, 'Color', 'red');
ylabel('Engine Power [KW]')
xlim([0, Time(end)]);
subplot(4,1,3)
hold on
grid on
plot(Time,Eng_Fuel_Consump , 'linewidth', 1, 'Color', 'green');
ylabel('Fuel Consumption[g]');
subplot(4,1,4)
hold on
grid on
plot(Time,Eng_Fuel_Rate, 'linewidth', 1, 'Color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Eng Fuel Rate[gm/s]');
%d. Plot accelerator and brake pedal, gear command, vehicle desired and actual speed, vehicle distance using subplots.
figure('Name','Acc&Brake pedal/Gear/Veh_speed & distance')
subplot(4,1,1)
hold on
grid on
plot(Time, Acc_Pdl, 'linewidth', 1, 'Color', 'red');
plot(Time, Brk_Pdl, 'linewidth', 1, 'Color', 'blue');
ylabel('Pedal')
legend('Acc Pdl','Brk pdl');
subplot(4,1,2)
hold on
grid on
plot(Time, Gear_Cmd, 'linewidth', 1, 'Color', 'red');
ylabel('Gear Number')
subplot(4,1,3)
hold on
grid on
vas = plot(Time,Veh_Spd);
vds = plot(Time,Veh_Desired_Speed)
set(vas,'linewidth',1,'linestyle','-','color','blue');
set(vds,'linewidth',1,'linestyle','-.','color','Red');
ylabel('Veh Speed[kmph]');
legend('Actual','Desired');
subplot(4,1,4)
hold on
grid on
plot(Time,Veh_Dist, 'linewidth', 1, 'Color', 'black');
xlabel('Time [s]');
ylabel('Veh Distance[km]');
%% e. Plot the engine operating points on the 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 p4],{'Max Curve','Operating Points'});
axis([Eng_map_spd(1)*30/pi Eng_map_spd(end)*30/pi 0 Eng_map_trq(end)]);
%% f. Plot motor speed, torque, motor input power using subplots.
figure('Name','Motor W/T/Pin');
subplot(3,1,1)
hold on
grid on
plot(Time, out.EM_Spd, 'linewidth', 1, 'Color', 'blue');
ylabel('Motor speed')
subplot(3,1,2)
hold on
grid on
plot(Time,out.EM_Trq, 'linewidth', 1, 'Color', 'black');
ylabel('Motor Trq [Nm]')
subplot(3,1,3)
hold on
grid on
plot(Time, out.ElecPwr, 'linewidth', 1, 'Color', 'green');
xlabel('Time [s]');
ylabel('Motor Input Power');
%g. Plot pack voltage, current and SoC using subplots.
figure('Name','Battery V/I/SOC');
subplot(3,1,1)
hold on
grid on
plot(Time, out.term_volt, 'linewidth', 1, 'Color', 'blue');
ylabel('Battery Voltage[V]')
subplot(3,1,2)
hold on
grid on
plot(Time,out.pack_Current, 'linewidth', 1, 'Color', 'black');
ylabel('Battery Pack Current[A]')
subplot(3,1,3)
hold on
grid on
plot(Time, out.soc, 'linewidth', 1, 'Color', 'green');
xlabel('Time [s]');
ylabel('SOC');
% h. Plot the motor operating points on the motor input power map, with the motor max motoring and generating torque curves.
figure('Name','Motor Operating Points');
hold on
grid on
title('Motor Operating Points','fontsize',12);
p1=plot(EM_map_spd*30/pi,EM_max_trq,'linewidth',2,'color','r');
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');
clabel(c,h);
xlabel(' Speed [rpm]');
ylabel(' Torque [Nm]');
title('powermap');
p4 = plot(out.EM_Spd,out.EM_Trq,'.','color','g');
legend([p1 p4],{'Max Curve','Operating Points'});
axis([EM_map_spd(1)*30/pi EM_map_spd(end)*30/pi 0 EM_map_trq(end)]);
Plot engine torque, engine power, fuel rate and fuel consumption using subplots.
For UDDS drive cycle
For HWFET drive cycle




- The various performance of characteristics and operating points of UDDS drive cycle and HWFET drive cycle are plotted.
- Time trace for engine, Transmission input, Transmission output and wheelspeed with respect to time.
- Engine torque, Engine power, Fuel rate and Fuel consumption with respect to time.
- Accelerator and brake pedal, gear command and vehicle desired, actual speed, vehicle distance with respect to time.
- Engine operating points on the engine fuel map with respect to time.
- Motor speed, Torque, Motor input power with respect to time.
- Pack voltage, Current and State of charging with respect to time.
- The motor operating points on the motor input power map with respect to time.and also it comparing with HWFET drive cycle and their numbers also compared.