Brushless DC Motor2
-
Upload
firhan-ahmad-rubi -
Category
Documents
-
view
215 -
download
0
Transcript of Brushless DC Motor2
Brushless DC Motor
For system design, it is not usually necessary to model the current switching controlled by the
motor driver, whereas ensuring the correct torque-speed characteristics and current drawn from
the DC supply is. This demo shows how a system-level model of a brushless DC motor (i.e. a
servomotor) can be constructed and parameterized based on datasheet information. The motor
and driver are modeled as a single masked subsystem. To see the model structure, select the
Motor and driver block, and type ctrl-U to look under the mask.
In this example, the standard configuration is modeled whereby an inner feedback loop controls
current and an outer feedback loop controls motor speed. Speed demand is set by the voltage
presented at the Vref pin, and motor direction by the voltage presented at the Vdir pin. If the
voltage at the Vbrk pin goes high, then Vref is overridden and speed demand set to zero to
implement a braking action. In this demo, the speed demand is set to 2V which corresponds to
40,000rpm. After one second, the Vdir pin is set high, and the motor reverses to -40,000rpm.
Then after another second, the braking pin Vbrk is set high, causing the motor to revert to zero
rpm. Note that efficiency as recorded by the scope is defined as the ratio of mechanical power
out to electrical power in. Hence it can be transiently outside of the 0 to 100 percent range due
to rotor inertia.
The manufacturer datasheet gives the stall torque as 0.44mNm, the maximum permissible
speed as 100,000rpm, mechanical time constant as 5ms, rotor inertia as 0.005gcm^2, efficiency
as 41 percent at 0.23mNm and 40,000rpm, no-load current as 22mA and nominal voltage as
12V. The time constant is based on using the manufacturer motor driver which uses block
commutation. The motor driver can be configured so that when the speed reference voltage is
as at its maximum of +5V, the commanded speed is 100,000rpm.
The Servomotor block in the Motor and driver subsystem is used to model the inner current
feedback loop, plus balance mechanical and electrical powers. The vector of maximum torque
values is in practice determined by the maximum driver current. Motor drivers normally have a
maximum current setting which should be matched to the maximum rated motor torque, or the
maximum torque that is to be applied to the load if the motor is over-specified. Here the vector
of maximum torque values is set to be the motor stall torque up to and beyond the maximum
speed of 100,000rpm. The assumption is that system in which the motor and driver are used
will take care of ensuring that the motor does not overheat by operating too long at high torque
and speed combinations.
Motor electrical losses are assumed to consist of two terms. The first is a fixed loss that is
independent of load, and this is calculated as Vcc*I0 where Vcc is the nominal supply voltage
and I0 is the no-load DC current drawn from the driver power supply. Note that if block
commutation is used, as for the driver this example is based on, I0 will be twice the current in
an energized phase winding. The second loss term is proportional to the square of instantaneous
motor winding current. This can be approximated as a term that is proportional to the square of
the average torque. The two loss terms are implemented by the Servomotor block.
There are three Motor and driver mask parameters which have to be tuned to match datasheet
values. These are the proportional and integral gains for the speed feedback controller, and the
time constant for the inner-loop current controller. Here, the datasheet gives the no-load time
constant as 5ms. A typical rule of thumb is that an inner control loop should be at least ten
times faster than the outer loop. This means a time constant of 0.5ms for the current controller.
With this value set, the proportional term is then increased until the speed time constant is
approximately 5ms. The integral gain should then be set when performing a speed step under
load, and increased until steady-state error is removed in the order of 5ms. Some fine tuning of
the two gains is then needed to recover the 5ms rise time under no load.