SENI
KECANTIKAN & KESEJAHTERAAN
KRAFTANGAN
BUDAYA & SEJARAH
HIBURAN
ALAM SEKITAR
MAKANAN & MINUMAN
MASA DEPAN HIJAU
KEJURUTERAAN TERBALIK
SAINS
SUKAN
TEKNOLOGI
WEARABLES
Controlling a Stepper Motor with an EasyDriver
Martin

Dicipta oleh

Martin

13. Julai 2026NO
3
0
0
0
0

Controlling a Stepper Motor with an EasyDriver

A stepper motor doesn't just spin — it moves in exact, repeatable steps, so you can command a precise angle with no position sensor at all. This motor takes 400 steps per revolution (0.9° per step). The EasyDriver board turns two simple Arduino signals — one pulse on STEP, one level on DIR — into the carefully sequenced coil currents a bipolar stepper needs. It's the same open-loop precision that drives 3D printers, CNC machines and camera sliders.

Pertengahan
1 hour

Arahan

1

Identify the two motor coils

A bipolar stepper has 4 wires — two coils of two wires each. Set a multimeter to continuity (or ohms) and find the pairs: the two wires that beep (low resistance) share a coil. Call them Coil A and Coil B. There is no polarity within a coil.

Bahan untuk langkah ini:

Stepper Motor - 68 oz.in (400 steps/rev)Stepper Motor - 68 oz.in (400 steps/rev)1 keping

Alatan diperlukan:

Digital Multimeter - BasicDigital Multimeter - Basic
2

Wire the driver, motor and power

Push the EasyDriver into the breadboard. Screw Coil A into the driver's A+/A- terminals and Coil B into B+/B-. Connect a 9 V battery to M+ and GND (motor power, 6–30 V). From the Arduino: D2 to STEP, D3 to DIR, D4 to MS1, D5 to MS2, D6 to ENABLE. IMPORTANT: also join Arduino GND to the EasyDriver GND so they share a ground.

Bahan untuk langkah ini:

Arduino Uno R3 SMDArduino Uno R3 SMD1 keping
EasyDriver Stepper Motor DriverEasyDriver Stepper Motor Driver1 keping
Breadboard - ClassicBreadboard - Classic1 keping
Jumper Wires Premium M/M 20 AWG - 15.5 cmJumper Wires Premium M/M 20 AWG - 15.5 cm1 bungkus
9V Battery Holder9V Battery Holder1 keping
3

Set the driver's current limit

The EasyDriver has a small potentiometer that limits coil current. With a small screwdriver, start it near the middle; once running, turn it down if the motor or chip gets hot, or up if the motor is weak or skips. Never exceed the motor's rated current — this board delivers up to 750 mA per phase.

4

Connect and open the IDE

Plug the Arduino into your computer with the USB cable, open the Arduino IDE, and select Arduino Uno and its serial port. Leave the 9 V motor battery switched off until the sketch is uploaded.

Bahan untuk langkah ini:

SparkFun Cerberus USB Cable - 1.8 meterSparkFun Cerberus USB Cable - 1.8 meter1 keping

Alatan diperlukan:

Computer with Arduino IDEComputer with Arduino IDE
5

Upload the stepper sketch

Paste this sketch and upload, then switch on the battery. It turns the shaft one full revolution one way, pauses, and reverses — on a loop.

stepper_easydriver.inoarduino
// Drive a bipolar stepper with a SparkFun EasyDriver.
// Arduino -> EasyDriver:  D2=STEP, D3=DIR, D4=MS1, D5=MS2, D6=ENABLE (active LOW).
// Motor power (6-30V) on M+/GND; the Arduino and driver must share GND.
// Full-step mode (MS1=LOW, MS2=LOW): 400 STEP pulses = one revolution on this 400-step motor.

const int STEP_PIN = 2;
const int DIR_PIN  = 3;
const int MS1_PIN  = 4;
const int MS2_PIN  = 5;
const int EN_PIN   = 6;

const int STEPS_PER_REV = 400;   // full step, 0.9 deg per step

void setup() {
  pinMode(STEP_PIN, OUTPUT);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(MS1_PIN, OUTPUT);
  pinMode(MS2_PIN, OUTPUT);
  pinMode(EN_PIN, OUTPUT);

  digitalWrite(MS1_PIN, LOW);   // MS1=LOW, MS2=LOW -> full step
  digitalWrite(MS2_PIN, LOW);
  digitalWrite(EN_PIN, LOW);    // LOW enables the driver outputs
}

void turnOneRevolution(bool clockwise) {
  digitalWrite(DIR_PIN, clockwise ? HIGH : LOW);
  for (int i = 0; i < STEPS_PER_REV; i++) {
    digitalWrite(STEP_PIN, HIGH);
    delay(2);                   // high time sets the speed
    digitalWrite(STEP_PIN, LOW);
    delay(2);
  }
}

void loop() {
  turnOneRevolution(true);    // one full turn clockwise
  delay(1000);
  turnOneRevolution(false);   // one full turn back
  delay(1000);
}
6

Test it

Switch on the 9 V battery. The shaft turns exactly one revolution one way, pauses a second, then one revolution back. In full-step mode this 400-step motor needs 400 STEP pulses per turn. If it only buzzes or vibrates without turning, a coil pair is split across the two channels — swap two wires so each coil sits on one channel (A or B).

7

Turn steps into precise motion

Steppers move an exact angle per pulse, so you can position with no feedback: to rotate a set angle, use steps = 400 × angle ÷ 360 (e.g. 100 steps = 90°). For smoother, quieter motion set MS1 and MS2 HIGH for 1/8 microstepping (3200 micro-steps per revolution). This precise, repeatable motion is exactly what drives 3D printers, CNC machines, camera sliders and robot joints.

Bahan

7

Alatan Diperlukan

2
Jumlah anggaran
$82.00

Blueprint berkaitan

Blueprint ini berkongsi pengetahuan — teknik, bahan atau prinsip

CC0 Domain Awam

Blueprint ini dikeluarkan di bawah CC0. Anda bebas menyalin, mengubah, mengedar, dan menggunakan karya ini untuk sebarang tujuan, tanpa meminta kebenaran.

Sokong Pembuat dengan membeli produk melalui Blueprint mereka di mana mereka memperoleh Komisen Pembuat ditetapkan oleh Penjual, atau cipta iterasi baru Blueprint ini dan sertakan ia sebagai sambungan dalam Blueprint anda sendiri untuk berkongsi hasil.

Perbincangan

(0)

Log masuk untuk menyertai perbincangan

Memuatkan komen...