Sales & Support: 1.800.377.6329

Print This Page

Galil Announces 750 Watt Servo Drives for DMC-40x0 and DMC-41x3 Controllers

Brushless Sine Drives - Application Note

Drives with Trapezoidal Commutation

Trapezoidal commutation relies on feedback from Hall-effect sensors embedded within the case of a three-phase brushless motor. These sensors will report the location of the rotor to the amplifier.

Figure 1 - Basic three-phase brushless motor layout

Based on these inputs, the amplifier will decide how to energize the motor phases in order to produce torque. As the motor rotates, a new Hall state is sensed, forcing the amplifier to route the current to a new set of motor phases. The order of these current transitions determines the direction of rotation. For example, to generate clockwise motion on a motor with a layout shown in Figure 2, the sequence would be A→B, A→C, B→C, B→A, C→A, C→B, then repeat.

Figure 2 - Motor winding schematic

Trapezoidally commutating amplifiers work very well when using rotary brushless motors with measurable mechanical friction, and when the Hall-effect signals are well aligned with the motor’s electrical phases. The benefit of “trap drives” is that they tend to be lower cost for a given current rating, and since the Hall sensors always report the absolute position of the rotor, there is no need for any initialization routines. One possible problem with trapezoidally commutating amplifiers occurs when used with linear motors. As the stator passes over the row of magnets, an audible ticking can sometimes be heard as the Hall states force a change in the current flow. Although there may be no measurable torque ripple, this audible characteristic could be considered detrimental.

Drives with Sinusoidal Commutation

Sinusoidal amplifiers vary the current being fed to the motor phases by a much more precise measurement of the rotor shaft location, defined as q. Normally, this position data comes from an incremental quadrature encoder mounted on the back of the motor. It is important to know the number of encoder counts per electrical cycle. Based on this position data, a “Sine drive” will produce torque on the three phases using the following equations:

As can be seen in Figure 3, the summing of the three torque curves will result in a smooth, ripple-free torque output on the motor shaft regardless of electrical angle.

Figure 3 - Sinusoidal current output based on electrical angle

The benefits of sine drives are best seen in low-friction applications, especially when using a direct-drive linear motor. Because the current on each phase is modulated to a precise degree based on a fine angular location, torque ripple is kept to an absolute minimum. Galil’s sine drive has the added benefit of being a transconductance amplifier, meaning a voltage command signal to the amplifier circuit results in a specific current output. The pulse-width modulation (PWM) algorithm has been implemented in such a way that allows the Galil sine drives to use the full theoretical range of the power supply.

Galil currently offers two sine drives. The AMP-43640 is a 20W x 4 axis linear amplifier with a current loop bandwidth of up to 7 kHz. The larger 600W x 4 axis AMP-43540 is a fully digital PWM sine drive that has a 33 kHz PWM frequency, which allows for a closed-loop current bandwidth of up to 4 kHz, far higher than most commercially available sinusoidal PWM amplifiers.

Brushless Setup with a Galil AMP-43540 Sine Drive

Upon power-up, every sinusoidal amplifier must perform an initialization procedure to determine where in the electrical cycle the rotor is located, and set the current on the three motor phases appropriately. With past designs, the controller would force the motor to a known electrical location by energizing the motor phases in a specific way. With the electrical cycle modulo defined in encoder counts, the brushless motor is then able to sinusoidally commutate the motor. Galil's sinusoidal amplifier uses a new limited movement algorithm, that allows the electrical angle to be determined by moving the motor approximately 4 quadrature encoder counts in either direction. In most cases, this motion is invisible to the naked eye. The following is an example of setting up a Galil sinusoidal amplifier with a typical brushless motor.

Motor and Feedback Specifications

3-phase, 500W iron-core Nema 23 motor
2 electrical cycles per rev (2 pole pairs)
Equipped with 4000 count/rev quadrature encoder
Armature resistance 1.2 Ohm
Armature Inductance 2.6 mH
Peak/Continuous current 10.4A/4.9A
Supply voltage: 48VDC


Galil Configuration Commands

This motor will be connected to the A axis. The command to configure this motor for brushless operation is

BAA;’CONFIGURE A AXIS AS BRUSHLESS AXIS

Since the motor is capable of running 10A peak, the amplifier gain can be set to 1.0A/Volt:

AGA=2;’SET A AXIS AMP GAIN TO 1 AMP PER VOLT

When set to AGn=2, the user has the ability to set both a Peak and a Continuous torque limit. The 10A peak/4.9A cont. capability would be set with

TLA=4.9;’SET CONT TORQUE

TKA=9.998;’SET PEAK TORQUE

The optimal amplifier current loop is set with the AU command based on supply voltage and motor inductance. Since the motor under test has a relatively high inductance, the optimal value for AU is relatively low, determined to be '2'.

AUA=2;’SET CURRENT LOOP GAIN

For the amplifier to commutate the motor, the controller must have a value set for the encoder counts per electrical cycle. This can be determined by dividing the encoder counts/rev by the number of pole pairs. In this case, 4000 encoder counts / 2 pole pairs = 2000 counts/electrical cycle.

BMA=2000;’ENCODER COUNTS PER ELEC. CYCLE

All these parameters can be stored to the controller’s memory using the Burn Parameters (BN) command. Upon power-up, it is mandatory to perform the initialization routine as described above. The motor will be in the Motor Off state until the axis has completed this initialization.

BXA=1;’DETERMINE MOTOR ELECTRICAL LOCATION USING MAX 1 VOLT DAC OUTPUT

The brushless initialization routine normally takes approximately three seconds to complete, possibly up to twelve. During this time, any other commands that are sent to the controller will not respond and may cause communication timeouts. It is common to program the Galil to perform this initialization automatically on power-up using the #AUTO label. Care should be taken to ensure that this is safe to do.

Once the axis is configured for sinusoidal commutation and has been correctly initialized (_BXn reports '3'), the axis is ready to command using any Galil mode of motion.

 

April 2011 Featured Articles

  • SUPPORT & DOWNLOADS
  • Download software, ap notes,manuals,
    sample motion code, motor sizing tool
    and much more.
  • ONLINE TUTORIALS
  • Watch educational tutorials on
    motion control, tuning servo systems,
    I/O handling, drives and much more!