Jump to content

Arduino/Four wire stepper test

From Wikiversity

Motor Inspection

[edit | edit source]
Stepper Motor from discarded printer or fax

The motor originally came from a fax or printer that had been discarded. The motor had a label. From this label, specifications to a similar motor were found. There were four, identical red wires attached to it. Since the wires were stranded, solid wires were soldered onto the ends.

Arduino Motor Shield

[edit | edit source]

Stepper Motors connect to the arduino through a motor shield. Adafruit makes an inexpensive shield.

adafruit motor shield

Two motor drivers were downloaded as zip files and expanded into a window's machines c:\programs\arduino\libraries folder. The new folder names were to long and contained spaces according to an error message that hid behind some open windows. The arduino IDE would not start. The folders were renamed AccelStepper and MotorShield. Then the arduino IDE started. New examples appeared in the arduino software files > examples folder.

Decoding Wires

[edit | edit source]

The four stranded red wires were attached to four different colored solid wires. The connector has 5 holes, with a number 5 on the left. The middle pin was empty. The pair near pin 5 were given the colors blue, then orange. The pair nearest pin 1 were given the colors orange and red.

Motor Connector

Then resistance was measured between blue/orange and purple/red was 10 ohms.

Stepper Test

[edit | edit source]

The example sketch StepperTest was found associated with the MotorShield driver. This code suggested that the motor's four wires should be attached to M3 and M4 on the motor shield. Orange/Blue were attached to M3 and purple/red were attached to M4. The sketch was uploaded to the arduino and the motor began to turn. A video was taken.

Wiring

[edit | edit source]

Stepper motor wiring is easy. Stepper motors have inductors that turn into electro-magnents like all other motors. The inductors have an internal winding resistance. The 4 wire stepper motor above had two inductors of 10 ohms. There were two pairs of wires. These pairs can be plugged into the adafruit motorshield into a wiring header. The stepper test sketch software assumes you are plugging into the header labeled M3 and M4.

The pairs of wires are determined with an ohm meter. Then one pair is plugged into M3 and the other into M4. It doesn't matter which pair goes where. It doesn't matter which wire of the pair is in the left hole of M3. Hook the motor up. Reverse the pairs, reverse which wire is in the M3 left hole, and the motor will start up in the reverse direction. Messing up the pairs causes the stepper motor drive shaft to oscillate back and forth.

Power

[edit | edit source]

Start with powering the motor from the USB cable. Touch the motor, touch the chips on the motor shield to see that things are not heating up. The 10 ohm motor started heating up with just power from the usb cable. Adding an external 9V 650ma DC adapter to the arduino caused the motor and a chip on the motor shield to heat up fast and to heat up too hot to touch. The DC adapter started to buzz and perhaps started to heat up. Here is probably why: I=V/R = 9volts/10 ohms = 900 ma which is much greater than the rated 650 ma. Motors with larger inductor winding resistance remained cool, chips on the motor shield remained cool, but then the adapter started buzzing.

Revolutions

[edit | edit source]

Most of the motors tested stepped 7.5 degrees. 100 steps means 750 degrees rotation ... two complete circles plus 30 degrees. This was observed on most motors. There was one stepper motor where it appeared that 100 steps was one complete rotation meaning the steps were 3.2 degrees.