ศิลปะ
ความงามและสุขภาพ
งานฝีมือ
วัฒนธรรมและประวัติศาสตร์
ความบันเทิง
สิ่งแวดล้อม
อาหารและเครื่องดื่ม
อนาคตสีเขียว
วิศวกรรมย้อนรอย
วิทยาศาสตร์
กีฬา
เทคโนโลยี
อุปกรณ์สวมใส่
Controlling a Stepper Motor with an EasyDriver
Martin

สร้างโดย

Martin

13. กรกฎาคม 2026NO
0
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.

ระดับกลาง
1 hour

คำแนะนำ

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.

วัสดุสำหรับขั้นตอนนี้:

Stepper Motor - 68 oz.in (400 steps/rev)Stepper Motor - 68 oz.in (400 steps/rev)1 ชิ้น

เครื่องมือที่ต้องใช้:

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.

วัสดุสำหรับขั้นตอนนี้:

Arduino Uno R3 SMDArduino Uno R3 SMD1 ชิ้น
EasyDriver Stepper Motor DriverEasyDriver Stepper Motor Driver1 ชิ้น
Breadboard - ClassicBreadboard - Classic1 ชิ้น
Jumper Wires Premium M/M 20 AWG - 15.5 cmJumper Wires Premium M/M 20 AWG - 15.5 cm1 แพ็ค
9V Battery Holder9V Battery Holder1 ชิ้น
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.

วัสดุสำหรับขั้นตอนนี้:

SparkFun Cerberus USB Cable - 1.8 meterSparkFun Cerberus USB Cable - 1.8 meter1 ชิ้น

เครื่องมือที่ต้องใช้:

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.

วัสดุ

7

เครื่องมือที่จำเป็น

2
ยอดรวมประมาณ
$82.00

บลูพริ้นท์ที่เกี่ยวข้อง

บลูพริ้นท์เหล่านี้แบ่งปันความรู้ — เทคนิค วัสดุ หรือหลักการ

CC0 สาธารณสมบัติ

พิมพ์เขียวนี้เผยแพร่ภายใต้ CC0 คุณสามารถคัดลอก แก้ไข แจกจ่าย และใช้งานผลงานนี้เพื่อวัตถุประสงค์ใดก็ได้ โดยไม่ต้องขออนุญาต

สนับสนุนเมกเกอร์โดยซื้อสินค้าผ่านพิมพ์เขียวของพวกเขา ซึ่งพวกเขาจะได้รับ ค่าคอมมิชชันเมกเกอร์ ที่ผู้ขายกำหนด หรือสร้างเวอร์ชันใหม่ของพิมพ์เขียวนี้และรวมเป็นการเชื่อมต่อในพิมพ์เขียวของคุณเพื่อแบ่งรายได้

การสนทนา

(0)

เข้าสู่ระบบ เพื่อร่วมการสนทนา

กำลังโหลดความคิดเห็น...