Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO Controlled Bipolar Stepper Motor with Half-Stepping Drive

View and Edit Project In Cirkit DesignerImage of Arduino UNO Controlled Bipolar Stepper Motor with Half-Stepping Drive

Circuit Documentation

Summary

This circuit involves an Arduino UNO microcontroller controlling a Bipolar Stepper Motor (NEMA 17). The Arduino UNO is programmed to drive the stepper motor using a half-stepping technique. The connections between the Arduino and the stepper motor are established through digital pins D8, D9, D10, and D11.

Component List

Arduino UNO

Bipolar Stepper Motor (NEMA 17)

Wiring Details

Arduino UNO

Bipolar Stepper Motor (NEMA 17)

Code Documentation

Arduino UNO Code

/*---------------------------------------*\
| Half-stepping drive of Bipolar Stepper  |
\*---------------------------------------*/

// pins connected
#define Ap 10  // A+ line
#define Am 11  // A- line
#define Bp 9   //  .
#define Bm 8   //  .

void setup() {
  // set output
  pinMode(Ap, OUTPUT);
  pinMode(Am, OUTPUT);
  pinMode(Bp, OUTPUT);
  pinMode(Bm, OUTPUT);
}

int I = 0;
void loop() {
  // This is Half-step motion
  if (I++ < 50) {  // stop after 50*8 steps (=400) - one full turn with gearRatio "2:1"
    delay(10);
    digitalWrite(Bm, LOW); digitalWrite(Ap, HIGH);  // Step 1
    delay(10);
    digitalWrite(Ap, HIGH); digitalWrite(Bp, HIGH);  // Step 2
    delay(10);
    digitalWrite(Ap, LOW); digitalWrite(Bp, HIGH);  // Step 3
    delay(10);
    digitalWrite(Bp, HIGH); digitalWrite(Am, HIGH);  // Step 4
    delay(10);
    digitalWrite(Bp, LOW); digitalWrite(Am, HIGH);  // Step 5
    delay(10);
    digitalWrite(Am, HIGH); digitalWrite(Bm, HIGH);  // Step 6
    delay(10);
    digitalWrite(Am, LOW); digitalWrite(Bm, HIGH);  // Step 7
    delay(10);
    digitalWrite(Bm, HIGH); digitalWrite(Ap, HIGH);  // Step 8
  } else while (1);
}

This code sets up the Arduino UNO to control the Bipolar Stepper Motor (NEMA 17) using a half-stepping technique. The motor will make one full turn with a gear ratio of 2:1, stopping after 400 steps.