Hello. I'm also having trouble getting a stepper motor to properly operate with my Arduino Uno. I read several forum threads from people having the same issue but they didn't solve my problem. The stepper vibrates and moves in a stuttering motion.
I'm using an Arduino Uno connected to a ULN2003APG stepper driver board (5V min) from geeetech. I've used this same setup with other steppers so I'm certain it works for my other 6-wire steppers.
The problematic stepper is a Shinano Kenshi model STH-83D108-02, 6 wires, 5.5V, 1.25A, 1.8°/Step (200 steps).
The power source runs at 5.5V with a max current of 3A.
In the test sketch I'm running (below), I found that dropping the RPM causes the stepper to turn better, but it is still extremely herky-jerky.
I think the problem is likely that I have the stepper wires connected incorrectly to the driver board. Unfortunately, I couldn't find a datasheet for the STH-83D108-02 stepper. So I opened up the stepper to trace the wires. I found that the wires are grouped into two groups of three: tan, pink, black and yellow, orange, white. The black and white wires are each soldered to two coil wires whereas the rest are each soldered to one coil wire (see pictures below). I assumed the black and white wires are each power wires and that the yellow and orange wires are the data wires to the white wire and the tan and pink wires are the data wires to the black wire. Using this assumption, I connected the stepper to the driver board in several different configurations but the stuttering continued.
Can anyone tell me the proper wiring method for the stepper to the driver board? Am I using the wrong driver board? The wrong sketch? Is it something else?
Thank you very much!
Jeremy
My test sketch:
/*
Stepper Motor Control - one revolution
This program drives a unipolar or bipolar stepper motor.
The motor is attached to digital pins 8 - 11 of the Arduino.
The motor should revolve one revolution in one direction, then
one revolution in the other direction.
Created 11 Mar. 2007
Modified 30 Nov. 2009
by Tom Igoe
*/
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(24);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
delay(500);
}

