In a real drivetrain, you couple an input or drive shaft to one of many output or driven shafts, or to one driven shaft with a choice of several gear ratios. The drivetrain then requires several clutches to switch between gears. You couple one of the driven shafts or one of the gear sets by engaging one of the clutches. You then switch to another output shaft or another gear ratio by disengaging one clutch and engaging another.
You can also engage more than one clutch at a time to use multiple gear sets simultaneously. Realistic transmissions engage multiple gear sets at the same time to produce a single effective gear ratio, or drive ratio. Changing gears requires disengaging one set of clutches and engaging another set. You specify the set of clutches to engage and disengage for each desired gear ratio in a clutch schedule. Designing a clutch schedule and shaping and sequencing the clutch pressure signals frequently constitute the most difficult part of transmission design. A realistic transmission model must also include losses due to friction and imperfect gear meshing.
This section explains how to model transmissions, first by creating a transmission model from gears and clutches, then by using the Simscape™ Driveline™ library of predesigned transmission subsystems. One such predesigned transmission, the CR-CR 4-speed transmission, is the basis of another example.
Note: The examples in this section contain unrealistic clutch pressure signals that rise and fall sharply. A realistic transmission is controlled by clutch pressure signals that rise and fall smoothly. For a car example with smoothed clutch pressure signals, see the final section of the chapter, Model and Simulate a Complete Car. Improve Performance discusses the relationship of sharp and smooth clutch pressure signals to the Simulink® solver choice and settings.
The example model drive_strans_ideal contains a driveline system that makes up a simple but complete transmission.
Simple Transmission with Two Gear-Clutch Pairs and Braking
The model is an elaboration of the drive_clutch_engage example model presented in Brake Motion with Clutches preceding. This model also contains two driveline shafts or axes, with an actuating torque applied to the driven shaft. Both the driver and the driven shafts are subject to, respectively, large and very small kinetic damping torques. (The kinetic torque constants μ are 0.1 and 10-4 newton-seconds/radian, respectively, in Damper1 and Damper2.) In the steady state, the driving and damping torques balance one another, and the two shafts spin at constant rates. (If braking is engaged, the driven shaft is stopped, as before.) But there are now two selectable gears to couple the two axes, instead of one.
This transmission model couples the gears in a simple way, with each gear and the brake associated with its own respective clutch. Coupling one gear requires engaging and locking its corresponding clutch, while ensuring that the other two clutches are disengaged. Switching on the brake requires disengaging the two gear clutches and locking the brake clutch.
The two gears are Simple Gear blocks with different gear ratios, each connected in series with its corresponding clutch. The two gear-clutch pairs are coupled in parallel, and this parallel assembly then couples the driver shaft to the driven shaft, with their two spinning inertias. One gear is a "low" gear, the other a "high" gear. The "low" and "high" labels, following common usage for automobile gears, refer, not to the gear ratios, but the angular velocity ratios.
Caution The ratio of speeds in a gear is the reciprocal of the gear ratio.
The "low" gear is the Simple Gear 5:1 block, which can be coupled by engaging its corresponding clutch, modeled by the Lo Gear Clutch block. The gear ratio is 5:1, so that the ratio of output to input (follower to base) angular speeds is 1/5. Hence the name "low gear." Such a gear, by the same token, has a high torque transfer ratio of 5, from base to follower. In an automobile, a "low" gear like this is used to accelerate the vehicle from a stop by transferring a large torque down the drivetrain from the engine.
The "high" gear is the Simple Gear 2:1 block, coupled by engaging its own clutch, represented by the Hi Gear Clutch block. The gear ratio is 2:1, and the angular velocity ratio of follower to base is 1/2, or 5/2 times the ratio in the "low" gear. Hence the name "high gear." The torque transfer ratio is only 2 from base to follower. An automotive "high" gear is used for milder acceleration or coasting once a vehicle is moving at a significant speed. The vehicle acceleration generated by this gear is less than that generated by the "low" gear.
While either Gear Clutch is engaged, the Brake Switch is disabled. You can start braking and bring the driven shaft to a stop by engaging Brake Clutch. This clutch, once locked, holds the driven axis fixed relative to the Housing. The driver shaft continues to spin, subject to the competing driving and damping torques. In this transmission, the brake is completely disabled if either gear clutch is engaged. Disengaging the gears puts the transmission into "neutral" and allows you to use the Brake Switch to apply or not apply brake clutch pressure.
Clearly, this simple transmission is based on mapping each transmission state one-to-one with an engaged clutch. You cannot engage more than one clutch at a time without creating conflicts between gear ratios or between the driver shaft and the Housing. In a real transmission, such conflicts generate internal stresses and might destroy the driveline. Such conflicts cause a Simscape Driveline simulation to stop with an error.
The requirement to engage a certain clutch or set of clutches and disengage others, both to implement transmission functions and to avoid motion conflicts between gears, is the basis for all clutch schedules. Simulink provides a number of ways to implement clutch schedules, depending on the complexity of the transmission and how much realism you require for the clutch pressure signals.
Warning You must check every transmission's clutch schedule to implement the various transmission states correctly and to avoid motion conflicts among gear sets. You must also check clutch pressure signal profiles to make sure that any transmission's clutches are engaged, locked, unlocked, and disengaged in a realistic and conflict-free manner. Unphysical or conflicting clutch schedules and clutch pressure signals lead to Simscape Driveline simulation errors.
Avoiding such conflicts leads, for the drive_strans_ideal model, to a unique clutch schedule.
Clutch Schedule for the Simple Two-Speed Transmission
|Transmission State||Clutch1 State||Clutch2 State||Clutch3 State|
The model contains a simple Clutch Control subsystem to implement the clutch schedule and to output (or, in the case of the brake, enable) the clutch pressure signals to lock each clutch as needed.
Clutch Control Subsystem for Simple Transmission Model
sIn this simplified and unrealistic clutch control model, the clutch pressure signals are just constants: 1 to engage and lock a clutch, and 0 to disengage it. (A clutch pressure signal is normalized to equal 1 when the surface friction force equals the peak normal force specified in the Controllable Friction Clutch dialog.) The brake signal is not a pressure, but only an enabling signal for the Brake Switch in the main model. The table of these constants, for each transmission state, is contained in the Clutch Schedule Table block, customized from the Simulink LookupND Direct block, which is discussed in the Simulink documentation. Open the dialog to see this table.
The table is indexed, starting from zero, in both row and column. An input signal of 0 causes the block to output the first column of table values; a value of 1 outputs the second column; and a value of 2, the third column. The first column applies zero pressure to the two gear clutches and enables the Brake Switch in the main model. Turning this switch on applies full pressure to the brake clutch. Turning it off releases the brake pressure. The second column applies full pressure to the low gear clutch and zero pressure to the high gear and the brake clutches. The third column applies full pressure to the high gear clutch and zero pressure to the other two.
These different table columns are activated by changing the positions of the two Manual Switch blocks, labeled Gear Switch and Neutral Switch. Putting the transmission into "neutral" and enabling the brake (upper position of Neutral Switch) feeds a zero signal to Clutch Schedule Table and activates the braking schedule. Switching the brake to off (lower position) allows the Gear Switch schedule signal to pass through instead. This signal has value 1 for the low gear and 2 for the high gear.
This clutch control subsystem is adequate for a simple model like this one, but not realistic. A full clutch control model requires realistic clutch pressure signals that rise from and fall back to zero in a smooth way. See Shaping Realistic Clutch Pressure Signals following for more about modeling realistic clutch control pressures.
To see how gear switching works,
Start the model.
Its initial transmission state is low gear. The driven shaft spins at one-fifth the rate of the driver shaft.
Change the Gear Switch from Low to High, and observe how the driven shaft velocity increases in the Shaft Velocities scope.
The driven-to-driver ratio is now one-half. (The driver shaft velocity decreases slightly, because it experiences the damping torque on the driven shaft differently depending on which gear is engaged.)
Change the Gear Switch back to Low, then observe that the driven shaft again spins more slowly.
At the same time, while you switch the gears back and forth, the clutches, as shown in the Clutch Modes scope, switch from Lo Gear Clutch being locked, to the Hi Gear Clutch being locked, and back. When one is locked, the other is unlocked.
Now enable the brake by changing the Neutral Switch to the upper position.
The two gear clutches unlock and disengage. The driven shaft, subject to very light damping, now slows gradually. The Brake Clutch remains unengaged.
By turning the Brake Switch to on, you can switch the Brake Clutch to the locked mode and bring the driven shaft to an immediate and complete stop. The driver shaft continues to spin at 10 radians/second.
In realistic transmissions, the pressure signal applied to one clutch is often determined by the locked/unlocked mode of another clutch. Simulation of such a system requires simulation time to briefly stop progressing and mode iteration to search for a self-consistent state of all clutches across the entire driveline.
This transmission is simple and non-self-referential, insofar as each clutch is controlled by external signals only. No clutch is controlled by the mode of another clutch. In such a case, you do not need mode iteration for the clutches, because the simulation does not have to search for a collective self-consistent state of all clutches. The externally imposed clutch schedule does that automatically.
To turn off clutch mode iteration,
Open the model's Driveline Environment block (the block with the "Env" icon).
Select the Disable mode iteration for clutch locking check box.
Start the model again. The model runs faster and without mode iterations.
Disabling clutch mode iteration to avoid algebraic loops is sometimes necessary when you are using code generation-based simulation options in Simulink and Simulink Coder™. See the Controllable Friction Clutch and Driveline Environment block reference pages for more details.
The most critical addition you can make to the
for greater realism is to change the clutch pressure signals from
step functions (0 to 1, or 1 to 0) to signals with a smooth rise and
fall. A variant model, drive_strans,
has smoothed clutch pressure signals. The price of this greater realism
is a potentially more complex model. It is critical for Simulink to
determine transmission motion for exactly two clutches to always remain
locked, or for all four to be unlocked, at any instant. Changing the
transmission's gear settings while maintaining this requirement is
an example of the central problem of transmission design.
Realistic gears lose power to the imperfect meshing of their teeth. Typically, this power loss is proportional to the torque load on the gear teeth. You can use the Efficiency block to model such load-dependent losses. Here you create lossy versions of the Simple Gear, encapsulate them in subsystems, and replace the loss-free gears of the transmission model with the lossy gear subsystems.
In the drive_strans_ideal model, copy the Simple Gear 5:1 and Simple Gear 2:1 blocks. From the Simscape Driveline Dynamic Elements block library, drag and drop two copies of the Efficiency block. Open the Efficiency dialogs and enter nonideal efficiency factors, less than one, but greater than zero. For example, for the 5:1 gear, enter 0.7, and for the 2:1 gear, enter 0.95. Connect the follower of each Gear block to one of the driveline connector ports of its Efficiency block. Encapsulate each Simple Gear-Efficiency block pair into a subsystem.
Now replace the Simple Gear blocks in your model with these lossy gear subsystems. Restart your model. The driveline runs at a lower efficiency, with smaller angular velocities, because of the power losses. If you entered different efficiency factors for the two gears, the effect of the loss is different if you switch between gears.
Many Gear blocks in the Simscape Driveline Gears library come in two versions, one without loss, the other with load-dependent power loss.
The Simscape Driveline Transmission Templates library provides examples of complete, working multiclutch transmission subsystems. The blocks in this library are unmasked. If you copy one into a model and double-click it, the subsystem opens directly, allowing you to inspect the component blocks.
CR-CR 4-Speed Transmission Template Subsystem
Note: The Transmission blocks are not library-linked. Once you make a copy from the library to your model, you are free to modify your copy.
Each type of transmission block has its own clutch schedule, which you can view by opening the subsystem, then opening the clutch schedule block inside. (The corresponding block reference pages also list the clutch schedules for each Transmission block.) Properly engaging a transmission in a particular gear setting requires engaging a certain number of clutches, no more and no fewer. Locking too few or too many clutches, or engaging the wrong clutches, will lead to conflicting gear meshings and simulation errors. You can disengage a transmission by setting all clutch pressure signals to 0.
Because you do not have to take any extra steps to unlink a transmission block from its library, you can easily modify the Transmission block copies in your models. You will typically need to change gear ratios, clutch pressures, and gear shaft inertias in any case. If you open the Transmission block to view the underlying subsystem, you can proceed to modify blocks at will.
Caution Observe certain cautions when modifying the transmission subsystem component blocks:
The next section presents a driveline model based on the CR-CR 4-speed transmission model of the Transmissions library.
The drive_crcr_ideal example model builds on the previous clutch and transmission models with a more realistic transmission. (This is the same model presented in Run Example Model) It uses the CR-CR 4-Speed transmission block from the Transmissions library to transfer motion and torque from one shaft and inertia to another. The model is otherwise similar to drive_strans_ideal.
CR-CR 4-Speed Transmission Model
A Torque Driver subsystem feeds a constant driving torque to the driver shaft (Inertia1). Two damping subsystems apply heavy and light kinetic friction to the driver and driven shafts, respectively. The three Scopes measure the shaft velocities, clutch pressures, and clutch modes, respectively. The model pre-load function defines essential parameters in the workspace. You can view these by opening the Workspace Variables block or opening the Callbacks tab of the File > Model Properties > Model Properties dialog box. The CR-CR 4-Speed transmission subsystem couples the driver to the driven shaft (Inertia2). A brake clutch and fixed housing allow you to brake the driven shaft if the transmission is disengaged. When you first open the model, the Clutch Control subsystem contains a set of programmed clutch signals for shifting the CR-CR transmission through a preconfigured gear and braking sequence over 30 seconds.
For clarity, the model's major signal buses have been bundled as vectors and directed using Goto and From blocks. The Scopes are collected in the Scopes subsystem for convenience.
To achieve manual control over the clutch pressures,
Change the simulation time in the Simulink model
Open the drive_crcr_clutch_control_switch model and convert the entire model to a replacement Clutch Control subsystem. (This model is not intended to be run by itself.)
Delete the original Clutch Control subsystem in drive_crcr_ideal and replace it with this new subsystem.
When you have completed these steps, you can run the model without stopping and manually switch the transmission into different gear settings.
Manual Clutch Control for CR-CR Transmission
The CR-CR 4-Speed transmission block used in drive_crcr_ideal has default settings for its component Gears, Clutches, and Inertias, with some exceptions. Certain parameters are changed for greater realism and are referenced to variables defined in the workspace when the model opens. These variables are used in the four CR-CR Clutch blocks A, B, C, and D. (Ignore the reverse gear clutch, Clutch R.)
CR-CR 4-Speed Transmission Clutch Variables
|Number of frictional surfaces in each clutch|
|Effective torque radius in each clutch (m)|
|Peak normal force on clutch surfaces (N)|
|Kinetic friction coefficient as a function of the relative angular velocity of the clutch shafts|
Within the CR-CR transmission subsystem,
Open the Clutch Schedule block to see the table of gear settings, clutch lockings, and gear ratios. (The CR–CR 4-Speed block reference page also discusses the clutch schedule.)
There are four distinct (forward) gear settings, each with a different effective gear ratio. For the transmission to be properly engaged and transmit torque and motion, exactly two clutches must be locked at any instant. Unlocking all the clutches simultaneously puts the transmission into neutral (no motion or torque transfer).
Close the transmission subsystem and return to the main model window. The main model's Damping subsystems use these variables for frictional damping of the driving (engine) and driven shafts coupled across the transmission.
Drive Shaft Damping Coefficients
|Driver (engine) shaft kinetic friction coefficient (N·m·s/rad)|
|Driven shaft kinetic friction coefficient (N·m·s/rad)|
Note: This and the following sections assume you have replaced the original programmed Clutch Control subsystem with the manually switchable replacement subsystem. See Replacing Programmed with Controllable Clutch Pressures previously.
From the main model, open the Clutch Control subsystem. The Clutch Schedule Logic block embodies the CR-CR 4-Speed clutch schedule as a truth table for the four forward gears. Each row represents a different gear setting. You select a particular row for output by inputting a set of 1's and 0's that specify the row value as a binary number.
CR-CR 4-Speed Clutch Schedule Logic
|Gear Setting||Truth Table Row||Truth Table Value|
|1||002 = 0||1 0 0 1 0|
|2||012 = 1||1 0 1 0 0|
|3||102 = 2||1 1 0 0 0|
|4||112 = 3||0 1 1 0 0|
In the order of the CR-CR Clutches — A, B, C, and D, respectively — the sequence of 1's and 0's indicates which clutches are locked (1) and which are free (0). These Boolean values are then converted into normalized clutch pressure signals. The fifth value in each row represents the disengaged reverse gear Clutch R.
Programming the Reverse Gear. By default, the Forward/Reverse Switch is set to the up position, placing the transmission in forward motion. If you want to engage the reverse gear, flip the switch to the down position.
Open the corresponding Reverse block to see the reverse gear clutch schedule as a truth table.
CR-CR Reverse Gear Clutch Schedule Logic
|Gear Setting||Truth Table Value|
|Reverse||0 0 0 1 1|
You are now ready to run the model.
Open the Scopes subsystem, then the individual Scope blocks. Close the Scopes subsystem.
With the Scopes, you can observe the angular velocities of the driving and driven shafts, and the pressures and modes of the four clutches.
Open the Clutch Control subsystem. (This should be the manually switchable subsystem.) Ensure that the Forward/Reverse Switch is set to up and the Neutral Switch to down.
Start the model. You can change the forward gear settings by flipping the Bit0 and Bit1 Switch blocks and moving through truth table entries corresponding to each setting. (See the table, CR-CR 4-Speed Clutch Schedule Logic preceding.) Switching from one gear setting to another unlocks some clutches and locks others, but always leaves two clutches locked. As you flip between gear settings, the transmission transfers motion and torque at different ratios.
You can disengage the CR-CR transmission completely by flipping the Neutral Switch to up. This step also enables the Brake Switch in the main model. (If the transmission is engaged, not in neutral, the Brake Switch is disabled.)
If the transmission is disengaged but without braking, the driven shaft velocity slowly decreases under the influence of frictional damping. If you brake, however, by switching on the Brake Switch, the driven shaft velocity immediately drops to 0. The braking here works the same way as in the previous examples.
You can put the CR-CR transmission into reverse by keeping the Neutral Switch flipped to down and by flipping the Forward/Reverse Switch to down.
As with a real transmission, it is best to transition the transmission model through neutral and bring the driven shaft to a rest before putting the transmission into reverse gear.
The drive_crcr_ideal model allows you to switch forward gear settings without placing the CR-CR transmission in neutral. Of course, controlling a real manual transmission requires moving the transmission out of gear and into neutral, picking a new gear setting, then putting the transmission into the new gear. You can mimic these steps by flipping the Neutral Switch on, changing the gear setting, then slipping the Neutral Switch off.
The most critical addition you can make to this model for greater realism is to change the clutch pressure signals from step functions (0 to 1, or 1 to 0) to signals with a smooth rise and fall. A variant model, drive_crcr, has smoothed clutch pressure signals. The price of this greater realism is a potentially more complex model. It is critical for Simulink to determine transmission motion for exactly two clutches to always remain locked, or for all four to be unlocked, at any instant. Changing the CR-CR transmission's gear settings while maintaining this requirement is an example of the central problem of transmission design.