Brushless motor model with closed-loop torque control
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 models the electrical losses as the sum of 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.
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.
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 and on the Temperature Dependence and Thermal port tab parameters, 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.
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.
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.
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.
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.
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.
Time constant with which the motor driver tracks a torque demand. The default value is 0.02 s.
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.
Speed that the block uses to calculate torque-dependent electrical losses. The default value is 3.75e+03 rpm.
Torque that the block uses to calculate torque-dependent electrical losses. The default value is 0.08 Nm.
Iron losses at the speed and torque at which efficiency is defined. The default value is 0 W.
Fixed electrical loss associated with the driver when the motor current and torque are zero. The default value is 0 W.
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 Ω.