Brushless motor model with closed-loop torque control

Rotational Actuators

The Servomotor block represents a brushless motor model with closed-loop torque control. This block abstracts the torque-speed behavior of the combined motor and motor driver in order to support system-level simulation where simulation speed is important.

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. The following figure shows a typical torque-speed envelope for a servomotor.

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 servomotor 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 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,

*P*_{0}. 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

*k*_{w}*ω*^{2}, where*ω*is the speed and*k*_{w}is a constant. This represents iron losses due to eddy currents.

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

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

The block has an optional thermal port, hidden by default. To
expose the thermal port, right-click the block in your model, and
then from the context menu select **Simscape** > **Block
choices** > **Show thermal port**.
This action displays the thermal port H on the block icon, and adds
the **Temperature Dependence** and **Thermal
Port** tabs to the block dialog box. These tabs are described
further on this reference page.

Use the thermal port to simulate the effects of copper resistance losses that convert electrical power to heat. For more information on using thermal ports in actuator blocks, see Simulating Thermal Effects in Rotational and Translational Actuators.

This model is based on the following assumptions:

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.

**Parameterize by**Select one of the following methods for block parameterization:

`Tabulated torque-speed envelope`

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

**Vector of rotational speeds**Rotational speeds for permissible steady-state operation. This parameter is visible only if you select

`Tabulated torque-speed envelope`

for the**Parameterize by**parameter. The default value is`[0 3.75e+03 7.5e+03 8e+03]`

rpm. 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.**Vector of maximum torque values**Maximum torque values for permissible steady-state operation. This parameter is visible only if you select

`Tabulated torque-speed envelope`

for the**Parameterize by**parameter. These values correspond to the speeds in the**Vector of rotational speeds**parameter and define the torque-speed envelope for the motor. The default value is`[0.09 0.08 0.07 0]`

Nm.**Maximum torque**The maximum permissible motor torque. This parameter is visible only if you select

`Maximum torque and power`

for the**Parameterize by**parameter. The default value is`0.1`

Nm.**Maximum power**The maximum permissible motor power. This parameter is visible only if you select

`Maximum torque and power`

for the**Parameterize by**parameter. The default value is`30`

W.**Torque Control time constant, Tc**Time constant with which the motor driver tracks a torque demand. The default value is

`0.02`

s.

**Parameterize losses by**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. This is the default option.`Tabulated loss data`

— Determine the losses by two-dimensional table lookup based on the provided tabulated data for motor speeds, load torques, and corresponding losses.

**Motor and driver overall efficiency (percent)**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}^{2}}$$

where:

*τ*_{0}represents the**Torque at which efficiency is measured**.*ω*_{0}represents the**Speed at which efficiency is measured**.*P*_{0}represents the**Fixed losses independent of torque or speed**.$$k{\tau}_{0}^{2}$$ represents the torque-dependent electrical losses.

*k*_{w}*ω*^{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. This parameter is visible only if**Parameterize losses by**is set to`Single efficiency measurement`

. The default value is`100`

%.**Speed at which efficiency is measured**Speed that the block uses to calculate torque-dependent electrical losses. This parameter is visible only if

**Parameterize losses by**is set to`Single efficiency measurement`

. The default value is`3.75e+03`

rpm.**Torque at which efficiency is measured**Torque that the block uses to calculate torque-dependent electrical losses. This parameter is visible only if

**Parameterize losses by**is set to`Single efficiency measurement`

. The default value is`0.08`

Nm.**Iron losses**Iron losses at the speed and torque at which efficiency is defined. This parameter is visible only if

**Parameterize losses by**is set to`Single efficiency measurement`

. The default value is`0`

W.**Fixed losses independent of torque and speed**Fixed electrical loss associated with the driver when the motor current and torque are zero. This parameter is visible only if

**Parameterize losses by**is set to`Single efficiency measurement`

. The default value is`0`

W.**Vector of speeds (w) for tabulated losses**The vector of speed values, to be used for table lookup when calculating losses. This parameter is visible only if

**Parameterize losses by**is set to`Tabulated loss data`

. The default value is`[-8000 -4000 0 4000 8000]`

rpm.**Vector of torques (T) for tabulated losses**The vector of speed values, to be used for table lookup when calculating losses. This parameter is visible only if

**Parameterize losses by**is set to`Tabulated loss data`

. The default value is`[0 0.03 0.06 0.09]`

Nm.**Corresponding losses, P(w,T)**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. This parameter is visible only if

**Parameterize losses by**is set to`Tabulated loss data`

. The default value is`[1.49 1.67 2.21 3.10; 0.42 0.69 1.14 2.03; 0.06 0.24 0.78 1.68; 0.42 0.69 1.14 2.03; 1.49 1.67 2.21 3.10]`

W.**Supply series resistance**The 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. The default value is

`0`

Ω.

**Rotor inertia**Rotor resistance to change in motor motion. The default value is

`5e-06`

kg*m^{2}. The value can be zero.**Rotor damping**Rotor damping. The default value is

`1e-05`

N*m/(rad/s). The value can be zero.**Initial rotor speed**Rotor speed at the start of the simulation. The default value is

`0`

rpm.

This tab appears only for blocks with an exposed thermal port. For more information, see Thermal Ports.

**Resistance temperature coefficient**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, and is`0.00393`

1/K.**Measurement temperature**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 default value is`25`

°C.**Second measurement temperature**The temperature for which the

**Corresponding losses, P(w,T), at second measurement temperature**are given. This parameter is visible only if the**Parameterize losses by**parameter on the**Electrical Losses**tab is set to`Tabulated loss data`

. The default value is`125`

°C.**Corresponding losses, P(w,T), at second measurement temperature**Iron losses at the second measurement temperature, corresponding to the speed and torque tabulated values on the

**Electrical Losses**tab. This parameter is visible only if the**Parameterize losses by**parameter on the**Electrical Losses**tab is set to`Tabulated loss data`

. The default value is`[1.49 1.74 2.49 3.74;0.42 0.67 1.42 2.67;0.06 0.31 1.06 2.31;0.42 0.67 1.42 2.67;1.49 1.74 2.49 3.74]`

W.

This tab appears only for blocks with an exposed thermal port. For more information, see Thermal Ports.

**Thermal mass**Thermal mass of the electrical winding, defined as the energy required to raise the temperature by one degree. The default value is

`100`

J/K.**Initial temperature**The temperature of the thermal port at the start of simulation. The default value is

`25`

°C.

This block has the following ports:

`+`

Positive electrical DC supply

`-`

Negative electrical DC supply

`Tr`

Reference torque demand

`w`

Mechanical speed output

`C`

Mechanical rotational conserving port

`R`

Mechanical rotational conserving port

Was this topic helpful?