Tuesday 26 September 2017

Interfacing Stepper Motor to Arduino

Arduino Stepper Motor Interfacing Using Darlington IC UL2003A In this article, we are publishing a project which explains different aspects of interfacing a Stepper Motor with Arduino. Stepper motor is a specially designed DC motor which comes with advantages of both a servo motor and a normal dc motor. Compared to a normal Dc motor, the maximum rpm a stepper motor can produce is very low. But they have the advantage that they can be positioned accurately. Unlike servo motor, stepper motor can also be rotated continuously. On the basis of the winding arrangement inside, the stepper motor can be categorized into unipolar and bipolar. The stepper motor we are using here is a unipolar stepper motor named 28BYJ-48. After going through the project you can run or turn the motor to desired direction. Let’s begin our tutorial and learn how to interface a stepper motor to Arduino. Objectives of the Project Understanding the basic working of stepper motor. Interfacing of stepper motor with Arduino. Generating code for turning motor to a desired direction. Using a simple Arduino library for stepper motor interfacing. Let’s begin to build our project! Components Used Arduino Stepper Motor Interfacing – Circuit Diagram   Assemble the circuit as shown in the diagram. Components required and connections are explained below Stepper Motor 28BYJ-48 As mentioned earlier stepper motors are classified into unipolar and bipolar stepper motors according to their winding arrangement. 28BYJ-48 is a unipolar stepper motor with both windings center tapped and connected to the common pin of the ULN2003A. As per the circuit remaining four ends of the windings are connected to the output pins of a Darlington IC (ULN2003A). ULN2003 is a monolithic Darlington IC consists of seven NPN Darlington transistor pairs with high voltage and current capability. It consists of common cathode clamp diodes for each NPN Darlington pair, which makes this driver IC useful for switching inductive loads. Darlington IC is used here as the stepper motor driver for Arduino. Since 28BYJ works at 5V, we connect the com pin of ULN2003A to 5V pin of Arduino. A Stepper motor can be operated in half step mode or full step mode. Here the code is written for it to work in full step mode. The library file attached with this article includes a provision for running the motor in half step mode as well. While working in half step mode the step-angle of the motor will be reduced to half the angle in full mode. In full step mode two coils are energized at a time. The speed of rotation of the motor can be controlled by altering the delay that is applied before energizing the next two coils. The maximum RPM that a 28BYJ-48 can generate is 15 rpm. Let’s explain the coding part. The Program/Code Download Arduino Stepper Motor – Program Download Library for Arduino Stepper Motor The important aspects and subroutines of the program are explained below. At the beginning of the program, four pre-processors are defined which mention the Arduino pins which are used for interfacing. Next is the use of constants in the program. The first 3 constants are for applying delay in between two consecutive coil energizing. Next two boolean constants are used for determining direction. At the “setup()” function, the Arduino pins that are used are configured as output pins. A function named “motoInput()” is used for energizing coils by giving ‘1’ to the specified coil which is to be energized and ‘0’ to the remaining coils which are not to be energized. Since we intend to run it in full step mode, we...
read more

The post Interfacing Stepper Motor to Arduino appeared first on Electronic Circuits and Diagram-Electronics Projects and Design.

No comments:

Post a Comment

Good vibrations: New tech may lead to smaller, more powerful wireless devices

What if your earbuds could do everything your smartphone can, but better? A new class of synthetic materials could allow for smaller devices...