Contenu principal

Rack & Pinion

R2026b

Rack and pinion gear coupling translational and rotational motion, with adjustable pinion radius and friction losses

  • Rack & Pinion block

Libraries:
Simscape / Driveline / Gears / Rotational- Translational

Description

The Rack & Pinion block represents a rack and pinion mechanism that converts between translational and rotational motion. The rotational-translational gear constrains the pinion, P, and the rack, R, to move together at a given ratio. You can choose whether the rack axis translates in a positive or negative direction as the pinion rotates in a positive direction.

The block defines the relationship between the pinion angular velocity and the rack velocity, such that

ωP=βrPvR,

where,

  • ωP is the angular velocity of the pinion shaft.

  • β is the rack direction, where +1 represents positive motion, and -1 represents negative motion, specified by the Rack direction parameter.

  • vR is the translational velocity of the rack.

  • rP is the effective radius of the pinion.

When you set the Parameterize by parameter to Pinion radius, you specify rP directly by using the Pinion radius parameter. When you select Tooth parameters, the block finds the pinion radius from the tooth geometry, such that

rP=NPxR2π,

where,

  • NP is the number of teeth on the pinion, specified by the Number of teeth parameter.

  • xR is the rack tooth spacing, specified by the Rack tooth spacing parameter.

The pinion torque and rack force satisfy a force balance along the direction of motion. The block relates the rack force to the pinion torque, such that

−FR=βτPrP−Floss,

where,

  • FR is the force of the rack on the pinion.

  • τP is the torque of the rotational network on the pinion.

  • Floss is the total loss force.

When you set the Friction model parameter to No meshing losses - Suitable for HIL simulation, Floss = 0. When you select Constant efficiency or Temperature-dependent efficiency, the block uses the torque transfer efficiency to evaluate Floss, such that

Pp=ωPτPFloss=βτPrP2η(1−η2)(tanh(4PpPthr)+2η−η2−1)

whwhere,

  • PP is the power of the rotational network acting on the pinion.

  • η is the torque transfer efficiency.

  • Pthr is the power threshold, specified by the Rack power threshold parameter.

You can specify η as a constant or temperature-dependent value. When |PP| > Pthr, the block applies the full value of η. Otherwise, the block uses a hyperbolic tangent function to smooth η to 1 when ωP = vP = 0. The block applies the same efficiency for forward and reverse power flow.

The block uses a subcomponent implementation of the Rotational Damper and Translational Damper blocks to apply rotational and translational viscous friction, respectively. For general considerations on nonideal gear modeling, see Model Gears with Losses.

Thermal Model

You can model the effects of heat flow and temperature change by enabling the optional thermal port. To enable the port, set Friction model to Temperature-dependent efficiency.

Hardware-in-the-Loop Simulation

For optimal performance of your real-time simulation, set the Friction model to No meshing losses - Suitable for HIL simulation on the Meshing Losses tab.

Variables

Use the Variables settings to set the priority and initial target values for the block variables before simulating. For more information, see Set Priority and Initial Target for Block Variables.

Limitations

  • Gear inertia is assumed to be negligible.

  • Gears are treated as rigid components.

  • Coulomb friction slows down simulation. For more information, see Adjust Model Fidelity.

Ports

Conserving

expand all

Rotational mechanical conserving port associated with the pinion.

Programmatic Use

Port: P

Translational mechanical conserving port associated with the rack.

Programmatic Use

Port: R

Thermal conserving port associated with heat transfer.

Programmatic Use

Port: H

Parameters

expand all

Main

Parameterization method of the rack and pinion gear. You can select from these options.

  • Pinion radius — Effective radius of the pinion determines gear ratio.

  • Tooth parameters — Number of teeth on the pinion gear and the rack tooth spacing defines gear ratio.

Programmatic Use

Parameter: param
Values: "sdl.enum.rackPinionParameters.radius" | "sdl.enum.rackPinionParameters.tooth"

Effective radius of the pinion, rP.

Dependencies

To enable this parameter, set Parameterize by to Pinion radius.

Programmatic Use

Parameter: radius

Number of teeth on the pinion, NP.

Dependencies

To enable this parameter, set Parameterize by to Tooth parameters.

Programmatic Use

Parameter: n_teeth

Spacing between the teeth on the rack, xR.

Dependencies

To enable this parameter, set Parameterize by to Tooth parameters.

Programmatic Use

Parameter: x_tooth

Choose whether the rack axis translates in a positive or negative direction when the pinion rotates in a positive direction.

Programmatic Use

Parameter: rack_direction_sign
Values: "sdl.enum.pinionDirection.positive" | "sdl.enum.pinionDirection.negative"

Meshing Losses

Method to calculate efficiency.

Programmatic Use

Parameter: friction_model
Values: "sdl.enum.gear_friction.constant" | "sdl.enum.gear_friction.thermal" | "sdl.enum.gear_friction.none"

Torque transfer efficiency between the rack and pinion gear, η. Efficiency is the same in either direction.

Dependencies

To enable this parameter, set Friction model to Constant efficiency.

Programmatic Use

Parameter: efficiency

Vector of temperatures that construct a 1-D temperature-efficiency lookup table. The array values must increase left to right. The values must correspond element-wise with the values in the Efficiency parameter.

Dependencies

To enable this parameter, set Friction model to Temperature-dependent efficiency.

Programmatic Use

Parameter: temperature_TLU

Vector of efficiencies that construct a 1-D temperature-efficiency lookup table. The values must correspond element-wise with the values in the Temperature parameter.

Dependencies

To enable this parameter, set Friction model to Temperature-dependent efficiency.

Programmatic Use

Parameter: efficiency_TLU

Power threshold above which the full efficiency factor is in effect. Below this value, a hyperbolic tangent function smooths the efficiency factor, lowering the efficiency losses to zero when no power is transmitted.

Programmatic Use

Parameter: pwr_thr

Viscous Losses

Viscous friction coefficient of the pinion shaft.

Programmatic Use

Parameter: mu_visc_P

Viscous friction coefficient of the rack.

Programmatic Use

Parameter: mu_visc_R

Thermal Port

Thermal energy required to change the component temperature by a single degree. The greater the thermal mass, the more resistant the component is to temperature change.

Programmatic Use

Parameter: thermal_mass

Component temperature at the start of simulation. The initial temperature alters the component efficiency according to an efficiency vector that you specify, affecting the starting meshing or friction losses.

Programmatic Use

Parameter: T_init

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2011a