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 [-]
1234567
Accelerator pedal
(throttle)
position [%]
0122132456484350
21122132456486350
21.01122132466486350
21.02122132476586350
23122134496886350
25122136527291350
28122239577899350
331425446387109350
341425456690114350
34.011526456792115350
3816305276104131350
724475118165227281350
744577120169232287350
764780123174238294350
825286132186255315350
845488134190260320350
855589135192263320350
875691135192263320350
895891135192263320350
1005891135192263320350

Downshift lines data:

Downshift lines [kph]Gear [-]
1234567
Accelerator pedal
(throttle)
position [%]
00101624375068
200101624375068
210101624375068
230101624385169
250101625395270
320111727425773
350111828435975
35.010111829445977
370111929456281
380111930466483
5401124426891125
5601125447095129
74013305891131188
78013316095138202
80013326297144211
810133264100147215
860133573113161215
940133573113161215
94.010174582126192270
1000174582126192270

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

NameValueDescription
AccrPedlPosn_prcAcceleration pedal position [%]
GearNr_zCurrent gear [-]

Parameters

NameValueDescription
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

NameValueDescription
VehUpShiftLim_kphUpshift vehicle speed limit for current gear [kph]
VehDownShiftLim_kphDownshift 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

NameValueDescription
GearNr_zCurrent gear [-]
GearNrRaw_zCurrent gear (raw) [-]

Parameters

NameValueDescription
TrnsUpGearMinT_s_C2Upshift minimum time in gear [s]
TrnsDownGearMinT_s_C1Downshift minimum time in gear [s]

Outputs

NameValueDescription
GearUpShiftDly_BUpshift delay shift correction active [-]
GearDownShiftDly_BDownshift 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

NameValueDescription
VehV_kphVehicle speed [kph]
AccrPedlPosn_prcAccelerator pedal position [%]

Parameters

NameValueDescription
AccrPedlPosnMaxEngBrk_prc_C1Maximum accelerator pedal position for engine braking shift correction [%]
VehVMaxEngBrk_kph_C10Minimum vehicle speed for engine braking shift correction [kph]

Outputs

NameValueDescription
GearShiftStopEngBrk_BEngine 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

NameValueDescription
AccrPedlPosn_prcAccelerator pedal position [%]

Parameters

NameValueDescription
AccrPedlMinGrdt_prcps_C-10Minimum accelerator pedal gradient threshold for shift inhibit [%/s]
AccrPedlMaxGrdt_prcps_C10Maximum accelerator pedal gradient threshold for shift inhibit [%/s]

Outputs

NameValueDescription
GearShiftStopTipOut_BAccelerator pedal tip-out gear shift correction active [-]
GearShiftStopTipIn_BAccelerator 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

NameValueDescription
VehV_kphVehicle speed [kph]
VehUpShiftLim_kphUpshift vehicle speed limit for current gear [kph]
VehDownShiftLim_kphDownshift vehicle speed limit for current gear [kph]
GearUpShiftDly_BUpshift delay shift correction active [-]
GearDownShiftDly_BDownshift delay shift correction active [-]
GearShiftStopEngBrk_BEngine braking shift correction active [-]
GearShiftStopTipOut_BAccelerator pedal tip-out gear shift correction active [-]
GearShiftStopTipIn_BAccelerator pedal tip-in gear shift correction active [-]

Outputs

NameValueDescription
GearNr_zCurrent gear [-]
GearNrRaw_zCurrent gear (raw) [-]

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