Difference between revisions of "E-trailer"
(→ECU) |
|||
(75 intermediate revisions by one other user not shown) | |||
Line 2: | Line 2: | ||
The ultimate goal of this project is to increase energy efficiency [kWh/km], which leads to reducing operating cost. | The ultimate goal of this project is to increase energy efficiency [kWh/km], which leads to reducing operating cost. | ||
− | == Creating the | + | == Creating the model== |
− | + | 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) | ||
=== Test scenario === | === Test scenario === | ||
− | + | * Insert the '''Test_scenario''' component to (SIMarchitect) workspace, this component can be found under the Test Scenario in [[:File:SIMarchitect library.zip| SIMarchitect Library]]. | |
− | + | ||
+ | <br/> | ||
+ | |||
+ | [[File:Testscenario.png|thumb|none|1000px|alt = none| Test_scenario]] | ||
=== ECU === | === ECU === | ||
A simple control algorithm has been developed and implemented into the e - trailer model in order to control the energy distribution between the Internal Combustion Engine and the Electric Machine. The control algorithm used the accelerator and brake pedal position to determine the demanded torque by the vehicle so that it can follow the desired driving cycle. The amount of throttle and brake required was calculated by the driver model. The required gear number for a certain moment was calculated by the gear shift logic that located inside the driver model. The electric machine is used together with the I.C.E. to achieve the demanded torque when the ECU determined that the demanded torque is above the maximum capability of what the engine can supply. If the state of charge of the battery is lower than the minimum charge value, the electric machine will be used as a generator to charge the battery during braking motion. The electric machine is also used to brake the vehicle when possible, however, mechanical brakes will be used when the braking torque from the electric machine is not sufficient. | A simple control algorithm has been developed and implemented into the e - trailer model in order to control the energy distribution between the Internal Combustion Engine and the Electric Machine. The control algorithm used the accelerator and brake pedal position to determine the demanded torque by the vehicle so that it can follow the desired driving cycle. The amount of throttle and brake required was calculated by the driver model. The required gear number for a certain moment was calculated by the gear shift logic that located inside the driver model. The electric machine is used together with the I.C.E. to achieve the demanded torque when the ECU determined that the demanded torque is above the maximum capability of what the engine can supply. If the state of charge of the battery is lower than the minimum charge value, the electric machine will be used as a generator to charge the battery during braking motion. The electric machine is also used to brake the vehicle when possible, however, mechanical brakes will be used when the braking torque from the electric machine is not sufficient. | ||
− | The input signals to the ECU | + | To create the ECU subsystem: |
+ | * First insert an empty_area component to (SIMarchitect) workspace, this component can be found under the modeling tools below SIMarchitect general library. | ||
+ | * Second, rename this empty_area componenent into '''ECU'''. | ||
+ | * Third, delete the in and out ports inside the '''ECU''' subsystem as it is shown in the figure below. | ||
+ | <br/> | ||
+ | [[File:emptyarea.jpg|thumb|none|1000px|alt = none| empty_area]] | ||
+ | <br/> | ||
+ | * Fourth, insert the ECU module to the '''ECU''' subsytem. The ECU module and its parameter file can be downloaded (insert ECU module and its parameter). | ||
+ | * Fifth, delete the extra port in the sub_connector (green box in the figure below) by double-clicking the sub_connector and change the number of inputs into 1 to delete this extra port. | ||
+ | <br/> | ||
+ | [[File:e-trailerecu.png|thumb|none|1000px|alt = none| e - trailer ECU]] | ||
+ | |||
+ | === Plant model === | ||
+ | To create the Plant_model subsystem: | ||
+ | * First insert an empty_area component to (SIMarchitect) workspace, this component can be found under the modeling tools below SIMarchitect general library. | ||
+ | * Second, rename this empty_area component into '''Plant_model'''. | ||
+ | * Third, delete the in and out ports inside the '''Plant_model''' subsystem as it is shown in the empty_area figure above. | ||
+ | * Fourth, insert the components listed below to the '''Plant_model''' subsystem and order them as it is shown in the figure below. | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | All of the components can be found in the downloaded SIMarchitect library, under component library → automotive → HDH - HiLS → chassis or powertrain and they are all color coded | ||
+ | <br/> | ||
+ | The components used for the truck group: | ||
+ | * Internal Combustion Engine | ||
+ | * Clutch | ||
+ | * Mechanical connection | ||
+ | * Transmission | ||
+ | * Final gear | ||
+ | * Chassis | ||
+ | |||
+ | The components used for the trailer group: | ||
+ | * Battery | ||
+ | * Electric machine | ||
+ | * Electrical auxiliary system | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | * Fifth, change the tag visibility setting (from local to global) of the goto tag from the ''Final_gear_module'', ''Electrical_aux_system_module'' and ''Electric_machine_module''. Tag visibility setting can be found by double-clicking the goto tag from each of the mentioned modules. | ||
+ | <br/> | ||
+ | [[File:plant_model-1.jpg|thumb|none|1000px|alt = none| e - trailer plant model.]] | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | * Fifth, add three (3) extra ports in the sub_connector, this can be done by double-clicking the sub_connector and change the number of input to 12. | ||
+ | |||
+ | ==== Subsystems ==== | ||
+ | '''Battery current subsystem''' | ||
+ | Notice that there are 2 extra subsystems located at the right-hand side of the e - trailer plant model figure. <br/> | ||
+ | The Battery current subsystem is created as follows: | ||
+ | * First, locate the from tag of ''Electric machine module'' and ''Electrical auxiliary system'' and copy-paste it in the workspace. | ||
+ | * Second, insert two (2) Bus Selector(s) and connect it to each tag. | ||
+ | * Third, double-click the first bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select ''Electric_machine_electrical_fb__output.phys_current_A'' under the ''Electric_machine_sensor'' | ||
+ | * Fourth, double-click the second bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select ''Electrical_aux_electrical_fb_output.phys_current_A'' under the ''Electrical_aux_sensor''. | ||
+ | * Fifth, insert sum component from SIMULINK library browser to add the selected signals. <br/> | ||
+ | * Sixth, create a subsystem out of the components that just create the previous five steps. This can be done by block all of the created components then press ctrl+g to create a subsystem. | ||
+ | |||
+ | [[File:Battery current input.png|thumb|none|4c00px|alt = none| Battery current subsystem.]] | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Combine torque and inertia subsystem''' | ||
+ | The Combine torque and inertia subsystem is created as follows: | ||
+ | * First, locate the from tag of ''Electric_machine_module'' and ''Final_gear_module'' and copy-paste it in the workspace as two sets (2x ''Electric_machine_module'' and 2x ''Final_gear_module''). <br/> | ||
+ | * Second, insert two (4) Bus Selector(s) and connect it to each tag. <br/> | ||
+ | * Third, double-click the first bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select ''Electric_machine_mechanical_output.phys_torque_Nm'' under the ''Electric_machine_mechanical_output'' . | ||
+ | * Fourth, double-click the second bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select ''Final_gear_mechanical_output.phys_torque_Nm'' under the ''Final_gear_mechanical_output''. | ||
+ | * Fifth, insert sum component from SIMULINK library browser to add the selected signals from the previous two (2) steps. | ||
+ | * Sixth, double-click the third bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select ''Electric_machine_mechanical_output.phys_inertia_kgm2'' under the ''Electric_machine_mechanical_output''. | ||
+ | * Seventh, double-click the fourth bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select ''Final_gear_mechanical_output.phys_inertia_kgm2'' under the ''Final_gear_mechanical_output''. | ||
+ | * Eighth, insert sum component from SIMULINK library browser to add the selected signals from the previous (2) steps. | ||
+ | * Ninth, create a subsystem out of the components that just create the previous eight steps. This can be done by block all of the created components then press ctrl+g to create a subsystem. | ||
+ | |||
+ | [[File:combine torque inertia.png|thumb|none|4c00px|alt = none| Combine torque and inertia subsystem.]] | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | Next, connect the output ports of the created subsystems to the sub_connector, to do this: | ||
+ | * First, insert three (3) goto tag to the workspace | ||
+ | * Second, rename them as you wish but for this case rename it into A, B and C accordingly. | ||
+ | * Third, rename the signal label into Battery_Current_input for tag A, Total_vehicle_torque for tag B and Total_vehicle_inertia for tag C. | ||
+ | * Fourth, insert the from tag out of each goto tag. | ||
+ | * Fifth, connect each from tag to the empty port of sub_connector. | ||
+ | |||
+ | === Driver === | ||
+ | The e-trailer project use manual transmission, therefore the driver manual module will be used as the driver model. | ||
+ | <br/> | ||
+ | To create driver subsystem: | ||
+ | * First insert an empty_area component to (SIMarchitect) workspace, this component can be found under the modeling tools below SIMarchitect general library | ||
+ | * Second, rename this empty_area component into '''Driver'''. | ||
+ | * Third, delete the in and out ports inside the '''Driver''' subsystem as it is shown in the empty_area figure above. | ||
+ | * Fourth, insert the vehicle driver manual from the SIMarchitect library to the '''Driver''' subsystem. | ||
+ | |||
+ | [[File:driverarea2.png|thumb|none|1000px|alt = none| Driver area]] | ||
+ | |||
+ | == Assigning signal inputs == | ||
+ | === ECU === | ||
+ | To assign the signal input for ECU module: | ||
+ | * First, double-click the black box on top of the module to show the bus selector prompt. | ||
+ | * Second, remove ''none'' from the selected signals area, located on the right-hand side of the bus selector prompt. | ||
+ | * Third, follow the table below to assign signals to each component module. | ||
+ | <br/> | ||
+ | Note: Be aware that the signal shown in the bus selector prompt might not be in the same order as it is shown in the table below. <br/> | ||
+ | The signals should be assigned according to the order shown in the table below. Otherwise, the simulation will give an error and not run. | ||
+ | |||
+ | <br/> | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |||
! Scope="col"| Input signal | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
! Scope="col"| Signal label | ! Scope="col"| Signal label | ||
− | |||
|- | |- | ||
− | |||
| Accelerator pedal position | | Accelerator pedal position | ||
+ | | rowspan="5" style="text-align: center;" | Driver | ||
+ | | rowspan="5" style="text-align: center;" | vehicle_driver_manual_module → Driver | ||
| ''Drv_AccPedl_Rt'' | | ''Drv_AccPedl_Rt'' | ||
− | |||
|- | |- | ||
| Brake pedal position | | Brake pedal position | ||
Line 39: | Line 149: | ||
| ''Drv_nrGearReq'' | | ''Drv_nrGearReq'' | ||
|- | |- | ||
− | |||
| Actual engine speed | | Actual engine speed | ||
+ | | rowspan="22" style="text-align: center;" | Plant_model | ||
+ | | rowspan="4" style="text-align: center;" | ICE_module → ICE_sensor | ||
| ''Eng_nAct_radps'' | | ''Eng_nAct_radps'' | ||
− | |||
|- | |- | ||
| Crankshaft torque | | Crankshaft torque | ||
Line 54: | Line 164: | ||
|- | |- | ||
| Battery output current | | Battery output current | ||
+ | | rowspan="4" style="text-align: center;" | Battery_module → Battery_sensor | ||
| ''Batt_iAct_A'' | | ''Batt_iAct_A'' | ||
− | |||
|- | |- | ||
| Battery output voltage | | Battery output voltage | ||
Line 67: | Line 177: | ||
|- | |- | ||
| Clutch disengaged or not | | Clutch disengaged or not | ||
+ | | rowspan="1" style="text-align: center;" | Clutch_module → Clutch_sensor | ||
| ''Clu_flgConnected_B'' | | ''Clu_flgConnected_B'' | ||
− | |||
|- | |- | ||
| Electric machine output torque | | Electric machine output torque | ||
+ | | rowspan="4" style="text-align: center;" | Electric_machine_module → Electric_machine_sensor | ||
| ''ElecMac_tqAct_Nm'' | | ''ElecMac_tqAct_Nm'' | ||
− | |||
|- | |- | ||
| Electric machine output speed | | Electric machine output speed | ||
Line 84: | Line 194: | ||
|- | |- | ||
| Transmission output speed | | Transmission output speed | ||
+ | | rowspan="4" style="text-align: center;" | Transmission_module → Transmission_sensor | ||
| ''Transm_nOutAct_radps'' | | ''Transm_nOutAct_radps'' | ||
− | |||
|- | |- | ||
| Transmission gear number | | Transmission gear number | ||
Line 97: | Line 207: | ||
|- | |- | ||
| Vehicle velocity | | Vehicle velocity | ||
+ | | rowspan="4" style="text-align: center;" | Chassis_module → Chassis_sensor | ||
| ''Chassis_vVehAct_mps'' | | ''Chassis_vVehAct_mps'' | ||
− | |||
|- | |- | ||
| Wheel speed | | Wheel speed | ||
Line 110: | Line 220: | ||
|- | |- | ||
| Auxiliary system output current | | Auxiliary system output current | ||
+ | | rowspan="1" style="text-align: center;" | Electrical_aux_system_module → Electrical_aux_sensor | ||
| ''Aux_iAct_A'' | | ''Aux_iAct_A'' | ||
− | |||
|} | |} | ||
+ | |||
+ | <br/> | ||
=== Plant model === | === Plant model === | ||
− | + | To assign the signal input for each component module: | |
− | + | * First, double-click the black box on top of the module to show the bus selector prompt. | |
− | + | * Second, remove ''none'' from the selected signals area, located on the right-hand side of the bus selector prompt. | |
− | + | * Third, follow the table below to assign signals to each component module. | |
− | + | <br/> | |
− | + | Note: Be aware that the signal shown in the bus selector prompt might not be in the same order as it is shown in the table below. <br/> | |
+ | The signals should be assigned according to the order shown in the table below. Otherwise, the simulation will give an error and not run. | ||
− | + | <br/> | |
− | |||
− | |||
− | |||
− | |||
− | + | '''ICE module''' | |
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |||
! Scope="col"| Input signal | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
! Scope="col"| Signal label | ! Scope="col"| Signal label | ||
− | |||
|- | |- | ||
− | |||
| Requested engine speed | | Requested engine speed | ||
+ | | rowspan="7" style="text-align: center;" | ECU | ||
+ | | rowspan="7" style="text-align: center;" | ECU_module → cmd | ||
| ''Eng_nReq_radps'' | | ''Eng_nReq_radps'' | ||
− | |||
|- | |- | ||
| Switch Speed / torque control | | Switch Speed / torque control | ||
Line 156: | Line 263: | ||
|- | |- | ||
| Starter motor ON / OFF | | Starter motor ON / OFF | ||
− | | '' | + | | ''Eng_flgstrtrReq_B'' |
|- | |- | ||
| Fuel cut off | | Fuel cut off | ||
Line 162: | Line 269: | ||
|- | |- | ||
| Engine rotational speed | | Engine rotational speed | ||
+ | | Plant_model | ||
+ | | rowspan="1" style="text-align: center;" | Clutch_module → clutch_mechanical_fb_output | ||
| ''phys_speed_radps'' | | ''phys_speed_radps'' | ||
− | | | + | |} |
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Clutch module''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
+ | ! Scope="col"| Signal label | ||
|- | |- | ||
− | |||
| Requested clutch pedal position | | Requested clutch pedal position | ||
+ | | rowspan="1" style="text-align: center;" | ECU | ||
+ | | rowspan="1" style="text-align: center;" | ECU_module → cmd | ||
| ''Clu_ratReq_B'' | | ''Clu_ratReq_B'' | ||
− | |||
|- | |- | ||
| Clutch torque input | | Clutch torque input | ||
+ | | rowspan="3" style="text-align: center;" | plant_model | ||
+ | | rowspan="2" style="text-align: center;" | ICE_module → ICE_mechanical output | ||
| ''phys_torque_Nm'' | | ''phys_torque_Nm'' | ||
− | |||
|- | |- | ||
| Clutch inertia input | | Clutch inertia input | ||
Line 178: | Line 297: | ||
|- | |- | ||
| Clutch rotational speed input | | Clutch rotational speed input | ||
+ | | rowspan="1" style="text-align: center;" | Mechanical_connection_module → MC_mechanical_fb_output1 | ||
| ''phys_speed_radps'' | | ''phys_speed_radps'' | ||
− | | rowspan="1" style="text-align: center;" | Transmission module | + | |} |
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Mechanical connection module''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
+ | ! Scope="col"| Signal label | ||
+ | |- | ||
+ | | Mechanical connection torque input 1 | ||
+ | | rowspan="2" style="text-align: center;" | plant_model | ||
+ | | rowspan="2" style="text-align: center;" | Clutch_module → clutch_mechanical_output | ||
+ | | ''phys_torque_Nm'' | ||
+ | |- | ||
+ | | Mechanical connection inertia input 1 | ||
+ | | ''phys_inertia_kgm2'' | ||
+ | |- | ||
+ | | Mechanical connection torque input 2 | ||
+ | | rowspan="2" style="text-align: center;" | one | ||
+ | | rowspan="2" style="text-align: center;" | - | ||
+ | | ''one'' | ||
+ | |- | ||
+ | | Mechanical connection inertia input 2 | ||
+ | | ''one'' | ||
+ | |- | ||
+ | | Mechanical connection feedback input | ||
+ | | rowspan="1" style="text-align: center;" | plant_model | ||
+ | | rowspan="1" style="text-align: center;" | Transmission_module → Transmission_mechanical_fb_output | ||
+ | | ''phys_speed_radps'' | ||
+ | |} | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Transmission module''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
+ | ! Scope="col"| Signal label | ||
|- | |- | ||
− | |||
| Requested gear number | | Requested gear number | ||
+ | | rowspan="1" style="text-align: center;" | ECU | ||
+ | | rowspan="1" style="text-align: center;" | ECU_module → cmd | ||
| ''Transm_nrGearReq'' | | ''Transm_nrGearReq'' | ||
− | |||
|- | |- | ||
| Transmission torque input | | Transmission torque input | ||
+ | | rowspan="3" style="text-align: center;" | plant_model | ||
+ | | rowspan="2" style="text-align: center;" | Mechanical_connection_module → MC_mechanical_output | ||
| ''phys_torque_Nm'' | | ''phys_torque_Nm'' | ||
− | |||
|- | |- | ||
| Transmission inertia input | | Transmission inertia input | ||
Line 194: | Line 355: | ||
|- | |- | ||
| Transmission rotational speed input | | Transmission rotational speed input | ||
+ | | rowspan="1" style="text-align: center;" | Final_gear_module → Final_gear_mechanical fb output | ||
| ''phys_speed_radps'' | | ''phys_speed_radps'' | ||
− | | | + | |} |
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Final gear module''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
+ | ! Scope="col"| Signal label | ||
|- | |- | ||
− | |||
| Final gear torque input | | Final gear torque input | ||
+ | | rowspan="3" style="text-align: center;" | plant_model | ||
+ | | rowspan="2" style="text-align: center;" | Transmission_module → Transmission_mechanical_output | ||
| ''phys_torque_Nm'' | | ''phys_torque_Nm'' | ||
− | |||
|- | |- | ||
| Final gear inertia input | | Final gear inertia input | ||
Line 206: | Line 377: | ||
|- | |- | ||
| Final gear rotational speed input | | Final gear rotational speed input | ||
+ | | rowspan="1" style="text-align: center;" | Chassis_module → Chassis_mechanical_fb_output | ||
| ''phys_speed_radps'' | | ''phys_speed_radps'' | ||
− | | | + | |} |
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Chassis module''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
+ | ! Scope="col"| Signal label | ||
|- | |- | ||
− | |||
| Requested chassis brake torque | | Requested chassis brake torque | ||
+ | | rowspan="1" style="text-align: center;" | ECU | ||
+ | | rowspan="1" style="text-align: center;" | ECU_module → cmd | ||
| ''Chassis_tqBrake_Nm'' | | ''Chassis_tqBrake_Nm'' | ||
− | |||
|- | |- | ||
| Chassis torque input | | Chassis torque input | ||
− | | | + | | rowspan="2" style="text-align: center;" | plant_model |
− | | style="text-align: center;" | | + | | rowspan="2" style="text-align: center;" | - |
+ | | ''Total_vehicle_torque'' | ||
|- | |- | ||
| Chassis inertia input | | Chassis inertia input | ||
− | | '' | + | | ''Total_vehicle_inertia'' |
− | |||
|- | |- | ||
| Drivecycle slope | | Drivecycle slope | ||
− | | | + | | rowspan="1" style="text-align: center;" | Test_scenario |
− | | rowspan="1" style="text-align: center;" | | + | | rowspan="1" style="text-align: center;" | Test_scenario |
+ | | ''drivecycle_time_slope'' | ||
|} | |} | ||
− | + | <br/> | |
+ | |||
+ | '''Battery module''' | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |||
! Scope="col"| Input signal | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
! Scope="col"| Signal label | ! Scope="col"| Signal label | ||
− | |||
|- | |- | ||
− | |||
| Battery current input | | Battery current input | ||
− | | | + | | rowspan="1" style="text-align: center;" | plant_model |
− | | rowspan="1" style="text-align: center;" | | + | | rowspan="1" style="text-align: center;" | plant_model |
+ | | ''battery_Current_Input'' | ||
|- | |- | ||
| Battery Actual cooling flow | | Battery Actual cooling flow | ||
+ | | rowspan="1" style="text-align: center;" | ECU | ||
+ | | rowspan="1" style="text-align: center;" | ECU_module → cmd | ||
| ''Batt_flowActCooling_kgps'' | | ''Batt_flowActCooling_kgps'' | ||
− | | | + | |} |
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Electric machine module''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
+ | ! Scope="col"| Signal label | ||
|- | |- | ||
− | |||
| Requested electric machine speed | | Requested electric machine speed | ||
+ | | rowspan="4" style="text-align: center;" | ECU | ||
+ | | rowspan="4" style="text-align: center;" | ECU_module → cmd | ||
| ''ElecMac_nReq_radps'' | | ''ElecMac_nReq_radps'' | ||
− | |||
|- | |- | ||
| Switch speed / torque control | | Switch speed / torque control | ||
Line 259: | Line 453: | ||
|- | |- | ||
| Electric machine voltage input | | Electric machine voltage input | ||
+ | | rowspan="2" style="text-align: center;" | plant_model | ||
+ | | rowspan="1" style="text-align: center;" | Battery_module → Battery_electrical output | ||
| ''phys_voltage_V'' | | ''phys_voltage_V'' | ||
− | |||
|- | |- | ||
| Electric machine rotational speed input | | Electric machine rotational speed input | ||
+ | | rowspan="1" style="text-align: center;" | Mechanical_connection_module → MC_mechanical_join_output2 | ||
| ''phys_speed_radps'' | | ''phys_speed_radps'' | ||
− | | | + | |} |
+ | |||
+ | <br/> | ||
+ | |||
+ | '''Electrical aux system module''' | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
+ | ! Scope="col"| Signal label | ||
|- | |- | ||
− | |||
| Requested power | | Requested power | ||
+ | | rowspan="1" style="text-align: center;" | ECU | ||
+ | | rowspan="1" style="text-align: center;" | ECU_module → cmd | ||
| ''Aux_pwrElecReq_W'' | | ''Aux_pwrElecReq_W'' | ||
− | |||
|- | |- | ||
| Voltage input | | Voltage input | ||
+ | | rowspan="1" style="text-align: center;" | plant_model | ||
+ | | rowspan="1" style="text-align: center;" | Battery_module → Battery_electrical_output | ||
| ''phys_voltage_V'' | | ''phys_voltage_V'' | ||
− | |||
|} | |} | ||
+ | |||
+ | <br/> | ||
=== Driver === | === Driver === | ||
− | + | To assign the signal input for Vehicle driver module: | |
+ | * First, double-click the black box on top of the module to show the bus selector prompt. | ||
+ | * Second, remove ''none'' from the selected signals area, located on the right-hand side of the bus selector prompt. | ||
+ | * Third, follow the table below to assign signals to each component module. | ||
+ | <br/> | ||
+ | Note: Be aware that the signal shown in the bus selector prompt might not be in the same order as it is shown in the table below. <br/> | ||
+ | The signals should be assigned according to the order shown in the table below. Otherwise, the simulation will give an error and not run. | ||
+ | |||
+ | <br/> | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |||
! Scope="col"| Input signal | ! Scope="col"| Input signal | ||
+ | ! colspan="2"| Located under | ||
! Scope="col"| Signal label | ! Scope="col"| Signal label | ||
− | |||
|- | |- | ||
− | |||
| Actual vehicle velocity | | Actual vehicle velocity | ||
+ | | rowspan="4" style="text-align: center;" | plant_model | ||
+ | | rowspan="1" style="text-align: center;" | Chassis_module → Chassis_sensor | ||
| ''Chassis_vVehAct_mps'' | | ''Chassis_vVehAct_mps'' | ||
− | |||
|- | |- | ||
| Transmission input speed | | Transmission input speed | ||
+ | | rowspan="2" style="text-align: center;" | Transmission_module → Transmission_sensor | ||
| ''Transm_nInAct_radps'' | | ''Transm_nInAct_radps'' | ||
− | |||
|- | |- | ||
| Transmission actual gear number | | Transmission actual gear number | ||
Line 300: | Line 515: | ||
|- | |- | ||
| Clutch disengaged or not | | Clutch disengaged or not | ||
+ | | rowspan="1" style="text-align: center;" | Clutch_module → clutch_sensor | ||
| ''Clu_flgConnected_B'' | | ''Clu_flgConnected_B'' | ||
− | |||
|- | |- | ||
+ | | Accelerator pedal rate | ||
| rowspan="1" style="text-align: center;" | Driver | | rowspan="1" style="text-align: center;" | Driver | ||
− | | | + | | rowspan="1" style="text-align: center;" | vehicle_driver_manual_module → Driver |
| ''Drv_AccPedl_Rt'' | | ''Drv_AccPedl_Rt'' | ||
− | |||
|- | |- | ||
− | |||
| Drive cycle time and speed | | Drive cycle time and speed | ||
+ | | rowspan="1" style="text-align: center;" | Test_scenario | ||
+ | | rowspan="1" style="text-align: center;" | Test_scenario | ||
| ''drivecycle_time_speed'' | | ''drivecycle_time_speed'' | ||
− | |||
|} | |} | ||
Line 330: | Line 545: | ||
|} | |} | ||
+ | == Running the simulation == | ||
+ | Use this [[:File:parameterfiles.zip | parameter files]] for the e - trailer simulation. | ||
+ | <br/> | ||
+ | Before running the simulation, load the downloaded parameter into the created e - trailer project, this can be done by double-clicking the parameter setting button located on the top level layout of SIMarchitect and select the directory of where does the downloaded parameter file is located. | ||
+ | <br/> | ||
The sequence of running the simulation: | The sequence of running the simulation: | ||
* First, run parameter_main m.file | * First, run parameter_main m.file | ||
* Second, choose the desired output results in the ''Output Selector'' block | * Second, choose the desired output results in the ''Output Selector'' block | ||
− | * Third, run | + | * Third, run the simulation |
* Fourth, plot the results using ''Results Plot GUI'' block | * Fourth, plot the results using ''Results Plot GUI'' block | ||
+ | |||
+ | The output from each individual module can be plotted using the Results Plot GUI. | ||
== Contact == | == Contact == | ||
− | For more information regarding the specification of the battery and electric motor please contact e-Traction <br/> | + | For more information regarding the specification of the battery and electric motor please contact e-Traction |
− | + | <br/> | |
+ | |||
+ | '''e-Traction Europe B.V.''' <br/> | ||
+ | Watermanstraat 40 <br/> | ||
+ | 7324 AH Apeldoorn <br/> | ||
+ | The Netherlands <br/> | ||
+ | Phone: +31 55 52 11111 <br/> | ||
+ | E-mail: info@e-traction.com <br/> | ||
== Simulation result == | == Simulation result == | ||
+ | Based on the simulation result, the comparison in terms of energy consumption [kWh/km] can be made. <br/> | ||
+ | The energy consumption was calculated by using the following equation: <br/> | ||
+ | |||
+ | [[File:energyconsumptioneq.png|600px]] | ||
+ | |||
+ | with: | ||
+ | * Diesel calorific value of 45.6 [MJ/kg]. | ||
+ | * Total driving time of 1800 seconds. | ||
+ | * Total driving distance of 20 km. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Scope="col" | Vehicle configurations | ||
+ | ! Scope="Col" | Average fuel consumption [kg/s] | ||
+ | ! Scope="Col" | Average fuel consumption [L/km] | ||
+ | ! Scope="Col" | Average energy consumption [kWh/km] | ||
+ | |- | ||
+ | | Electric motor is in-operational | ||
+ | | 0.0058 | ||
+ | | 0.6328 | ||
+ | | 6.68 | ||
+ | |- | ||
+ | | Electric motor is operational | ||
+ | | 0.0053 | ||
+ | | 0.5782 | ||
+ | | 6.09 | ||
+ | |} | ||
+ | |||
+ | The improvement in average energy consumption was calculated to be 8.62 % | ||
+ | |||
+ | The fuel consumption comparison plot can be seen in the figure below. The green circles indicate that the fuel consumption is higher when the electric motor is in-operational. | ||
+ | |||
+ | [[File:Fuel consumption comparison marking.png|thumb|none|1000px|alt = none| Fuel consumption comparison]] |
Latest revision as of 13:55, 6 August 2018
This page provides the steps on how to model e-trailer project from e-Traction. The e-trailer project is a concept project from e-Traction in which e-trailer is a normal trailer that has an electric motor mounted to one of its axle.
The ultimate goal of this project is to increase energy efficiency [kWh/km], which leads to reducing operating cost.
Contents
Creating the model
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)
Test scenario
- Insert the Test_scenario component to (SIMarchitect) workspace, this component can be found under the Test Scenario in SIMarchitect Library.
ECU
A simple control algorithm has been developed and implemented into the e - trailer model in order to control the energy distribution between the Internal Combustion Engine and the Electric Machine. The control algorithm used the accelerator and brake pedal position to determine the demanded torque by the vehicle so that it can follow the desired driving cycle. The amount of throttle and brake required was calculated by the driver model. The required gear number for a certain moment was calculated by the gear shift logic that located inside the driver model. The electric machine is used together with the I.C.E. to achieve the demanded torque when the ECU determined that the demanded torque is above the maximum capability of what the engine can supply. If the state of charge of the battery is lower than the minimum charge value, the electric machine will be used as a generator to charge the battery during braking motion. The electric machine is also used to brake the vehicle when possible, however, mechanical brakes will be used when the braking torque from the electric machine is not sufficient.
To create the ECU subsystem:
- First insert an empty_area component to (SIMarchitect) workspace, this component can be found under the modeling tools below SIMarchitect general library.
- Second, rename this empty_area componenent into ECU.
- Third, delete the in and out ports inside the ECU subsystem as it is shown in the figure below.
- Fourth, insert the ECU module to the ECU subsytem. The ECU module and its parameter file can be downloaded (insert ECU module and its parameter).
- Fifth, delete the extra port in the sub_connector (green box in the figure below) by double-clicking the sub_connector and change the number of inputs into 1 to delete this extra port.
Plant model
To create the Plant_model subsystem:
- First insert an empty_area component to (SIMarchitect) workspace, this component can be found under the modeling tools below SIMarchitect general library.
- Second, rename this empty_area component into Plant_model.
- Third, delete the in and out ports inside the Plant_model subsystem as it is shown in the empty_area figure above.
- Fourth, insert the components listed below to the Plant_model subsystem and order them as it is shown in the figure below.
All of the components can be found in the downloaded SIMarchitect library, under component library → automotive → HDH - HiLS → chassis or powertrain and they are all color coded
The components used for the truck group:
- Internal Combustion Engine
- Clutch
- Mechanical connection
- Transmission
- Final gear
- Chassis
The components used for the trailer group:
- Battery
- Electric machine
- Electrical auxiliary system
- Fifth, change the tag visibility setting (from local to global) of the goto tag from the Final_gear_module, Electrical_aux_system_module and Electric_machine_module. Tag visibility setting can be found by double-clicking the goto tag from each of the mentioned modules.
- Fifth, add three (3) extra ports in the sub_connector, this can be done by double-clicking the sub_connector and change the number of input to 12.
Subsystems
Battery current subsystem
Notice that there are 2 extra subsystems located at the right-hand side of the e - trailer plant model figure.
The Battery current subsystem is created as follows:
- First, locate the from tag of Electric machine module and Electrical auxiliary system and copy-paste it in the workspace.
- Second, insert two (2) Bus Selector(s) and connect it to each tag.
- Third, double-click the first bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select Electric_machine_electrical_fb__output.phys_current_A under the Electric_machine_sensor
- Fourth, double-click the second bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select Electrical_aux_electrical_fb_output.phys_current_A under the Electrical_aux_sensor.
- Fifth, insert sum component from SIMULINK library browser to add the selected signals.
- Sixth, create a subsystem out of the components that just create the previous five steps. This can be done by block all of the created components then press ctrl+g to create a subsystem.
Combine torque and inertia subsystem The Combine torque and inertia subsystem is created as follows:
- First, locate the from tag of Electric_machine_module and Final_gear_module and copy-paste it in the workspace as two sets (2x Electric_machine_module and 2x Final_gear_module).
- Second, insert two (4) Bus Selector(s) and connect it to each tag.
- Third, double-click the first bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select Electric_machine_mechanical_output.phys_torque_Nm under the Electric_machine_mechanical_output .
- Fourth, double-click the second bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select Final_gear_mechanical_output.phys_torque_Nm under the Final_gear_mechanical_output.
- Fifth, insert sum component from SIMULINK library browser to add the selected signals from the previous two (2) steps.
- Sixth, double-click the third bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select Electric_machine_mechanical_output.phys_inertia_kgm2 under the Electric_machine_mechanical_output.
- Seventh, double-click the fourth bus selector, remove signal1 and signal2 under the selected signals inside the bus selector prompt and select Final_gear_mechanical_output.phys_inertia_kgm2 under the Final_gear_mechanical_output.
- Eighth, insert sum component from SIMULINK library browser to add the selected signals from the previous (2) steps.
- Ninth, create a subsystem out of the components that just create the previous eight steps. This can be done by block all of the created components then press ctrl+g to create a subsystem.
Next, connect the output ports of the created subsystems to the sub_connector, to do this:
- First, insert three (3) goto tag to the workspace
- Second, rename them as you wish but for this case rename it into A, B and C accordingly.
- Third, rename the signal label into Battery_Current_input for tag A, Total_vehicle_torque for tag B and Total_vehicle_inertia for tag C.
- Fourth, insert the from tag out of each goto tag.
- Fifth, connect each from tag to the empty port of sub_connector.
Driver
The e-trailer project use manual transmission, therefore the driver manual module will be used as the driver model.
To create driver subsystem:
- First insert an empty_area component to (SIMarchitect) workspace, this component can be found under the modeling tools below SIMarchitect general library
- Second, rename this empty_area component into Driver.
- Third, delete the in and out ports inside the Driver subsystem as it is shown in the empty_area figure above.
- Fourth, insert the vehicle driver manual from the SIMarchitect library to the Driver subsystem.
Assigning signal inputs
ECU
To assign the signal input for ECU module:
- First, double-click the black box on top of the module to show the bus selector prompt.
- Second, remove none from the selected signals area, located on the right-hand side of the bus selector prompt.
- Third, follow the table below to assign signals to each component module.
Note: Be aware that the signal shown in the bus selector prompt might not be in the same order as it is shown in the table below.
The signals should be assigned according to the order shown in the table below. Otherwise, the simulation will give an error and not run.
Input signal | Located under | Signal label | |
---|---|---|---|
Accelerator pedal position | Driver | vehicle_driver_manual_module → Driver | Drv_AccPedl_Rt |
Brake pedal position | Drv_BrkPedl_Rt | ||
Drive cycle reference speed | Drivecycle_RefSpeed_mps | ||
Clutch pedal position | Drv_CluPedl_Rt | ||
Requested gear number | Drv_nrGearReq | ||
Actual engine speed | Plant_model | ICE_module → ICE_sensor | Eng_nAct_radps |
Crankshaft torque | Eng_tqCrkSftAct_Nm | ||
Indicated torque | Eng_tqindAct_Nm | ||
Engine oil temperature | Eng_tOilAct_K | ||
Battery output current | Battery_module → Battery_sensor | Batt_iAct_A | |
Battery output voltage | Batt_uAct_V | ||
State of charge | Batt_socAct_Rt | ||
Battery temperature | Batt_tAct_K | ||
Clutch disengaged or not | Clutch_module → Clutch_sensor | Clu_flgConnected_B | |
Electric machine output torque | Electric_machine_module → Electric_machine_sensor | ElecMac_tqAct_Nm | |
Electric machine output speed | ElecMac_nAct_radps | ||
Electric machine output current | ElecMac_iAct_A | ||
Electric machine output temperature | ElecMac_tAct_K | ||
Transmission output speed | Transmission_module → Transmission_sensor | Transm_nOutAct_radps | |
Transmission gear number | Transm_nrGearAct | ||
Clutch lock | Transm_flgConnected_B | ||
Transmission input speed | Transm_nInAct_radps | ||
Vehicle velocity | Chassis_module → Chassis_sensor | Chassis_vVehAct_mps | |
Wheel speed | Chassis_nWheelAct_radps | ||
Vehicle mass | Chassis_massVehAct_kg | ||
Road slope | Chassis_slopeRoad_rad | ||
Auxiliary system output current | Electrical_aux_system_module → Electrical_aux_sensor | Aux_iAct_A |
Plant model
To assign the signal input for each component module:
- First, double-click the black box on top of the module to show the bus selector prompt.
- Second, remove none from the selected signals area, located on the right-hand side of the bus selector prompt.
- Third, follow the table below to assign signals to each component module.
Note: Be aware that the signal shown in the bus selector prompt might not be in the same order as it is shown in the table below.
The signals should be assigned according to the order shown in the table below. Otherwise, the simulation will give an error and not run.
ICE module
Input signal | Located under | Signal label | |
---|---|---|---|
Requested engine speed | ECU | ECU_module → cmd | Eng_nReq_radps |
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_flgstrtrReq_B | ||
Fuel cut off | Eng_flgFuelCut_B | ||
Engine rotational speed | Plant_model | Clutch_module → clutch_mechanical_fb_output | phys_speed_radps |
Clutch module
Input signal | Located under | Signal label | |
---|---|---|---|
Requested clutch pedal position | ECU | ECU_module → cmd | Clu_ratReq_B |
Clutch torque input | plant_model | ICE_module → ICE_mechanical output | phys_torque_Nm |
Clutch inertia input | phys_inertia_kgm2 | ||
Clutch rotational speed input | Mechanical_connection_module → MC_mechanical_fb_output1 | phys_speed_radps |
Mechanical connection module
Input signal | Located under | Signal label | |
---|---|---|---|
Mechanical connection torque input 1 | plant_model | Clutch_module → clutch_mechanical_output | phys_torque_Nm |
Mechanical connection inertia input 1 | phys_inertia_kgm2 | ||
Mechanical connection torque input 2 | one | - | one |
Mechanical connection inertia input 2 | one | ||
Mechanical connection feedback input | plant_model | Transmission_module → Transmission_mechanical_fb_output | phys_speed_radps |
Transmission module
Input signal | Located under | Signal label | |
---|---|---|---|
Requested gear number | ECU | ECU_module → cmd | Transm_nrGearReq |
Transmission torque input | plant_model | Mechanical_connection_module → MC_mechanical_output | phys_torque_Nm |
Transmission inertia input | phys_inertia_kgm2 | ||
Transmission rotational speed input | Final_gear_module → Final_gear_mechanical fb output | phys_speed_radps |
Final gear module
Input signal | Located under | Signal label | |
---|---|---|---|
Final gear torque input | plant_model | Transmission_module → Transmission_mechanical_output | phys_torque_Nm |
Final gear inertia input | phys_inertia_kgm2 | ||
Final gear rotational speed input | Chassis_module → Chassis_mechanical_fb_output | phys_speed_radps |
Chassis module
Input signal | Located under | Signal label | |
---|---|---|---|
Requested chassis brake torque | ECU | ECU_module → cmd | Chassis_tqBrake_Nm |
Chassis torque input | plant_model | - | Total_vehicle_torque |
Chassis inertia input | Total_vehicle_inertia | ||
Drivecycle slope | Test_scenario | Test_scenario | drivecycle_time_slope |
Battery module
Input signal | Located under | Signal label | |
---|---|---|---|
Battery current input | plant_model | plant_model | battery_Current_Input |
Battery Actual cooling flow | ECU | ECU_module → cmd | Batt_flowActCooling_kgps |
Electric machine module
Input signal | Located under | Signal label | |
---|---|---|---|
Requested electric machine speed | ECU | ECU_module → cmd | ElecMac_nReq_radps |
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 | plant_model | Battery_module → Battery_electrical output | phys_voltage_V |
Electric machine rotational speed input | Mechanical_connection_module → MC_mechanical_join_output2 | phys_speed_radps |
Electrical aux system module
Input signal | Located under | Signal label | |
---|---|---|---|
Requested power | ECU | ECU_module → cmd | Aux_pwrElecReq_W |
Voltage input | plant_model | Battery_module → Battery_electrical_output | phys_voltage_V |
Driver
To assign the signal input for Vehicle driver module:
- First, double-click the black box on top of the module to show the bus selector prompt.
- Second, remove none from the selected signals area, located on the right-hand side of the bus selector prompt.
- Third, follow the table below to assign signals to each component module.
Note: Be aware that the signal shown in the bus selector prompt might not be in the same order as it is shown in the table below.
The signals should be assigned according to the order shown in the table below. Otherwise, the simulation will give an error and not run.
Input signal | Located under | Signal label | |
---|---|---|---|
Actual vehicle velocity | plant_model | Chassis_module → Chassis_sensor | Chassis_vVehAct_mps |
Transmission input speed | Transmission_module → Transmission_sensor | Transm_nInAct_radps | |
Transmission actual gear number | Transm_nrGearAct | ||
Clutch disengaged or not | Clutch_module → clutch_sensor | Clu_flgConnected_B | |
Accelerator pedal rate | Driver | vehicle_driver_manual_module → Driver | Drv_AccPedl_Rt |
Drive cycle time and speed | Test_scenario | Test_scenario | drivecycle_time_speed |
Simulation settings
The simulation settings for e-trailer project:
Settings | Value |
---|---|
Time | 1800 [s] |
Fixed - step size | 0.01 |
Solver type | ode3 (Bogacki - shampine) |
Running the simulation
Use this parameter files for the e - trailer simulation.
Before running the simulation, load the downloaded parameter into the created e - trailer project, this can be done by double-clicking the parameter setting button located on the top level layout of SIMarchitect and select the directory of where does the downloaded parameter file is located.
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.
Contact
For more information regarding the specification of the battery and electric motor please contact e-Traction
e-Traction Europe B.V.
Watermanstraat 40
7324 AH Apeldoorn
The Netherlands
Phone: +31 55 52 11111
E-mail: info@e-traction.com
Simulation result
Based on the simulation result, the comparison in terms of energy consumption [kWh/km] can be made.
The energy consumption was calculated by using the following equation:
with:
- Diesel calorific value of 45.6 [MJ/kg].
- Total driving time of 1800 seconds.
- Total driving distance of 20 km.
Vehicle configurations | Average fuel consumption [kg/s] | Average fuel consumption [L/km] | Average energy consumption [kWh/km] |
---|---|---|---|
Electric motor is in-operational | 0.0058 | 0.6328 | 6.68 |
Electric motor is operational | 0.0053 | 0.5782 | 6.09 |
The improvement in average energy consumption was calculated to be 8.62 %
The fuel consumption comparison plot can be seen in the figure below. The green circles indicate that the fuel consumption is higher when the electric motor is in-operational.