# Harmonic Drive

High-ratio speed reducer based on elastic deformation of an elliptical gear

• Library:
• Simscape / Driveline / Gears

## Description

This block represents a compact, high-ratio, speed reduction mechanism that contains three key components:

• Strain wave generator

• Elliptical gear

• Circular ring gear

The strain wave generator comprises an elliptical plug mated to a raced ball bearing. It sits inside an elastic metal gear, deforming it into a slight elliptical pattern. Rotation of the elliptical pattern in the body of the gear constitutes a strain wave.

The elliptically deformed gear engages the internal teeth of a fixed circular ring gear of only slightly larger diameter. Meshing occurs concurrently at the two elongated ends of the elliptical gear. This design doubles the teeth in mesh, boosting the torque capacity of the drive system.

During normal operation, the base shaft drives the strain wave generator. The elliptical plug spins freely inside the elastic metal gear, propagating the strain wave about the gear rotation axis. This strain wave causes the elliptical gear teeth to engage the internal teeth of the circular ring gear progressively.

The internal meshing between the two gears causes the elliptical gear axis to spin counter to the elliptical strain wave. For every clockwise rotation that the strain wave generator completes, the elliptical gear axis rotates counterclockwise by a small amount.

Large reduction ratios arise from the near-equal gear tooth numbers. The effective gear reduction ratio is:

`$r=\frac{{n}_{\text{E}}}{{n}_{\text{C}}-{n}_{\text{E}}}\text{\hspace{0.17em}},$`

where:

• r is the gear reduction ratio.

• nC is the tooth number of the circular ring gear.

• nE is the tooth number of the deformable elliptical gear.

Optional parameters account for power losses due to gear meshing and viscous friction. The Simple Gear block provides the foundation for this block. For more information, see Simple Gear.

### Thermal Model

You can model the effects of heat flow and temperature change by exposing an optional thermal port. To expose the port, in the Meshing Losses tab, set the Friction model parameter to ```Temperature-dependent efficiency```.

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

Dependencies

Variable settings are exposed only when, in the Meshing Losses settings, the Friction model parameter is set 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.

## Ports

### Conserving

expand all

Conserving rotational port representing the base shaft torque and angular velocity.

Conserving rotational port representing the follower shaft torque and angular velocity.

Thermal conserving port for thermal modeling.

#### Dependencies

To enable this port, set Friction model to either:

• ```Temperature-dependent efficiency```

• ```Temperature and load-dependent efficiency```

.

## Parameters

expand all

### Main

Total number of teeth protruding outward from the elliptical gear perimeter. This number should be slightly smaller than the number of teeth on the circular ring gear. The ratio of the two gear tooth numbers defines the relative angular velocities of the base and follower shafts.

Number of teeth protruding inward from the circular ring gear perimeter. This number should be slightly larger than the number of teeth on the elliptical gear. The ratio of the two gear tooth numbers defines the relative angular velocities of the base and follower shafts.

### Meshing Losses

• ```No meshing losses — Suitable for HIL simulation``` — Gear meshing is ideal.

• `Constant efficiency` — Transfer of torque between worm and gear is reduced by friction.

• `Load-dependent efficiency` — Reduce torque transfer by a variable efficiency factor. This factor falls in the range 0 < η < 1 and varies with the torque load.

• ```Temperature-dependent efficiency``` — Reduce torque transfer by a constant efficiency factor that is dependent on temperature but does not consider the gear load. This factor falls in the range 0 < η ≤ 1 and is independent from load. Torque transfer is determined from user-supplied data for gear efficiency and temperature.

• ```Temperature and load-dependent efficiency``` — Reduce torque transfer by a variable efficiency factor that is dependent on temperature and load. This factor falls in the range 0 < η < 1 and varies with the torque load. Torque transfer efficiency is determined from user-supplied data for gear loading and temperature.

Torque transfer efficiency (η) between base and follower shafts. This parameter is inversely proportional to the meshing power losses.

#### Dependencies

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

Absolute value of the follower shaft power above which the full efficiency factor is in effect. A hyperbolic tangent function smooths the efficiency factor from zero when at rest to the full efficiency value at the power threshold.

As a guideline, the power threshold should be lower than the expected power transmitted during simulation. Higher values might cause the block to underestimate efficiency losses. However, very low values may raise the computational cost of simulation.

#### Dependencies

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

Net torque (τidle) acting on the input shaft in idle mode, e.g., when torque transfer to the output shaft equals zero. For nonzero values, the power input in idle mode completely dissipates due to meshing losses.

#### Dependencies

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

Output torque (τF) at which to normalize the load-dependent efficiency.

#### Dependencies

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

Torque transfer efficiency (η) at the nominal output torque. Larger efficiency values correspond to greater torque transfer between the input and output shafts.

#### Dependencies

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

Absolute value of the follower shaft angular velocity above which the full efficiency factor is in effect (ωF). Below this value, a hyperbolic tangent function smooths the efficiency factor to one, lowering the efficiency losses to zero when at rest.

As a guideline, the angular velocity threshold should be lower than the expected angular velocity during simulation. Higher values might cause the block to underestimate efficiency losses. However, very low values may raise the computational cost of simulation.

#### Dependencies

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

Array of temperatures used to construct an efficiency lookup table. The array values must increase from left to right. The temperature array must be the same size as the efficiency array in temperature-dependent models. The array must be the same size as the array.

#### Dependencies

To enable this parameter, set Friction model to either:

• ```Temperature-dependent efficiency```

• ```Temperature and load-dependent efficiency```

Array of efficiencies used to construct a 1-D temperature-efficiency lookup table for temperature-dependent efficiency models. The array elements are the efficiencies at the temperatures in the Temperature array. The two arrays must be the same size.

#### Dependencies

To enable this parameter, set Friction model to either:

• ```Temperature-dependent efficiency```

• ```Temperature and load-dependent efficiency```

Absolute value of the follower shaft power above which the full efficiency factor is in effect. A hyperbolic tangent function smooths the efficiency factor between zero when at rest and the value provided by the temperature-efficiency lookup table when at the power threshold.

#### Dependencies

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

Array of elliptical-gear loads used to construct a 2-D temperature-load-efficiency lookup table for temperature-and-load-dependent efficiency models. The array values must increase from left to right. The load array must be the same size as a single column of the efficiency matrix.

#### Dependencies

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

Matrix of component efficiencies used to construct a 2-D temperature-load-efficiency lookup table. The matrix elements are the efficiencies at the temperatures in the Temperature array and at the loads in the Load at elliptical gear array.

The number of rows must be the same as the number of elements in the Temperature array. The number of columns must be the same as the number of elements in the Load at elliptical gear array.

#### Dependencies

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

Absolute value of the follower shaft angular velocity above which the full efficiency factor is in effect. Below this value, a hyperbolic tangent function smooths the efficiency factor to one, lowering the efficiency losses to zero when at rest.

#### Dependencies

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

### Viscous Losses

Two-element array with the viscous friction coefficients in effect at the base and follower shafts. The default array corresponds to zero viscous losses.

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

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.