Torque-Oriented Stepper Motor Control in FPGA

Stepper motors are widely employed in several daily applications, since their use is quite simple. Typically, a microcontroller (or a similar digital device) generates pulse-bursts and a direction bit to control a commercial power driver that produces the 2-phase currents feeding the motor windings. Despite its simplicity, this open-loop solution is sensitive to load variation and fails severely if the torque load exceeds the motor capacity. Closed-loop solutions based on Field-Oriented Control (FOC) solves the problem. However, they require heavy calculations and a dedicated hardware to control the motor currents. In this paper, a closed-loop solution is presented that avoids heavy calculations and demands the motor currents generation to the same commercial driver typically used for open-loop solutions. A low-cost Field Programmable Gate Array (FPGA) implements the algorithm and connects to the commercial power driver through the standard 2-signal interface (pulse-burst / direction bit). Experiments with a 1.1 Nm, two phases, 200-step/revolution hybrid stepper motor show the performance of the proposed method in a constant torque condition and during a position step movement.