Challenge

Project 1

Projet - 1;

Development Of a Forward Energy-Based Fuel Consumption Model Of a Conventional Vehicle

Aim:

  • Computes fuel consumption values ​​for a given vehicle (kmpl) in city cycles (UDDS) and highway cycles (HWFET). It also analyzes and understands the vehicle's operating point in terms of engine speed, torque, transmission speed, pedal position, gear, mileage, and more.
  • To create the simulink model using the block as per needed and completed the Engine and Vehicle dynamics
  • Then return the script file for the matlab and load all variable need to run the simulation file

Objectives:

  • Tabulate the fuel economy numbers (kmpl) for UDDS and HWFET cycle
  • Plot the time trace for engine, transmission input, transmission output and wheel speed on one plot.
  •  Plot engine torque, engine power, fuel rate and fuel consumption using subplots.
  • Plot accelerator and brake pedal, gear command, vehicle desired and actual speed, vehicle distance using subplots.
  • Plot the engine operating points on the engine fuel map.
  • Write down appropriate brief comments on each of these plots, describing the vehicle behavior throughout the drive cycle.
  • Generate the plots for both drive cycles

Theory:

  • Conventional Vehicle:
  • A car or automobile is a motor vehicle with wheels. Most definitions of a car are that it drives primarily on roads, carries one to eight people, has four wheels, and primarily carries people (not things).
  • Conventional vehicles use an internal combustion engine powered by gasoline or diesel to drive the wheels. A heat engine utilizes the principle of burning fuel along with an oxidant in a combustion chamber to release heat to produce expanding gases that push a piston, producing power and torque.
  • Energy and performance of the vehicle:
  • In this system the power demand at the wheels must be provided immediately by the powertrain. In other words, the power from the drivetrain determines the power demand of the wheels (after power, i.e. acceleration, speed, etc., is determined by it).
  • In this vehicle, the powertrain consists of the engine connected to the wheels via a gearbox, so power from the engine is delivered through the gearbox
  • System Dynamics:
  • Address the modeling of multidomain systems using a unified approach based on ordinary differential and algebraic equations describing static and dynamic effects.
  • Each systems has are two generalised variables-

    1. Efforts:- It is generalised force variable. ex- torque, force, voltage, heating value.

    2. Flow:- It is the generalised flow/velocity variable. ex:- velocity, current, mass flow rate.

    3. Power:- It is the product of the effort and flow variable. It is interchangeable between energy domains.

  • Energy based models- Element models:
  • There are basically two approaches to modeling the internal physical properties and losses of elements.

        1. Map based models:

               Elements are modeled using maps that characterize the relationships between inputs and outputs, outputs and losses, and so on.

      2. Analytical models:-

               Elements are modeled using physical equations that describe their internal dynamics. These are extremes, most models are a         combination of both, and some models use dynamics models analytically or for maps.

  • Forward Model:
  • Forward model otherwise called as dynamic simulation. These were used for the detailed simuation
  • Force/Torque/Power are the input and the Vehicle state variable velocity and accleration are output
  • Model and Simulation are more realistic due to physical construction hence appropriate for control development
  • There is a feedback loop to meet the desired vehicle state and there are slower simulation due to the dynamics 
  • Approach's mainly used to simulate a vehicle on a drving cycle to analyse the dynamic behavior of the system, helps signigicantly in control development
  • Below image reperesent about the architeccture of the  forward conventional vehicle model 

Vehicle Model:

  • The project envisions a typical medium-sized car with a 1.9-liter engine and a 4-speed automatic transmission. Data are taken from the ADVISOR database developed by NREL, USA. The gear schematic and controller are taken from the Matlab/Simulink sample database.
  • The developed models can simulate vehicles in different driving cycles such as UDDS, HWFET, FTP, NEDC.
  • Pre-Processing:

            "Project1_InitFile.m" is a Matlab script used to load all the variables required for running and post-processing the Simulink model. The drive cycle is also selected here. Run this initialization script before running the Simulink vehicle model.

%% Skill-Lync -> Hybrid Drives Development
% Project 1 - Conventional Vehicle Model
% By - Ullekh Gambhira
<!-- [if mso]>
<![endif]-->
 
�scription:
<!-- [if mso]>
<![endif]-->
 
%% Initialization File
% Initialization file for loading the variables for the Conventional vehicle simulation model
<!-- [if mso]>
<![endif]-->
 
%% 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
<!-- [if mso]>
<![endif]-->
 
%% Powertrain Parameters
FDR = 3.73; % Final Drive Ratio / Diff Ratiou
DiffEff = 0.99; % Differential efficiency (assumed independent of operating conditions)
<!-- [if mso]>
<![endif]-->
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)
<!-- [if mso]>
<![endif]-->
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]
<!-- [if mso]>
<![endif]-->
load Vehicle_Data/Engine_data_1_9L_Saturn_95kW
load Vehicle_Data/Trans_Shift_map
<!-- [if mso]>
<![endif]-->
 
%% 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
<!-- [if mso]>
<![endif]-->
 
% Drive cycle values in m/s
<!-- [if mso]>
<![endif]-->
 
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
 
<!-- [if mso]>
<![endif]-->
time_end = cyc_time(end);
vel_end = cyc_vel(end);
 
  • Simulink Model:

  • A Simulink model of the convection model is built with three main sub-blocks: the driver model, the control model, and the powertrain block.
  • Actual vehicle speed is provided as feedback to the driver block, which provides the required acceleration or braking force to the controller block, and the controller block provides control signals for engine torque, gear shift, and braking torque to the powertrain model. To do.
  • Driver:
  • The driver model is a basic PI controller that generates accelerator and brake pedal outputs to match the desired and actual vehicle speed.
  • Based on these consumption and emissions results, the vehicle uses a certified driving cycle and forms a uniform standard for evaluation. It is based on time and speed, all integrated to generate the output accelerator and brake pedals.

  • Controller Unit:

            The "controller" block is the brain of the vehicle and represents the electronic control unit. Based on driver input, it produces the desired engine torque, desired transmission gear, and desired brake torque. These inputs are sent to the "Powertrain" block, which represents the vehicle's powertrain.

    1. Engine Control Unit:

  • Engine Controller Compares engine speed to the maximum and minimum torque curves in the lookup table and gives the required torque command to the engine block.
  • The throttle input is combined with the idle speed throttle and the torque output from the lookup table is used to increase the gain to estimate the required torque input to the engine.Gas input, idle gas and their totals can be obtained from this block.
  • Ideal Speed Controller

    2. Transmission Control Unit:

  • This block conntrol the gear shifting using study flow variable chart
  • Controls shifting according to vehicle speed and throttle input.
  • Shift Logic

    3. Brake Control Unit:

  • Brake Control Unit Generates the required braking torque in response to brake pedal input and transmits braking torque to the wheel blocks in the transmission model.
  • Powertrain Unit:
  • This unit do conversion of the given input to the desired output like we given input as the fuel in the form of chemical energy that convert into the mechanical energy in the form of the vehicle movement
  • This block consist of the Engine, Transimission, Differential, Wheels, and also Vehicle Dynamics

     1. Engine:

  • Based on engine speed, the required torque from the controller saturates between the maximum and minimum torque curves, passing engine torque to the transmission block.
  • A 2D lookup table is used to calculate fuel flow based on engine speed and torque. The fuel flow is then integrated to determine fuel consumption.
  • The estimated fuel flow, fuel consumption, engine torque, and engine speed are passed to the MATLAB workspace using the To Workspace block.
  • Engine fuel flow and fuel consumption are recorded.

     2. Transmission:

  • The Engine block has connected through the transmission block it has automatic transmission system were it has torque convertor. it convert the engine power into torque in the vehicle movement stage
  • In this block, the transmission-controlled gear selection is multiplied by the engine torque and the torque converter efficiency and engine dynamics are transferred to this model.
  • Torque Convertor

     3. Differential:

  • In this block, the transmission output torque is multiplied by the differential ratio and the differential efficiency, and the resulting torque is transmitted to the wheels as axle torque.

     4. Wheels:

  • The brake torque from the control model is subtracted from the axle torque and divided by the turning radius to determine tractive force.
  • Wheel speed is calculated from vehicle speed and saved in workspace.

     5. Vehicle Dynamics:

  • The "Vehicle Dynamics" block shows the longitudinal dynamics of the vehicle along with the road load
  • Tractive Force and Road loads are used to calculate the vehicle velocity
  • Where 

                  ρ a  - Air Density

                  A f    - Frontal Ares

                  C d   - Drag Coefficient

                  C r   - Rolling Coefficient

                  M     - Mass of Vehicle

                  g     - Acceleration due to gravity

                  θ     - Slope

  • Simulation Result:

     1. UDDS Drive Cycle:

  • Drive and Velocity Cycle

  • Controller Signal like Engine torque, Gear Cammand, and Brake torque

  • Engine fuel rate and Fuel consumption

  • Engine Torque

  • Gear ratio, Transmission Input Speed, and Transmission Output Speed

  • Aerodynamic drag, Gradient load,Rolling load

  • Tractive force, Road Load, and Accleration

    2. HWFET Drive Cycle:

  • Drive and Velocity Cycle

  • Controller Signal like Engine torque, Gear Cammand, and Brake torque

  • Engine fuel rate and Fuel consumption

  • Engine Torque

  • Gear ratio, Transmission Input Speed, and Transmission Output Speed

  • Aerodynamic drag, Gradient load,Rolling load
  • Tractive force, Road Load, and Accleration

  • Post-processing:

           Another file were created and given named as 'Project1_FinialFile.m',it has do some basic post process for the evalute the model and some of ouput were created and show in form of the graph 

%% Post-Processing File
% File for post-processing the Conventional vehicle simulation model data
 
<!-- [if mso]>
<![endif]-->
%% Renaming variables
Time = out.tout;
Acc_Pdl = out.Acc_Pdl; �celerator 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_rate = out.Eng_fuel_rate; % Engine Fuel Rate [gkW]
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]
Whl_Spd = out.Whl_spd*30/pi; % Wheel speed [rpm]
Desired_spd = out.Veh_Spd*18/5; �sired Speed [Kmph]
<!-- [if mso]>
<![endif]-->
 
%�ta Analysis
Eng_Pwr = Eng_Spd*pi/30.*Eng_Trq/1000; % Engine brake power [kW]
rho_petrol = 0.7197; �nsity of petrol [kg/L]
kmpl = Veh_Dist(end)/(Eng_Fuel_Consump(end)/1000/rho_petrol); % Fuel economy [kmpl]
<!-- [if mso]>
<![endif]-->
%% Plotting vehicle characteristics time trace
% Plotting transmission input, transmission output and wheel speed
figure(1)
hold on
grid on
plot(Time, Trans_In_Spd, 'linewidth', 1, 'Color', 'black');
plot(Time, Trans_Out_Spd, 'linewidth', 1, 'Color', 'red');
plot(Time, Whl_Spd, 'linewidth', 1, 'Color', 'blue');
xlabel('Time [s]')
ylabel('Speed [rpm]')
xlim([0, Time(end)]);
legend('Trans Input','Trans Output','Wheel Speed');
<!-- [if mso]>
<![endif]-->
% Plotting engine torque, engine power, fuel rate and fuel consumption
figure(2)
subplot(4,1,1)
hold on
grid on
plot(Time, Eng_Trq, 'linewidth', 1, 'Color', 'black');
ylabel('Torque [Nm]')
xlim([0, Time(end)]);
subplot(4,1,2)
hold on
grid on
plot(Time, Eng_Pwr, 'linewidth', 1, 'Color', 'black');
ylabel('Power [KW]')
xlim([0, Time(end)]);
subplot(4,1,3)
hold on
grid on
plot(Time, Eng_Fuel_rate, 'linewidth', 1, 'Color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Engine Fuel rate');
subplot(4,1,4)
hold on
grid on
plot(Time, Eng_Fuel_Consump, 'linewidth', 1, 'Color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Fuel Consumption [g]');
<!-- [if mso]>
<![endif]-->
 
%Plotting accelerator and brake pedal gear command, vehicle desired and actual speed, vehicle distance
figure(3)
subplot(4,1,1)
hold on
grid on
plot(Time, Acc_Pdl, 'linewidth', 1, 'Color', 'black');
plot(Time, Brk_Pdl, 'linewidth', 1, 'Color', 'red');
ylabel('Pedal [%]')
xlim([0, Time(end)]);
legend('Accel','Brake');
subplot(4,1,2)
hold on
grid on
plot(Time, Gear_Cmd, 'linewidth', 1, 'Color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Gear');
subplot(4,1,3)
hold on
grid on
plot(Time, Veh_Spd, 'linewidth', 1, 'Color', 'red');
plot(Time, Desired_spd, 'linewidth', 1, 'Color', 'black');
ylabel('Speed [Kmph]')
xlim([0, Time(end)]);
legend('Actual speed','Desired speed');
subplot(4,1,4)
hold on
grid on
plot(Time, Veh_Dist, 'linewidth', 1, 'Color', 'black');
xlim([0, Time(end)]);
xlabel('Time [s]');
ylabel('Distance [Km]');
<!-- [if mso]>
<![endif]-->
 
%% Plotting Drive Cycle
figure(4)
hold on
grid on
plot(cyc_time, cyc_vel, 'linewidth', 1, 'Color', 'black');
xlabel('Time [s]')
ylabel('Velocity [Mph]')
title('Drive Cycle')
 
% Test Results
Avg_speed = sum(Veh_Spd)/length(Veh_Spd);
Max_Speed = maxk(Veh_Spd,1);
table(Avg_speed,Max_Speed,kmpl,'VariableNames',{'Average Speed [kmph]','Maximum Speed [kmph]','Fuel Economy [kmpl]'})
<!-- [if mso]>
<![endif]-->
%% Plotting engine operating points on engine fuel map
figure('Name','Engine Operating Points');
hold on
grid on
title('Engine Operating Points','fontsize',12);
p1=plot(Eng_map_spd*30/pi,Eng_max_trq,'linewidth',2,'color','r');
p2=line([Eng_map_spd(end)*30/pi Eng_map_spd(end)*30/pi],[0 Eng_max_trq(end)]);
set(p2,'linewidth',1,'linestyle','--','color','k');
p3=line([Eng_map_spd(1)*30/pi Eng_map_spd(1)*30/pi],[0 Eng_max_trq(1)]);
set(p3,'linewidth',1,'linestyle','--','color','k');
[c,h] = contour(Eng_map_spd'*30/pi,Eng_map_trq,Eng_fuel_map');
clabel(c,h);
xlabel('Engine Speed [rpm]');
ylabel('Engine Torque [Nm]');
title('Engine Fuel Consumption Map [g/s]');
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)]);
  • Result:

    1. Drive Cycles:

  • UDDS Drive cycle:

  • HWFET Drive cycle:

    2.Fuel economy numbers (kmpl)

  • UDDS Fuel Economy

  • HWFET Fuel Economy

    3.The time trace for engine, transmission input, transmission output and wheel speed

  • UDDS

  • HWFET

    4.Engine torque, engine power, fuel rate and fuel consumption

  • UDDS

  • HWFET

    5. Accelerator and brake pedal, gear command, vehicle desired and actual speed, vehicle distance 

  • UDDS

  • HWFET

    6.The engine operating points on the engine fuel map

  • UDDS

  • HWFET

  • Conclusion:
  • Analyze and understand your vehicle's operating point based on engine speed, torque, transmission speed, pedal position, gear and mileage.
  • Post-processing calculations have been performed and the required figures have been drawn successfully.
  • You have successfully calculated fuel efficiency values ​​(kmpl) for vehicles for the specified city cycle (UDDS) and highway cycle (HWFET) '
  • Files:
  • The Model files were uploaded in named has "Project1_VehicleModel.slx"
  • There also uploaded files were the pre-processing and post processing in the name as "Project1_InitFile.m" and "Project1_FinialFile.m"
  • The output also uploaded in the image formate
  • Then Drive cycle file also uploaded in named as "UDDS.mat" and "HWFET.mat"
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.