Brushless DC Motor2

2
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  presente d at the V ref pin, and motor dir ection b y the v oltage pre sented at the Vd ir 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

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.