SPRAD34B July   2023  â€“ October 2023 MSPM0G1507

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Getting Started With MSPM0 Motor Control
  6. 3Brushed-DC Motor Control
    1. 3.1 Background
    2. 3.2 Software Architecture
    3. 3.3 Block Diagrams
      1. 3.3.1 H-Bridge Motor Driver
      2. 3.3.2 H-Bridge Gate Driver
    4. 3.4 Hardware Support
    5. 3.5 Software Support
    6. 3.6 Evaluating Brushed-DC with MSP Motor Control SDK
  7. 4Stepper Motor Control
    1. 4.1 Background
    2. 4.2 Software Architecture
    3. 4.3 Block Diagrams
    4. 4.4 Hardware Support
    5. 4.5 Software Support
    6. 4.6 Evaluating Stepper With MSP Motor Control SDK
  8. 5BLDC Sensored Trap Control
    1. 5.1 Background
    2. 5.2 Software Architecture
    3. 5.3 Block Diagrams
    4. 5.4 Hardware Support
    5. 5.5 Software Support
    6. 5.6 Evaluating Sensored Trap with MSP Motor Control
  9. 63-Phase Sensorless FOC Control
    1. 6.1 Background
    2. 6.2 Software Architecture
    3. 6.3 Block Diagrams
      1. 6.3.1 MSPM0Gx10x and Gate Driver with Analog/MOSFET Integration
      2. 6.3.2 MSPM0Gx50x Analog Integration and Gate Driver
    4. 6.4 Hardware Support
    5. 6.5 Software Support
    6. 6.6 Evaluating Sensorless FOC with MSP Motor Control
    7. 6.7 Sensorless FOC Performance
  10. 7References
  11.   Revision History

Background

Stepper motors are prevalent because they allow for fine position control without requiring external sensors or complex control algorithms. This is known as open loop position control, which can be used to allow the stepper motor to provide continuous motion of maintain a fixed rotor position depending on the system requirements. These features make steppers easy to implement and a low-cost design for system designers.

GUID-20230411-SS0I-3BGF-3BBW-56TVKQCLZ60F-low.png

Stepper motors are commutated by energizing two phases, which requires two full H bridges to provide current direction and magnitude for each of the phase currents. This is used to move the rotor in a stepper motor with position and torque control, depending on the application. Bipolar stepper motors also have a specified resolution in degrees per full step to indicate how many mechanical degrees a stepper will commutate when a full electrical period is applied on each phase.

Typically, full-stepping refers to a full electrical period using four indexes to energize the two windings in all four current directions to commutate the stepper the specified mechanical period. To provide more precise position and torque control, non-circular or circular half-stepping provides more resolution and current regulation to smoothen the electrical commutation pattern by using eight indexes to energize the two windings. Both full-stepping and circular half-stepping current waveforms are shown in Figure 4-1. These methods of full stepping, non-circular half-stepping, and circular half-stepping are simple to implement using a microcontroller’s GPIO or PWM pins and a simple stepper driver with a PWM interface.

GUID-20230411-SS0I-5963-0RHL-B8P5KBXC6B5P-low.svg GUID-20230411-SS0I-KHRQ-SRXL-6GMZQHHGJVF8-low.svg Figure 4-1 Full and Circular-Half Stepping in Stepper Motor Control

Smaller step sizes can be implemented by factors of half (1/4, 1/8, 1/16, 1/32, etc.) down to 1/256 to create a sinusoidal current drive and reduce the noise and torque implemented in the stepper motor. Using step sizes less than 1/4 is generally referred to as microstepping because an indexer and current regulation is used to implement discrete intervals for precise position and torque control. An example of using 1/16 microstepping is shown in Figure 4-2. Microstepping is more difficult to implement in software, so using an intelligent stepper motor driver and a simple MCU with one PWM and analog integration is optimal for low-noise, high-precision stepper drives.

GUID-20230411-SS0I-FSSJ-NTHX-KJ8HC67GXM7D-low.svg Figure 4-2 Microstepping in Stepper Motor Control