Modeling and simulation of a vehicle with automatic transmission

6. Controller: TCU

Shifting gears in an automatic transmission is done according to a certain schedule, designed according to certain criteria: fuel economy, dynamic performance or comfort. The most modern automatic transmissions are adaptive, which means that the shift scheduling is modified according to the driving speed of the car and the driving style of the driver (economy vs. sport).

A shift scheduler consists of static shift lines (maps) and dynamic corrections. The shift map gives the right gear for a particular vehicle speed and throttle (accelerator pedal) position. The dynamic corrections are modifying the static gear calculation function mainly of the rate of accelerator pedal position and vehicle state (acceleration vs. deceleration).

Transmission Control Unit (TCU) - Xcos block diagram

Image: Transmission Control Unit (TCU) – Xcos block diagram

6.1 Shift lines (maps)

For a given vehicle speed and accelerator pedal (throttle) position, there can be only one gear engaged. The shift lines, also called shift maps, define in which gear the transmission should be, for a particular vehicle speed and accelerator pedal position.

For our example, we are going to have 7 forward gears, which means that will have 6 shift lines for up shifting and another 6 shift lines for down shifting.

Upshift lines (map)

Image: Upshift lines

Downshift lines (map)

Image: Downshift lines

Shift lines (map)

Image: Shift lines

The upshift line represent the maximum vehicle speed, for a given acceleration pedal (throttle) position, in a given gear. If the line is crossed, the transmission will shift into an upper gear (e.g. 1 to 2). For downshifting, the logic is the same, only that the shift line is the minimum speed in the current gear. When this limit is passed, the transmission downshifts in a lower gear (e.g. 2 to 1).

Upshift lines data:

Upshift lines [kph] Gear [-]
1 2 3 4 5 6 7
Accelerator pedal
(throttle)
position [%]
0 12 21 32 45 64 84 350
21 12 21 32 45 64 86 350
21.01 12 21 32 46 64 86 350
21.02 12 21 32 47 65 86 350
23 12 21 34 49 68 86 350
25 12 21 36 52 72 91 350
28 12 22 39 57 78 99 350
33 14 25 44 63 87 109 350
34 14 25 45 66 90 114 350
34.01 15 26 45 67 92 115 350
38 16 30 52 76 104 131 350
72 44 75 118 165 227 281 350
74 45 77 120 169 232 287 350
76 47 80 123 174 238 294 350
82 52 86 132 186 255 315 350
84 54 88 134 190 260 320 350
85 55 89 135 192 263 320 350
87 56 91 135 192 263 320 350
89 58 91 135 192 263 320 350
100 58 91 135 192 263 320 350

Downshift lines data:

Downshift lines [kph] Gear [-]
1 2 3 4 5 6 7
Accelerator pedal
(throttle)
position [%]
0 0 10 16 24 37 50 68
20 0 10 16 24 37 50 68
21 0 10 16 24 37 50 68
23 0 10 16 24 38 51 69
25 0 10 16 25 39 52 70
32 0 11 17 27 42 57 73
35 0 11 18 28 43 59 75
35.01 0 11 18 29 44 59 77
37 0 11 19 29 45 62 81
38 0 11 19 30 46 64 83
54 0 11 24 42 68 91 125
56 0 11 25 44 70 95 129
74 0 13 30 58 91 131 188
78 0 13 31 60 95 138 202
80 0 13 32 62 97 144 211
81 0 13 32 64 100 147 215
86 0 13 35 73 113 161 215
94 0 13 35 73 113 161 215
94.01 0 17 45 82 126 192 270
100 0 17 45 82 126 192 270

The upshift and downshift lines are integrated into the Xcos block diagram using the 2-D interpolation blocks.

Shift lines (maps) - Xcos block diagram

Image: Shift lines – Xcos block diagram

Inputs

Name Value Description
AccrPedlPosn_prc Acceleration pedal position [%]
GearNr_z Current gear [-]

Parameters

Name Value Description
GbxGearNr_z_X (table) Gear number array (axis) [-]
AccrPedlPosnTrnsUpShift_prc_Y (table) Upshift accelerator pedal position array (axis) [%]
AccrPedlPosnTrnsDownShift_prc_Y (table) Downshift accelerator pedal position array (axis) [%]
VehVUpShiftLim_kph_Z (table) Upshift vehicle speed limit for current gear (map) [kph]
VehVDownShiftLim_kph_Z (table) Downshift vehicle speed limit for current gear (map) [kph]

Outputs

Name Value Description
VehUpShiftLim_kph Upshift vehicle speed limit for current gear [kph]
VehDownShiftLim_kph Downshift vehicle speed limit for current gear [kph]

6.2 Shift scheduler (dynamic corrections)

In order to have more consistent gear changes we need to apply some corrections on the target gear coming from the shift maps. These correction are meant to improve the driveability of the vehicle and reduce the fuel consumption of the engine.

Shift scheduler (dynamic corrections) - Xcos block diagram

Image: Shift scheduler – Xcos block diagram

6.2.1 Minimum Time in Gear Correction

The purpose of minimum time in gear is to avoid having successive upshifts or downshifts. Since in this simulation, the gear change is instant (because there no model of the actuation system), we need to keep the current gear for a minimum time.

Minimum time in gear correction - Xcos block diagram

Image: Minimum time in gear correction – Xcos block diagram

If there is a gear change detected, a Counter/Timer is started from an initial time. If the Timer hasn’t expired yet (reached 0), we do not allow another gear shift, even if the shift lines speed limits are crossed by the current vehicle speed.

The time delay (minimum time in gear) can be calibrated differently for upshifts or downshifts.

Inputs

Name Value Description
GearNr_z Current gear [-]
GearNrRaw_z Current gear (raw) [-]

Parameters

Name Value Description
TrnsUpGearMinT_s_C 2 Upshift minimum time in gear [s]
TrnsDownGearMinT_s_C 1 Downshift minimum time in gear [s]

Outputs

Name Value Description
GearUpShiftDly_B Upshift delay shift correction active [-]
GearDownShiftDly_B Downshift delay shift correction active [-]

6.2.2 Engine Braking Correction

The purpose of this correction is to keep the transmission in the current gear, when the driver is fully releasing the accelerator pedal. Without this correction, if the vehicle speed is 100 kph and the accelerator pedal (throttle) position is 50 %, the current gear is 3rd gear. If there is a full lift from the accelerator pedal 0 %, the transmission will shift to 7th gear. This behaviour is not desirable.

Engine braking correction - Xcos block diagram

Image: Engine braking correction – Xcos block diagram

Inputs

Name Value Description
VehV_kph Vehicle speed [kph]
AccrPedlPosn_prc Accelerator pedal position [%]

Parameters

Name Value Description
AccrPedlPosnMaxEngBrk_prc_C 1 Maximum accelerator pedal position for engine braking shift correction [%]
VehVMaxEngBrk_kph_C 10 Minimum vehicle speed for engine braking shift correction [kph]

Outputs

Name Value Description
GearShiftStopEngBrk_B Engine braking shift correction active [-]

6.2.3 Tip In-Out Corrections

The purpose of this correction is to avoid gear shifts when the driver suddenly presses or releases the accelerator pedal. The rapid press on the acceleration pedal is called a tip-in event, while a sudden release of the accelerator pedal is called a tip-out event.

Tip in-out correction - Xcos block diagram

Image: Tip in-out correction – Xcos block diagram

The gradient (rate of change) of the accelerator pedal is compared with two calibrate-able thresholds, one for tip-in event and the other for tip-out events. When these limits are exceeded, a flag is raised which blocks the gear shift.

The tip-in correction presented in this example is simplified for an easier understanding of the concept. In reality this correction needs to take into account the power reserve of the engine. If the power reserve of the engine is not sufficient to provide significant vehicle acceleration, a accelerator pedal tip-in should allow a downshift to take place.

The tip-out correction makes sense as it is, because a sudden release of the accelerator pedal means that the driver wants to slow down only and not to change gears. Therefore the current gear must be kept to allow the engine to brake (overrun).

Inputs

Name Value Description
AccrPedlPosn_prc Accelerator pedal position [%]

Parameters

Name Value Description
AccrPedlMinGrdt_prcps_C -10 Minimum accelerator pedal gradient threshold for shift inhibit [%/s]
AccrPedlMaxGrdt_prcps_C 10 Maximum accelerator pedal gradient threshold for shift inhibit [%/s]

Outputs

Name Value Description
GearShiftStopTipOut_B Accelerator pedal tip-out gear shift correction active [-]
GearShiftStopTipIn_B Accelerator pedal tip-in gear shift correction active [-]

The values of the minimum and maximum pedal gradients are set to a small value to be able to visualise them during simulation. In reality the actual values can be 5-10 times higher.

6.2.4 Gear Calculation

The gear calculation takes into account the shift lines gear decision and all the dynamic corrections. If there is no correction active and the current vehicle speed is above/below the shift line speed limit, the current gear is incremented (upshift) or decremented (downshift).

This algorithm is relatively simple because all the gear changes are done sequentially. In reality the gears can be skipped, especially during a downshift. If there is a heavy braking event, a modern transmission can do for example a 6-4 downshift.

Gear calculation - Xcos block diagram

Image: Gear calculation – Xcos block diagram

The current gear has a sample time delay. This is needed in order to avoid the algebraic loop with the shift line speed limit calculation.

Inputs

Name Value Description
VehV_kph Vehicle speed [kph]
VehUpShiftLim_kph Upshift vehicle speed limit for current gear [kph]
VehDownShiftLim_kph Downshift vehicle speed limit for current gear [kph]
GearUpShiftDly_B Upshift delay shift correction active [-]
GearDownShiftDly_B Downshift delay shift correction active [-]
GearShiftStopEngBrk_B Engine braking shift correction active [-]
GearShiftStopTipOut_B Accelerator pedal tip-out gear shift correction active [-]
GearShiftStopTipIn_B Accelerator pedal tip-in gear shift correction active [-]

Outputs

Name Value Description
GearNr_z Current gear [-]
GearNrRaw_z Current gear (raw) [-]

2 Comments

  1. Mirsad
  2. Saulnier

Leave a Reply

Ad Blocker Detected

Dear user, Our website provides free and high quality content by displaying ads to our visitors. Please support us by disabling your Ad blocker for our site. Thank you!

Refresh