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 power source output to 0V, turn on the AC power source, slowly increase the output voltage from 0V to 220-VAC.
  2. Run the project by clicking on the TIDA-010273 button, or click RunResume in the Debug tab. The motor fault flags motorVars_M1.faultMtrUse.all need to be equal to "0" , if not, the user must check the current and voltage sensing circuit as described in Section 3.3.4.1.
  3. To verify the current and voltage-sensing circuit of the inverter for the motor, set the variable motorVars_M1.flagEnableRunAndIdentify to "1" in the Expressions window as shown in Figure 3-30. The motor_1 needs to run with v/f open loop, tune the v/f profile parameters in user_mtr1.h as below according to the specification of the motor if the motor does not spin smoothly.
    #define USER_MOTOR1_FREQ_LOW_Hz             (10.0f)          // Hz
    #define USER_MOTOR1_FREQ_HIGH_Hz            (275.0f)         // Hz
    #define USER_MOTOR1_VOLT_MIN_V              (10.0f)          // Volt
    #define USER_MOTOR1_VOLT_MAX_V              (200.0f)         // Volt
  4. The motor now spins with a setting speed in the variable motorVars_M1.speedRef_Hz, check the value of motorVars_M1.speed_Hz in the Expressions window. The value needs to be very close, as shown in Figure 3-30.
  5. Connect the oscilloscope voltage and current probes to watch the motor phase voltage and current as shown in Figure 3-31.
  6. Verify the overcurrent fault protection by decreasing the value of the variable motorVars_M1.overCurrent_A, the overcurrent protection is implemented by the CMPSS modules. The overcurrent fault is triggered if the motorVars_M1.overCurrent_A is set to a value less than the actual current, the PWM output is disabled, the motorVars_M1.flagEnableRunAndIdentify is cleared to "0", and the motorVars_M1.faultMtrUse.all is set to "0x10".
  7. The controller can now be halted, and the debug connection terminated. Fully halting the controller by first clicking the Halt button on the toolbar TIDA-010273 or by clicking TargetHalt. Finally, reset the controller by clicking on TIDA-010273 or clicking RunReset.
  8. Close the CCS debug session by clicking on Terminate Debug SessionTIDA-010273 or clicking RunTerminate.
TIDA-010273 Build Level 2: Expressions Window at Run TimeFigure 3-30 Build Level 2: Expressions Window at Run Time
TIDA-010273 Build Level 2: Motor Phase Voltage and CurrentFigure 3-31 Build Level 2: Motor Phase Voltage and Current