Challenge

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.

  1. 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.
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.