SLAAE97 March 2023 MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1
In the modern world, motors are used in many products. Stepper motors are widely used in slide rails, workbenches, medical machines, and many other applications because of small size, low cost, position control, ease of use, and no cumulative error. Brushed DC (BDC) motors are also widely used in lathes, starters, and electric locomotives because of good starting and speed performance. For these two kinds of motors, the H-bridge structure is used in hardware to control the speed and direction of the motor. MSPM0 MCUs can fill this role with its low price, broad portfolio, abundant analog features, and software resources optimized for brushed-DC and stepper control.
A brushed-DC motor (BDC) is the simplest kind of motor to actuate. To operate a BDC motor, a voltage is applied across the motor terminals to change the magnetic field on the rotor and create a continuous spinning motion. Despite having drawbacks such as heat dissipation, high rotor inertia, and electromagnetic interference, Brushed DC motors do not require current feedback and are easy to control, making them a simple low-cost solution for many applications.
Stepper motors function using a series of electromagnets, alternating which are turned on/off to cause rotation of a central rotor and turn the motor shaft. The stepper motor can provide continuous motion, or maintain a fixed rotor position depending on the system requirements. To control the torque or audible noise of the stepper motor, "stepping" patterns are implemented based on the complexity of the stepping algorithm.
![]() |
![]() |
Stepper Motor | BDC Motor |
H-bridge drive circuits are widely used to control of stepper and BDC motors. An H-bridge is built with four switches (solid-state or mechanical). The rotation, stop and reverse of the motor can be realized by controlling the on or off of those tubes. H-bridges are available as integrated circuits, or can be built from discrete components.
Across those stepper and BDC related applications, users need to accurately control the motor speed, torque or other variables to meet the requirements of actual applications. Therefore, the main resources used are as follows:
Hardware
Software
You can realize all these functions using TI devices, pre-drivers, and MOSFETs.
Motor | MCU | Motor Voltage | Pre-driver (Device) | Power Stage (Switch Type) |
---|---|---|---|---|
Brushed-DC | MSPM0Lxx ARM Cortex M0+ 32 MHz MCUs | 1.65 V to 50 V | H-bridge Motor Driver (DRV82xx series) | |
5.5 V to 60 V | H-bridge Gate Driver (DRV870x series) | MOSFET (CSD series) | ||
5 V to 115 V | H-bridge Gate Driver (DRV877x series) | |||
4.5 V to 70 V | Quad Half-bridge driver (DRV89xx series) | |||
5 V to 115 V | Half bridge drivers (UCC2xxx series, LMxxx series) | MOSFET, IGBT | ||
Stepper | 1.65 V to 70 V | Dual H-Bridge Stepper Driver (DRV84xx series) | ||
2 V to 65 V | Dual H-Bridge Intelligent Stepper Driver (DRV88xx series) |
TI’s scalable M0+ MSPM0Lx mainstream MCUs with on-chip motor control peripherals provides a great low-cost solution for a variety of motor control applications. With up to 32MHz CPU speed and a portfolio from 8KB to 64KB of flash memory with scalable analog integration and motor control peripherals, MSPM0Lx is an option for stepper and brushed DC motor solutions.
In brushed-DC applications, MSPM0 can monitor the motor status, run algorithms, and generate PWM to drive the motor (through a pre-driver IC). With the help of scalable analog Integration, the MCU can calculate accurate values of bus voltage, motor current, and speed quickly, then provide some input to control algorithm. The MSPM0L13xx can generate 8 PWMs and can therefore drive 4 BDC motors at the same time.
In stepper applications, MSPM0 can monitor the motor status (optional), run algorithms, communication with a gate driver (set subdivision parameters) (optional), and generate PWM to drive the motor (through a pre-driver IC). With the help of scalable analog integration, the MCU can calculate accurate values for the bus voltage, motor current, and speed quickly (optional), then provide inputs to the control algorithm. The MSPM0L13xx can generate up to 8 PWM signals, and can therefore drive two stepper motors at the same time.
MSPM0L1xxx Stepper Control Using Stepper Driver With PWM Interface
Basic stepper drivers often use a PWM interface for stepper control, where specific PWM patterns can provide torque control while controlling the stepper motor's position. To accomplish this, the MSPM0 provides 4 PWM input signals using a full-step or half-step commutation pattern to control the respective currents through the stepper motor's phases. Additionally, many stepper drivers include current regulation from an analog input signal, which can be provided using the MSPM0's 8-bit DAC output from an integrated comparator to smoothen the current profile. This topology is suitable high torque or low-precision stepper applications such as toys, smart locks, robotics, and security cameras.
MSPM0L1xxx Stepper Control Using Intelligent Stepper Driver With STEP Interface
In higher performance stepper applications that require low noise, precise control, or stall detection, it is better to use an intelligent stepper driver capable of up to 1/256 microstepping. These drivers include indexers and advanced stepper control and protection algorithms and typically only require one PWM signal advance the stepper motor. Additionally, these drivers can accept an analog input for current regulation and often use a SPI interface to configure the control algorithm, device settings, and diagnose system-level faults. The MSPM0 can interface with intelligent stepper drivers by providing the PWM signals, an 8-bit DAC output voltage for the current regulation, and communicate to the driver using SPI interface. This topology is suitable in low-torque and low-noise stepper applications such as printers, ATM machines, stage lighting, office and home automation, medical applications, and 3D printers.
Code examples
Stepper algorithm libraries
Peripheral features
Detect Hall sensor feedback (optional)
Use capture/compare (CC) inputs to XOR digital hall signals and create frequency generator (FG) pulses for speed computation
Order an MSPM0 LaunchPad development kit and DRV8xxx EVM today to start evaluating MSPM0 for your motor control system. Jump start your motor control design with MSPM0 code examples and interactive online trainings.
TI Precision Labs - Motor Drivers: Stepper Motor Driver Basics