# 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).

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.

 Image: Upshift lines Image: Downshift lines 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.

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.

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.

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.

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.

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.

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) [-]

#### 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!