PMD MC73110 Product Manual

Advanced 3-phase motor control ic
Hide thumbs Also See for MC73110:
Table of Contents

Advertisement

Quick Links

MC73110 Product Manual
MC73110
Advanced 3-Phase Motor Control IC
Product Manual
Performance Motion Devices, Inc.
80 Central Street
Boxborough, MA 01719
Revision 2.4, October 2008

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the MC73110 and is the answer not in the manual?

Questions and answers

Summary of Contents for PMD MC73110

  • Page 1 MC73110 Product Manual MC73110 Advanced 3-Phase Motor Control IC Product Manual Performance Motion Devices, Inc. 80 Central Street Boxborough, MA 01719 Revision 2.4, October 2008...
  • Page 2 The contents of this document may not be disclosed to third parties, translated, copied, or duplicated in any form, in whole or in part, without the express written permission of PMD. The information contained in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form, by any means, electronic or mechanical, for any purpose, without the express written permission of PMD.
  • Page 3 Warranty PMD warrants performance of its products to the specifications applicable at the time of sale in accordance with PMD’s standard warranty. Testing and other quality control techniques are utilized to the extent PMD deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements.
  • Page 4 Related Documents MC73110 Advanced 3-Phase Motor Control IC Developer’s Kit Manual This document guides you through installation and operation of the MC73110 Developer’s Kit. It describes the developer’s kit card and software, and provides complete schematics for the card. MC73110 Product Manual...
  • Page 5: Table Of Contents

    How to Use This Reference..............67 MC73110 Product Manual...
  • Page 6 This page intentionally left blank. MC73110 Product Manual...
  • Page 7 MC73110 chip pin layout and descriptions ........
  • Page 8 This page intentionally left blank. viii MC73110 Product Manual...
  • Page 9: Chapter 1. Product Overview

    20kHz axis The MC73110 Motor Control IC is a single-chip, single-axis device ideal for use in intelligent three-phase brushless DC motor amplifiers. It provides sophisticated programmable digital current control with direct analog input of feedback signals. It can be operated in voltage, torque, or velocity modes. The MC73110 also supports standalone operation for use with PMD’s motion processors, other off-the-shelf servo controllers, or via a serial port.
  • Page 10 ION drives provide very high power density in a rugged, flexible form factor. They perform profile generation, servo compensation, stall detection, field oriented control, digital torque control and many other motion control functions. These single-axis drives are based on the Magellan Motion Processor and provide CANbus or serial communications. MC73110 Product Manual...
  • Page 11: Chapter 2. Specifications

    In This Chapter Configurations, Parameters, and Performance Physical Characteristics and Mounting Dimensions Configurations, Parameters, and Performance Available configurations 1 axis (MC73110) Motors supported 3-phase brushless DC Motor output modes 6-signal high/low digital outputs with dead time protection 3-signal digital outputs...
  • Page 12: Physical Characteristics And Mounting Dimensions

    Specifications PWM output method Symmetric 3-phase Internal A to D resolution 10-bit Physical Characteristics and Mounting Dimensions All dimensions are in millimeters. Figure 2-1: MC73110 physical dimensions MC73110 Product Manual...
  • Page 13: Chapter 3. Electrical Specifications

    F = 10.0 MHz) Symbol Parameter Minimum Maximum Conditions Supply Voltage 3.00V 3.6V Supply Voltage 4.75V 5.25V Supply Current 120 mA all I/O pins floating Clock Frequency 10.0 MHz Nominal MC73110 Product Manual...
  • Page 14: Ac Characteristics

    Straight Line through the A/D Transfer Characteristics, Excluding the Quantization Error AC Characteristics See timing diagrams on the opposite page for T numbers. The symbol “~” indicates active low signal. Timing interval Minimum Maximum Clock frequency (F 4 MHz 10 MHz MC73110 Product Manual...
  • Page 15: Timing Diagrams

    100 nsec a. Performance figures and timing information valid at Fclk = 10.0 MHz only. For timing infor- mation and performance parameters at Fclk < 10.0 MHz, contact PMD. b. The clock low/high split has an allowable range of 40–60%.
  • Page 16: Mc73110 Reset Timing Diagram

    Electrical Specifications Figure 3-3: MC73110 Reset timing diagram ClockIn ~RESET Figure 3-4: MC73110 SPI timing diagram MC73110 Product Manual...
  • Page 17: Pin Descriptions

    Advanced 3-Phase PWMBHigh/PWMB ClockIn Motor Control IC PWMALow AmplifierDisable PWMAHigh/PWMA AnalogGnd Vccp AnalogVcc Reserved/unused AnalogRefHigh Reserved/unused AnalogRefLo CData CurrentA CClk CurrentB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 MC73110 Product Manual...
  • Page 18 Electrical Specifications The functions of the MC73110’s pins are defined as follows: Name Number Direction Description QuadA Input These digital signals provide the A and B quadrature input from the QuadB QuadB incremental encoder. When the axis is moving in the positive (forward) direction, signal A leads signal B by 90°.
  • Page 19 They should be connected to a 3.3V supply. 5, 9, 26, 34, — These signals provide the return for the digital portion of the chip’s 51, 55 circuitry. They should be connected to the digital return. MC73110 Product Manual...
  • Page 20: Phase Lock Loop (Pll)

    The circuit in Figure 3-6 shows the recommended configuration and suggested values for the filter that must be connected to the OscFilter1 and OscFilter2 pins of the chip. The resistor tolerance is ±5%, and the capacitor tolerance is ±20%. Unpolarized capacitors must be used. Figure 3-6: PLL circuitry design MC73110 Product Manual...
  • Page 21: Chapter 4. Theory Of Operations

    GetLoop Commands and Variables Functional Overview The MC73110 Motor Control IC is a single-axis device for velocity, torque, or voltage-mode control of three-phase brushless DC motors. It can perform a number of functions including three-phase PWM signal generation, commutation, current loop, velocity loop, profile generation, Hall sensor input, quadrature encoder input, emergency stop processing, serial port command I/O, synchronous serial SPI data input, direct analog signal input, I temperature sensor input, and automatic configuration upload via serial EEPROM.
  • Page 22 A number of safety features are incorporated into the MC73110 including direct Estop (emergency stop) signal input, PWM output disable, and an amplifier disable output signal which can be used to enable and disable the external amplifier circuitry.
  • Page 23: Internal Block Diagram

    Connection Summary The MC73110 can be used in one of two connection modes: either as a dedicated motion controller used in conjunction with an external controller such as a PMD positioning motion processor or motion control card, or as a complete intelligent motion controller driven by serial port commands.
  • Page 24: Control Loop Overview

    Using the MC73310 as a complete intelligent motion controller, a PC or host microprocessor sends profile commands via the serial port, and the MC73110 responds by moving the axis along the desired profile, using the programmed velocity and acceleration. In this application, gain factors and other values required by the chip are usually sent by the host via the serial port after power-up.
  • Page 25: Control Loop Flow

    DigitalCmdClk, and DigitalCmdData. The instantaneous velocity can come from an analog signal through the velocity pin of MC73110, or via the quadrature encoder or Hall sensors. This module may be disabled, in which case the chip operates in torque or voltage mode, depending on the state of the current control module. See Section 4.8, “Field Oriented Control (FOC),”...
  • Page 26: Configuration For A Torque-Mode Amplifier

    4.4.1 Typical Control Applications Although the MC73110 control loop structure is very flexible, and may be programmed in a number of ways, most applications fall into one of three standard loop configurations. These are summarized in the following table. Modules...
  • Page 27: Motor Output And Signal Generation

    Motor Output and Signal Generation The MC73110’s motor output logic accepts three 16-bit motor coil voltage commands (one for each coil), and generates symmetric synchronized PWM signals output on dedicated hardware pins. Two signal generation modes are supported: six-signal output, and three-signal output mode. The command...
  • Page 28: Pwm Waveforms And Currents

    To determine the correct minimum dead time, consult the specifications for your switching IC or circuit. Six-signal and 3-signal modes are illustrated in Figure 4-9 on page 29. MC73110 Product Manual...
  • Page 29: Six-Signal Mode With Dead Time Delay

    The limit value specified is a 16-bit number representing the maximum value that can be output to the PWM generation circuitry. For example, if the limit is specified as +31,500, positive values will be clipped should they exceed MC73110 Product Manual...
  • Page 30: Current Loop

    96% (31,500/32,767) maximum on time, or 4% guaranteed minimum off-time. Current Loop The MC73110 includes a sophisticated digital current controller that utilizes analog feedback signals to match the actual motor currents with the desired current through each coil. The two desired motor current values are provided by the commutator module.
  • Page 31 Current Signal Offset Bias A special feature of the MC73110 is that a software offset bias can be introduced after the A/D conversion of the analog input signals. This may be useful to zero-reference the analog circuitry without the need for manually adjusted potentiometers.
  • Page 32: Commutation

    The motor mode is also important during recovery from a motion error, if this facility is used. The MC73110 has the ability to compare the velocity or position error against a user-defined window, and enter a motion error condition if this value is exceeded.
  • Page 33 GetCommutationMode is used. If sinusoidal commutation is selected, in addition to Hall sensors, an encoder must be connected to the MC73110. The Hall sensors are required for initializing sinusoidal commutation to the correct angle. It is necessary to specify the number of encoder counts per electrical cycle.
  • Page 34: Motor Command Phasing Vs. Hall Sensors

    Hall states for forward rotation of the motor. In order for correct motor operation, the Hall states must match the states in the table: Hall1 Hall2 Hall3 Phase A Output Phase B Output - Motor Command - Motor Command + Motor Command - Motor Command MC73110 Product Manual...
  • Page 35: Field Oriented Control (Foc)

    Field Oriented Control (FOC) The MC73110 supports the use of Field Oriented Control (FOC), which provides improved performance compared to phase current, especially at fast motor speeds. The performance benefits are realized because, in FOC, the current loops are run in a de-rotated frame of reference (D/Q frame), compared to the rotating motor frame of reference (phase A/B frame).
  • Page 36: Velocity Loop

    If the velocity source is selected as tachometer, then the velocity value, input through the tachometer signal, is a signed 16-bit number encoded in the same way as other analog input signals (see Section 4.21, “Analog Signal Processing,” MC73110 Product Manual...
  • Page 37: Velocity Feedback And Scaling

    When selecting the velocity scalar, be sure to specify a range appropriate for the expected encoder rate and cycle time which has been selected. For example, if the instantaneous encoder rate experienced by the MC73110 and the velocity scalar programmed by the user results in a 16-bit velocity value exceeding 32,767, or less than –32,768, then the value will become “clipped.”...
  • Page 38 To read the instantaneous velocity loop error GetMotorCommand value, the command is used. The velocity loop is calculated as follows: GetLoopError = VelocityDesired – VelocityActual ∑ × ⁄ × ⁄ VelocityOutput VelocityKp 64 VelocityKi 256 where: is the velocity error term MC73110 Product Manual...
  • Page 39 Tachometer Signal Offset Bias As was the case for the digital current feedback inputs, the MC73110 has the ability to store a software offset bias which is combined with the A/D value for the AnalogCmd signal and/or the tachometer signal. This may be useful for zero-referencing the analog circuitry without the need for external adjusting circuitry such as potentiometers.
  • Page 40: Velocity Integrator

    4.10 Velocity Integrator The MC73110 includes a special feature known as a velocity integrator which allows 32-bit velocity profile resolutions to be generated from 16-bit velocity values. If enabled, the velocity integrator can utilize velocity values from the profile generator, the SPI data stream, or the AnalogCmd signal.
  • Page 41: Velocity Integrator Source Select

    This will be either the velocity loop or the commutator, depending on whether the velocity loop has been enabled. 4.10.1 Velocity Integrator Loop Filter Figure 4-15 shows a flow diagram for the integrated velocity loop filter incorporated in the MC73110. Four values can be set by the user: Kp , Ki...
  • Page 42: Profile Generation

    Such an excessive position error often indicates a potentially dangerous condition such as motor or encoder failure, or excessive mechanical friction. To detect this condition, the MC73110 automatically utilizes the motion error facility. See Section 4.9.5, “Motion Error Detection,” on page 39 for more information.
  • Page 43: Loop Rate

    µsec. This is also the default value. The sample time can be increased by multiples of 51.2 µsec, rounding to the nearest integer value. For example, 154, 205, 256, etc. The sample time should not be changed while axes are in motion. MC73110 Product Manual...
  • Page 44: Status Words

    Theory of Operations 4.13 Status Words The MC73110 can monitor various aspects of the motion of the axis. Various numerical registers can be queried to determine the current state of the axis, such as the actual position ( GetActualPosition command), or the current...
  • Page 45 1 for any input at 3.3V, and 0 for any input at 0V. The results of GetSignalStatus returning [010x xx10 1xxx x011]b are shown in the following table. Input Voltage AmplifierDisable PWMOutputDisable Estop Hall3 Hall2 Hall1 Index EncoderB MC73110 Product Manual...
  • Page 46 SetSignalSense was used to translate the true voltage level at the Estop pin. This is because the MC73110 will interpret the state of a bit (active or inactive) only after taking the signal sense mask into consideration. The bits in the Signal Status register represent the logical level (not the hardware level) of each of these signals. These two values may be different if a value other than 0 is programmed in the signal sense mask.
  • Page 47: Programmable Conditions

    Theory of Operations 4.14 Programmable Conditions The MC73110 supports the ability to monitor a number of condition bits in either the Event Status, Activity Status, or Signal Status words. This condition may be used to trigger various chip events. The chip events that can be programmed are the setting of the AmplifierError (bit 8 in the Event Status word), the setting of the AmplifierDisable signal, and the control of PWM output.
  • Page 48 Flash. Regardless of the condition mask result, it will remain active until the User Command Error bit in the Event Status register is cleared. When the AmplifierDisable pin is active, the MC73110 is held in a dormant state equivalent to SetLoopMode = 0 (all loops disabled).
  • Page 49 Theory of Operations 4.14.4 Condition Mask Diagram The following diagram provides an overview of the programmable triggers for the condition masks and the subsequent effect. MC73110 Product Manual...
  • Page 50: Temperature Sensor

    C bus to configure the sensor for 12-bit resolution. For future product versions: currently, the MC73110 is certified to work only with the parts and addresses shown in the preceeding table. Additional commands could be required if different parts and addresses are used. For de- tails, contact PMD 4.15.1 Overtemperature Detection...
  • Page 51: Bus Voltage Sensor

    4.16 Bus Voltage Sensor The MC73110 supports the ability to monitor the bus voltage using an analog input, which feeds an internal 10-bit A/ D converter. In order to use this functionality, not only must the bus voltage be connected to the Bus Voltage input, but also AnalogVCC, AnalogGND, AnalogRefHigh, and AnalogRefLow must be connected.
  • Page 52 Flash facility can be used to load parameter information, and no serial port is needed. Whether the serial port will be used depends on the usage of the MC73110’s internal profile generator, and on whether additional information regarding the motor’s operating state is needed. For all features other than the profile mode, the chip may be operated without serial port communication.
  • Page 53 Data 00h (address byte) C2h (checksum) 3Dh (op code) 01h (velocity loop) The host will then receive a response from the MC73110, which also contains six frames. The six response frames are detailed in the following table. Frame Number Data...
  • Page 54 4.17.4 Baud Rate and Protocol The MC73110 may be configured to operate at baud rates ranging from 1200 baud to 460,800 baud. In addition, it may be operated in point-to-point serial mode, or multi-drop idle-line mode. To set the serial port configuration, the...
  • Page 55: Typical Data Frame Format

    For example, at 9600 baud each bit takes 1/9600 seconds to transfer, and a typical frame consists of 8 data bits, 1 start bit, MC73110 Product Manual...
  • Page 56: Incremental Encoder Input

    4.18 Incremental Encoder Input Incremental encoder input is supported by the MC73110 along with an index pulse and associated high speed capture system. Two square-wave signals: QuadA and QuadB are expected to be offset from each other by 90°, as shown in Figure 4-18 on page 57.
  • Page 57: Serial Eeprom

    4.19 Serial EEPROM To facilitate use of the MC73110 as a dedicated amplifier chip without need for communication from a host, a serial EEPROM is supported which can be used to load operational parameters into the chip before operation. Typically, after prototyping of your product with the MC73110, you will use one of the PMD software utilities to automatically build a serial EEPROM file, which can then be programmed and installed on the production product card.
  • Page 58 User Command Error bit is set in Event Status register, and the amplifier disable output is driven active. If the MC73110 is connected to a host using the serial port, the host can proceed by manually configuring the MC73110 and then clearing the User Command Error bit.
  • Page 59: Synchronous Serial Input (Spi Port)

    StoreUserData command involves erasing and writing the Flash memory in the chip. Upon receiving the last byte of data, the MC73110 does not respond. Instead, it resets, so care should be taken in re- establishing serial communications after this sequence.
  • Page 60: Analog Signal Processing

    4.20.1 SPI Command Synchronization Since the MC73110 does not have a chip select for its SPI input, care should be taken to insure the integrity of the SPI clock. In normal SPI mode, extra or missing SPI clocks can cause permanent loss of sychronization in the SPI data stream, and hence erroneous commands being received by the MC73110.
  • Page 61 A value of (AnalogRefHigh-AnalogRefLow)/2 represents a value of zero volts. When presenting bipolar signals, such as the current through each motor coil to the MC73110 input pins corresponding to those signals, the appropriate external circuitry should be installed to shift and rescale those signals.
  • Page 62: Getloop Commands And Variables

    4.22.1 Read Loop Variables The MC73110’s flexible control loop structure may be configured in a number of ways. When it is enabled, the control loop filter will calculate the output based on variables such as instantaneous error and error integral. These loop...
  • Page 63: The Velocity Loop

    Figure 4-20 represents the filter equation in Section 4.9.3, “Velocity Loop Filter,” on page 38 and the dashed arrow lines shows the location to which the returned value corresponds in the filter calculation. For example, returns the desired velocity of the velocity loop. GetLoopCommand 1 MC73110 Product Manual...
  • Page 64 4.22.4 Read Variables in the Velocity Integrator Loop The loop ID of the velocity integrator loop is 0. With loop ID 0 specified, the velocity integrator loop variables may be read, as shown in Figure 4-21 on page 65. MC73110 Product Manual...
  • Page 65: The Velocity Integrator Loop

    The returned value is a signed 32-bit number in 16.16 format. The result does not include the velocity scalar, and it has a unit of count/cycle. GetLoopError 0 returns the position error. The returned value is a signed 32-bit number in counts. returns the integrated position error, which is: GetLoopIntegral 0 ∑ MC73110 Product Manual...
  • Page 66 Theory of Operations This page intentionally left blank. MC73110 Product Manual...
  • Page 67: Chapter 5. Instruction Reference

    Describes what the instruction does, and includes any special information relating to the instruc- tion. Restrictions Describes the circumstances in which the instruction is not valid; that is, when it should not be issued. Refers to related instructions, information, or topics in this manual. MC73110 Product Manual...
  • Page 68 This command can be used when the axis is at rest, or when it is moving. Restrictions ClearPositionError should only be used when the velocity integrator loop is enabled. If this loop is not enabled, then this command has no effect. GetLoopCommand GetMotionErrorLimit MC73110 Product Manual...
  • Page 69 Overvoltage Set (1) when bus voltage exceeds the overvoltage limit. Undervoltage Set (1) when bus voltage is less than the undervoltage limit. — 12–15 Reserved Restrictions GetEventStatus 74) GetSignalStatus MC73110 Product Manual...
  • Page 70 16-bit value representing the voltage (read by an on-chip 10-bit A/D) presented Description to the specified analog input port. The value returned is the result of summing the raw value with the analog offset which was set using SetAnalogOffset Restrictions SetAnalogOffset/GetAnalogOffset MC73110 Product Manual...
  • Page 71 1,703,936/65,536; or 26 counts/cycle. When the velocity feedback source is set to Tachometer, the returned value will represent the velocity in a 16.16 format after the user multiplies the returned value by the velocity scalar. Restrictions SetVelocityFeedbackSource/GetVelocityFeedbackSource 117) MC73110 Product Manual...
  • Page 72 GetBusVoltage gets the most recent Bus voltage reading. The scaling of the returned value depends on the scaling used in Bus voltage sensor. Restrictions will only return valid information if analog Bus voltage signal is connected. GetBusVoltage MC73110 Product Manual...
  • Page 73 Position Capture register, and clears the position capture bit in the Activity Status register. This command also resets the capture hardware, allowing another capture to occur. Restrictions An encoder with index must be present. MC73110 Product Manual...
  • Page 74 Set (1) if error occurred processing user commands from EEPROM or Flash after chip reset. Restrictions All of the bits in this status word are set by the chip and cleared by the host. To clear these bits, use command. ResetEventStatus GetActivityStatus GetSignalStatus MC73110 Product Manual...
  • Page 75 GetHostIOError error The error codes are encoded as defined in the following table. Error Code Encoding No error 73110 Reset Invalid instruction — (Reserved) Invalid parameter — (Reserved) 5–8 Bad checksum — (Reserved) 10–15 Restrictions GetEventStatus MC73110 Product Manual...
  • Page 76 When the loop command source is set to Analog or SPI, the returned value will represent the velocity reference command in a 16.16 format after the user multiplies the returned value by the velocity scalar. Restrictions If the selected LoopID is disabled ( ), this command will return zero. SetLoopMode GetLoopError MC73110 Product Manual...
  • Page 77 When the velocity feedback source is set to Tachometer, the returned value will represent the velocity error in a 16.16 format after the user mulitiplies the returned value by the velocity scalar. Restrictions If the selected LoopID is disabled ( SetLoopMode ), this command will return zero. GetLoopCommand MC73110 Product Manual...
  • Page 78 Integrated motor current error for –2 to 2 –1 winding #2 (when in A/B mode) or integrated Quadrature (Q) current error (when in FOC mode). Restrictions If the selected LoopID is disabled ( ), this command will return zero. SetLoopMode Get/SetLoopGain MC73110 Product Manual...
  • Page 79 For example, a positive voltage should be present on motor terminal phase A when GetPWMCommand 0 returns a negative value. This relationship is required for proper operation of the current loop. Restrictions MC73110 Product Manual...
  • Page 80 Therefore, a low signal will be read as 0, and a high signal will be read as 1. The bit definitions are as follows. Description Bit Number QuadA QuadB Index — (Reserved) 3–6 Hall1 Hall2 Hall3 — (Reserved) 10–12 Estop PWMOutputDisable AmplifierDisable Restrictions GetActivityStatus GetEventStatus SetSignalSense/GetSignalSense 113) MC73110 Product Manual...
  • Page 81 Temperature Description GetTemperature returns the value read from the temperature sensor right shifted by 4. Restrictions If no temperature sensor is present, this command returns 0. The overtemperature bit in the Activity Status register will be Set(1). MC73110 Product Manual...
  • Page 82 12 11 Second data word read customization code major s/w version minor s/w version Description GetVersion returns product information encoded as shown in the preceeding packet structure diagram. Restrictions MC73110 Product Manual...
  • Page 83 NoOperation Syntax NoOperation Arguments None Packet Structure NoOperation Description command has no effect on the IC. This command may be used to resynchronize NoOperation communications with the chip. Restrictions MC73110 Product Manual...
  • Page 84 Velocity VelocityFeedbackSource 0 (Encoder) VelocityScalar TemperatureLimit 32767 UnderVoltageLimit Restrictions The command response is issued prior to reset. Further communications should not be attempted until after the reset time has elapsed. Section 3.4, “Timing Diagrams,” on page 15. MC73110 Product Manual...
  • Page 85 All other Event Status register bits (bits which have a mask value of 1) are unaffected. For example, setting the mask to 0018h will clear the Amplifier error and UserCommand error bits, but will leave the capture received and motion error bit unchanged. Restrictions GetEventStatus MC73110 Product Manual...
  • Page 86 32-bit number; giving 0001 in the high word and C000h in the low word. Values returned by GetAcceleration must be divided by 65,536 to convert to units of counts/cycle Restrictions SetVelocity/GetVelocity SetCommandSource/GetCommandSource 116) MC73110 Product Manual...
  • Page 87 (encoder position). This instruction establishes a new SetActualPosition reference position from which subsequent positions can be referenced. It is used to set a known reference position after a homing procedure. reads the contents of the encoder’s position register. GetActualPosition Restrictions SetVelocity/GetVelocity SetCommandSource/GetCommandSource 116) MC73110 Product Manual...
  • Page 88 Second data word read value Description sets the offset that is summed with the value at the desired portID prior to use in SetAnalogOffset chip calculations. GetAnalogOffset returns the value of the offset for the specified port. Restrictions MC73110 Product Manual...
  • Page 89 Enable), the axis goes into open-loop mode when a motion error occurs. When SetAutoStopMode Disable), the axis is not affected by a motion error. auto stop is disabled ( SetAutoStopMode GetAutoStopMode returns the current state of the auto stop mode. Restrictions GetEventStatus SetMotionErrorLimit /GetMotionErrorLimit MC73110 Product Manual...
  • Page 90 Bus voltage is less than the UnderVoltageLimit value, an undervoltage condition occurs. Both the OverVoltageLimit and UnderVoltageLimit have ranges of 0 to 2^16–1, with scaling dependent on Bus voltage sensor scaling. GetBusVoltageLimits reads the indicated limit. Restrictions GetBusVoltage GetActivityStatus MC73110 Product Manual...
  • Page 91 When set to SPI, the command for the velocity or current loops is a 16-bit value read from the incoming SPI data stream. When set to ProfileGenerator, the command is internally generated, based on trajectory parameters set by the host. GetCommandSource returns the command source. Restrictions SetLoopMode /GetLoopMode MC73110 Product Manual...
  • Page 92 Space Vector PWM, to determine the motor phase commands. If current loops are enabled in either of these modes, they will be run as part of the FOC alogrithm (FOC D/Q loops). GetCommutationMode returns the value of the commutation mode. Restrictions SetPhaseCounts/GetPhaseCounts 103) MC73110 Product Manual...
  • Page 93 For example, to define an amplifier error condition as the occurrence of an overtemperature or an Estop going active, the condition mask would be set to 2040 (hex). returns the mask for the specified condition. GetConditionMask Restrictions Section 4.14, “Programmable Conditions,” on page 47. MC73110 Product Manual...
  • Page 94 First data word write term Second data word write value (high-order part) Third data word write value (high-order part) GetLoopGain First data word write term Second data word read value (high-order part) Third data word read value (high-order part) MC73110 Product Manual...
  • Page 95 For all other terms, the value set and returned is a 16-bit value in the low-order part of value. When the term is set to CurrentLimit or VelocityLimit the value set and returned is scaled by 1/256. GetLoopIntegral MC73110 Product Manual...
  • Page 96 Setting the corresponding bit to 1 enables the loop. Setting the bit to 0 disables the loop. returns the loop mode. GetLoopMode The current loops can be enabled/disabled regardless of whether in A/B or FOC current control. Restrictions MC73110 Product Manual...
  • Page 97 16.16 format. If the highest enabled loop is the current loop, this value is not used. GetMotionErrorLimit returns the motion error limit value. Restrictions SetActualPosition/GetActualPosition SetAutoStopMode/GetAutoStopMode MC73110 Product Manual...
  • Page 98 13.7 *32,768/100 = 4,489 (decimal). This corresponds to a hexadecimal value of 1189h. Restrictions SetMotorCommand GetMotorCommand are valid only when the motor mode is set to off. SetPWMLimit/GetPWMLimit SetMotorMode/GetMotorMode 108) 100) MC73110 Product Manual...
  • Page 99 06000h. Restrictions This command only affects the motor output when the axis motor mode is on ( ). When SetMotorMode the motion IC is in open loop mode, this command has no affect. SetMotorCommand/GetMotorCommand MC73110 Product Manual...
  • Page 100 When the motor mode is set to Off, the axis is in open-loop mode, and is controlled by commands placed directly into the motor output register by the host. returns the motor mode. GetMotorMode Restrictions GetActivityStatus SetMotorCommand/GetMotorCommand MC73110 Product Manual...
  • Page 101 (500/2,000)*360 = 90 degrees phase angle position. Restrictions The specified angle must not exceed the number of counts per electrical cycle set by the SetPhaseCounts command. SetPhaseAngle is only valid when using sinusoidal commutation. SetPhaseCounts/GetPhaseCounts 103) MC73110 Product Manual...
  • Page 102 When phase correction is set to Hall, the Hall sensor signals are used to synchronize the commutation phase angle once per electrical cycle. returns the phase correction mode. GetPhaseCorrectionMode Restrictions SetPhaseCounts/GetPhaseCounts 103) MC73110 Product Manual...
  • Page 103 Restrictions If an encoder is being used for commutation then SetCommutationMode must be called after calling SetPhaseCounts and before moving the motor, in order to ensure that the motor phase is correctly set. SetCommutationMode MC73110 Product Manual...
  • Page 104 Off removes the scale factor. SetPhasePrescale GetPhasePrescale returns the scaling mode. This command should only be used if the encoder count per electrical cycle of the motor exceeds Restrictions 32767. MC73110 Product Manual...
  • Page 105 SetPWMDeadTime GetPWMDeadTime Syntax SetPWMDeadTime time GetPWMDeadTime Arguments Instance Instance Name (in µs) Encoding (in µs) Encoding time 0.025 0.05 0.075 0.125 0.15 0.175 0.225 0.25 0.275 0.325 0.35 0.375 0.45 0.55 0.65 0.75 10.4 11.2 MC73110 Product Manual...
  • Page 106 IC or circuit. The programmed dead time delay affects all phases. GetPWMDeadTime returns the code for the dead time. Restrictions Dead time generation is only active when the chip is operating in six-signal PWM mode. SetPWMOutputMode/GetPWMOutputMode 109) SetPWMSense/GetPWMSense 110) MC73110 Product Manual...
  • Page 107 PWM output frequency (in kHz). Only two frequencies are supported by the MC73110; these are shown in the table below. To select one of the supported frequencies, pass the value column as the frequency argument to this command.
  • Page 108 GetPWMLimit of 97% of full scale is required, then this register should be loaded with a value of 97.0 *32,768/100 = 31,784 (decimal). This corresponds to a hexadecimal value of 7C28h. Restrictions SetMotorCommand/GetMotorCommand SetMotorMode/GetMotorMode 100) SetPWMOutputMode/GetPWMOutputMode 109) MC73110 Product Manual...
  • Page 109 SetPWMOutputMode GetPWMOutputMode returns the code for the motor output mode. Restrictions The 6-signal mode which floats the 3rd leg’s drive is only available if using Hall-Based commutation (not FOC). SetPWMSense/GetPWMSense 110) MC73110 Product Manual...
  • Page 110 When the chip is operating in three-signal output mode, only bits 0, 2, and 4 of the mask are used. returns the PWM sense mask. GetPWMSense Restrictions Warning: Incorrect settings in this register may damage the output circuitry or motor. SetPWMOutputMode/GetPWMOutputMode 109) MC73110 Product Manual...
  • Page 111 102 µsec. The motion processor hardware can adjust the cycle time only in increments of 51.2 µsec (rounded up). For example, 154, 205, 256, etc. The time value passed to this command will be rounded up to the nearest increment of this base value. returns the current sample time value. GetSampleTime Restrictions MC73110 Product Manual...
  • Page 112 9600 baud 19200 baud 57600 baud 115200 baud 230400 baud 460800 baud 4–5 Parity None Even Stop Bits 7–8 Protocol Point-to-point — (Reserved) 1–2 Multi-drop using idle-line detection 11–15 Multi-drop Address Address 0 Address 1 Address 31 Restrictions MC73110 Product Manual...
  • Page 113 If an encoder is used for commutation and the sense of the Hall sensors or the index sensor is changed, then must be called before moving the motor to ensure that the motor phase SetCommutationMode is set correctly. GetSignalStatus SetCommutationMode MC73110 Product Manual...
  • Page 114 GetSPISyncMode returns whether this mode is enabled or not. Restrictions should only be set to On if certain timing requirements on the SPI packets are met. SPISyncMode Section 4.20, “Synchronous Serial Input (SPI Port),” on page 59. MC73110 Product Manual...
  • Page 115 If an overtemperature condition occurs, bit 6 of the Activity Status register will be set to 1. GetTemperatureLimit returns the overtemperature limit value. Restrictions GetActivityStatus GetTemperature MC73110 Product Manual...
  • Page 116 32-bit number; giving 0001 in the high word and C000h in the low word. Retrieved numbers ( GetVelocity ) must be divided by 65,536 to convert to units of counts/cycle. Restrictions SetAcceleration/GetAcceleration SetCommandSource/GetCommandSource MC73110 Product Manual...
  • Page 117 When set to Encoder, the source of velocity information is derived from position information provided by the quadrature A/B signals. When set to Hall Sensors, the velocity is derived from position information provided by the Hall sensors. GetVelocityFeedbackSource returns the feedback source. Restrictions SetVelocityFeedbackSource is not valid with Velocity Integrator enabled. MC73110 Product Manual...
  • Page 118 102.4 µsec ( SetSampleTime 102), speed = 200,000/(10 /102.4) = 20.48 counts per cycle scalar = 32767/20.48 = 1600 returns the velocity scalar. GetVelocityScalar Restrictions Section 4.9.2, “Velocity Scalar,” on page 37. MC73110 Product Manual...
  • Page 119 StoreUserData Description StoreUserData initiates a special mode to store commands into on-chip Flash memory. Restrictions This command can only be sent when the AmplifierDisable output is active. Section 4.19.2, “Storing User Commands to FLASH,” on page 58. MC73110 Product Manual...
  • Page 120 This page intentionally left blank. MC73110 Product Manual...
  • Page 121 Set/GetMotorMode GetHostIOError Set/GetPhaseAngle GetLoopCommand Set/GetPhaseCorrectionMode GetLoopError Set/GetPhaseCounts GetLoopIntegral Set/GetPhasePrescale GetPWMCommand Set/GetPWMDeadTime GetSignalStatus Set/GetPWMFrequency GetTemperature Set/GetPWMLimit GetVersion Set/GetPWMOutputMode NoOperation Set/GetPWMSense Reset Set/GetSampleTime ResetEventStatus Set/GetSerialPortMode Set/GetAcceleration Set/GetSignalSense Set/GetActualPosition Set/GetSPISyncMode Set/GetAnalogOffset Set/GetTemperatureLimit Set/GetAutoStopMode Set/GetVelocity Set/GetBusVoltageLimits Set/GetVelocityFeedbackSource Set/GetCommandSource Set/GetVelocityScalar Set/GetCommutationMode StoreUserData MC73110 Product Manual...
  • Page 122 This page intentionally left blank. MC73110 Product Manual...
  • Page 123 52 input 36 coil voltage 28 range 61 command argument associated data 52 numeric 67 desired velocity 25 required 67 packet 53 associated data words 52 command packet 52, 54, 56, 58 asynchronous format 52 frame 55 MC73110 Product Manual...
  • Page 124 22, 33 current 30 sensor input 21, 34 velocity 39 states 34 velocity command 25, 36 Hall-based digital current controller 30 commutation 34 direct analog signal 60 technique 33 input 21 hexadecimal code 67 disabling PWM output 48 MC73110 Product Manual...
  • Page 125 IC cycle time 37 positive current output 30 idle-line protocol 56 velocity 42 IGBT 22 velocity error 39 incremental encoder input 56 MC73110 physical characteristics 12 index measured velocity 37 pulse 35, 56 mechanical friction 42 sense mask 57 minimum...
  • Page 126 17 incremental position 57 functionality 18 quadrature encoder point-to-point 55 counts 35 configuration 56 data 25 mode 55 input 21 serial mode 54, 55 position based motion error 42 real-time signal levels 45 capture 45 recommended MC73110 Product Manual...
  • Page 127 46 brushless DC motors 21 signal sense register 57 PWM signal generation 21 signal status 44, 47 three-signal register 45, 46 output 27 register defintion 45 output mode 29 single host processor 56 timeout period 56 MC73110 Product Manual...
  • Page 128 25 profile 40 scalar 37, 38 scalar register 40 source 36, 37 values 40 velocity integrator 36, 43 filter 41 loop 32, 38 module 25 velocity loop 21, 36, 42, 43, 60 calculation 38 filter 36, 41 MC73110 Product Manual...
  • Page 129 For additional information, or for technical assistance, please contact PMD at (978) 266-1210. You may also e-mail your request to support@pmdcorp.com Visit our website at http://www.pmdcorp.com Performance Motion Devices 80 Central Street Boxborough, MA 01719 MC73110 Product Manual...

Table of Contents