SLAU927C March   2024  â€“ March 2025 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 IPD Usage
    5. 2.5  Pin Configurations for ADC Voltages
    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
    3. 4.3 System Configurations
    4. 4.4 Register Map
    5. 4.5 Motor Tuning Page
    6. 4.6 Collateral Page
    7. 4.7 Loading and Saving register Configurations
  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  ISD_CONFIG Register (Offset = 38h) [Reset = 00000000h]
      3. 5.3.3  RVS_DRV_CONFIG Register (Offset = 3Ch) [Reset = 00000000h]
      4. 5.3.4  MOTOR_STARTUP1 Register (Offset = 40h) [Reset = 00000000h]
      5. 5.3.5  MOTOR_STARTUP2 Register (Offset = 44h) [Reset = 00000000h]
      6. 5.3.6  CLOSED_LOOP1 Register (Offset = 48h) [Reset = 00000000h]
      7. 5.3.7  CLOSED_LOOP2 Register (Offset = 4Ch) [Reset = 00000000h]
      8. 5.3.8  FIELD_CTRL Register (Offset = 50h) [Reset = 00000000h]
      9. 5.3.9  FAULT_CONFIG1 Register (Offset = 54h) [Reset = 00000000h]
      10. 5.3.10 FAULT_CONFIG2 Register (Offset = 58h) [Reset = 00000000h]
      11. 5.3.11 MISC_ALGO Register (Offset = 5Ch) [Reset = 00000000h]
      12. 5.3.12 PIN_CONFIG Register (Offset = 60h) [Reset = 00000000h]
      13. 5.3.13 PERI_CONFIG Register (Offset = 64h) [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 Motor Resistance in Milliohms (mΩ)
      3. 6.1.3 Motor Inductance in Microhenries (μH)
      4. 6.1.4 Saliency of IPMSM Motor
      5. 6.1.5 Motor BEMF Constant
      6. 6.1.6 Base Voltage (V)
      7. 6.1.7 Base Current (A)
      8. 6.1.8 Maximum Motor Electrical Speed (Hz)
      9. 6.1.9 Maximum Motor Power(W)
    2. 6.2 Control Configurations for Basic Motor Spinning
      1. 6.2.1 Basic Motor Startup
        1. 6.2.1.1 Disable ISD
        2. 6.2.1.2 Motor Start Option - Align
        3. 6.2.1.3 Motor Open Loop Ramp
        4. 6.2.1.4 Motor Open Loop Debug
      2. 6.2.2 Controller Configuration for spinning the Motor in Closed Loop
        1. 6.2.2.1 PI Controller Tuning for Closed Loop Speed Control
          1. 6.2.2.1.1 Current Controller Tuning
          2. 6.2.2.1.2 Speed Controller Tuning
        2. 6.2.2.2 Testing for Successful Startup Into Closed Loop
    3. 6.3 Fault Handling
      1. 6.3.1 Abnormal BEMF Fault [ABN_BEMF]
      2. 6.3.2 Monitoring Power Supply Voltage Fluctuations for Voltage Out of Bound Faults
      3. 6.3.3 No Motor Fault [NO_MTR]
  10. 7Advanced Tuning
    1. 7.1 Control Configurations Tuning
      1. 7.1.1  Control Mode of Operation
        1. 7.1.1.1 Closed Loop Speed Control Mode
        2. 7.1.1.2 Closed Loop Power Control Mode
        3. 7.1.1.3 Closed Loop Torque Control Mode
        4. 7.1.1.4 Voltage Control Mode
      2. 7.1.2  Initial Speed Detection of the Motor for Reliable Motor Resynchronization
      3. 7.1.3  Unidirectional Motor Drive Detecting Backward Spin
      4. 7.1.4  Preventing Back Spin of Rotor During Startup
        1. 7.1.4.1 Option 1: IPD
        2. 7.1.4.2 Option 2: Slow First Cycle
      5. 7.1.5  Gradual and Smooth Start up Motion
      6. 7.1.6  Faster Startup Timing
        1. 7.1.6.1 Option 1: Initial Position Detection (IPD)
        2. 7.1.6.2 Option 2: Slow First Cycle
      7. 7.1.7  Stopping Motor Quickly
      8. 7.1.8  Flux Weakening: Operating Motor at Speeds Higher than Rated Speed
      9. 7.1.9  Maximum Torque Per Ampere : Improve Efficiency of IPMSM Motors
      10. 7.1.10 Preventing Supply Voltage Overshoot During Motor Stop.
      11. 7.1.11 Protecting the Power Supply
      12. 7.1.12 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
        3. 8.3.4.3 Single Shunt Configuration
      5. 8.3.5 CSA Offset Scaling Factor Selection
    4. 8.4 Real Time Variable Tracking
  12. 9Revision History

ISD_CONFIG Register (Offset = 38h) [Reset = 00000000h]

Table 5-24 shows the register to configure Initial Speed Detection.

Table 5-24 ISD_CONFIG Register
Bit Field Type Reset Description
31-30 BEMF_RESYNC_THRESHOLD R/W 00b Minimum ratio of estimated BEMF with respect to actual BEMF for ISD resynchronization

0h = 0.75

1h = 0.80

2h = 0.85

3h = 0.90

29 ISD_EN R/W 0b ISD Enable

0h = Disable

1h = Enable

28 BRAKE_EN R/W 0b Brake enable

0h = Disable

1h = Enable

27 HIZ_EN R/W 0b

Hi-Z enable

0h = Disable

1h = Enable

26 RVS_DR_EN R/W 0b

Reverse drive enable

0h = Disable

1h = Enable

25 RESYNC_EN R/W 0b Resynchronization Enable

0h = Disable

1h = Enable

24-21 FW_DRV_RESYN_THR R/W 0h Minimum Speed threshold to resynchronize to close loop (% of MAX_SPEED)

0h = 5%

1h = 10%

2h = 15%

3h = 20%

4h = 25%

5h = 30%

6h = 35%

7h = 40%

8h = 45%

9h = 50%

Ah = 55%

Bh = 60%

Ch = 70%

Dh = 80%

Eh = 90%

Fh = 100%

20 BRK_CONFIG R/W 0b Brake configuration

0h = Brake time is used to come out of brake state

1h = Brake current threshold is used to come out of brake state

16-19 BRK_TIME R/W 0b

Brake time

0h = 10ms

1h = 50ms

2h = 100ms

3h = 200ms

4h = 300ms

5h = 400ms

6h = 500ms

7h = 750ms

8h = 1s

9h = 2s

Ah = 3s

Bh = 4s

Ch = 5s

Dh = 7.5s

Eh = 10s

Fh = 15s

15-12 HIZ_TIME R/W 0b

Hi-Z time

0h = 10ms

1h = 50ms

2h = 100ms

3h = 200ms

4h = 300ms

5h = 400ms

6h = 500ms

7h = 750ms

8h = 1s

9h = 2s

Ah = 3s

Bh = 4s

Ch = 5s

Dh = 7.5s

Eh = 10s

Fh = 15s

11-9 STAT_DETECT_THR R/W 000b BEMF threshold to detect if motor is stationary

0h = 50mV

1h = 75mV

2h = 100mV

3h = 250mV

4h = 500mV

5h = 750mV

6h = 1000mV

7h = 1500mV

8-5 REV_DRV_HANDOFF_THR R/W 0h

Speed threshold used to transition to open loop during reverse

deceleration (% of MAX_SPEED)

0h = 2.5%

1h = 5%

2h = 7.5%

3h = 10%

4h = 12.5%

5h = 15%

6h = 20%

7h = 25%

8h = 30%

9h = 40%

Ah = 50%

Bh = 60%

Ch = 70%

Dh = 80%

Eh = 90%

Fh = 100%

4-0 REV_DRV_OPEN_LOOP_
CURRENT
R/W 00000b Open loop current limit during speed reversal in % of CURRENT_BASE

0h = 7.5%

1h = 8.0%

2h = 8.5%

3h = 9.0%

4h = 9.5%

5h = 10%

6h = 11%

7h = 12%

8h = 13%

9h = 14%

Ah = 15%

Bh = 16%

Ch = 17%

Dh = 18%

Eh = 20%

Fh = 22.5%

10h = 25%

11h = 27.5%

12h = 30%

13h = 35%

14h = 40%

15h = 45%

16h = 50%

17h = 55%

18h = 60%

19h = 70%

1Ah = 75%

1Bh = 80%

1Ch = 85%

1Dh = 90%

1Eh = 95%

1Fh = 100%