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

Speed/Power Controller Tuning

The FOC Algorithm uses an integrated speed/Power control loop that helps maintain a constant speed/power over varying operating conditions. The Kp and Ki coefficients are configured through speedLoopKp and speedLoopKi in the "System Configurations" section on the Motor Tuning page. The output of the speed loop/Power Loop is used to generate the current reference for torque control. The output of the speed/power loop is limited by configuring iLIMIT in the closedLoop1 configuration in the Register Map page of GUI. When output of the speed/Power loop saturates, the integrator is disabled to prevent integral wind-up.

To tune the Kp and Ki values for speed loop:

  1. Configure the motor to spin continuously in Closed loop Torque Mode by setting controlMode in closedLoop1 to 10b.
  2. Adjust the torque reference to spin the motor at 50% of rated Speeds.
  3. The current feedback gradually settles down to the set Iqref to run at the target speed.
  4. Speed loop Kp [SPD_LOOP_KP] is calculated using this equation: SpeedLoop Kp = Current Reference in Torque Mode / Operating Speed in Hz
  5. Speed loop Ki [SPD_LOOP_KI] is calculated using this equation: Speed Loop Ki = Speed Loop Kp × 0.1
  6. If the Speed continously fluctuates without settling, adjust the Current Loop Kp and Ki such that motor settles to constant speed for a given torque reference.
    Note: Once satisfactory Kp and Ki are recorded switch to controlMode 0b to operate the motor in closed loop speed control. The tuning of speed loop Kp and Ki is experimental. If the above recommendation does not work, manually tune speed loop Kp and Ki until the desired results are achieved.

    Table 6-1 shows general guidelines to change controller gains.

    Table 6-1 Guidelines to Change Controller Gains
    Parameter Rise Time Overshoot Settling Time Stead State Error Stability
    Kp Decreases Increases Small Change Decreases Degrades
    Ki Decreases Increases Increases Eliminates Degrades