Sunday, February 10, 2008

22: systems



















Figure 1: Typical wiring for a unipolar stepper motor.


Stepper motors will be used to control vertical motion within the substrate, raising and lowering components to the desired levels via a pulley system. Stepper motors provide more torque at lower speeds than DC motors. They are capable of moving a precise distance or a specific number of rotations. They also have very high torque when stopped (the motor acts like a break). This will allow parts of the substrate to be suspended without slipping. There is a rule of thumb that can be used to determine the lifting capacity of the stepper motor: holding torque X 0.65 = dynamic torque (g-cm). This means that if your motor has a pulley with a radius of 1cm then the motor can lift a weight of x grams hanging on the string.

To control the stepper, you apply voltage to each of the coils in a specific sequence. The issue is understanding the orientation of the wires--ie. which wire goes to which coil. The schematics below details how to wire the stepper to a Darlington transistor array. The array controls the direction of the motor. An Arduino micro controller will be used to drive the motor. There is rudimentary programming code here.
/*
Stepper Motor Controller
language: Wiring/Arduino

This program drives a unipolar or bipolar stepper motor.
The motor is attached to digital pins 8 and 9 of the Arduino.

The motor moves 100 steps in one direction, then 100 in the other.

Created 11 Mar. 2007
Modified 7 Apr. 2007
by Tom Igoe




































O'Sullivan, Dan, and Tom Igoe.
Physical Computing: Sensing and Contolling Physical World with Computers. Boston: Thomson Course Technology, 2004. 260-265.


















This is the bipolar stepper motor I rescued from an Epson printer. The first and third and second and fourth wires are connect (8.5 ohms). I've ordered SN754410 dual H-bridge(s), which will be used to reverse the polarity in the coils--and the direction of the motor.

No comments: