TIDUF77 June   2024 MSPM0G1507

 

  1.   1
  2.   Description
  3.   Resources
  4.   Features
  5.   Applications
  6.   6
  7. 1System Description
    1. 1.1 Terminology
    2. 1.2 Key System Specifications
  8. 2System Overview
    1. 2.1 Block Diagram
    2. 2.2 Design Considerations
    3. 2.3 Highlighted Products
      1. 2.3.1 TMS320F2800137
      2. 2.3.2 MSPM0G1507
      3. 2.3.3 DRV7308
      4. 2.3.4 UCC28911
      5. 2.3.5 TLV9062
      6. 2.3.6 TLV74033
      7. 2.3.7 ISO6721B
      8. 2.3.8 TMP6131
    4. 2.4 System Design Theory
      1. 2.4.1 Hardware Design
        1. 2.4.1.1 Modular Design
        2. 2.4.1.2 Auxiliary Flyback Power Supply
        3. 2.4.1.3 DC Link Voltage Sensing
        4. 2.4.1.4 Inrush Current Protection
        5. 2.4.1.5 Motor Phase Voltage Sensing
        6. 2.4.1.6 Motor Phase Current Sensing
        7. 2.4.1.7 Over Current Protection of DRV7308
        8. 2.4.1.8 Internal Overcurrent Protection for TMS320F2800F137
      2. 2.4.2 Three-Phase PMSM Drive
        1. 2.4.2.1 Field-Oriented Control of PM Synchronous Motor
          1. 2.4.2.1.1 Space Vector Definition and Projection
            1. 2.4.2.1.1.1 ( a ,   b ) ⇒ ( α , β ) Clarke Transformation
            2. 2.4.2.1.1.2 α , β ⇒ ( d ,   q ) Park Transformation
          2. 2.4.2.1.2 Basic Scheme of FOC for AC Motor
          3. 2.4.2.1.3 Rotor Flux Position
        2. 2.4.2.2 Sensorless Control of PM Synchronous Motor
          1. 2.4.2.2.1 Enhanced Sliding Mode Observer With Phase-Locked Loop
            1. 2.4.2.2.1.1 Mathematical Model and FOC Structure of an IPMSM
            2. 2.4.2.2.1.2 Design of ESMO for the IPMSM
            3. 2.4.2.2.1.3 Rotor Position and Speed Estimation With PLL
        3. 2.4.2.3 Field Weakening (FW) and Maximum Torque Per Ampere (MTPA) Control
        4. 2.4.2.4 Hardware Prerequisites for Motor Drive
          1. 2.4.2.4.1 Motor Current Feedback
            1. 2.4.2.4.1.1 Three-Shunt Current Sensing
            2. 2.4.2.4.1.2 Single-Shunt Current Sensing
          2. 2.4.2.4.2 Motor Voltage Feedback
  9. 3Hardware, Software, Testing Requirements, and Test Results
    1. 3.1 Getting Started Hardware
      1. 3.1.1 Hardware Board Overview
      2. 3.1.2 Test Conditions
      3. 3.1.3 Test Equipment Required for Board Validation
    2. 3.2 Getting Started GUI
      1. 3.2.1 Test Setup
      2. 3.2.2 Overview of GUI Software
      3. 3.2.3 Setup Serial Port
      4. 3.2.4 Motor Identification
      5. 3.2.5 Spin Motor
      6. 3.2.6 Motor Fault Status
      7. 3.2.7 Tune Control Parameters
      8. 3.2.8 Virtual Oscilloscope
    3. 3.3 Getting Started C2000 Firmware
      1. 3.3.1 Download and Install Software Required for Board Test
      2. 3.3.2 Opening Project Inside CCS
      3. 3.3.3 Project Structure
      4. 3.3.4 Test Procedure
        1. 3.3.4.1 Build Level 1: CPU and Board Setup
          1. 3.3.4.1.1 Start CCS and Open Project
          2. 3.3.4.1.2 Build and Load Project
          3. 3.3.4.1.3 Setup Debug Environment Windows
          4. 3.3.4.1.4 Run the Code
        2. 3.3.4.2 Build Level 2: Open-Loop Check With ADC Feedback
          1. 3.3.4.2.1 Start CCS and Open Project
          2. 3.3.4.2.2 Build and Load Project
          3. 3.3.4.2.3 Setup Debug Environment Windows
          4. 3.3.4.2.4 Run the Code
        3. 3.3.4.3 Build Level 3: Closed Current Loop Check
          1. 3.3.4.3.1 Start CCS and Open Project
          2. 3.3.4.3.2 Build and Load Project
          3. 3.3.4.3.3 Setup Debug Environment Windows
          4. 3.3.4.3.4 Run the Code
        4. 3.3.4.4 Build Level 4: Full Motor Drive Control
          1. 3.3.4.4.1 Start CCS and Open Project
          2. 3.3.4.4.2 Build and Load Project
          3. 3.3.4.4.3 Setup Debug Environment Windows
          4. 3.3.4.4.4 Run the Code
          5. 3.3.4.4.5 Tuning Motor Drive FOC Parameters
          6. 3.3.4.4.6 Tuning Field Weakening and MTPA Control Parameters
          7. 3.3.4.4.7 Tuning Current Sensing Parameters
    4. 3.4 Test Results
      1. 3.4.1  Fast and clean Rising/Falling Edge
      2. 3.4.2  Inrush Current Protection
      3. 3.4.3  Thermal performance under 300VDC
      4. 3.4.4  Thermal performance under 220VAC
      5. 3.4.5  Overcurrent Protection by Internal CMPSS
      6. 3.4.6  IPM Efficiency with External Bias Supply under 300VDC
      7. 3.4.7  Board Efficiency with Onboard Bias Supply under 300VDC
      8. 3.4.8  Board Efficiency with External Bias Supply under 220VAC
      9. 3.4.9  Board Efficiency with Onboard Bias Supply under 220VAC
      10. 3.4.10 iTHD Test of Motor Phase Current
      11. 3.4.11 Standby Power Test
    5. 3.5 Migrate Firmware to a New Hardware Board
      1. 3.5.1 Configure the PWM, CMPSS, and ADC Modules
      2. 3.5.2 Setup Hardware Board Parameters
      3. 3.5.3 Configure Faults Protection Parameters
      4. 3.5.4 Setup Motor Electrical Parameters
    6. 3.6 Getting Started MSPM0 Firmware
  10. 4Design and Documentation Support
    1. 4.1 Design Files
      1. 4.1.1 Schematics
      2. 4.1.2 Bill of Materials
      3. 4.1.3 PCB Layout Recommendations
      4. 4.1.4 Altium Project
      5. 4.1.5 Gerber Files
    2. 4.2 Software Files
    3. 4.3 Documentation Support
    4. 4.4 Support Resources
    5. 4.5 Trademarks
  11. 5About the Author
Run the Code

To run the code, complete the following steps:

  1. Set the AC source output to 0V at 50/60 Hz, turn on the AC power supply, slowly increase the input voltage from 0V to 220V AC.
  2. Run the project by clicking the TIDA-010273 button, or click RunResume in the Debug tab. Set systemVars.flagEnableSystem to "1" after a fixed time, that means the offsets calibration has been done and the power relay for inrush is turned on. The motor fault flags for motorVars_M1.faultMtrUse.all need to equal to "0" , if the values do not, check the current and voltage sensing circuit as described in Section 3.3.4.1.
  3. To verify current closed-loop control for motor, set the variable motorVars_M1.flagEnableRunAndIdentify to "1" in the Expressions window as shown in Figure 3-33. The motor needs to run with a closed-loop control using the angle from the angle generator at a setting speed in the variable motorVars_M1.speedRef_Hz, check the value of motorVarsM1.speed_Hz in Expressions window, both variables value need to be very close.
  4. The motor current Iq can be set and changed with motorVars_M1.Idq_Set_A.value[1]
  5. Connect oscilloscope probes to IPM output to watch the motor phase voltage and current as shown in Figure 3-34. Change the Idq_set_A[0].value[1] in the Expressions window, the motor phase current needs to be increasing accordingly.
  6. If the motor cannot run with current-closed loop and appears to experience an overcurrent fault, check if the sign of adcData[0].current_sf and the value of userParams[0].current_sf are set correctly according to the hardware board.
  7. The controller can now be halted before setting the motorVars_M1.flagEnableRunAndIdentify to "0", and the debug connection terminated. Fully halting the controller by first clicking the Halt button TIDA-010273 on the toolbar or by clicking TargetHalt. Finally, reset the controller by clicking on TIDA-010273 or clicking RunReset.
  8. Close CCS debug session by clicking on Terminate Debug SessionTIDA-010273 or clicking RunTerminate.
TIDA-010273 Build Level 3: Expressions Window at Run TimeFigure 3-33 Build Level 3: Expressions Window at Run Time
TIDA-010273 Build Level 3: Motor Current Under 1-Arms IQ SettingFigure 3-34 Build Level 3: Motor Current Under 1-Arms IQ Setting