# Motor & Drive (System Level)

Generic motor and drive with closed-loop torque control

• Library:
• Simscape / Electrical / Electromechanical / System-Level Modeling

## Description

The Motor & Drive (System Level) block represents a generic motor and drive with closed-loop torque control. Use this block to model a brushless motor (such as a PMSM) and drive, or, more generally, traction and actuation systems implemented using a wide range of motor types.

To enable fast simulation at a system level, this block abstracts the motor, drive electronics, and control.

The block permits only the range of torques and speeds that the torque-speed envelope defines. In the default block configuration, you specify this data in the block dialog box as a set of speed data points and corresponding maximum torque values.

This figure shows the Cartesian quadrants definition:

The following figure shows a typical torque-speed envelope for a torque-controlled motor and drive.

Specify the torque-speed envelope for the positive torque region only, that is, quadrants 1 and 4. If you specify only for positive speeds (quadrant 1 or, equivalently, the motoring region), then the quadrant 4 torque envelope is defined by the block as the mirror image of quadrant 1. The motor torque-speed envelope has the same profile when the motor is operating in a reverse direction (quadrants 2 and 3).

Instead of providing tabulated torque-speed data, you can specify a maximum torque and a maximum power. This results in the torque-speed envelope profile shown below. The other three operating quadrants are constrained by this same profile.

The block produces a positive torque acting from the mechanical C to R ports.

### Intermittent Over-Torque Operation

To over-torque the motor for short periods of time, set the Allow intermittent over-torque parameter to `Yes`. In this case, you must specify the values for both the Continuous operation maximum torque envelope and the Intermittent operation maximum torque envelope parameters. Internally the block determines which torque envelope to apply based on the torque demand history. You can over-torque the motor drive if the torque demand has been less than the continuous operation torque envelope for more than the value specified in the Recovery time parameter. Over-torquing is disabled if over-torquing has been applied for longer than the value specified in the Over-torque time limit parameter.

For more application specific management of over-torquing, disable the over-torquing in the Motor & Drive block and externally implement the torque limiting in Simulink™ between the torque demand and the torque reference input port, Tr, of the Motor & Drive block.

### Model Electrical Losses

The block allows both simplified and tabulated definition of electrical losses. The default, simplified, behavior is to model the losses as the sum of the following four terms:

• A series resistance between the DC power supply and the motor drive.

• Fixed losses independent of torque and speed, P0. Use this to account for fixed converter losses.

• A torque-dependent electrical loss kτ2, where τ is the torque and k is a constant. This represents ohmic losses in the copper windings.

• A speed-dependent electrical loss kwω2, where ω is the speed and kw is a constant. This represents iron losses due to eddy currents.

This simplification of loss dependency on torque and speed might be sufficient for early design work, regardless of the underlying motor type and drive topology.

If you require more accuracy, or later in the design process, you can provide tabulated loss values as a function of motor speed and load torque. When using this option, provide data for all of the operating quadrants that your simulation will run in. If you provide partial data (for example, just for the quadrant 1 forward motoring region), then the other quadrants are assumed to repeat the same pattern of losses. This will normally be correct for the reverse motoring region, but may be an approximation for the braking/generating quadrants. The block does no extrapolation of loss values for speed and torque magnitudes that exceed the range of the table.

Finally, you can specify electrical losses by using tabulated efficiency data, instead of a single efficiency measurement or tabulated loss data. When using this option, also provide data for all of the operating quadrants that your simulation will run in. If you provide partial data (for example, just for the quadrant 1 forward motoring region), then the other quadrants are assumed to repeat the same pattern of losses.

The best practice is to provide tabulated loss data as a function of speed and torque, rather than tabulated efficiency data, because:

• Efficiency becomes ill-defined for zero speed or zero torque.

• Using losses, you can also account for fixed losses that are still present for zero speed or torque.

If you use the tabulated efficiencies option:

• The block converts the efficiency values you provide into losses and uses the tabulated losses for simulation.

• Efficiency values you provide for zero speed or zero torque are ignored, and losses are assumed zero when either torque or speed is zero.

• The block uses linear interpolation to determine losses. Provide tabulated data for low speeds and low torques, as required, to get the desired level of accuracy for lower power conditions.

• The block does no extrapolation of loss values for speed and torque magnitudes that exceed the range of the table.

When you provide tabulated loss or efficiency data, you can also specify it as a function of speed, load torque, and DC supply voltage. This option is useful when the supply voltage is not regulated and can vary during the simulation. One example is an electric vehicle drivetrain that does not have a DC-DC regulator upstream of the motor drive. Use the Motor & Drive (System Level) block to model the motor drive and provide tabulated loss or efficiency values as a function of motor speed, load torque, and DC supply voltage.

### Plot Efficiency Map

The block allows you to visualize the map of the torque-speed envelope and the steady-state electrical efficiency of the motor and drive. To plot the efficiency map, either:

• Double-click the block in your block diagram and, in the Description tab, click ```Plot efficiency map```.

• Right-click the block in your block diagram and, in the Electrical context menu, select `Plot efficiency map`.

This efficiency map does not include the losses generated by the External supply series resistance and Rotor damping parameters.

### Model Thermal Effects

You can expose the thermal port to model the effects of losses that convert power to heat. To expose the thermal port, set the Modeling option parameter to either:

• `No thermal port` — The block does not contain a thermal port.

• `Show thermal port` — The block contains one thermal conserving port.

For more information about using thermal ports in actuator blocks, see Simulating Thermal Effects in Rotational and Translational Actuators.

### Model Faults

You can use the physical signal input port F to simulate servomotor failure, as well as connecting and disconnecting the DC supply. You cannot simulate disconnecting the DC supply by simply opening a switch, because there must be a finite voltage on the servomotor terminals, producing the current that balances the electrical and mechanical power.

If a signal is connected to port F, then the block operates according to the parameter settings on the Faults tab. For example, if Fault condition is ```Faulted if F >= Fault threshold```, then when the signal at port F rises above the Fault threshold value, the servomotor stops operating, zero current is taken from the supply side, and zero current is supplied to the load side.

### Variables

To set the priority and initial target values for the block variables prior to simulation, use the Initial Targets section in the block dialog box or Property Inspector. For more information, see Set Priority and Initial Target for Block Variables.

Nominal values provide a way to specify the expected magnitude of a variable in a model. Using system scaling based on nominal values increases the simulation robustness. Nominal values can come from different sources, one of which is the Nominal Values section in the block dialog box or Property Inspector. For more information, see System Scaling by Nominal Values.

## Assumptions and Limitations

• The motor driver tracks a torque demand with a time constant Tc.

• Motor speed fluctuations due to mechanical load do not affect the motor torque tracking.

• The electrical connections must always be connected to a supply, such as a DC voltage source or a battery, that provides a positive voltage and is capable of delivering or absorbing the required power. To simulate turning the supply source on and off, see Model Faults.

## Ports

### Input

expand all

Physical input port associated with the reference torque demand.

Physical input port associated with the servomotor failure simulation.

#### Dependencies

To enable this port, set Enable open circuit fault to `On`.

### Output

expand all

Physical output port associated with the mechanical speed.

### Conserving

expand all

Electrical conserving port associated with the positive electrical DC supply.

Electrical conserving port associated with the negative electrical DC supply.

Mechanical rotational conserving port associated with the motor case.

Mechanical rotational conserving port associated with the motor rotor.

Thermal port.

#### Dependencies

To enable this port, set Modeling option to `Show thermal port`.

## Parameters

expand all

Whether to enable the thermal port of the block and model the effects of losses that convert power to heat.

### Electrical Torque

Select one of the following methods for block parameterization:

• ```Tabulate torque envelope with speed``` — Provide the vectors of rotational speeds and corresponding maximum torque values. This is the default option.

• `Maximum torque and power` — Define the torque-speed envelope by providing values for maximum permissible torque and motor power.

• ```Tabulate torque envelope with speed and supply voltage``` — Provide the vectors of rotational speeds, the vectors of DC supply voltages, and the corresponding maximum torque values.

Whether to allow intermittent over-torque. For more information on over-torquing, see Intermittent Over-Torque Operation.

Maximum torque values for permissible steady-state operation. These values correspond to the speeds in the Corresponding rotational speeds, w parameter and define the torque-speed envelope for the motor.

#### Dependencies

To enable this parameter, set Parameterize by to ```Tabulate torque envelope with speed```.

Maximum torque values for permissible steady-state operation. These values correspond to the speeds in the Corresponding rotational speeds, w parameter and to the voltages in the Corresponding DC supply voltage, Vdc parameter. This parameter defines the envelope with speed and supply voltage for the motor.

#### Dependencies

To enable this parameter, set Parameterize by to ```Tabulate torque envelope with speed and supply voltage```.

Maximum torque values during intermittent over-torquing operation.

#### Dependencies

To enable this parameter, set Parameterize by to `Tabulate torque envelope with speed` and Allow intermittent over-torque to `Yes`.

Maximum torque values during intermittent over-torquing operation tabulated with speeds and voltages. The values of this parameter must be greater than the values of the Continuous operation maximum torque envelope, T_c(w, Vdc) parameter.

#### Dependencies

To enable this parameter, set Parameterize by to ```Tabulate torque envelope with speed and supply voltage``` and Allow intermittent over-torque to `Yes`.

Rotational speeds for permissible steady-state operation. To avoid poor performance due to an infinite slope in the torque-speed curve, specify a vector of rotational speeds that does not contain duplicate consecutive values.

#### Dependencies

To enable this parameter, set Parameterize by to ```Tabulate torque envelope with speed```.

DC supply voltages for permissible steady-state operation. The values of this parameter must be strictly ascending.

#### Dependencies

To enable this parameter, set Parameterize by to ```Tabulate torque envelope with speed and supply voltage```.

Maximum permissible motor torque during continuous operation.

#### Dependencies

To enable this parameter, set Parameterize by to `Maximum torque and power`.

Maximum permissible motor power during continuous operation.

#### Dependencies

To enable this parameter, set Parameterize by to `Maximum torque and power`.

Maximum permissible motor torque during intermittent over-torquing operation.

#### Dependencies

To enable this parameter, set Parameterize by to `Maximum torque and power` and Allow intermittent over-torque to `Yes`.

Maximum permissible motor power during intermittent over-torquing operation.

#### Dependencies

To enable this parameter, set Parameterize by to `Maximum torque and power` and Allow intermittent over-torque to `Yes`.

Maximum amount of time for which you can continuously apply over-torquing.

#### Dependencies

To enable this parameter, set Allow intermittent over-torque to `Yes`.

Amount of time for which the torque demand has to be less than the continuous operation torque envelope to be able to apply over-torquing again.

#### Dependencies

To enable this parameter, set Allow intermittent over-torque to `Yes`.

Time constant with which the motor driver tracks a torque demand.

### Electrical Losses

Select one of the following methods for electrical loss parameterization:

• `Single efficiency measurement` — Model the losses as the sum of the four terms, listed in the block description, at a single measurement point.

• ```Tabulated loss data as a function of speed and torque``` — Determine the losses by two-dimensional table lookup based on the provided tabulated data for motor speeds, load torques, and corresponding losses.

• ```Tabulated efficiency data as a function of speed and torque``` — Determine the losses by two-dimensional table lookup based on the provided tabulated data for motor speeds, load torques, and corresponding efficiencies.

• ```Tabulated loss data as a function of speed, torque, and DC supply voltage``` — Determine the losses by three-dimensional table lookup based on the provided tabulated data for motor speeds, load torques, DC supply voltages, and corresponding losses.

• ```Tabulated efficiency data as a function of speed, torque, and DC supply voltage``` — Determine the losses by three-dimensional table lookup based on the provided tabulated data for motor speeds, load torques, DC supply voltages, and corresponding efficiencies.

See Model Electrical Losses for details.

The block defines overall efficiency as

`$\eta =100\frac{{\tau }_{0}{\omega }_{0}}{{\tau }_{0}{\omega }_{0}+{P}_{0}+k{\tau }_{0}^{2}+{k}_{w}{\omega }_{0}^{2}}$`

where:

• τ0 represents the Torque at which efficiency is measured.

• ω0 represents the Speed at which efficiency is measured.

• P0 represents the Fixed losses independent of torque or speed.

• $k{\tau }_{0}^{2}$ represents the torque-dependent electrical losses.

• kwω2 represents the speed-dependent iron losses.

At initialization, the block solves the efficiency equation for k. The block neglects losses associated with the rotor damping.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to `Single efficiency measurement`.

Speed that the block uses to calculate torque-dependent electrical losses.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to `Single efficiency measurement`.

Torque that the block uses to calculate torque-dependent electrical losses.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to `Single efficiency measurement`.

Iron losses at the speed and torque at which efficiency is defined.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to `Single efficiency measurement`.

Fixed electrical loss associated with the driver when the motor current and torque are zero.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to `Single efficiency measurement`.

Vector of speed values, to be used for table lookup when calculating losses.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to ```Tabulated loss data as a function of speed and torque```, ```Tabulated loss data as a function of speed, torque, and DC supply voltage```, ```Tabulated efficiency data as a function of speed and torque```, or ```Tabulated efficiency data as a function of speed, torque, and DC supply voltage```.

Vector of speed values, to be used for table lookup when calculating losses.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to ```Tabulated loss data as a function of speed and torque```, ```Tabulated loss data as a function of speed, torque, and DC supply voltage```, ```Tabulated efficiency data as a function of speed and torque```, or ```Tabulated efficiency data as a function of speed, torque, and DC supply voltage```.

The vector of DC supply voltages, to be used for table lookup when calculating losses.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to ```Tabulated loss data as a function of speed, torque, and DC supply voltage``` or ```Tabulated efficiency data as a function of speed, torque, and DC supply voltage```.

Tabulated values for electrical losses as a function of speed and torque, to be used for 2D table lookup. Each value in the matrix specifies the losses for a specific combination of speed and torque. The matrix size must match the dimensions defined by the speed and torque vectors.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to ```Tabulated loss data as a function of speed and torque```.

Tabulated efficiency values, in percent, as a function of speed and torque, to be used for 2D table lookup. Each value in the matrix specifies the efficiency for a specific combination of speed and torque. The matrix size must match the dimensions defined by the speed and torque vectors. Efficiency values you provide for zero speed or zero torque are ignored, and losses are assumed zero when either torque or speed is zero. The block uses linear interpolation to determine losses. Provide tabulated data for low speeds and low torques, as required, to get the desired level of accuracy for lower power conditions.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to ```Tabulated efficiency data as a function of speed and torque```.

Tabulated values for electrical losses as a function of speed, torque, and DC supply voltage, to be used for 3D table lookup. Each value in the matrix specifies the losses for a specific combination of speed, torque, and DC supply voltage. The matrix size must match the dimensions defined by the three vectors.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to ```Tabulated loss data as a function of speed, torque, and DC supply voltage```.

Tabulated efficiency values, in percent, as a function of speed, torque, and DC supply voltage, to be used for 3D table lookup. Each value in the matrix specifies the efficiency for a specific combination of speed, torque, and DC supply voltage. The matrix size must match the dimensions defined by the three vectors. Efficiency values you provide for zero speed or zero torque are ignored, and losses are assumed zero when either torque or speed is zero. The block uses linear interpolation to determine losses. Provide tabulated data for low speeds and low torques, as required, to get the desired level of accuracy for lower power conditions.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter to ```Tabulated efficiency data as a function of speed, torque, and DC supply voltage```.

Equivalent resistance used in series with the DC supply to model electrical losses that are proportional to the driver supply current. The block assumes that the DC supply current is approximately constant under constant load conditions.

### Faults

Whether to enable open circuit fault.

Selects whether the fault is triggered by a signal that is high or low:

• `Faulted if F >= Fault threshold`Motor & Drive (System Level) block is disabled if the signal at port F rises above the threshold value.

• `Faulted if F <= Fault threshold`Motor & Drive (System Level) block is disabled if the signal at port F falls below the threshold value.

#### Dependencies

To enable this parameter, set Enable open circuit fault to `On`.

The threshold value used to detect a fault.

#### Dependencies

To enable this parameter, set Enable open circuit fault to `On`.

### Mechanical

Rotor resistance to change in motor motion. The value can be zero.

Rotor damping. The value can be zero.

Rotor speed at the start of the simulation.

### Temperature Dependence

To enable these parameters, set Modeling option to `Show thermal port`.

Parameter α in the equation defining resistance as a function of temperature, as described in Thermal Model for Actuator Blocks. This parameter is visible only if the Parameterize losses by parameter on the Electrical Losses tab is set to `Single efficiency measurement`. The default value is for copper.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter on the Electrical Losses setting to `Single efficiency measurement`.

The temperature for which motor parameters are defined. If you parameterize electrical losses by tabulated loss data, then this is the temperature for which the Corresponding losses, P(w,T) are given on the Electrical Losses tab.

The temperature for which the Corresponding losses, P(w,T), at second measurement temperature are given.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter on the Electrical Losses setting to `Tabulated loss data`.

Iron losses at the second measurement temperature, corresponding to the speed and torque tabulated values on the Electrical Losses tab.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter on the Electrical Losses setting to `Tabulated loss data`.

Tabulated efficiency values, in percent, at the second measurement temperature, corresponding to the speed and torque tabulated values on the Electrical Losses tab.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter on the Electrical Losses setting to ```Tabulated efficiency data as a function of speed and torque```.

Iron losses at the second measurement temperature, corresponding to the speed, torque, and DC supply voltage tabulated values on the Electrical Losses tab.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter on the Electrical Losses setting to ```Tabulated loss data as a function of speed, torque, and DC supply voltage```.

Tabulated efficiency values, in percent, at the second measurement temperature, corresponding to the speed, torque, and DC supply voltage tabulated values on the Electrical Losses tab.

#### Dependencies

This parameter is visible only when you set the Parameterize losses by parameter on the Electrical Losses setting to ```Tabulated efficiency data as a function of speed, torque, and DC supply voltage```.

### Thermal Port

To enable these parameters, set Modeling option to `Show thermal port`.

Thermal mass of the electrical winding, defined as the energy required to raise the temperature by one degree.

The temperature of the thermal port at the start of simulation. The default value is `25``°C`.

## Version History

Introduced in R2008a

expand all