TIDUF67 April   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
Configuring the ADC Module

Similar to the previous PWM section, the ADC connections can also be changed for a custom board or a TI motor control kit that is not supported with the universal motor control project. The .syscfg file configures the ADC channels to correctly correspond with the motor driver board. As an example, the connection diagram for the LP-AM263 and BOOSTXL-3PHGANINV combination is shown in Figure 4-52. The ADC modules configuration is described in the following steps.

GUID-20240320-SS0I-4BP1-RFTW-TPPQHT5DLCGL-low.svg Figure 4-52 ADC Connection Diagram
  1. The following code shows the defines of the base addresses, assigned channels, and SOCs of the ADC modules in the hal.h file. Note that for the SOC number, multiple ADCs can be associated with the same SOC number as long as they belong to different ADC modules (in the following case, module A and module C). Try to sample all the currents and all the voltages as close together as possible, so configure the SOC numbers with this in mind. The following code does not need to be changed when adapting the code to a new board or TI MCU, the following code is just to show how the ADC is initialized and the change can be done in the .syscfg file.
    #define MTR1_IU_ADC_BASE        CONFIG_ADC1_BASE_ADDR //J7.67 ADC1_AIN2
    #define MTR1_IV_ADC_BASE        CONFIG_ADC2_BASE_ADDR //J7.68 ADC2_AIN2
    #define MTR1_IW_ADC_BASE        CONFIG_ADC3_BASE_ADDR //J7.69 ADC3_AIN2
    #define MTR1_VU_ADC_BASE        CONFIG_ADC3_BASE_ADDR //J7.64 ADC3_AIN1
    #define MTR1_VV_ADC_BASE        CONFIG_ADC4_BASE_ADDR //J7.65 ADC4_AIN1
    #define MTR1_VW_ADC_BASE        CONFIG_ADC0_BASE_ADDR //J7.66 ADC0_AIN2
    #define MTR1_VDC_ADC_BASE       CONFIG_ADC2_BASE_ADDR //J7.63 ADC2_AIN1
    
    #define MTR1_IU_ADCRES_BASE     CONFIG_ADC1_RESULT_BASE_ADDR
    #define MTR1_IV_ADCRES_BASE     CONFIG_ADC2_RESULT_BASE_ADDR
    #define MTR1_IW_ADCRES_BASE     CONFIG_ADC3_RESULT_BASE_ADDR
    #define MTR1_VU_ADCRES_BASE     CONFIG_ADC3_RESULT_BASE_ADDR
    #define MTR1_VV_ADCRES_BASE     CONFIG_ADC4_RESULT_BASE_ADDR
    #define MTR1_VW_ADCRES_BASE     CONFIG_ADC0_RESULT_BASE_ADDR
    #define MTR1_VDC_ADCRES_BASE    CONFIG_ADC2_RESULT_BASE_ADDR
    
    #define MTR1_IU_ADC_CH_NUM      ADC_CH_ADCIN2
    #define MTR1_IV_ADC_CH_NUM      ADC_CH_ADCIN2
    #define MTR1_IW_ADC_CH_NUM      ADC_CH_ADCIN2
    #define MTR1_VU_ADC_CH_NUM      ADC_CH_ADCIN1
    #define MTR1_VV_ADC_CH_NUM      ADC_CH_ADCIN1
    #define MTR1_VW_ADC_CH_NUM      ADC_CH_ADCIN2
    #define MTR1_VDC_ADC_CH_NUM     ADC_CH_ADCIN1
    
    #define MTR1_IU_ADC_SOC_NUM     ADC_SOC_NUMBER0         // SOC0-PPB1
    #define MTR1_IV_ADC_SOC_NUM     ADC_SOC_NUMBER0         // SOC0-PPB1
    #define MTR1_IW_ADC_SOC_NUM     ADC_SOC_NUMBER0         // SOC0-PPB2
    #define MTR1_VU_ADC_SOC_NUM     ADC_SOC_NUMBER1         // SOC1
    #define MTR1_VV_ADC_SOC_NUM     ADC_SOC_NUMBER1         // SOC1
    #define MTR1_VW_ADC_SOC_NUM     ADC_SOC_NUMBER1         // SOC1
    #define MTR1_VDC_ADC_SOC_NUM    ADC_SOC_NUMBER1         // SOC1
    
    #define MTR1_IU_ADC_PPB_NUM     ADC_PPB_NUMBER1         // SOC0-PPB1
    #define MTR1_IV_ADC_PPB_NUM     ADC_PPB_NUMBER1         // SOC0-PPB1
    #define MTR1_IW_ADC_PPB_NUM     ADC_PPB_NUMBER1         // SOC0-PPB2
  2. Figure 4-53 shows the defines for the interrupt sources for the ISR in the .syscfg file.
    GUID-20240320-SS0I-L8TZ-W28C-XQQMHG4ZMSKV-low.png Figure 4-53 ADC Interrupt Configuration
  3. Figure 4-54 defines the source of the ADC start of conversion trigger. This ePWM SOC trigger must correspond to the same ePWM SOC that was enabled in the code and the same ePWM that is associated with pwmHandle[0]. In this case, EPWM3 A is used as the SOC for the ADC.

    GUID-20240320-SS0I-DVJR-QHFD-G6Z5SKK8ZDKR-low.png Figure 4-54 ADC Start of Conversion Configuration