Microchip Technology

user Occupation hasn't been added


  • Stepper Motor Control

  • Created: Sep 03, 2014

    • view433
    • comment0
    • bookmark0
    • fork0


No description available.


This reference design shows the use of PIC16F684 in its role in driving a bipolar stepping motor using an Enhanced Capture Compare PWM (ECCP) module to implement a microstepping technique known as high torque microstepping. The signal generated from the ECCP module is being used in order to achieve frequencies above the audible range using the 8 MHz internal oscillators found in the microcontroller.

A brief description of the circuit is that one winding is powered while the current in the other winding is gradually dropped to zero, reversed, and then ramped up again. This sequence is then repeated for the other winding. Note that the transition between a winding being energized in one direction and then energized in the other direction has a sinusoidal shape. This shape gives the smoothest transition between the motor’s rated step increments (i.e., 7.5 degrees). The way this shape is achieved using a microcontroller is through the use of pulse width modulation. Modulating the input to the drive circuitry for a particular winding will result in a current that is proportional to the duty cycle of the modulated waveform. Single stepping, or turning a stepping motor at its rated step size, results in less than smooth movement. Microstepping is a technique used to smooth the motor’s movement between full steps and to improve the step resolution of the motor. Microstepping also improves the efficiency of the system, because the current in the windings of the motor is manipulated in a controlled manner rather than being turned on and off abruptly. A microstepping technique known as high torque micro stepping alternately varies the current in the two windings of a stepping motor.

The PIC16F684 has an ideal set of features for low cost stepper motor control. High torque microstepping can be implemented using its ECCP module and very few external logic components. The PIC16F684's 8MHz internal oscillator will allow the ECCP module to drive the transitioning phase of the bipolar stepping motor at a frequency of 31.2 kHz and still provide 8-bits of duty cycle resolution. This frequency effectively eliminates unwanted audible noise generated by the motor.



  • No components added