Stepper Motor Interfacing with PIC16F877A Microcontroller

Published on . Written by

Stepper Motor Interfacing with PIC16F877A Microcontroller
A stepper motor is a brushless and synchronous motor,which divides the complete rotation into number of steps.Each stepper motor will have some fixed step angle and motor rotates at this angle.Stepper motor is widely used in industrial,medicals,consumer electronics application.

Read more..
The total rotation of the stepper motor is divided into steps.The step is known as the stepper angle of the motor.There are two types of stepper motors Unipolar and Bipolar. Mostly the Unipolar is commonly used by electronics field.

Stepper Motor Comparison With DC Motor


Skyfi Labs Projects
The DC motors,the current consumption of the stepper motors does not depend upon the load.Upon no load they still draw much current.In this Way,They get hot and lowers on their efficiency.In stepper motors there is smaller torque at high speeds than at low speeds.But mostly these stepper motors are used in high speed routine.For obtaining that high speed performance they need to be paired with a proper driver.

Unipolar Motor:

  1. Only one winding with center tape per phase.
  2. Each winding section is switched on for each direction of magnetic field
  3. Centre tap of each winding is made common

Bipolar Motor :

  1. Only single winding per phase
  2. Current in winding must be reversed to reverse a magnetic pole
  3. Two leads per phase,none are common

Advantage of Stepper Motor:

  1. Low Cost
  2. High Reliability
  3. Good Performance in starting,stopping and reversing the direction
  4. High torque at low speed
  5. Gravel construction (can be used in variable environment)

Step Angle:

    Stepper Motor rotating in full drive takes 4 steps to complete a revolution, So step angle can be calculated as

    Step angle=360/4=90 and half drive step angle half so 45

    Full Drive

    Full Drive-Two electromagnets are energized at a time,so the torque is generated will be larger when compared to the Wave Drive.Power consumption will be higher than the other modes.

    Half Drive

    One and Two electromagnets are energized,so it is a combination of Wave and Full drives.This mode is commonly used to increase the angular resolution of the motor but the torque will be less,about 70% at its half step position.

Project Description:

  1. PIC16F877A: The PIC16F877A features 256 bytes of EEPROM data memory , self programming,an lcd display port,2 comparator,8 channels of 10-bit Analog-to-Digital(A/D) converter,2 capture/compare/PWM functions,the synchronous serial port can be configured as either 3-wire Serial peripheral Interface or the 2-wire inter-integrated circuit(I2C) bus and a Universal Asynchronous Receiver Transmitter(USART).These features make it advanced level A/D applications.
  2. Wave Drive: Only one electromagnet is energized at a time,generated torque will be less when compared to full drive in which two electromagnets are energized at a time but power consumption is reduced.This drive power consumption is more important than torque.So it is rarely used.
  3. Full Drive: Full Drive-Two electromagnets are energized at a time,so the torque is generated will be larger when compared to the Wave Drive.Power consumption will be higher than the other modes.
  4. Half Drive : One and Two electromagnets are energized,so it is a combination of Wave and Full drives.This mode is commonly used to increase the angular resolution of the motor but the torque will be less,about 70% at its half step position.
  5. ULN2003A : It is current driver IC,is used to drive the current of the stepper motor as it requires more than 60 mA of current.It consists of seven Darlington arrays with common emitter.The IC consists of 16 pins in these 7 as outputs 7 are inputs pins used to the connect the microcontroller .Here 4 pins are connected to the microcontroller and the first 4 pins output is connected to the stepper motor.

Project Implementation:

Connect the ULN2003 to the PORT D of the controller

Connect the Stepper Motor to the motor drive ULN2003

You need to program and the refer the table to give the step angle to stepper motor

stepper-motor-wave-drive
stepper-motor-half-drive
stepper-full-drive

Software requirements:

  1. MPLAB X IDE: The MPLAB X IDE is the new graphical,integrated debugging tool set for all of Microchps's more than 8 bit,16 bit and 32 bit MCUs and digital signal controller,and memory devices.
  2. Programming language: Embedded C Language
  3. Proteus Design Software: The Proteus Design Suite is a software tool suite used for eletronic design automation even only sotware itself the output can be checked by the software and also electronic prints for manufactureing printed circuit boards.
Kit required to develop Stepper Motor Interfacing with PIC16F877A Microcontroller:
Technologies you will learn by working on Stepper Motor Interfacing with PIC16F877A Microcontroller:


Any Questions?