Using Stepper motors with Arduino

by Apr 29, 2020arduino uno projects

In this tutorial, you will learn to configure the stepper motors with the Arduino Uno.

Contents:

1. Introduction

In an earlier tutorial, we discussed how to use the servo motors. Stepper motors are generally more accurate and can bear greater amount of torque. Here, we will be using the stepper motor from a scrap DVD/CD drive and will configure it with our controller. You can use any stepper motor with four wires for this project.

2. Materials Required

  • A Stepper Motor (NEMA-17)
  • Arduino Nano/Uno
  • Jumper wires
  • 12V-2A adapter
  • 100uF capacitor
  • A4988 module
  • Multimeter

3. Hardware Explanation

The stepper motor is a powerful motor so we need an external supply for the same. The main work is done by the A4988 motor driver . The 100uF capacitor acts as a decoupling capacitor and reduces the sound generated in the circuit. I am using the stepper motor of the scrap DVD drive. You can choose any. First of all, see the four wires shown below.

Two wires are of same phase

In this, two wires are of the same phase while two are of others. To check this, select the Shorting method of the multimeter and keep it at the two wires. The set of wires for which it beeps are in the same phase. Mark them or remember them.

4. The Circuit

Circuit

Carefully observe the pinout of the A4988 motor driver. Connect the Vcc and GND pin and then connect the DIR pin to D2 and the step pin to D3. Connect the capacitor between Vmot and the GND and then connect it with the power supply at the end. The wires of the same phase will be connected to 1A and 1B and the other two wires of the same phase to 2A and 2B. Now get ready to upload the code.

5. Arduino Code

Upload this code to the board without connecting the setup to the adaptor. Connect it after uploading the code. You will see your stepper motor running.

const int dirPin =2;
const int stepPin=3;
const int stepsPerRev=200;


void setup() {
  // put your setup code here, to run once:
pinMode(dirPin,OUTPUT);
pinMode(stepPin,OUTPUT);

}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(dirPin,HIGH);
  

  for(int x=0;x<stepsPerRev;x++)
  {
      digitalWrite(stepPin,HIGH);
      delayMicroseconds(500);
       digitalWrite(stepPin,LOW);
      delayMicroseconds(500);
  }
  delay(250);
  digitalWrite(dirPin,LOW);
  
  for(int x=0;(x<stepsPerRev);x++)
  {
      digitalWrite(stepPin,HIGH);
      delayMicroseconds(500);
       digitalWrite(stepPin,LOW);
      delayMicroseconds(500);
  }
  delay(250);
}

6 . DIY Project’s Idea

You can make many DIY projects with the stepper motor of the DVD drives. One main project is the CNC plotter. It is a 2.5 axis based plotter that plots the sketch of the image passed by the computer. An extra servo motor is required for the z-axis. While the x and y-axis are the stepper motors. I hope you will try this amazing project on your own.

I hope you were able to run the stepper motor. Feel free to write in the comment section. Happy Learning!

Creating a multiplication Skill in Alexa using python

Written By Anmol Punetha

Hey, I am Anmol. I am a tech blogger and an electronics engineering student at the same time. As you're reading my blog, you are getting a generous amount of information in simpler words. Hope it's of use. Thank you for visiting. Keep reading!

RELATED POSTS

DIY project: Using RGB LED with Blynk

DIY project: Using RGB LED with Blynk

We already have talked about using Blynk with Arduino. In this tutorial, we will make a DIY project using RGB LED with Blynk. We will also control the intensity of it using some special widgets in Blynk. Contents: RGB LED with Blynk IntroductionMaterials...

Using a Seven Segment Display with Arduino

Using a Seven Segment Display with Arduino

Let's learn how to configure a SSD (Seven segment display) with Arduino. You will also learn to make the counter using a single SSD. Contents: IntroductionMaterials RequiredCircuitArduino CodeCode Explanation 1. Introduction The Seven Segment Display has basically 10...

DIY Project: Arduino controlled Bluetooth Car

DIY Project: Arduino controlled Bluetooth Car

Let's make a wireless Arduino Controlled Bluetooth car. Contents: IntroductionMaterials RequiredIntegrating the Chassis kitArduino CodeThe Circuit and it's ExplanationConfiguring the Mobile ApplicationThe Final Run 1. Introduction Hey everyone, today we are going to...

How to use Ultrasonic Sensor with Arduino?

How to use Ultrasonic Sensor with Arduino?

Introduction Ultrasonic sensors work by emitting sound waves at a frequency too high for humans to hear. They then wait for the sound to be reflected back, calculating distance based on the time required.  Since ultrasonic waves can reflect off a glass or liquid...

How to use a Servo motor with Arduino?

How to use a Servo motor with Arduino?

Introduction A Servo Motor is a small device that has an output shaft. This shaft can be positioned to specific angular positions by sending the servo a coded signal. As long as the coded signal exists on the input line, the servo will maintain the angular position of...

Using IR sensor with Arduino Uno

Using IR sensor with Arduino Uno

Introduction An  IR (Infrared sensor)is an electronic device, that emits in order to sense some aspects of the surroundings. An IR sensor can measure the heat of an object as well as detects the motion. The emitter is simply an IR LED( Light Emitting Diode) and...

Blinking a LED using Arduino Uno

Blinking a LED using Arduino Uno

Blinking a LED is the most basic project in the Arduino. You basically make some easy connections, write the code and upload it in the Arduino. With that, you can control the blinking rate, the duration for which it was glowing and lot more. To know how to install the...

VIDEOS – FOLLOW US ON YOUTUBE

EXPLORE OUR IOT PROJECTS

IoT Smart Gardening System – ESP8266, MQTT, Adafruit IO

Gardening is always a very calming pastime. However, our gardens' plants may not always receive the care they require due to our active lifestyles. What if we could remotely keep an eye on their health and provide them with the attention they require? In this article,...

How to Simulate IoT projects using Cisco Packet Tracer

In this tutorial, let's learn how to simulate the IoT project using the Cisco packet tracer. As an example, we shall build a simple Home Automation project to control and monitor devices. Introduction Firstly, let's quickly look at the overview of the software. Packet...

All you need to know about integrating NodeMCU with Ubidots over MQTT

In this tutorial, let's discuss Integrating NodeMCU and Ubidots IoT platform. As an illustration, we shall interface the DHT11 sensor to monitor temperature and Humidity. Additionally, an led bulb is controlled using the dashboard. Besides, the implementation will be...

All you need to know about integrating NodeMCU with Ubidots over Https

In this tutorial, let's discuss Integrating NodeMCU and Ubidots IoT platform. As an illustration, we shall interface the DHT11 sensor to monitor temperature and Humidity. Additionally, an led bulb is controlled using the dashboard. Besides, the implementation will be...

How to design a Wireless Blind Stick using nRF24L01 Module?

Introduction Let's learn to design a low-cost wireless blind stick using the nRF24L01 transceiver module. So the complete project is divided into the transmitter part and receiver part. Thus, the Transmitter part consists of an Arduino Nano microcontroller, ultrasonic...

Sending Temperature data to ThingSpeak Cloud and Visualize

In this article, we are going to learn “How to send temperature data to ThingSpeak Cloud?”. We can then visualize the temperature data uploaded to ThingSpeak Cloud anywhere in the world. But "What is ThingSpeak?” ThingSpeak is an open-source IoT platform that allows...

Amaze your friend with latest tricks of Raspberry Pi and Firebase

Introduction to our Raspberry Pi and Firebase trick Let me introduce you to the latest trick of Raspberry Pi and Firebase we'll be using to fool them. It begins with a small circuit to connect a temperature sensor and an Infrared sensor with Raspberry Pi. The circuit...

How to implement Machine Learning on IoT based Data?

Introduction The industrial scope for the convergence of the Internet of Things(IoT) and Machine learning(ML) is wide and informative. IoT renders an enormous amount of data from various sensors. On the other hand, ML opens up insight hidden in the acquired data....

Smart Display Board based on IoT and Google Firebase

Introduction In this tutorial, we are going to build a Smart Display Board based on IoT and Google Firebase by using NodeMCU8266 (or you can even use NodeMCU32) and LCD. Generally, in shops, hotels, offices, railway stations, notice/ display boards are used. They are...

Smart Gardening System – GO GREEN Project

Automation of farm activities can transform agricultural domain from being manual into a dynamic field to yield higher production with less human intervention. The project Green is developed to manage farms using modern information and communication technologies....