Stepper Testing with Arduino

The photo-interrupter on the winding jig gave up the ghost, and nobody has it in stock locally. So i’m dead in the water without any positioning.

An alternative to external sensing with the photo-interrupter was to use a stepper motor instead, and I had picked one up several weeks ago. Now is as good a time as any to see if it’d work.

The part number printed on the stepper is 17PS-C054-01. The label said it was bipolar, 4 wire, 12v, 30Ω per winding and had a 1.8° step, and after a little bit of multimeter work, these are the wire pairs for the windings. Yellow/white, and Red/Blue.

Some more web searching indicated that stepping the motor would involve putting current in the following wire pairs in sequence:

(plus / minus)
Yellow / White
Red / Blue
White / Yellow
Blue / Red

On my Guangzhou University (all-in-one) Arduino board, that meant driving the enable pins high permanently (E1 = 5 and E2 = 6), and using the stepper libraries in 2 wire mode (M1 = 4, M2 = 7).

Wire connections shown

While the stepper library out of the box worked OK, Mike McCauley’s AccelStepper library comes with acceleration and deceleration, and seems also to run real time.

Only thing is, it doesn’t seem to have a setting to tell it how many steps the stepper is (1.8° x 200 steps = 1 full turn). It seems to think 50 steps is a full turn.

Weird. Back to tinkering…

Update: 17 Dec 2010

I’ve finally found the time to do MORE tinkering… the coupler originally connecting the motor to the drive gear had to be drilled out from 3 to 5mm to accommodate the stepper’s shaft. Connected it up tonight.

Holy cow, the noise was unbelievable. It ground and rattled and vibrated. Stepper idea scrapped. Back to work on replacing the photo-interrupter…

Leave a Reply