TIDUF67 April   2024  – December 2024

 

  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 Highlighted Products
      1. 2.2.1 AM263x Microcontrollers
        1. 2.2.1.1 TMDSCNCD263
        2. 2.2.1.2 LP-AM263
  9. 3System Design Theory
    1. 3.1 Three-Phase PMSM Drive
      1. 3.1.1 Mathematical Model and FOC Structure of PMSM
      2. 3.1.2 Field Oriented Control of PM Synchronous Motor
        1. 3.1.2.1 The (a, b) → (α, β) Clarke Transformation
        2. 3.1.2.2 The (α, β) → (d, q) Park Transformation
        3. 3.1.2.3 The Basic Scheme of FOC for AC Motor
        4. 3.1.2.4 Rotor Flux Position
      3. 3.1.3 Sensorless Control of PM Synchronous Motor
        1. 3.1.3.1 Enhanced Sliding Mode Observer With Phase Locked Loop
          1. 3.1.3.1.1 Design of ESMO for PMSM
          2. 3.1.3.1.2 Rotor Position and Speed Estimation with PLL
      4. 3.1.4 Hardware Prerequisites for Motor Drive
      5. 3.1.5 Additional Control Features
        1. 3.1.5.1 Field Weakening (FW) and Maximum Torque Per Ampere (MTPA) Control
        2. 3.1.5.2 Flying Start
  10. 4Hardware, Software, Testing Requirements, and Test Results
    1. 4.1 Hardware Requirements
    2. 4.2 Software Requirements
      1. 4.2.1 Importing and Configuring Project
      2. 4.2.2 Project Structure
      3. 4.2.3 Lab Software Overview
    3. 4.3 Test Setup
      1. 4.3.1 LP-AM263 Setup
      2. 4.3.2 BOOSTXL-3PHGANINV Setup
      3. 4.3.3 TMDSCNCD263 Setup
      4. 4.3.4 TMDSADAP180TO100 Setup
      5. 4.3.5 TMDSHVMTRINSPIN Setup
    4. 4.4 Test Results
      1. 4.4.1 Level 1 Incremental Build
        1. 4.4.1.1 Build and Load Project
        2. 4.4.1.2 Setup Debug Environment Windows
        3. 4.4.1.3 Run the Code
      2. 4.4.2 Level 2 Incremental Build
        1. 4.4.2.1 Build and Load Project
        2. 4.4.2.2 Setup Debug Environment Windows
        3. 4.4.2.3 Run the Code
      3. 4.4.3 Level 3 Incremental Build
        1. 4.4.3.1 Build and Load Project
        2. 4.4.3.2 Setup Debug Environment Windows
        3. 4.4.3.3 Run the Code
      4. 4.4.4 Level 4 Incremental Build
        1. 4.4.4.1 Build and Load Project
        2. 4.4.4.2 Setup Debug Environment Windows
        3. 4.4.4.3 Run the Code
    5. 4.5 Adding Additional Functionality to Motor Control Project
      1. 4.5.1 Using DATALOG Function
      2. 4.5.2 Using PWMDAC Function
      3. 4.5.3 Adding CAN Functionality
      4. 4.5.4 Adding SFRA Functionality
        1. 4.5.4.1 Principle of Operation
        2. 4.5.4.2 Object Definition
        3. 4.5.4.3 Module Interface Definition
        4. 4.5.4.4 Using SFRA
    6. 4.6 Building a Custom Board
      1. 4.6.1 Building a New Custom Board
        1. 4.6.1.1 Hardware Setup
        2. 4.6.1.2 Migrating Reference Code to a Custom Board
          1. 4.6.1.2.1 Setting Hardware Board Parameters
          2. 4.6.1.2.2 Modifying Motor Control Parameters
          3. 4.6.1.2.3 Changing Pin Assignment
          4. 4.6.1.2.4 Configuring the PWM Module
          5. 4.6.1.2.5 Configuring the ADC Module
          6. 4.6.1.2.6 Configuring the CMPSS Module
  11. 5General Texas Instruments High Voltage Evaluation (TI HV EVM) User Safety Guidelines
  12. 6Design and Documentation Support
    1. 6.1 Design Files
      1. 6.1.1 Schematics
      2. 6.1.2 BOM
      3. 6.1.3 PCB Layout Recommendations
        1. 6.1.3.1 Layout Prints
    2. 6.2 Tools and Software
    3. 6.3 Documentation Support
    4. 6.4 Support Resources
    5. 6.5 Trademarks
  13. 7About the Author

Module Interface Definition

Table 4-7 Floating Point Module Interface Definition
Module Element Name Type Description Acceptable Range
h_magVect,gh_magVect, cl_magVect Input Pointer to the array that stores the magnitude of H, GH and CL measurements by SFRA . Pass NULL if you do not want SFRA to save that vector. Pointer to 32 bit location, the location stores the value of the magnitude vectors in single precision (32-bit) floating point
h_phaseVect,gh_phaseVect, cl_phaseVect Input Pointer to the array that stores the phase of H, GH and CL measurements by SFRA . Pass NULL if you do not want SFRA to save that vector. Pointer to 32 bit location, the location stores the value of the phase vectors in single precision (32-bit) floating point
freqVect Input Pointer to array of frequency values at which SFRA is performed. Pointer to 32 bit location, the location stores the value of the frequency vectors in single precision (32-bit) floating point
amplitude Input Amplitude of small signal injection in pu. Single precision (32-bit) floating point(-1,1)
isrFreq Input Frequency at which SFRA routine is called. Single precision (32-bit) floating point
freqStart Input Frequency of the first frequency sweep data point. Single precision (32-bit) floating point
freqStep Input 10^(1/(no of steps per decade)). Single precision (32-bit) floating point
start Input Command to start SFRA. int16_t
state Output SFRA state. Non zero when SFRA injection is in progress, '0' if SFRA injection is not active/ in progress. int16_t
status Output SFRA status. '1' is SFRA injection is in progress, '0' if SFRA injection is not active/ in progress. int16_t
vecLength Input No of points for which SFRA is performed. int16_t
freqIndex Output Frequency index number of freqVect at which SFRA is being performed. int16_t (0-vecLength)
storeH Output Reflects the SFRA configuration, If one, H vector is stored If zero, H vector is not stored this happens when a NULL vector is passed for H mag or phase vector during SFRA configuration. int16_t (0 or 1)
storeGH Output Reflects the SFRA configuration, If one, GH vector is stored If zero, GH vector is not stored this happens when a NULL vector is passed for GH mag or phase vector during SFRA configuration. int16_t (0 or 1)
storeCL Output Reflects the SFRA configuration, If one, CL vector is stored If zero, CL vector is not stored this happens when a NULL vector is passed for CL mag or phase vector during SFRA configuration. int16_t (0 or 1)
speed Input Used to change the speed of the sweep, need to be greater than 1. With 1 the STB example template sweep takes about 58 seconds. Actual speed in the system depends on the frequency point being measured and the ISR rate used for calling the SFRA module. Higher the speed number the slower the sweep. int16_t (Greater than 1)