SPRACM9B June   2019  – November 2020 TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DK-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 SFRA GUIs

If the high voltage (HV) power input to the target platform is turned off before, restore it back now. From the debug environment, the steps to be followed are as shown below:

  1. Verify that sfraTestLoop is set to SFRA_TEST_D_AXIS so as to test Id loop.
  2. Set FCL_params.wccD to the desired value, within limits, (when test is performed for Q axis, adjust this parameter for Q axis - FCL_params.wccQ)
  3. Set speedRef = 0.05 (in pu, 1 pu = 250Hz) and then set runMotor = MOTOR_RUN to run the motor. Now motor shaft should start spinning and settle at the commanded speed.
  4. The state machine variable (lsw) is auto-promoted in a sequence, its states are as follows:
    1. lsw = ENC_ALIGNMENT --> lock the rotor of motor into alignment with stator phase A
    2. lsw = ENC_WAIT_FOR_INDEX --> motor in run mode and waiting for the first instance of QEP index pulse (applicable with QEP encoder only)
    3. lsw = ENC_CALIBRATION_DONE --> motor in run mode - (signifies occurence of QEP index pulse and completion of calibration when QEP is used, or, completion of calibration when other encoders are used)
  5. Now the GUI can be called into perform a frequency sweep of the D axis current loop by clicking on the 'Start Sweep' button in the GUI. The sweep progress will be indicated by a green bar in the location marked as ‘NO DATA’.
  6. When the frequency sweep is fully done, it will compute the Bode plot and display the results as shown in Figure 11-6 and Figure 11-7.
  7. The GUI also computes and displays the loop bandwidth, gain margin and phase margin.
  8. Repeat the test, if desired, by chaning FCL_params.wccD, and at different speed and load conditions.
  9. To disconnect the GUI, click the 'Disconnect' button on the GUI.
  10. To stop the motor, reduce the HV dc input voltage and set runMotor to MOTOR_STOP.
  11. After the motor stops, take the controller out of real-time mode and reset.
GUID-1E7B278C-18B0-411C-A3C4-ACE02E3E554A-low.pngFigure 11-6 SFRA Open Loop Bode Plots of the Current Loop Showing Magnitude and Phase Angle
GUID-101A5048-E0D5-46C0-96D0-F1F6E49515BB-low.pngFigure 11-7 SFRA Closed Loop Bode Plots of the Current Loop Showing Magnitude and Phase Angle