Challenge

Project 2

Aim

Modelling of develpoment of a forward energy based fuel consumption model of P1 hybrid vehicle.

Objectives

  • Tabulate the fuel economy numbers for UDDS HWFET cycle .Compare these numbers with baseline numbers for conventinal vehicle
  • Plot the time trace for engine , transmission input, output and wheels spped on the one plot
  • Plot engine engine torque engine power , fuel rate and fuel consumption using subplots
  • Plot accelerator and brake pedal , gear command , vehicle desired and actual spped , vehicle distance using subplots.
  • Plot the engine operating points on the engine fuel map
  • Plot motor speed , torque, motor input power using subplots.
  • Plot pack voltage current and SOC using subplots
  • Plot the motor operating points on the motor input power map with the motor max motoring and generating torque.
  • Generate the plots for UDDS and HWFET drive cycle.

P1 Mild Hybid Electric Vehicle

The P1 architecture with the electric machine connected directly to the crankshaft is the solution adopted by honda on thier first generation integrated motor assist technology .Th eelectric vehicle motor function as a generator during vehicle decelartion as an engine starter and as motor during vehicle acceleration .One of the biggest advantage of this solution is that electric motor can provide higher torque than the Bisg since thereis no belt lomitation .However since there is no speed torque ratio between the electric machine and crankshaft the torque requirements on th electric motor can be quite demanding.

CODE

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Skill-Lync -> Hybrid Drives Development
% Project 1 - Conventional Vehicle Model
% By - VIKAS 

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

Vehicle Model

Driver

It is modeled using a driver block which is a basic PI controller that generates accelerator and brake pedal output to match the desired and actual vehicle sppeds.In this we se the drive cycle for the based on these results of fuel consumption and emissions the vehicle gets certtified and it also forms a basis of uniform assessment .It is based on time velocity then it is all integrate and creates output accelartion pedal and brake pedal.

Controller

The controller block is the brain of the vehicle representation the electronic control units .It is based on the driver inputs it generates desired engine torque, desired transmission gear desired motor torque and desired brake torque.These inputs are fed to the Powertrain block which represents of the vehicle.In this we rquire to create stateflow block .

State Flow Block

In this we created four conditions as stop start drive and regenerative braking .The intial block represent the stop condition.In which the engine is off.The engine and motor throttle conditions are zero .Then the second block repesents satrt condition. In which the mode is 1 the electric motor throttle is only used to provide the required torque and power to the vehicle the engine is off and engine throttle conditions zero

The state 1 and 2 are coonected using the links it moves from state 1 to state 2 when acceleration is less than one or SOC is less than the minimum SOC

State 3 represents mode 2 the engine is on and the engine throttle is also having positive value from the driver but the electric motor throttle is zero .It changes from state 2 to state 3 when engine speed is greater than or equal to engine idle speed.

State 4 represents regenrative braking which is model 3 In this state the engine is on but the engine throttle is having no input from the driver whereas the electric motor receives the negative power due to braking

The inputs are given the chart is accleration brake engine speed vehicle speed SOC and clutch Lockup

The output we get from the chart is mode engine condition engine throttle and electric motor throlle condition

Engine Control Unit

In this control model we use engine control unit in that give input .Engine speed through creating look up table we give input maximum torque and map speed then also create 2 nd Lookup table in that give input ct torque and map speed then it subtract and multiplied the engine speed also give to ideal control speed to integrate from this we get meet output of the engine requored torque

Idle Speed Controller

Transmission Control Unit

In this unit we create steady flow variable state for controlling of the gears of the 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.

Shift logic

EM Control Unit

Brake Control Unit

POWERTRAIN

Engine

In this model we use map based model to the model the fuel consumption of the engine .It is based on maximum torque and minimum from the controller and then it is 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.

Electric motor

Crank Hub

Transmission

In these model we take engine torque , gear selector, from the controlled for transmission of the gear ratio .The ratio is multiply by trannsmission input torque and then the transmiision efficency positive torque and negative torque gives transmission input speed .In this case torque converter connects engine to transmission it is part of transmission .In it basically engine dynamics and that it decoupled.

Torque Converter

Diffrential

In this taking input is the transmission output then its going to the differntial ratio multiplied the output and input torque then meet axle torque .The axle torque is lower than the transmission torque and diffrential ratio

Wheels

In this modle we take the axle torque from the differntial and brak etorque from controller it is subtract and multiplied rolling radius and celocity then we meet the tractive force axle and brake torque and when the wheel speed is meet using velocity

Vehicle Dynamics

In this take s tractive force and road load .It is dictated vehicle speed based on the tractive force and road load.

Battery

In this we give input as power then it is multipied and give to pack currentthen from SOC estimation meet output SOC its give to terminal voltage as input and then meet terminal voltage as output.

CODE

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Skill-Lync -> Hybrid Drives Development
% Project 2 - P1 Hybrid Electric Vehicle Model
% By - VIKAS 
% 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.TransOutSpd*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.WheelSpeed; % Wheel speed [kmph]
Eng_Fuel_Rate = out.Eng_Fuel_Rate % Engine fuel rate [%]
EM_Speed = out.EMSpd*18/5; % Electric Motor Speed
EM_Power = out.EMPwr; % Electric Motor Power
EM_Torque = out.EMTrq; % Electric Motor Torque
Term_Volt = out.term_volt; % Terminal Voltage of battery
Soc = out.SOC; % State Of Charge
Pack_Current = out.Pack_Current; %Pack current of battery

% 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]

%  DATA CONVERSION 
Eng_spd = Eng_Spd.Data(:,1); % engine speed
Eng_trq = Eng_Trq.Data(:,1); % engine torque
Eng_pwr = Eng_Pwr.Data(:,1); % engine power
Eng_fuel_rate = Eng_Fuel_Rate.Data(:,1); % engine fuel rate
Eng_fuel_consumption = Eng_Fuel_Consump.Data(:,1); % engine fuel consumption
EM_speed = EM_Speed.Data(:,1); % motor speed
EM_power = EM_Power.Data(:,1); % Motor Power
EM_torque = EM_Torque.Data(:,1); % Motor Torque
Pack_current = Pack_Current.Data(:,1); %pack current of battery
State_of_charge = Soc.Data(:,1); %state of charge
Term_voltage = Term_Volt.Data(:,1); % terminal Voltage of battery

% ENGINE OPEARATING POINTS ON ENGINE FUEL MAP
figure('Name','ENGINE OPERATING POINTS');
hold on
grid on
title('ENGINE OPERATING POINTS');
p1=plot(Eng_map_spd*30/pi,Eng_max_trq,'linewidth',3,'color','b');
p2=line([Eng_map_spd(end)*30/pi Eng_map_spd(end)*30/pi],[0 Eng_max_trq(end)]);
set(p2,'linewidth',2,'linestyle','--','color','g');
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','y');
[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]');
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)]);


%  MOTOR SPEED  TORQUE MOTOR INPUT POWER  VS TIME 
figure(1)
subplot(3,1,1)
plot(Time,EM_power,'linewidth',2,'color','g')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('POWER [W]')
legend('ELECTRIC MOTOR POWER ')
grid on
subplot(3,1,2)
plot(Time,EM_torque,'linewidth',2,'color','r')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel(' TORQUE [NM]')
legend('ELECTRIC MOTOR TORQUE')
grid on
subplot(3,1,3)
plot(Time,EM_speed,'linewidth',1,'color','y')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('SPEED [RPM]')
legend('ELECTRIC MOTOR SPEED')
grid on



% STATE OF CHARGE   PACK CURRENT TERMINAL VOLTAGE VS TIME 
figure(2)
subplot(3,1,1)
plot(Time,Pack_current,'linewidth',2,'color','g')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('CURRENT [W]')
legend('PACK CURRENT')
grid on
subplot(3,1,2)
plot(Time,State_of_charge,'linewidth',2,'color','k')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('CHARGING [%]')
legend('STATE OF CHARGE')
grid on
subplot(3,1,3)
plot(Time,Term_voltage,'linewidth',2,'color','y')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('VOLTAGE [V]')
legend('TERMINAL VOLTAGE')
grid on




%  EM OPERTAIMNG POINTS VS MOTOR INPUT POWER MAP  
figure('Name','EM OPERATING POINTS ');
hold on
grid on
title('EM OPERATING POINTS');
p1=plot(EM_map_spd*30/pi,EM_max_trq,'linewidth',2,'color','k');
p2=line([EM_map_spd(end)*30/pi EM_map_spd(end)*30/pi],[0 EM_max_trq(end)]);
set(p2,'linewidth',2,'linestyle','--','color','g');
p3=line([EM_map_spd(1)*30/pi EM_map_spd(1)*30/pi],[0 EM_max_trq(1)]);
set(p3,'linewidth',2,'linestyle','--','color','r');
[c,h] = contour(EM_map_spd'*30/pi,EM_map_trq,EM_inpwr_map');
clabel(c,h);
xlabel('MOTOR SPEED [RPM]');
ylabel('MOTOR TORQUE [NM]');
title('MOTOR INPUT POWER MAP[G/S]');
legend([p1 p3],{'MAX CURVE','OPERATING POINTS'});
axis([EM_map_spd(1)*30/pi EM_map_spd(end)*30/pi 0 EM_map_trq(end)]);



% TRANSMISSION IN OUT SPEED WHEEL SPEED VS TIME  
figure(3)
hold on
grid on
plot(Time, Trans_In_Spd, 'linewidth', 2, 'Color', 'y');
plot(Time, Trans_Out_Spd, 'linewidth', 2, 'Color', 'g');
plot(Time, Wheel_Speed, 'linewidth',2, 'color', 'r')
ylabel('SPEED [RPM]')
xlabel('TIME [S]')
xlim([0, Time(end)]);
ylim([0, 6000]);
legend('TRANS IN','TRANS OUT ','WHEEL SPEED');

%  ENGINE SPEED TORQUE POWER FUEL RATE FUEL CONSUMPTION VS TIME
figure(4)
subplot(4,1,1)
plot(Time,Eng_trq,'linewidth',2,'color','r')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('TORQUE [NM]')
legend('ENGINE TORQUE')
grid on
subplot(4,1,2)
plot(Time,Eng_pwr,'linewidth',2,'color','y')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('POWER [KW]')
legend('ENGINE POWER')
grid on
subplot(4,1,3)
plot(Time,Eng_fuel_rate,'linewidth',2,'color','k')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('FUEL RATE [%]')
legend('ENGINE FUEL RATE')
grid on
subplot(4,1,4)
plot(Time,Eng_fuel_consumption,'linewidth',2,'color','r')
xlim([0, Time(end)]);
xlabel('TIME [S]')
ylabel('FUEL CONSUMPTION')
legend('ENGINE FUEL CONSUMPTION')
grid on


%  ACCELERATOR BRAKE PEDAL  GEAR COMMAND VS TIME 
figure(5)
subplot(2,1,1)
hold on
plot(Time, Acc_Pdl, 'linewidth', 2, 'Color', 'y');
plot(Time, Brk_Pdl, 'linewidth', 2, 'Color', 'b');
ylabel('PEDAL [%]')
xlabel('TIME [s]');
xlim([0, Time(end)]);
grid on
legend('ACC','BRK');
title('ACC BRK PEDAL VS Time')
subplot(2,1,2)
plot(Time, Gear_Cmd, 'linewidth', 2, 'Color', 'g');
xlim([0, Time(end)]);
xlabel('TIME [S]');
ylabel('GEAR');
grid on
title('GEAR CMD VS TIME')

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.

Fuel Economy Numbers for project 2
S.No Drive cycle Fuel Economy Number (KMpl)
1 UDDS 15.0773
2 HWFET 17.1613

As we see the fuel economy is high in HWFET compared to UDDS. It is because in urban driving the vehicle encounters more traffic and it has to stop for fever distance and it consumes more fuel at the starting. In HWFET the vehicle encounters no traffic and it moves without use of too much braking so it will have more fuel economy number.

Comparing with fuel economy numbers for project 1
S.No Drive cycle Fuel Economy Number (KMpl)
1 UDDS 14.209
2 HWFET 16.503


As we see the fuel economy numbers for project 2 are bit higher when compared to project 1 because of implementing the electric motor as it is P1 hybrid it may not have much variation in the fuel economy but as we implement other architechture it will increase by huge amount.

Plot the time trace for engine, transmission input, transmission output and wheel speed on one plot.


For UDDS drive cycle

HWFET drive cycle

In this we can see the graph is more fluctuate into UDDS drive cycle compared to HWFET drive cycle. It is because UDDS has more starts and stops and in HWFET less starts and stops. Braking is high in UDDS compared to HWFET. Peaked engine power reached nearly 4200 RPM in UDDS drive cycle and in HWFET cycle it reached at 3000 RPM.

Plot engine torque, engine power, fuel rate and fuel consumption using subplots.


For UDDS drive cycle

HWFET drive cycle

Vehicle cosumed more power in UDDS drive ccycle bacause in urban area the vehicle require many starts and stops so it required more power compred to HWFET. Engine is high in UDDS drive cycle compred to HWFET drive cycle because the starting from rest the vehicle requires more torque to overcome the static friction. The fuel rate is high in HWFET drive cycle compared to UDDS drive cycle because it will be in continues movement so it consumes more fuel. The fuel economy is high in HWFET because In UDDS cycle many starts and stops so more fuel cosumes and the engine is in idle postion.

Plot accelerator and brake pedal, gear command, vehicle desired and actual speed, vehicle distance using subplots.

For UDDS drive cycle

HWFET drive cycle

In UDDS The acceleratior and brake pedal have more fluctuations because of frequent starts and stops. but in HWFET the brake pedal fluctuations are almost near to t he zero line as there will be no frequent stops. In UDDS cycle mostly runs on 1st and 2nd gears and the 3rd and 4th gears are rarely useas it does not achieve high speed inn that traffic. In The HWFET cycle the vehicle mostly runn in 3rd and 4th gears as it will moving at high speeds.

Plot the engine operating points on the engine fuel map.

For UDDS drive cycle

HWFET drive cycle

Plot motor speed, torque, motor input power using subplots.

For UDDS drive cycle

HWFET drive cycle

The fluctuations will be more in UDDS cycle compared to HWFET cycle because UDDS has many starts and stops due to traffic as the purpose of motor in P1 hybrid is initiation of crank rotation and they are more in UDDS cycle when compared to HWFET cycle. If the purpose of the motor is to provide traction then both the cycles wouldb have more flyctuations. We can observe that the motor power and torque are very high in HWFET at the start and they are almost zero after few seconds but in UDDS it has continued
fluctuations this is because of frequent braking in UDDS.


Plot pack voltage, current and SoC using subplots.

For UDDS drive cycle

HWFET drive cycle

The pack voltage and current will have more fluctuations in UDDS as compared to HWFET cycle because of the frequent start and stops throughout the drive and the battery has to provide the energgy everytime when the car is starting from the idle position. SOC decreased in the UDDS cycle wrt time but it has increased in HWFET cycle. It is because in UDDS we have frequent start and stops and battery has to provide the energy has evertytime when the caris starting from the idle position and the SOC decreases but in HWFET cycle The Vehicle will be moving continuously without braking frequently and the alternator is utilised to transfer some engine power to the battery through motor so SOC increase in the HWFET cycle.

Plot the motor operating points on the motor input power map, with the motor max motoring and generating torque curves.

For UDDS drive cycle

HWFET drive cycle

Conclusion

  • The various performance of characteristics and operating points of UDDS drive cycle and HWFET drive cycle are analysed and the graphs 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 timeand 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.

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.