Supports 3-phase as well as 2-phase
brushless motors
Performs trajectory generation, servo
loop closure, and commutation
Ultra-smooth sinusoidal commutation
Open or closed loop operation
Software and feature-com pat ible w ith
other 1st generation PMD chipsets
Available in 1 or 2 axis configurations
32-bit position, velocity, acceleration and
erk trajectory profile registers
Choice of S-curve, trapezoidal, or
contoured velocity profile modes
Electronic Gearing
Two travel-limit switches per axis
Choice of PWM or DAC motor output
signals
Easy-to-use packet-oriented command
protocol
Control Chipset
General Description
The MC1231A is a dedicated motion processor which functions
as a complete chi p-based motor controller. Packaged i n a 2-IC
chipset, this device performs trajectory generation, servo loop
closure, and sinusoidal commutation. The chipset inputs
incremental encoder signals and outputs PWM or
DAC-compati b l e mo to r c omm and signals. The MC 1 231A is
available in a one, or a two-axis configuration.
MC1231A
MC1131A
The MC1231A is functionally similar to other members of
Commutation Waveforms
Phase APhase BPhase C
Phase APhase B
Performance Motion Dev ices, In c. 12 Waltham St. Le xington, M A 02421 te l: 781. 674.98 60 fax: 781.674.9 861
3-Phase Brushless
2-Phase Brushless
PMD's 1st generation chipset family however it adds the ability
to perform sinusoidal commutation of brushless motors. All of
these devices provide sophisticated motion control capabilities
allowing the creation of comp lex profile sequences with very low
tracking errors.
Both two and three-phase brushless motors are supported by
the MC1231A. Wh en used with two-phase brushless motors
each phase is separated by 90 d egrees. When used with
3-phase brushless motors each phase is separated by 120
degress. The commutation angle is continuously calculated
using the encoder position. User-programmable commutation
parameter s allow a very wide rang e of encoders and motors to
be controlled.
The chipset is controlled by a host processor which interfaces
with the chipse t via an 8-bit, bi-directional port. Commun ic ations
to/from the chi pset consist of pack et-oriented m essages.
The chipset is packaged in 2 68- pin PLCC package s. Both
chips utilize CMOS technology and are powered by 5 volts.
Doc. Rev. 10.05, Nov 1997
www.pmdcorp.com
Table of Contents
Product Family Overview.......................................Page 3
Interfacing to ISA bus............................................Page 62
PWM Motor Interface............................................Page 64
16-Bit Parallel DAC Motor interface......................Page 66
Performance Motion Devices, Inc. does not assume any responsibility for use of any circuitry described in this manual, nor does it make
any guarantee as to the accuracy of this manual. Performance Motion Devices, Inc. reserves the right to change the circuitry described in
this manual, or the manual itself, at any time.
The components described in this manual are not authorized for use in life-support systems without the express written permission of
Performance Motion Devices, Inc..
2
Product Family Overview
MC1401 seriesMC1231 seriesMC1241 seriesMC1451 series
This manual describes the operational characteristics of the MC1231A,
and MC1131A Motion Processors. These devices are members of
PMD's 1st generation motion processor family, which consists of 16
separate products organized into four groups.
Each of these devices are complete chip-based motion controllers.
They provide trajectory generation and related motion control functions.
Depending on the type of motor controlled they provide servo loop
closure, on-board commutation for brushless motors, and high speed
pulse and direction outputs. Together these products provide a
software-compatible family of dedicated motion processor chips which
can handle a large variety of system configurations.
Each of these chips utilize a similar architecture, consisting of a highspeed DSP (Digital Signal Processor) computation unit , along with an
ASIC (Application Specific Integrated Circuit). The computation unit
contains special on-board hardware such as a multiply instruction that
makes it well suited for the task of servo control.
Along with a similar hardware architecture these chips also share most
software commands, so that software written for one chipset may be reused with another, even though the type of motor may be different.
This manual describes the operation of the MC1231A and
MC1131A chipsets. For technical details on other members of
PMD's 1st generation motion processors see the corresponding
product manual.
Family Summary
MC1401 series (MC1401A, MC1201A, MC1101A, MC1401A-P,
MC1201A-P, MC1101A-P)
encoder signals (standard version) or parallel word encoder signals
(-P version) and output a motor command in either PWM or DACcompatible format. These chipsets come in 1, 2 or 4 axis versions
and can be used with DC brushed motors, or brushless motors using
external commutation.
MC1231A series (MC1231A, MC1131A) -
incremental quadrature encoder signals and output sinusoidally
commutated motor signals appropriate for driving brushless motors.
They are available in one or two axis versions. Depending on the
motor type they output two or three phased signals per axis in either
PWM or DAC-compatible format.
MC1241 series (MC1241A, MC1141A)
internal microstepping generation for stepping motors. They are
available in a one or a two-axis version. Two phased signals are
output per axis in either PWM or DAC-compatible format. An
incremental encoder signal can be input to confirm motor position.
MC1451 series (MC1451A, MC1251A, MC1151A, MC1451A-E,
MC1251A-E, MC1151A-E) -
pulse and direction signal output appropriate for driving step motorbased systems. They are available in a one, two, or four-axis version
and are also available with quadrature encoder input.
Each of these chipsets has an associated Chipset Developer's
Kit available for it. For more information contact your PMD
representative.
- These chipsets take in incremental
These chipsets take in
- These chipsets provide
These chipsets provide very high speed
3
Electrical Characteristics
Overview
Interconnections between the two chips consist of a data bus and
various control and synchronization signals. The following table
summarizes the signals that must be interconnected for the chipset to
function properly. For each listed signal the I/O chip pin on the left side
of the table is directly connected to the pin to the right.
The MC1231A consists of two 68 pin PLCC's both fabricated in CMOS.
The Peripheral Input/Output IC (I/O chip) is responsible for interfacing
to the host processor and to the position input encoders. The Command
Processor IC (CP chip) is responsible for all host command, trajectory,
servo, and commutation computations, as well as for outputting the
PWM and DAC signals.
The following figure shows a typical system block diagram, along with
the pin connections between the I/O chip and the CP chip.
For a complete description of all pins see the 'Pin Descriptions'
section of this manual.
The CP and I/O chips function together as one integrated motion
processor. The major components connected to the chip set are the
Encoder (2, or 1 axes), (optionally) the motor Hall-sensors (2 or 1 axes),
the motor amplifier (2, or 1 axes), and the host processor.
The encoder signals are input to the I/O chip in quadrature format. Two
signals encode the position, and an optional index signal contains a
once-per-rotation locating signal.
Hall sensors may be connected to the chipset to provide phase
initialization information, although this is not required. Three Hall sensor
signals are input per axis.
The chipset's motor output signals are connected to the motor amplifier.
Two types of output are provided; PWM (pulse width modulation), and
DAC-compatible signals used with an external DAC (digital to analog
converter). Because the output signals are commutated, more than one
motor output signal will be output per axis. See Theory of Operations
section on sinusoidal motor commutation for details.
The host processor is interfaced via an 8-bit bi-directional bus and
various control signals. Host communication is coordinated by a
ready/busy signal, which indicates when communication is allowed.
Absolute Maximum Ratings
Unless otherwise stated, all electrical specifications are for both
the I/O and CP chips.
Storage Temperature, Ts.....................-55 deg. C to +150 deg. C
Supply Voltage, Vcc.............................-0.3 V to +7.0 V
Power Dissipation, Pd..........................650 mW (I/O and CP
combined)
Operating Ratings
Operating Temperature, Ta .................0 deg. C to +70 deg. C
Nominal Clock Frequency, Fclk...........25.0 Mhz
Supply Voltage, Vcc.............................4.75 V to 5.25 V
* Industrial and Military operating ranges also available. Contact your
PMD representative for more information.
4
DC Electrical Characteristics
(Vcc and Ta per operating ratings, Fclk = 25.0 Mhz)
~HostSlct Hold TimeT6152000 (note 3)nS
~HostSlct Setup TimeT710nS
HostCmd Setup TimeT810nS
Host Cmd Hold TimeT925nS
HostRdy Delay TimeT1370nS
~HostWrite Pulse WidthT1450nS
Write Data Setup TimeT1535nS
Write Data Hold TimeT1630nS
Data Word Read Timing
~HostSlct Hold TimeT6152000 (note 3)nS
~HostSlct Setup TimeT7 (read only)- 20nS
HostCmd Setup TimeT8 (read only)- 20nS
HostCmd Hold TimeT925nS
Read Data Access TimeT1050nS
Read Data Hold TimeT1110nS
~HostRead high to HI-Z TimeT1250nS
HostRdy Delay TimeT1370nS
Read Recovery TimeT1760nS
Data Word Write Timing
~HostSlct Hold TimeT6152000 (note 3)nS
~HostSlct Setup TimeT710nS
HostCmd Setup TimeT810nS
HostCmd Hold TimeT925nS
HostRdy Delay TimeT1370nS
~HostWrite Pulse WidthT1450nS
Write Data Setup TimeT1535nS
Write Data Hold TimeT1630nS
Write Recovery TimeT1860nS
DAC Interface Timing
I/OAddr Stable to ~I/OWrite setup timeT1935nS
~I/OWrite Pulse WidthT205695nS
Data Hold Time After ~I/OWriteT2117nS
ClkOut Low to I/OAddr stableT221040nS
ClkOut Low to ~I/OWrite LowT237592nS
ClkOut Low to Data ValidT2492nS
ClkOut Cycle TimeT25160 typical (note 4)nS
I/OAddr Stable to DACSlct HighT2666nS
~I/OWrite Low to DACSlct HighT2744.5nS
PWM Output Timing
PWM Output Frequency24.5Khz
note 1~HostSlct and HostCmd may optionally be de-asserted if setup and hold times are met.
note 2Chip-set performance figures and timing information valid at Fclk = 25.0 only. For timing information & performance parameters at Fclk <
25.0 Mhz, call PMD.
note 3Two micro seconds maximum to release interface before chip set responds to command
note 4ClkOut from CP is 1/4 frequency of ClkIn (CP chip).
6
I/O Timing Diagrams
The following diagrams show the MC1231A electrical interface timing. T#' values are listed in the above timing chart.
Quadrature A, B channels for axis 1 - 2 (input). Each of these 2 pairs of quadrature (A, B)
signals provide the position feedback for an incremental encoder. When the encoder is
moving in the positive, or forward direction, the A signal leads the B signal by 90 degs.
NOTE: Many encoders require a pull-up resistor on each of these signals to establish a
proper high signal (check the encoder electrical specifications)
NOTE: For MC1231A all 4 pins are valid. For MC1131A pins for axes 1 only are valid. Invalid
axis pins can be left unconnected
Index encoder signals for axis 1-2 (input). Each of these 2 signals indicate the index flag
state from the encoder. A valid index pulse is recognized by the chip set when the index flag
transitions low, followed by the corresponding A and B channels of the encoder transitioning
low. The index pulse is recognized at the later of the A or B transitions. If not used this signal
must be tied high.
NOTE: For MC1231A both pins are valid. For MC1131A pins for axes 1 only are valid.
Invalid axis pins can be left unconnected.
Home signals for axis 1-2 (input). Each of these signals provide a general purpose input to
the hardware position capture mechanism. A valid home signal is recognized by the chipset
when the home flag transitions low. These signals have a similar function as the ~Index
signals, but are not gated by the A and B encoder channels. For valid axis pins, If not used,
this signal must be tied high. See below for valid pin definitions for the MC1231A and
MC1131A.
NOTE: For MC1231A both pins are valid. For MC1131A pins for axes 1 only are valid.
Invalid axis pins can be left unconnected.
I/ODACSlct33DAC Select (output). This signal is asserted high to select any of the available DAC output
channels. For details on DAC decoding see description of DAC16Addr0-1 signals.
I/OCPClk46I/O chip clock (input). This signal is connected directly to the ClkOut pin (CP chip) and
provides the clock signal for the I/O chip. The frequency of this signal is 1/4 the user-provided
ClkIn (CP chip) frequency.
I/OI/OClkIn52Phase shifted clock (input). This signal must be connected to I/OClkOut (I/O chip), and inputs
a phase shifted clock signal.
I/OI/OClkOut45Phase shifted clock (output). This signal must be connected to I/OClkIn (I/O chip), and
outputs a phase shifted clock signal.
I/OCPAddr0
CPAddr1
CPAddr2
CPAddr3
I/O~CPWrite2I/O chip to CP chip communication write (input). This signal is connected to the ~I/OWrite pin
I/OCPCntrl0
CPCntrl1
CPCntrl2
CPCntrl3
I/OHostCmd41Host Port Command (input). This signal is asserted high to write a host command to the chip
68
27
29
12
20
36
22
63
I/O chip to CP chip communication address (input). These 4 signals are connected to the
corresponding I/OAddr0-3 pins (CP chip), and together provide addressing signals to
facilitate CP to I/O chip communication.
(CP chip) and provides a write strobe to facilitate CP to I/O chip communication.
I/O chip to CP chip communication control (mixed). These 4 signals are connected to the
corresponding I/OCntrl0-3 pins (CP chip), and provide control signals to facilitate CP to I/O
chip communication.
set. It is asserted low to read or write a host data word to the chipset
13
ICPin NamePin #Description/Functionality
I/OHostRdy37Host Port Ready/Busy (output). This signal is used to synchronize communication between
the DSP and the host. HostRdy will go low (indicating host port busy) at the end of a host
command write or after the second byte of a data write or read. HostRdy will go high
(indicating host port ready) when the command or data word has been processed and the
chip set is ready for more I/O operations. All host port communications must be made with
HostRdy high (indicating ready).
Typical busy to ready cycle is 67.5 uSec, although it can be longer when host port traffic is
high.
I/O~HostRead51Host Port Read data (input). Used to indicate that a data word is being read from the chip set
(low asserts read).
I/O~HostWrite47Host Port Write data (input). Used to indicate that a data word or command is being written to
the chip set (low asserts write).
I/O~HostSlct48Host Port Select (input). Used to select the host port for reading or writing operations (low
assertion selects port). ~HostSlct must remain inactive (high) when the host port is not in use.
I/O~HostIntrpt44Host Interrupt (output). A low assertion on this pin indicates that a host interrupt condition
Host Port Data 0-7 (bi-directional, tri-stated). These signals form the 8 bit host data port used
during communication to/from the chip set. This port is controlled by ~HostSlct, ~HostWrite,
~HostRead and HostCmd.
I/O chip to CP chip data port (bi-directional). These 8 bits are connected to the corresponding
Data4-11 pins on the CP chip, and facilitate communication to/from the I/O and CP chips..
Hall Sensor A, B, and C commutation inputs for axis 1 and 2 (input). Each set of the three
signals for one axis (A, B and C) encodes 6 valid signal states as follows: A on, A and B on,
B on, B and C on, C on, C and A on. An on state is defined as a high signal.
NOTE: These signals should only be connected to Hall sensors that are mounted 120-deg
offset from each other. Schemes which provide Hall signals 60-deg apart will not work.
NOTE: For MC1231A all 6 pins are valid. For MC1131A pins for axis 1 only are valid. Invalid
axis pins can be left unconnected.
I/OVcc4, 21, 25, 38, 55I/O chip supply voltage pin. All of these pins must be connected to the supply voltage. Supply
voltage = 4.75 to 5.25 V
I/OGND14, 15, 32, 49, 54,66I/O chip ground pin. All of these pins must be connected to the power supply return.
PWM motor output magnitude signals (output). When the chip set is in PWM output mode
these pins provide the Pulse Width Modulated magnitude signal to the motor amplifier.The
PWM signals are output for each motor axis as follows:
NOTE: If using the MC1231A with one axis in 3-phase and the other axis in 2-phase mode, to
avoid pin conflict, axis 1 should be assigned to 2-phase output, and axis 2 to 3-phase
The PWM resolution is 10 bits, frequency = 24.5Kz.
Positive limit switch input for axis 1-2. These signals provide directional limit inputs for the
positive-side travel limit of the axis. Upon powerup these signals default to "active high"
interpretation, but the interpretation can be set explicitly using the SET_LMT_SENSE
command. (See Host Command Section for more info.) If not used these signals should be
tied low for the default interpretation, or tied high if the interpretation is reversed.
NOTE: For MC1231A both pins are valid. For MC1131A pins for axes 1 only are valid. Invalid
axis pins can be left un connected.
Negative limit switch input for axis 1-2. These signals provide directional limit inputs for the
negative-side travel limit of the axis. Upon powerup these signals default to "active high"
interpretation, but the interpretation can be set explicitly using the SET_LMT_SENSE
command. (See Host Command Section for more info.) If not used these signals should be
tied low for the default interpretation, or tied high if the interpretation is reversed.
NOTE: For MC1231A both pins are valid. For MC1131A pins for axis 1 only are valid. Invalid
axis pins can be left un connected.
CPDAC16Addr0
DAC16Addr13029
CPClkIn24Clock In (input). This pin provides the chip set master clock (Fclk = 25.0 Mhz)
Axis Address used during 16-bit DAC motor command output (output). These signals encode
the motor output axis address as shown in the table below (both 3-phase and 2-phase
waveforms)
Dac16Addr1 Dac16Addr0 Addressed Encoder
LowLowAxis 1 phase A
LowHighAxis 1 phase B
HighLowAxis 2 phase A
HighHighAxis 2 phase B
Note: When connecting to 3-phase brushless motors only two of the three required phase
outputs are provided in the DAC output mode. The third phase (phase C) is constructed
external to the chipset, usually by the amplifier. See theory of operations for more
information.
To write a valid DAC motor command value DACSlct (I/O chip) and I/OAddr0-3 (CP chip)
must be high, and I/OWrite (CP chip) must be low. The 16 bit DAC data word is organized as
follows: High twelve bits are in Data0-11 (CP chip), and low 4 bits are in DACLow0-3 (CP
chip).
15
ICPin NamePin #Description/Functionality
CPClkOut19Clock Out (output). This pin provides a clock output which is 1/4 the ClkIn frequency. This pin
is connected to I/OClkin (I/O chip).
CP~Reset17Master chip set reset (input). When brought low, this pin resets the chip set to its initial
condition. Reset should occur no less than 250 mSec after stable power has been provided
to the chip set.
I/O chip to CP chip communication control (mixed). These signals are connected to the
corresponding CPCntrl0-3 pins on the I/O chip, and provide control signals to facilitate CP to
I/O communication.
Multi-purpose Data0-11. (Bi-directional). These pins have 2 functions:
1) Pins Data4-11 (8 bits total) are connected to the corresponding CPData4-11 pins on the
I/O chip, and are used to communicate between the CP and I/O chips
2) Pins Data0-11 hold the high 12 bits of the DAC output value when the output mode is set
to 16-bit DAC.
DACLow0-3 (output). These pins hold the lowest 4 bits of the 16 bit DAC output word when
the output mode is set to 16 bit DAC. These pins, in conjunction with Data0-11 (providing the
high 12 bits) make up the 16-bit DAC output word.
Multi-purpose Address0-3 (output). These pins are connected to the corresponding CPAddr03 pins on the I/O chip. They have 2 functions; They provide addressing signals to facilitate
communication between the I/O chip and CP chip, and they are used during DAC data
decoding. To read a valid DAC value from Data0-Data11 (CP chip), DACSlct (I/O chip) and
I/OAddr0-3 (CP chip) must all be high, and I/OWrite (CP chip) must be low.
functions:
1) It provides a control signal to the I/O chip to facilitate communication between the I/O chip
and CP chip.
2) It is used during DAC data decoding to read a valid DAC value from Data0-Data11 (CP
chip), DACSlct (I/O chip) and I/OAddr0-3 (CP chip) must all be high, and I/OWrite (CP chip)
must be low.
CPVcc4, 22, 33CP chip supply voltage pin. All of these pins must be connected to the supply voltage. Supply
voltage = 4.75 to 5,.25 V
CPGND3, 34CP chip ground pin. All of these pins must be connected to the power supply return.
16
Theory of Operations
g
Incremental Encoder
IndexBA
Home
1/a
1/a
1/a1/a
Internal Block Diagram
PWM ma
.DAC address
1/phase
DAC, PWM signal generator (6 channels)
Motor Output
2
DAC data
16
I/O Chip
CP Chip
Quadrature
decoder
counter (2)
Index capture
registe r (2)
Host I/O controller
185
host interruptDataControl
The above figure shows an internal block diagram for the MC1231A
motion processor.
Each servo axis inputs the actual location of the axis using incremental
encoder signals. These encoder signals are digitally filtered for
increased reliability and then passed on to a high speed up/down
counter. This counter is used to maintain a 32-bit actual axis position
register.
The chipset can be operated in two modes. Closed loop mode, which is
the normal operating mode of the chipset, performs trajectory
generation, digital servo loop closure, and sinusoidal commutation. In
this mode the motor output value is controlled by the servo filter. Open
loop mode performs commutation only. It allows the motor output value
to be controlled directly by the host processor.
Commutation
Generator (2)
Position
registe r (2)
Digital Servo
filtering (2)
Trajectory profile
generator (2)
System Reg isters (2)
Host command
1/a
PosLimit
1/a
NegLimit
motor encoder. Two or more commutated signals are generated for
each axis, with each signal being shifted either 90 or 120 degrees from
one another, depending on the motor type.
The resultant commutated signals are then output to the amplifier either
as PWM or DAC signals.
To perform continuous digital servoing, the trajectory and servo
calculations are performed at every sample time for all enabled axes.
The commutation is performed 4 times for each sample time.
The following table summarizes the operational parameters of the
MC1231A-series chipsets.
For either operating mode the desired motor output value is then
combined with the current commutation value from an internal
sinusoidal lookup. The commutation angle is determined using the
17
MC1231A-Series Chipset Operational Parameters
Available configurations:2 axes with internal sinusoidal commutation (MC1231A)
1 axes with internal sinusoidal commutation (MC1131A)
Operating Modes:Closed loop (motor command is driven from output of servo filter)
Open loop (motor command is driven from user-programmed register)
Position Range:-1,073,741,824 to 1,073,741,823 counts
Velocity Range:-16,384 to 16,383 counts/sample with a resolution of 1/65,536 counts/sample
Acceleration Range:
Jerk Range:
Trajectory Profile Generator Modes:S-curve (host commands final position, max velocity, max acceleration, and jerk)
Electronic Gear Ratio Range:32768:1 to 1:32768 (negative and positive direction)
Filter Modes:PID+Velocity feedforward and motor bias
Filter parameter resolution:16 bits
Commutation Waveform:Sinusoidal
Phase Initialization Methods:Hall-Based
# of sinusoidal lookups:256 per electrical cycle
range of commutation cycle:129 to 2,097,088 (using pre-scalar) counts per electrical cycle
Commutation rate:15 kHz
Phasing Modes:120 degrees (used with 3-phase brushless motors)
# of PWM Output Phases:3-phase brushless motors: 3
# of DAC Output Phases:2 (all motor types)
Max Incremental. Encoder Rate:1.75 Mcounts/sec
Servo loop rate range:270 uSec*minimum, 4,423 mSec max.
Max servo loop rate:270 uSec* per enabled axis.
# of limit switches per axis2 (one for each direction of travel)
# of position capture triggers:2 (index, home signal)
Capture trigger latency:160 nSec
# of Host commands:116
S-curve profile: - 1/2 to + 1/2 counts/sample2 with a resolution of 1/65,536 counts/sample
All others: -16,384 to 16,383 counts/sample2 with a resolution of 1/65,536 counts/sample
-1/2 to +1/2 counts/sample3, with a resolution of 1/4,294,967,296 counts/sample
Trapezoidal (host commands final position, max velocity and acceleration)
Electronic Gear (Encoder position of one axis is used as position command for another axis). A total of 2
electronic gears are supported (2 encoders and 1 output each). Not available in MC1131A
Algorithmic (briefly energize motor coils)
Microstepping (advance motor to known phase position)
Direct set (explicitly set current commutation angle)
90 degrees (used with 2-phase brushless motors)
2-phase brushless motors: 2
2.
2
3
*Exact servo loop time is 271.36 uSec, 270 is an approximation
Trajectory Profile Generation
The trajectory profile generator performs calculations to determine the
target position, velocity and acceleration at each servo loop. These
calculations are performed using the current profile mode and profile
parameters set by the host. Four trajectory profile modes are supported:
- S-curve point to point
- Trapezoidal point to point
- Velocity contouring
- Electronic Gear
The commands to select these profile modes are
SET_PRFL_S_CRV (to select the s-curve mode), SET_PRFL_TRAP
(to select the trapezoidal mode) SET_PRFL_VEL (to select the
velocity contouring mode) and SET_PRFL_GEAR (to select the
electronic gear mod).
Throughout this manual various command mnemonics will be
shown to clarify chipset usage or provide specific examples. See
the Host Communications section for a description of host
command nomenclature.
18
The profile mode may be programmed independently for each axis. For
example axis #1 may be in trapezoidal point to point mode while axis
#2 is in S-curve point to point.
Use the following figure showing a typical S-curve velocity vs. time
graph for reference in reading the next section:
Generally, the axis should be at rest when switching profile modes.
Under certain conditions however, switching into certain profile modes
"on-the-fly" is allowed. See specific profile descriptions for details.
S-curve Point to Point
The following table summarizes the host specified profile parameters
for the S-curve point to point profile mode:
Profile
Parameter
Destination
Position
Maximum
Velocity
Max. Accel.
Jerk
* uses 1/216 scaling. Chipset expects a 32 bit number which
has been scaled by a factor of 65,536 from units of
counts/sample time. For example to specify a velocity of 2.75
counts/sample time, 2.75 is multiplied by 65,536 and the
result is sent to the chipset as a 32 bit integer (180,224 dec.
or 2c000 hex.).
** uses 1/216 scaling. Chipset expects a 16 bit number which
has been scaled by a factor of 65,536 from units of
counts/sample time2. For example to specify an acceleration
of .175 counts/sample time2, .175 is multiplied by 65,536 and
the result is sent to the chipset as a 16 bit integer (11,469
dec. or 2ccd hex).
Representation & RangeUnits
signed 32 bits
counts
-1,073,741,824 to 1,073,741,823
unsigned 32 bits* (1/2
16
scaling)
counts/smpl
0 to 1,073,741,823
unsigned 16 bits ** (1/2
16
scaling)
counts/smpl
0 to 32,767
unsigned 32 bits *** (1/2
32
scaling)
counts/smpl
0 to 2,147,483,647
PhaseI.Phase
Phase
II.
III.
Phase
IV.
PhaseV.Phase
VI.
Phase
VII.
S-curve profile
The S-curve profile drives the axis at the specified jerk until the
maximum acceleration is reached. (phase I). it will then drive the axis at
jerk = 0 (constant acceleration) through phase II. It will then drive the
2
axis at the negative of the specified jerk though phase III, such that the
axis reaches the specified maximum velocity with acceleration = 0. This
3
completes the acceleration phase. At the end of the acceleration phase
of the move, the velocity will be constant, and the acceleration will be 0.
At the appropriate time, the profile will then decelerate (phases V, VI
and VII) symmetrically to the acceleration phase such that it arrives at
the destination position with acceleration and velocity = 0.
There are several conditions where the actual velocity graph of an Scurve motion will not contain all of the segments shown in the above
figure. For example, if the max. acceleration is not reached before the
"half-way" point to the max. velocity, then the actual velocity profile will
not contain a phase II or a phase VI segment (they will have a duration
of 0 servo loops). Such a profile is shown below:
PhaseI.Phase
III.
Phase
IV.
PhaseV.Phase
VII.
*** uses 1/2
has been scaled by a factor of 4,294,967,296 (2
32
scaling. Chipset expects a 32 bit number which
32)
from units
of counts/sample time3. For example to specify a jerk value of
.0075 counts/sample time3, .0075 is multiplied by
4,294,967,296 and the result is sent to the chipset as a 32 bit
integer (32,212,256 dec. or 1eb8520 hex).
S-curve that doesn't reach max. acceleration
Another such condition is if the position is specified such that max.
velocity is not reached. In this case there will be no phase IV, and there
may also be no phase II and VI, depending on where the profile is
"truncated".
While the S-curve profile is in motion, the user is not allowed to
change any of the profile parameters. The axis must be at rest
before a new set of profile parameters can be executed. If
parameters are changed during motion then a 'command error'
19
will occur, and all new parameters will be ignored except the
position. See the section of this manual entitled "Command Error"
for more information..
Vel.
Before switching to the S-curve point to point profile mode, the
axis should be at a complete rest.
When the axis is in the S-curve profile mode, the SET_MAX_ACC
command should be used to load the max. acceleration value. The
alternate acceleration loading command SET_ACC can not be
used.
Trapezoidal Point to Point
The following table summarizes the host specified profile parameters
for the trapezoidal point to point profile mode:
Profile
Parameter
Destination
Position
Maximum
Velocity
Accel.
In the trapezoidal point to point profile mode the host specifies a
destination position, a maximum velocity, and an acceleration. The
trajectory is executed by accelerating at the commanded acceleration to
the maximum velocity where it coasts until decelerating such that the
destination position is reached with the axis at rest (zero velocity). If it is
not possible to reach the maximum velocity (because deceleration must
begin) then the velocity profile will have no "coasting" phase. The
acceleration rate is the same as the deceleration rate.
A new maximum velocity and destination position can be specified
while the axis is in motion. When this occurs the axis will accelerate or
decelerate toward the new destination position while attempting to
satisfy the new maximum velocity condition.
When in Trapezoidal point to point profile mode, to change the
acceleration, the axis must come to a complete stop. After this has
occurred, a new acceleration value can be loaded. If the
acceleration parameter is changed during motion then a
'command error' will occur, and all updated parameters will be
ignored except the position. See the section of this manual
entitled "Command Errors" for more information.
Before switching to the Trapezoidal point to point profile mode,
the axis should be at a complete rest.
The following figure shows a velocity profile for a typical point to point
trapezoidal move, along with a more complicated move involving on the
fly changes to the maximum velocity and the destination position.
Representation & RangeUnits
signed 32 bits
counts
-1,073,741,824 to 1,073,741,823
unsigned 32 bits (1/2
16
scaling)
counts/smpl
0 to 1,073,741,823
unsigned 32 bits (1/2
16
scaling)
counts/smpl
0 to1,073,741,823
2
Simple trapezoidal mode motion
Vel.
change max
velocity
change target
position
Complex trapezoidal mode motion
Velocity Contouring
The following table summarizes the host specified profile parameters
for the Velocity contouring profile mode:
Profile
Parameter
Maximum
Velocity
Acceleration
* negative numbers using 1/216 scaling are handled no
differently than positive numbers. For example if an
acceration value of -1.95 counts/sample time2 is desired, -
1.95 is multipled by 65,536 and the result is sent to the
chipset (-127,795 dec. or fffe0ccd hex).
In this profile mode the host specifies two parameters, the commanded
acceleration, and the maximum velocity. The trajectory is executed by
continuously accelerating the axis at the commanded rate until the max.
velocity is reached, or until a new acceleration command is given.
The maximum velocity value must always be positive. Motion
direction is controlled using the acceleration value. Positive
acceleration values result in positive motion, and negative
acceleration values result in negative motion.
There are no restrictions on changing the prof ile parameters on
the fly. Note that the motion is not bounded by position however.
It is the responsibility of the host to generate acceleration and
max. velocity command values which result in safe motion, within
acceptable position limits.
The following figure shows a typical velocity profile using this mode.
Representation & RangeUnits
unsigned 32 bits (1/2
16
scaling)
counts/smpl
0 to 1,073,741,823
signed 32 bits* (1/2
16
scaling)
counts/smpl
-1,073,741,824 to 1,073,741,823
Time
Time
2
20
Example Velocity Contouring Mode
Vel.
change
max velocity
change
acceler a tion
change max
velocity and
acceler a tion
There are no restrictions on switching the profile mode to velocity
contouring while the axis is in motion.
In addition, the master /slave axis combinations are fixed. The following
chart shows the allowed master/slave combinations for each chipset:
Typically the master axis is only used for encoder input. It is possible
however to use the master axis as a normal driven axis by leaving it
enabled, and using one of the three trajectory modes other than
electronic gear for the master axis. The net effect of this will be to run
two servo motors off of the same trajectory profile (although at a
different ratio if so programmed).
Electronic Gear
The following table summarizes the host specified profile parameters
for the electronic gear profile mode:
Profile
Parameter
Gear Ratio
* for example to specify a gear ratio of +1.5 to 1 the value
1.5*65,536 is sent to the chipset (98,304). Alternatively to set
the gear ratio as -11.39 to 1 the value -11.39*65,536 is sent (746,455 dec. or fff49c29 hex.).
In this profile mode, the host specifies one parameter, the gear ratio.
The target position is generated by applying the specified gear ratio to
the current position of another axis, slaving the driven axis to the axis
providing the position input. The following figure shows the
arrangement for encoders and motor drives in a typical electronic
gearing application.
Representation & RangeUnits
signed 32 bits* (1/2
16
scaling)
-
-1,073,741,824 to +1,073,741,823
Motor
Slave
Encoder
Amplifier
This configuration is shown in the previous diagram as 'optional'
components. Using this configuration the chipset can be made to
perform useful functions such as linear interpolation of two axis.
There are no restrictions on changing the gear ratio when the axis
is in motion, although care should be taken to select ratios such
that safe motion is maintained.
The specified gear ratio (SET_RATIO command) indicates the
number of target counts generated per input encoder count. For
example a gear ratio of 1.5 means 1.5 counts of the slave axis are
generated for every count of the master axis.
There are also no restrictions on changing to this profile mode
while the axes is in motion.
Trajectory Control
Normally each of the above trajectory modes will execute the specified
trajectory, within the specified parameter limits, until the profile
conditions are satisfied. For example for the point-to-point profile modes
this means that the profile will move the axis until the final destination
position has been reached, at which point the axis will have a velocity
of zero.
MC1231A
Amplifier
Motor
Master
Encoder
Optional
Because a geared axis takes up two encoder channels, the total
number of geared axes supported per chipset is 1/2 the total # of axes.
Halting The Trajectory
In some cases however it is necessary to halt the trajectory manually,
for safety reasons, or simply to achieve a particular desired profile. This
can be accomplished using one of two methods; abrupt stop, or smooth
stop.
Abrupt stops are accomplished using the STOP command. This
command instantaneously stops the trajectory generator by setting the
velocity of the axis to zero. This control mode is typically used during an
emergency stop, when no deceleration phase is desired.
Smooth stops are accomplished using the SMOOTH_STOP command.
This command causes the trajectory to decelerate at a rate equal to the
specified acceleration rate, until a velocity of zero is reached. In
addition the form of the deceleration is symmetric to the acceleration
21
Loading...
+ 49 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.