Parallel Hybrid Vehicle Simulation
This page provides the steps on how to model a parallel hybrid vehicle, it has been documented in such a way that first time user can recreate the simulation from the beginning.
The reference result of this particular vehicle has been uploaded so that the user can compare their own simulation.
To learn more about how to create a simple model, go to ADVANCE Tutorial
Contents
Creating the simulation
All the component modules which are going to be used in this example can be downloaded from SIMarchitect Library.
The model is split into four different areas. Those are:
- Test scenario (Driving cycle)
- ECU
- Plant model (Parallel Hybrid vehicle powertrain component)
- Driver (Vehicle driver model)
First, insert the Test_scenario area from the SIMarchitect library
Second, insert three (3) empty_area components from TNO ADVANCE general library to make ECU, Plant model, and Driver areas, rename them accordingly.
Delete the in and out ports from the ECU, Plant model and Driver model subsystem as it is shown in the figure below.
Test Scenario
The driving cycle that will be used for this example is WHVC (World Harmonized Vehicle Cycle).
ECU
Insert the ECU module to the ECU subsytem and notice that the from tag is automatically connected to the bus connector of the output port of this empty_area.
Double click the sub_connector and change the number of inputs into 1 to delete the extra port.
The input signals to the ECU modules are:
Subsystem | Input signal | Signal label | Retrieved from |
---|---|---|---|
Driver | Accelerator pedal position | Drv_AccPedl_Rt | Driver manual module sensor |
Brake pedal position | Drv_BrkPedl_Rt | ||
Drive cycle reference speed | Drivecycle_RefSpeed_mps | ||
Clutch pedal position | Drv_CluPedl_Rt | ||
Requested gear number | Drv_nrGearReq | ||
Plant model | Actual engine speed | Eng_nAct_radps | Engine module sensor |
Crankshaft torque | Eng_tqCrkSftAct_Nm | ||
Indicated torque | Eng_tqindAct_Nm | ||
Engine oil temperature | Eng_tOilAct_K | ||
Battery output current | Batt_iAct_A | Battery module sensor | |
Battery output voltage | Batt_uAct_V | ||
State of charge | Batt_socAct_Rt | ||
Battery temperature | Batt_tAct_K | ||
Clutch disengaged or not | Clu_flgConnected_B | Clutch module sensor | |
Electric machine output torque | ElecMac_tqAct_Nm | Electric machine module sensor | |
Electric machine output speed | ElecMac_nAct_radps | ||
Electric machine output current | ElecMac_iAct_A | ||
Electric machine output temperature | ElecMac_tAct_K | ||
Transmission output speed | Transm_nOutAct_radps | Transmission module sensor | |
Transmission gear number | Transm_nrGearAct | ||
Clutch lock | Transm_flgConnected_B | ||
Transmission input speed | Transm_nInAct_radps | ||
Vehicle velocity | Chassis_vVehAct_mps | Chassis module sensor | |
Wheel speed | Chassis_nWheelAct_radps | ||
Vehicle mass | Chassis_massVehAct_kg | ||
Road slope | Chassis_slopeRoad_rad | ||
Auxiliary system output current | Aux_iAct_A | Electrical auxiliary module sensor |
Plant model
Insert the parallel hybrid vehicle powertrain to the second empty_area.
The components of parallel hybrid vehicle powertrain are:
- Internal Combustion Engine
- Clutch
- Mechanical connection
- Transmission
- Final gear
- Chassis
- Battery
- Electric machine
- Electrical auxiliary system
The input signals for each component modules are:
Module | Input signal | Signal label | Retrieved from |
---|---|---|---|
Internal combustion engine | Requested engine speed | Eng_nReq_radps | ECU module cmd |
Switch Speed / torque control | Eng_flgReqSwitch_B | ||
Requested engine torque | Eng_tqReq_Nm | ||
Exhaust brake ON / OFF | Eng_flgExhaustBrake_B | ||
Engine ON / OFF | Eng_flgonoff_B | ||
Starter motor ON / OFF | Eng_strtReq_B | ||
Fuel cut off | Eng_flgFuelCut_B | ||
Engine rotational speed | phys_speed_radps | Clutch module mechanical fb output | |
Clutch | Requested clutch pedal position | Clu_ratReq_B | ECU module cmd |
Clutch torque input | phys_torque_Nm | ICE module mechanical output | |
Clutch inertia input | phys_inertia_kgm2 | ||
Clutch rotational speed input | phys_speed_radps | Mechanical module connection mechanical fb output1 | |
Mechanical Connection | Mechanical connection torque input 1 | phys_torque_Nm | Clutch module mechanical output |
Mechanical connection inertia input 1 | phys_inertia_kgm2 | ||
Mechanical connection torque input 2 | phys_torque_Nm | Electric machine module mechanical output | |
Mechanical connection inertia input 2 | phys_inertia_kgm2 | ||
Mechanical connection feedback input | phys_speed_radps | Transmission module mechanical fb output | |
Transmission | Requested gear number | Transm_nrGearReq | ECU module cmd |
Transmission torque input | phys_torque_Nm | Mechanical connection module mechanical output | |
Transmission inertia input | phys_inertia_kgm2 | ||
Transmission rotational speed input | phys_speed_radps | Final gear module mechanical fb output | |
Final gear | Final gear torque input | phys_torque_Nm | Transmission module mechanical output |
Final gear inertia input | phys_inertia_kgm2 | ||
Final gear rotational speed input | phys_speed_radps | Chassis module mechanical fb output | |
Chassis | Requested chassis brake torque | Chassis_tqBrake_Nm | ECU module cmd |
Chassis torque input | phys_torque_Nm | Final gear module mechanical output | |
Chassis inertia input | phys_inertia_kgm2 | ||
Drivecycle slope | Chassis_slopeRoad_rad | Test scenario area | |
Battery | Battery current input | battery | Plant model bus connector |
Battery Actual cooling flow | Batt_flowActCooling_kgps | ECU module cmd | |
Electric machine | Requested electric machine speed | ElecMac_nReq_radps | ECU module cmd |
Switch speed / torque control | ElecMac_flgReqSwitch_B | ||
Requested electric machine torque | ElecMac_tqReq_Nm | ||
Electric machine actual cooling flow | ElecMac_flowActCooling_kgps | ||
Electric machine voltage input | phys_voltage_V | Battery module electrical output | |
Electric machine rotational speed input | phys_speed_radps | Mechanical connection module mechanical join output 2 | |
Electrical auxiliary system | Requested power | Aux_pwrElecReq_W | ECU module cmd |
Voltage input | phys_voltage_V | Battery module electrical output |
Battery current input (green box) has to be made manually, it is a summation of current from Electric machine module and Electrical auxiliary system.
Driver
Insert the chosen vehicle driver to the third empty_area, vehicle driver manual is going to be used for this example.
The input signals for the driver module are:
Subsystem | Input signal | Signal label | Retrieved from |
---|---|---|---|
Chassis module sensor | Actual vehicle velocity | Chassis_vVehAct_mps | Chassis sensor |
Transmission input speed | Transm_nInAct_radps | Transmission module sensor | |
Transmission actual gear number | Transm_nrGearAct | ||
Clutch disengaged or not | Clu_flgConnected_B | Clutch module | |
Driver manuakl module | Accelerator pedal rate | Drv_AccPedl_Rt | Driver module |
Drive cycle | Drive cycle time and speed | drivecycle_time_speed | Test scenario area |
Simulation Settings
There are several settings which has to be changed on simulink, those are:
Settings | Value |
---|---|
Time | 1800 [s] |
Fixed - step size | 0.01 |
Solver type | ode3 (Bogacki - shampine) |
The sequence of running the simulation:
- First, run parameter_main m.file
- Second, choose the desired output results in the Output Selector block
- Third, run the simulation
- Fourth, plot the results using Results Plot GUI block
The output from each individual module can be plotted using the Results Plot GUI.
Simulation Result
Use these Simulation Results to do graphical validation.
The simulation results of the parallel hybrid vehicle are as follows:
Module | Result |
---|---|
Internal Combustion Engine | |
Clutch | |
Mechanical connection | |
Transmission | |
Final gear | |
Chassis | |
Battery | |
Electric Machine | |
Electrical Auxiliary system |