SPRACM9B June   2019  – November 2020 TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   Trademarks
  2. Introduction
    1. 1.1 Acronyms Used in This Document
  3. Benefits of the TMS320F2838x MCU for High-Bandwidth Current Loop
  4. Current Loops in Servo Drives
  5. Outline of the Fast Current Loop Library
  6. Fast Current Loop Evaluation
    1. 5.1 Evaluation Setup
      1. 5.1.1 Hardware
      2. 5.1.2 Software
      3. 5.1.3 FCL With T-Format Type Position Encoder
        1. 5.1.3.1 Connecting T-Format Encoder to IDDK
        2. 5.1.3.2 T-Format Interface Software
        3. 5.1.3.3 T-Format Encoder Latency Considerations
      4. 5.1.4 SDFM
      5. 5.1.5 Incremental System Build
  7. Incremental Build Level 1
    1. 6.1 SVGEN Test
    2. 6.2 Testing SVGEN With DACs
    3. 6.3 Inverter Functionality Verification
  8. Incremental Build Level 2
    1. 7.1 Setting the Overcurrent Limit in the Software
    2. 7.2 Current Sense Method
    3. 7.3 Voltage Sense Method
    4. 7.4 Setting Current Regulator Limits
    5. 7.5 Verification of Current Sense
    6. 7.6 Position Encoder Feedback
      1. 7.6.1 Speed Observer and Position Estimator
      2. 7.6.2 Verification of Position Encoder Orientation
  9. Incremental Build Level 3
    1. 8.1 Observation One – PWM Update Latency
      1. 8.1.1 From the Expressions Window
      2. 8.1.2 From the Scope Plot
  10. Incremental Build Level 4
    1. 9.1 Observation
  11. 10Incremental Build Level 5
  12. 11Incremental Build Level 6
    1. 11.1 Integrating SFRA Library
    2. 11.2 Initial Setup Before Starting SFRA
    3. 11.3 SFRA GUIs
    4. 11.4 Setting Up the GUIs to Connect to Target Platform
    5. 11.5 Running the SFRA GUIs
    6. 11.6 Influence of Current Feedback SNR
    7. 11.7 Inferences
      1. 11.7.1 Bandwidth Determination From Closed Loop Plot
      2. 11.7.2 Phase Margin Determination From Open Loop Plot
      3. 11.7.3 Maximum Modulation Index Determination From PWM Update Time
      4. 11.7.4 Voltage Decoupling in Current Loop
    8. 11.8 Phase Margin vs Gain Crossover Frequency
  13. 12Incremental Build Level 7
    1. 12.1 Run the Code on CPU1 to Allocate ECAT to CM
    2. 12.2 Run the Code on CM to Setup ECAT
    3. 12.3 Setup TwinCAT
    4. 12.4 Scanning for EtherCAT Devices via TwinCAT
    5. 12.5 Program ControlCard EEPROM for ESC
    6. 12.6 Running the Application
  14. 13Incremental Build Level 8
    1. 13.1 Run the Code on CPU1 to Allocate ECAT to CM
    2. 13.2 Run the Code on CM to Setup ECAT
    3. 13.3 Running the Application
  15. 14References
  16. 15Revision History

Running the Application

  1. Follow the same procedure given in Section 12.4 to bring up the TwinCAT and to scan the EtherCAT devices connected to it.
  2. Follow the same procedure given in Section 12.6 to interact with the drive to feed in command references and to get the status back.
  3. Unlike the previous build level, here the commands received by the controller are not looped back and are used to actually set the operational mode or references for the drive. The operational status of the drive is sent back via IPC --> CM --> TwinCAT.
  4. The output mapping in TwinCAT sets the commands and references for the drive while the input mapping reveals the operating status of the drive.
  5. Under output mapping, 'DriveCommand' sets three different operating modes. It can take a value of 0, 1 or 2 and its significance is as follows
    1. 0 - STOP motor
    2. 1 - RUN the motor in SPEED mode --> outer loop is speed loop (as in BUILDLEVEL 4). 'SpeedReference' under output mapping will act as the speed reference setting for this mode
    3. 2 - RUN the motor in POSITION mode --> outer loop is position loop (as in BUILDLEVEL 5). 'PositionReference' under output mapping will act as the position reference setting for this mode
    4. any other value --> defaults to STOP motor
  6. 'SpeedReference' and 'PositionReference' take values in a 1000 point scale (between 0 and +/-1000) as command. Values outside this range will be clamped in control side software (CPU1) to fit within range in the drive controller. These are then converted into per unit by CPU1, which is the default format used by the control software.
  7. As the motor runs, it reports the speed feedback in speed mode and position feedback in position mode. Try varying the drive commands by editing the parameters under output mapping, and see the drive response in input mapping. Position feedback will always be given as a positive number within 0 and 1000. For example, if 'PositionReference' is given as -200, the feedback 'PositionStatus' will display a value close to 800. In angular terms, they represent the same position.