SLAU948 October   2024 MSPM0G3507

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Hardware Setup
    1. 2.1  EVM Hardware Setup
      1. 2.1.1 EVM Hardware Support
    2. 2.2  Pin Configurations for PWM Outputs
    3. 2.3  Pin Configurations for ADC Currents
    4. 2.4  Pin Configurations for ADC Voltages
    5. 2.5  Pin Configurations for Hall Sensor Inputs Through GPIO
    6. 2.6  Pin Configurations for Faults
    7. 2.7  Pin Configurations for GPIO Output Functions
    8. 2.8  Pin Configurations for SPI Communication
    9. 2.9  Pin Configurations for UART Communication
    10. 2.10 External Connections for Evaluation Boards
  6. 3Software Setup
  7. 4GUI Setup
    1. 4.1 Serial Port Configuration
    2. 4.2 GUI Home Page
      1. 4.2.1 System Configurations
      2. 4.2.2 Register Map
      3. 4.2.3 Motor Tuning Page
      4. 4.2.4 Collateral Page
  8. 5Register Map
    1. 5.1 Register Map Page in GUI
    2. 5.2 User Control Registers (Base Address = 0x20200400h)
      1. 5.2.1 Speed Control Register (Offset = 0h) [Reset = 00000000h]
      2. 5.2.2 Algo Debug Control 1 Register (Offset = 4h) [Reset = 00000000h]
      3. 5.2.3 Algo Debug Control 2 Register (Offset = 8h) [Reset = 00000000h]
      4. 5.2.4 Algo Debug Control 3 Register (Offset = Ch) [Reset = 00000000h]
      5. 5.2.5 DAC Configuration Register (Offset = 10h) [Reset = 00000000h]
    3. 5.3 User Input Registers (Base Address = 0x20200000h)
      1. 5.3.1  SYSTEM_PARAMETERS (Offset = 0h)
      2. 5.3.2  MOTOR_STARTUP1 Register (Offset = 3Ch) [Reset = 00000000h]
      3. 5.3.3  MOTOR_STARTUP2 Register (Offset = 40h) [Reset = 00000000h]
      4. 5.3.4  CLOSED_LOOP1 Register (Offset = 44h) [Reset = 00000000h]
      5. 5.3.5  CLOSED_LOOP2 Register (Offset = 48h) [Reset = 00000000h]
      6. 5.3.6  FIELD_CTRL Register (Offset = 4Ch) [Reset = 00000000h]
      7. 5.3.7  FAULT_CONFIG1 Register (Offset = 50h) [Reset = 00000000h]
      8. 5.3.8  FAULT_CONFIG2 Register (Offset = 54h) [Reset = 00000000h]
      9. 5.3.9  MISC_ALGO Register (Offset = 58h) [Reset = 00000000h]
      10. 5.3.10 PIN_CONFIG Register (Offset = 5Ch) [Reset = 00000000h]
      11. 5.3.11 PERI_CONFIG Register (Offset = 60h) [Reset = 00000000h]
    4. 5.4 User Status Registers (Base Address = 0x20200430h)
  9. 6Basic Tuning
    1. 6.1 System Configuration Parameters
      1. 6.1.1 Configuring System Parameters From GUI
      2. 6.1.2 Updating System Parameters Through CCS Debug Window
        1. 6.1.2.1 Motor Resistance in Milliohms (mΩ)
        2. 6.1.2.2 Motor Inductance in Microhenries (μH)
        3. 6.1.2.3 Saliency of IPMSM Motor
        4. 6.1.2.4 Motor BEMF Constant
        5. 6.1.2.5 Base Voltage (V)
        6. 6.1.2.6 Base Current (A)
        7. 6.1.2.7 Maximum Motor Electrical Speed (Hz)
        8. 6.1.2.8 Maximum Motor Power(W)
    2. 6.2 Control Configurations for Basic Motor Spinning
      1. 6.2.1 Hall Sensor Auto Calibration
        1. 6.2.1.1 Hall Sensor Calibration Through GUI
      2. 6.2.2 Motor Open Loop Ramp
      3. 6.2.3 PI Controller Tuning for Closed Loop Speed Control
        1. 6.2.3.1 Current Controller Tuning
        2. 6.2.3.2 Speed/Power Controller Tuning
      4. 6.2.4 Testing for Successful Startup Into Closed Loop
    3. 6.3 Fault Handling
      1. 6.3.1 Monitoring Power Supply Voltage Fluctuations for Voltage Out of Bound Faults
      2. 6.3.2 No Motor Fault [NO_MTR]
      3. 6.3.3 Hall Invalid Fault
  10. 7Advanced Tuning
    1. 7.1 Control Configurations Tuning
      1. 7.1.1  Control Mode of Operation
      2. 7.1.2  Closed Loop Torque Control Mode
      3. 7.1.3  Closed Loop Power Control Mode
      4. 7.1.4  Closed Loop Speed Control Mode
      5. 7.1.5  Voltage Control Mode
      6. 7.1.6  Stopping Motor Quickly
      7. 7.1.7  Flux Weakening: Operating Motor at Speeds Higher Than Rated Speed
      8. 7.1.8  Maximum Torque Per Ampere : Improve Efficiency of IPMSM Motors
      9. 7.1.9  Preventing Supply Voltage Overshoot During Motor Stop.
      10. 7.1.10 Protecting the Power Supply
      11. 7.1.11 FOC Bandwidth Selection
  11. 8Hardware Configurations
    1. 8.1 Direction Configuration
    2. 8.2 Brake Configuration
    3. 8.3 Main.h Definitions
      1. 8.3.1 Sense Amplifier Configuration
      2. 8.3.2 Driver Propagation Delay
      3. 8.3.3 Driver Min On Time
      4. 8.3.4 Current Shunt Configuration Selection
        1. 8.3.4.1 Three Shunt Configurations
        2. 8.3.4.2 Dual Shunt Configuration
      5. 8.3.5 CSA Offset Scaling Factor Selection
    4. 8.4 Real Time Variable Tracking

Real Time Variable Tracking

32-bit algorithm variables can be output in real time from the MCU through the DAC. DAC output is enabled by setting DAC_EN = 1. The DAC in MSPM0 is 12 bit, thus a scaling needs to be applied before output. User has two ways to scale the variable before output.

  • For variables in global IQ format(IQ27):

    DAC_OUTPUT_VOLTAGE = (VARIABLE_VALUE × DAC_SCALING_FACTOR + 1) × 1.65V

    In the above equation setting the DAC_SCALING_FACTOR to 1 enables user to represent a data of IQ(1.0) to IQ(-1.0) in between 0V and 3.3V. To represent the data exceeding the value 1.0 use higher DAC_SCALING_FACTOR.

    For Example: To represent a data from -2.0 to +2.0 , set the DAC_SCALING_FACTOR to 0.5.

  • For variables in other IQ format:

    For output of any other IQ, user can left shift or right shift the variable to bring the data in a 12-bit range before output. This mode is selected by setting DAC_SCALING_FACTOR to 0.

    If variable value is less than a 12-bit value, set DAC_SCALE to positive, the DAC output follows as below:

    DAC_OUTPUT_VOLTAGE = (VARIABLE_VALUE << DAC_SCALE) × 3.3V

    If variable value is greater than a 12-bit value, set DAC_SCALE to negative, the DAC output follows as below

    DAC_OUTPUT_VOLTAGE = (VARIABLE_VALUE >> DAC_SCALE) × 3.3V

    Note: Settings DAC_EN = 1 feeds the variable output to the DAC registers, but user needs to enable the DAC peripheral in TI SysConfig for the DAC peripheral to function. Also make sure the DAC output pin is not loaded by any other peripheral.
Table 8-1 Address Table for DAC Monitoring
VariableAddress
A phase current0x202005FC
B phase current0x20200600
C phase current0x20200604
A phase current raw ADC value0x20200608
B phase current raw ADC value0x2020060C
C phase current raw ADC value0x20200614
A phase voltage0x2020066C
B phase voltage0x20200670
C phase voltage0x20200674
A phase voltage raw ADC value0x20200678
B phase voltage raw ADC value0x2020067C
C phase voltage raw ADC value0x20200680
D axis current0x20200778
Q axis current0x2020077C
D axis voltage0x20200780
Q axis voltage0x20200784
Estimated motor velocity filtered0x20200A5C
Estimated rotor angle0x20200A64
SVM output duty A phase0x20200748
SVM output duty B phase0x2020074C
SVM output duty C phase0x20200750