Resources / Product Highlights / Low Cost ICs Provide Advanced Velocity Control of Servo Motors

Low Cost ICs Provide Advanced Velocity Control of Servo Motors

~ Performance Motion Devices

Juno Velocity Control ICThe Juno MC71113, MC73113, and MC78113 are newly released ICs that provide advanced velocity control of 3-phase Brushless DC and DC Brush motors with  features such as PI (proportional, integral) velocity loop control, programmable velocity estimation, dual biquad filtering, shunt regulation, deadband filtering, FOC (Field Oriented Control), and more.

These ICs are the latest additions to PMD's Juno family of velocity and torque control ICs and are ideal for a wide variety of applications including spindle control, centrifuges, peristaltic pumps, laboratory automation, packaging automation and more. These ICs are available in a 64-pin TQFP package measuring 12x12 mm. All Juno Velocity Control ICs are available immediately and are priced from $23 depending on motor type controlled and quantity.

Available Configurations

Juno Velocity Control ICs are single-axis devices for velocity control of three-phase Brushless DC motors and DC Brush motors. Three IC options are offered as shown in the table below:

Part Number
Motor Type
Package
Dimensions
DC Brush
64-pin TQFP
12 x 12 mm
Brushless DC
64-pin TQFP
12 x 12 mm
DC Brush or Brushless DC (user programmable)
64-pin TQFP
12 x 12 mm


Functional Overview

Juno Velocity Control ICs Diagram

Figure 1: Juno Velocity Control ICs Diagram

At power-up or reset Juno checks for the presence of stored configuration commands in its NVRAM. If NVRAM is programmed, the stored configuration commands are read into the chip, providing parameter information that will be used during operation.

If no initial configuration is stored in NVRAM, then default values are used and information will then be sent by a host device such as a microprocessor. Available host interfaces include Asynchronous serial (point to point & multi-drop), SPI (Serial Peripheral Interface), and CANbus 2.0.

Depending on how the control loop has been configured an external analog signal may serve as the velocity command value, an SPI (Serial Peripheral Interface) data stream may be used for this command value, or pulse & direction signals may provide a position command datastream. Alternatively, a profile generator commanded by a host microprocessor may be used to generate velocity command values, or velocity commands may be sent directly by this host microprocessor.

Juno provides an advanced PI loop for the velocity control function. The velocity loop receives commands directly from analog or digital SPI circuitry or from the profile generator. The measured velocity may come from a quadrature encoder, Hall sensors, or tachometer feedback. In addition to the velocity loop controller, Juno ICs provide dual biquad filters and a deadband filter allowing a very wide range of precision velocity control applications to be addressed.

Current control is performed via direct input of analog signals containing the instantaneous current through the motor coils. These signals are typically derived from external dropping resistors or Hall sensors at the amplifier circuitry. This analog current information is then combined with the desired current for each phase to generate PWM signals.

To create a complete velocity controller Juno is connected to switching amplifiers, typically MOSFET or IGBT-based. A programmable dead time function and other timing and current sense control parameters ensure that switch synchronization and current control is optimal over the entire operating range of the driven motor.

A number of safety features are incorporated into the Juno ICs including shunt control, I2t current limiting, brake signal input, DC bus overvoltage and undervoltage detect, overcurrent detect, and overtemperature detect.

Typical Applications

Velocity Control of Brushless DC and DC Brush Motors, Direct Command

Servo Motor Velocity Control

Figure 2: Servo Motor Velocity Control

Applications: General purpose amplifier, spindle control, centrifuge control, drug infusion, precision liquid pumping, turbine control.

In this configuration the Juno MC71113, MC73113, or MC78113 IC receives direct analog or direct input SPI (Serial Peripheral Interface) commands representing the instantaneous desired velocity, or host microprocessor commands representing the desired velocity profile. Quadrature encoder feedback, Hall sensors, or a tachometer are utilized for velocity feedback. For Brushless DC motors Hall sensors normally provide commutation feedback. If encoder signals are available however Halls are not required as long as the motor can move freely during startup (allowing PMD’s pulse phase initialization to be used).

In the diagram above a Brushless DC motor is shown but similar velocity control can be provided for DC Brush motors.

Velocity Control of Brushless DC and DC Brush Motors, Host Command

Servo Motor Velocity Control Diagram, Host Command

Figure 3: Servo Motor Velocity Control Diagram, Host Command

 

Applications: Intelligent motion controller, spindle control, centrifuge control, drug infusion, precision liquid pumping, turbine control.

In this configuration the Juno MC71113, MC73113, or MC78113 IC receives host commands via serial, CANbus, or SPI (Serial Peripheral Interface) representing the instantaneous desired velocity, or representing the desired velocity profile internally generated by the Juno IC. Quadrature encoder feedback, Hall sensors, or a tachometer are utilized for velocity feedback. For Brushless DC motors Hall sensors normally provide commutation feedback. If encoder signals are available however Halls are not required as long as the motor can move freely during startup (allowing PMD’s pulse phase initialization to be used).

In the diagram above a Brushless DC motor is shown but similar velocity control can be provided for DC Brush motors.

Pulse & Direction Control of Servo Motors

Pulse & Direction Control of a Servo Motor

Figure 4: Pulse & Direction Control of a Servo Motor

Applications: Step motor to servo motor conversion, laboratory automation, liquid handling, scientific instruments, printers, XY stages.

In this configuration a microprocessor, PLC (programmable logic controller), dedicated motion control IC, or other external profile generator provides pulse and direction command signals to the Juno MC71113, MC73113 or MC78113 IC. These pulse & direction commands continuously specify the position command used to control the servo motor. Quadrature encoder feedback or Hall sensors are used for position feedback. For Brushless DC motors Hall sensors normally provide commutation feedback. If encoder signals are available however Halls are not required as long as the motor can move freely during startup (allowing PMD’s pulse phase initialization to be used).

Although a Brushless DC motor is shown in the diagram, a DC Brush motor may be similarly controlled.

Key Features

Velocity Control Loop

Velocity Loop Control Flow

Figure 5: Velocity Loop Control Flow

The Figure 5 provides a summary of the control flow of Juno’s velocity loop control module. This module provides a programmable velocity loop function supporting a wide range of applications.

Although most often this module is programmed to directly input commands from external circuitry, it is also possible for the velocity command to come from the profile generator.

This loop module utilizes the desired velocity command and a measured velocity to develop a loop error value which is passed through a PI (proportional, integral) filter and output to a current loop module.

The velocity loop also provides sophisticated filtering capability in the form of biquad filters located in the velocity feedback path and in the analog command input path, as well as a deadband filter at the velocity command input. These filters can be used to smooth velocity and improve stability in the motion system being controlled.

Settable Parameters

Juno ICs come 100% ready for high performance velocity control. All of the required specialized algorithms, tables, and calculations are contained inside the IC. The user needs to simply set the control parameters for their specific motor & application.

To control the velocity loop three parameters are specified in connection with the PI loop; Kp, Ki, and Ilimit. Two of these are gain factors for the PI (proportional, integral) controller, one is a limit for the integral contribution. Additional settings are available for Kvel and Kout. These are a velocity loop scale factor and a loop output scale factor.

Determining correct Kp, Ki, and Ilimit parameters for the current loop controller gains can be done in a number of ways but the easiest is to utilize the auto-tuning facility provided within PMD’s Pro-Motion software package.

Deadband Filter

Deadband Filter Function

Figure 6: Deadband Filter Function

 

Juno Velocity Control ICs provide a deadband filter associated with the velocity loop that may be useful for reducing hunting when the command velocity is around zero.

The Figure above shows the form of the deadband filter for a commanded velocity that traverses linearly from a large negative command value, through a zero value, to a large positive value. This graph shows the relationship between the deadband output value as the commanded velocity value approaches and continues past zero. For a commanded value that traverses from a positive to a negative commanded value (effectively reversing the direction of the arrows shown) the form is similar in shape but shifted down and to the left by the difference between upper limit and lower limit value.

At each calculation cycle the deadband filter uses both the commanded velocity (the input to the filter) and the deadband filter output to determine a new deadband filter output value.

Settable Parameters

Two parameters are provided to control the deadband filter, DBlow and BHhigh. The first is the deadband lower limit and the second is the deadband upper limit.

Biquad Filtering

Biquad Calculation Flow

Figure 7: Biquad Calculation Flow

 

As shown in Figure 5 a biquad filter is included in the feedback pathway of the Juno velocity loop as well as at the AnalogCmd signal command source input. For applications that may require it, biquads provide a sophisticated tool for smoothing the functioning of the system, reducing vibration, and reducing resonances in the system being controlled.

Biquads can be programmed to create different filtering functions including lead/lag, band pass, low pass, notch, and other filter types. A typical system development process involves making an open loop frequency scan of the system to be controlled to learn about dead spots and resonances in its frequency response. From this information the biquad filter can be programmed such that these system non-linearities are reduced or eliminated.

Settable Parameters

Juno Velocity Control ICs have two biquad filters labelled biquad1 and biquad2. Biquad1 is located in the motor feedback path, while biquad2 is located at the analog command input signal. There are five settable biquad filter parameters labelled A1, A2, B0, B1, and B2. In addition each filter may be separately enabled or disabled if not used.

Profile Generation

Internally Generated Velocity Profile

Figure 8: Internally Generated Velocity Profile

 

While many applications will command an instantaneous velocity using analog or SPI (Serial Peripheral Interface) signals, Juno Velocity Control ICs also include an internal profile generator that allows arbitrary velocity contours to be generated. The profile generator is used in conjunction with the host command ports, either serial point-to-point, serial multi-drop, CANbus, or SPI, to specify one or more move profiles.

To control the profile generator the user specifies a desired target acceleration, deceleration, and velocity. Using these target parameters Juno’s profile generator performs calculations to determine the instantaneous position, velocity, and acceleration of the profile at any given moment. These instantaneous profile values are called the commanded values.

The profile is executed by continuously accelerating at the user-specified target acceleration rate until the user-specified target velocity is reached. The sign of the velocity parameter determines the initial direction of motion. The axis decelerates at the user-specified target deceleration when a new velocity is specified with a smaller value (in magnitude) than the present velocity, or when a new velocity has a sign that is opposite to the present direction of travel.

Settable Parameters

To control Juno’s internal profile generator three parameters are specified; the maximum velocity, the acceleration, and the deceleration. All of these parameters can be updated 'on the fly' to allow complex profile shapes to be created.

Pulse & Direction Control Of Servo Motors

Pulse & Direction Control of a Servo Motor

Figure 9: Pulse & Direction Control of a Servo Motor

 

The Figure above provides a summary of the control flow of the position control loop used when a pulse & direction input stream will control the position of a servo motor, either DC Brush or Brushless DC.

Incoming pulse & direction signals are counted and are stored in a position register. This raw count is then scaled by a user specified ratio of steps to encoder counts resulting in a loop command value. A corresponding measured value for position, either the encoder input or the Hall sensor input, are then subtracted to develop a position loop error which is passed through a PID (proportional, integral, derivative) filter and output to the current loop.

Settable Parameters

To control the position loop using pulse & direction input signals up to eight parameters are set by the user; Kp, Ki, Kd, Ilimit, Dtime, Kout, Outposlimit, and Outneglimit. Three of these are gain factors for the PID (proportional, integral, derivative) controller, one is a limit for the integral contribution, one is the derivative sampling time, one is a loop output scale factor, and two are signed limits to the loop output value.

Determining correct parameters for the Kp, Ki, Kd, and Ilimit gains can be done in a number of ways. The easiest is to utilize the auto-tuning facility provided within PMD’s Pro-Motion® software package.

Field Oriented Control & Current Loop

Current Loop & Commutation Control Flow

Figure 10: Current Loop & Commutation Control Flow

 

The Figure above provides a summary of the control flow of Juno’s current loop & commutation module. Current control is a technique used for DC Brush and Brushless DC motors for controlling the current (and therefore the torque) through each winding of the motor. By controlling the current, response times improve, motor efficiency is higher, and motion smoothness increases. Commutation is used with Brushless DC motors only and utilizes information about the motor’s rotor angle to drive the multiphase motor output.

The Juno digital current loop utilizes the commanded current from the velocity loop along with the actual measured currents for each motor phase which are input by direct analog signal input into the Juno IC. For Brushless DC motors these signals are then algorithmically converted from a non-rotating coordinate frame to a rotating frame. The converted result is referred to as the D phase current and the Q phase current. The commanded and actual D and Q phase currents are then subtracted, and an error generated, which in turn is passed through a PI (proportional, integral) filter.

Finally, the output of the D and Q phase PI filters are converted back into the 3-phase non-rotating reference frame and output as motor commands for each phase of the motor. This commutation and current control technique is known as Field Oriented Control (FOC), and requires information about the motor rotor’s phase angle to generate correctly phase output signals. The large majority of applications will use FOC for Brushless DC motor control. FOC usually provides the highest top speeds and more energy efficient operation of the motor.

A second option for Brushless DC motors is available for the Juno ICs however known as third leg floating. Third leg floating can sometimes provide a higher top speed than FOC. It uses a different method than Field oriented control in that only two of three legs are driven at any instant with the third, non-driven leg, left floating. Third leg floating control mode may be considered with Hall-commutated Brushless DC motors.

The choice of field-oriented control or third leg floating is user programmable. For DC Brush motors the current loop method is fixed and does not need to be set by the user. In addition, because they are single phase devices, the current loop does not require information about the motor’s rotor angle.

Settable Parameters

Juno ICs come 100% ready for FOC operation. All of the required specialized algorithms, tables, and calculations are contained inside the IC. The user needs to simply set the control parameters for their specific motor & application so that the resultant torque control and motion is optimum.

To control the current loop in FOC mode three parameters are specified for both the D loop and the Q loop; Kp, Ki, and Ilimit. Two of these are gain factors for the PI (proportional, integral) controller, one is a limit for the integral contribution.

Determining correct Kp, Ki, and Ilimit parameters for the current loop controller gains can be done in a number of ways but the easiest is to utilize the auto-tuning facility provided within PMD’s Pro-Motion software package. If a DC Brush motor is used or if the current loop is set to third leg floating then only the Q loop Kp, Ki, and Ilimit parameters are set.

PWM (Pulse Width Modulation) Signal Generation

The Juno velocity control ICs can control high-efficiency MOSFET or IGBT power stages with individual high/low switch input control. DC Brush motors are driven in an H-Bridge configuration consisting of 4 switches, while Brushless DC motors are driven in a triple half-bridge configuration consisting of 6 switches.

PWM High/Low Signal Generation

Figure 11: PWM High/Low Signal Generation

In PWM High/Low mode two output pins are used per motor or per motor phase, allowing separate high-side/lowside control of each bridge switch. In this scheme, as the Figure above shows, the high side output and the low side output are never active at the same time, and there is generally a period of time when neither output is active. This period of time is called the dead time and provides a shoot through protection function for MOSFET or IGBT switches.

The dead time is specified in nSecs. The correct value can be determined from the MOSFET or IGBT IC manufacturer’s data sheet.

In addition to dead time, some high side switch drive circuitry requires a minimum amount of off time to allow the charge pump circuitry to refresh. This parameter is known as the refresh time and has units of nSecs. The related parameter of refresh time period, which is the time interval between off time refreshes has units of current loop cycles.

It is also possible to control the maximum allowed PWM duty cycle. This may be useful to limit the effective voltage presented to the motor windings, or to provide some other needed off-time for the switching amplifier circuitry.

Brushless DC Motor Bridge Configuration

Figure 12: Brushless DC Motor Bridge Configuration

Settable Parameters

To control PWM generation five parameters are specified; the PWM switching frequency which may be set to 20, 40, 80, or 120 kHz, the PWM dead time which is specified in nSecs, the PWM refresh time and the PWM refresh period, which together control charge pump circuitry refresh timing, and the PWM duty cycle limit.

 

Appendix I Juno IC Developer Kits

Three different Juno developer kits are available. All of the 64-pin TQFP package Juno ICs are supported via the DK78113 developer kit board. The DK part numbers differ in the specific type of Juno IC that is installed.

Developer Kit
Part Number
Juno IC
Installed 
Motor
Supported

Comments
MC71112
DC Brush
Torque control
MC71113
DC Brush
Velocity & torque control
MC73112
Brushless DC
Torque control
MC73113
Brushless DC
Velocity & torque control
MC74113
Step Motor
Provides quadrature encoder input
MC75113
Step Motor
No quadrature encoder input
MC78113
Multi-motor (DC Brush, Brushless DC, Step Motor)
Velocity & torque control with user-settable motor type

 

The 56-pin VQFN IC package step motor ICs are supported by the DK74113N developer kit board. The DK part numbers differ in the specific type of Juno IC that is installed.

Developer Kit
Part Number
Juno IC
Installed
Motor
Supported

Comments
MC74113N
Step Motor
Provides quadrature encoder input
MC75113N
Step Motor
No quadrature encoder input

The 56-pin VQFN IC package torque control ICs are supported by the DK73112N developer kit board. The DK part numbers differ in the specific type of Juno IC that is installed.

Developer Kit
Part Number
Juno IC
Installed
Motor
Supported

Comments
MC71112N
DC Brush
Torque control
MC73112N
Brushless DC
Torque control

Each developer kit includes:

  • Standalone board with easy to access connectors for fast setup and testing
  • Pro-Motion auto tuning and axis wizard setup software
  • Complete Juno manuals or PDFs
  • Extensive application schematic examples

 

Appendix II Juno Velocity Control IC Specifications

Configurations, Parameters, and Performance

Control command sources
AnalogCmd
Velocity command is provided via external direct analog input
 
SPI
Velocity command is provided via external SPI (Serial Peripheral Interface) direct input
 
Pulse & Direction
Position is provided via external pulse & direction input
 
Internal profile
Torque command is provided via host command to a 16-bit register.
Control feedback sources
Quadrature encoder
Position or velocity feedback is provided for the velocity loop
 
Hall sensors
Position or velocity feedback is provided for the velocity loop
 
Tachometer
Velocity feedback is provided for the velocity loop
Host communication modes
SPI (Serial Peripheral Interface) Point to point asynchronous serial CAN bus 2.0B
Host SPI frequency range
1.0 MHz - 10.0 MHz
Serial port baud rate range
1,200 baud to 460,800 baud (1,200, 2,400, 9,600, 19,200, 57,600, 115,200, 230,400, 460,800)
CAN port transmission rate range
10,000 baud to 1,000,000 baud (10,000, 20,000, 50,000, 125,000, 250,000, 500,000, 1,000,000)
Position range
-2,147,483,648 to +2,147,483,647 counts or steps
Velocity range
-32,768 to +32,767 counts per cycle with a resolution of 1/65,536 counts or steps per cycle
Acceleration and deceleration ranges
0 to +127 counts or steps per cycle2 with a resolution of 1/16,777,216 counts or steps per cycle 2
Motor output modes
PWM High/Low
Individual high and low drive signals for each bridge switch
 
Sign/Magnitude PWM
Separate sign and magnitude drive signal for each phase of switching bridge
Commutation rate
19.53 kHz
Current loop rate
19.53 kHz
Current measurement resolution
12 bits
PWM resolution & rates

1:1,536 @ 20 kHz
1:768 @ 40 kHz
1:384 @ 80 kHz
1:256 @ 120 kHz

DC Bus & safety signals
Brake, BusVoltage, BusCurrentSupply, Temperature, Shunt
Amplifier output signals
AmplifierEnable, Shunt, PWMHighA, PWMLowA, PWMHighB, PWMLowB, PWMHighC, PWMLowC, PWMHighD, PWMLowD
Serial communication signals
SrlXmt, SrlRcv, SrlEnable
CANbus signals
CANXmt, CANRcv
SPI signals
SPIXmt, SPIRcv, SPIClk, SPIEnable, SPIStatus
Step command signals
Pulse, Direction, AtRest
Encoder input signals
QuadA, QuadB, Index
Hall sensor signals
-2,147,483,648 to +2,147,483,647 counts
Hall sensor signals
Hall A-C
Miscellaneous control signals
Enable, FaultOut, HostInterrupt, Reset
Drive safety functions
Over current detect, over temperature detect, over voltage detect, under voltage detect, I2t current foldback
Brake input modes
Passive braking, full disable
Output limiting
I2t, current, and voltage limit
Maximum encoder rate
40 Mcounts/sec
Cycle time range
51.2 microseconds to 1.114 seconds
Position-capture triggers
Index signal
Internal RAM
6,144 16-bit words
Maximum number of simultaneous trace variables
4
NVRAM storage size
1,024 16-bit words

 

Appendix III Physical Dimensions

Physical Dimensions, 64-pin TQFP Package

All dimensions are in millimeters.

Physical Dimensions, Juno 64-pin TQFP Package

Notes:

  1. Juno IC is RoHS compliant and free of Bromine and Antimony based flame retardants.
  2. Moisture sensitive level: MSL 3

 

Additional Resources