Resources / Product Highlights / New Motor Control IC Integrates Outer Loop And Velocity Loop Functions

New Motor Control IC Integrates Outer Loop And Velocity Loop Functions

~ Performance Motion Devices

outer-loop-control-ic-2

The Juno MC71113, MC73113, and MC78113 are newly released ICs that integrate a high-speed outer loop control function with a velocity control function for 3-phase Brushless DC and DC Brush motors. Ideal for controlling pressure, temperature, liquid level, magnetic bearings, chemical reaction rate, and other 'outer loop' quantities for medical, industrial, and military applications, these devices can operate via microprocessor control or by direct analog or digital signal command.

As shown in Figure 1, the output of the outer loop becomes the input to the motor velocity loop which in turn commands the torque loop. Any measurable outer loop quantity can be controlled as long as the commanded motor velocity proportionally affects the measured outer loop quantity.

Juno Outer Loop IC Flow

Figure 1: Juno Outer Loop Control IC Flow Diagram

Application examples include ventilators where the speed of a Brushless DC (BLDC) motor turbine directly affects measured chamber pressure, and process temperature control where the flow rate of a pump introducing cooling fluid lowers a process chamber temperature. By integrating the outer loop function with the velocity control function in a single IC at control loop rates as high as 10 kHz, unprecedented levels of precision and control of the outer loop quantity are possible.

Juno outer loop control ICs are the latest additions to PMD's Juno family of Velocity & Torque Control ICs which provide functions for spindle control, centrifuge control, precision torque control, and a wide variety of other liquid handling and laboratory automation applications. Juno outer loop control ICs are available in a 64-pin TQFP package measuring 12x12 mm. These ICs are available immediately and are priced from $23 depending on motor type controlled and quantity.

Available Configurations

Juno Outer Loop Control ICs are single-axis devices for control of outer loop quantities and 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


Connection Diagram

Juno Outer Loop Control ICs Connection Diagram

Figure 2: Juno Outer Loop Control ICs Connection Diagram

 

Functional Overview

At power-up or reset Juno checks for the presence of stored configuration commands in its internal NVRAM. If NVRAM is programmed, the stored configuration commands are read into the active control registers, 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 Juno control loop has been configured an external analog signal may serve as the outer loop command value or an SPI (Serial Peripheral Interface) port may be used for this command. Alternatively, an internal profile generator may be commanded by a host microprocessor to generate outer loop command values.

Juno provides control of the outer loop quantities such as pressure or temperature via a PID (Proportional, Integral, Derivative) filter. Outer loop control uses either Juno's Tachometer analog signal or the digital SPI port to feedback the measured pressure or temperature.

Juno’s velocity loop receives commands directly from the upstream outer loop. The measured velocity may come from encoder, Hall sensor, or tachometer signal feedback. A PI loop, dual biquad filter, and a deadband filter allow very precise velocity control to be achieved.

FOC (Field Oriented Control) phasing and current control is performed via direct input of analog signals representing 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 information about the rotor angle from Hall sensors or encoder signals to generate PWM output signals for each motor phase.

To create a complete outer loop 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

Pressure & Temperature Control With Servo Motors 

Pressure Control With BLDC Motor

Figure 3: Pressure Control With BLDC Motor

Applications: Pressure control, flow control, temperature control, magnetic bearing control, galvanometer control, liquid level control.

 In this configuration the Juno MC71113, MC73113, or MC78113 IC receives direct analog or direct digital SPI (Serial Peripheral Interface) commands representing the instantaneous desired pressure or temperature, or host microprocessor commands representing the desired pressure or temperature profile. A pressure or temperature sensor provides an analog or direct input SPI feedback signal. Although a Brushless DC motor is shown in the diagram, a DC Brush motor may be similarly used.

Other types of outer loop control can be achieved with Juno as long as the measured quantity has a roughly linear relationship with the motor spin rate or the driven actuator output. These outer loop quantities include pressure, temperature, flow rate, liquid level, magnetic bearing control, chemical reaction control, phase change control, and others.

In the diagram above a pressure control function as shown, but temperature control can be similarly achieved by substituting a temperature sensor, and having the motor pump introduce more or less cooling (or heating) fluid.

Key Features

Outer Loop Controller

Outer Loop Calculation Flow

Figure 4: Outer Loop Calculation Flow

 

The figure above provides a detailed algorithmic view of Juno’s outer loop control module. This module provides a programmable outer loop function supporting a wide range of applications.

Although most often this module is configured to directly input commands from external circuitry, it is also possible for the outer loop command to come from the Juno IC's internal profile generator.

This loop module utilizes the desired outer loop command and a measured outer loop quantity to develop a loop error value which is passed through a PID (proportional, integral, derivative) filter and then output to the velocity loop module.

The outer loop controller also provides sophisticated filtering and customizing capabilities in the form of a user-programmable biquad filter on the AnalogCmd signal input, separate programmable upper and lower output limits deadband filter at the velocity command input, and a signed Kout loop output gain factor. These filters and gain factors can be used to improve control and configure the outer loop to work with a wide range of outer loop sensors.

Settable Parameters

Juno ICs come 100% ready for high performance outer loop 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 application & servo motor.

To control the outer loop up to ten parameters are set by the user: Kp, Ki, Kd, Ilimit, Dtime, Kvel, Kout, Outposlimit, Outneglimit, and Pouter. 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 scale factor that is applied only when the command source is set to profile generator, one is an output scale factor that is always applied, two are signed limits to the loop output value, and one is the cycle time period for the position/outer loop.

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

Velocity Control Loop

Velocity Loop Control Flow

Figure 5: Velocity Loop Control Flow

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.

This loop module utilizes the desired velocity command provided by the output of the outer loop module, 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, 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

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 tuning facility provided within PMD’s Pro-Motion software package.

Deadband Filter

Deadband Filter Function

Figure 6: Deadband Filter Function

 

Juno Outer Loop 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 7 a biquad filter is included at the AnalogCmd signal command source input and in the feedback pathway of the Juno velocity loop. 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 outer loop control ICs have two biquad filters labelled biquad1 and biquad2. Biquad1 is located in the motor feedback path, while biquad2 is located at the AnalogCmd 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 outer loop value using analog or SPI (Serial Peripheral Interface) signals, Juno outer loop control ICs also include an internal profile generator that allows arbitrary outer loop command contours to be generated. The profile generator is used in conjunction with an external microprocessor or other host which utilize Juno's host command ports, either serial point-to-point, serial multi-drop, CANbus, or SPI, to specify the command profiles.

To control the profile generator the user specifies a desired rate of outer loop command increase (acceleration), a rate of decrease (deceleration), and a maximum allowed command value. Using these target parameters Juno’s profile generator performs calculations to determine the instantaneous commanded outer loop value at any given moment. These instantaneous profile values are called the commanded values.

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

Settable Parameters

To control Juno’s internal profile generator three parameters are specified: the maximum outer loop command, the outer loop command rate of increase (acceleration), and the deceleration. All of these parameters can be updated 'on the fly' to allow complex profile shapes to be created.

Field Oriented Control & Current Loop

Current Loop & Commutation Control FlowFigure 9: 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 desired current for each motor winding along with the actual measured current which is 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 FOC 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

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 tuning facilities provided by 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 outer loop 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 10: 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 11: 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.

Download PDF

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
Outer loop, velocity & torque control
MC73112
Brushless DC
Torque control
MC73113
Brushless DC
Outer loop, 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)
Outer loop, velocity & torque control with user-settable motor type
MC78113
Multi-motor (DC Brush, Brushless DC, Step Motor)
Socketed version of DK78113 allows different Juno ICs to be swapped

 

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:

  • Pro-Motion auto tuning and axis wizard setup software
  • Complete Juno manual PDFs
  • Extensive application examples

 

Appendix II Juno Family Control IC Specifications

Configurations, Parameters, and Performance

Control command sources
AnalogCmd
Outer loop quantity, velocity, or torque command is provided via external direct analog input
 
SPI
Outer loop quantity, velocity, or torque command is provided via external SPI (Serial Peripheral Interface) direct input
 
Pulse & Direction
Position command is provided via external pulse & direction input
 
Internal profile
Outer loop quantity, position, velocity, or torque command is provided via internal profile generator function
Control feedback sources
Quadrature encoder
Position or velocity feedback is provided for the position/outer loop or velocity loop
 
Hall sensors
Position or velocity feedback is provided for the position/outer loop or velocity loop
 
Tachometer
Outer loop quantity or velocity feedback is provided for the outer loop or velocity loop
 
SPI
Outer loop quantity feedback is provided for the position/outer loop
Host communication modes
SPI (Serial Peripheral Interface) Point to point asynchronous serial Multi-drop 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 or steps 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 except MC73112 and MC73112N which is 39.06 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
Microsteps per full step
1 to 256
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

Physical Dimensions, 56-pin VQFN Package

All dimensions are in millimeters.

Physical Dimensions, 56-pin VQFN 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