<a href="http://i.imgur.com/zdqmNkZ.jpg">http://i.imgur.com/zdqmNkZ.jpg</a><div><br></div><div>I'll be using an Arduino at first, then probably a standalone ATMega eventually.  For the driver circuit I should be able to either wire up some transistors or a driver IC.  I'm thinking this stepper will work nicely:  <a href="http://www.adafruit.com/products/858">http://www.adafruit.com/products/858</a></div>
<div><br><br><div class="gmail_quote">On Sat, Mar 2, 2013 at 7:29 PM, Dan Lyke <span dir="ltr"><<a href="mailto:danlyke@flutterby.com" target="_blank">danlyke@flutterby.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Sat, 2 Mar 2013 18:54:22 -0500<br>
Stephen Kraus <<a href="mailto:ub3ratl4sf00@gmail.com">ub3ratl4sf00@gmail.com</a>> wrote:<br>
> Stepper motor and some sort of optical sensor.<br>
<br>
</div>Unless you expect that the motor will encounter load beyond its torque,<br>
you can do away with the sensor. Steppers gonna step, it's what they<br>
do, man. At most you need a home switch.<br>
<br>
For James' benefit, 'cause I assume Stephen knows this stuff...<br>
<br>
Stepper motors are super easy to drive. It doesn't matter if you stall<br>
them (they have a maximum current draw which you usually just arrange<br>
to drive them at), they hold a position, and a common configuration for<br>
them is 400 steps per circle, so often you don't even need to gear<br>
them. And you don't have to reverse polarity on them to drive them<br>
backwards, so driver circuitry is easy (not that an H-bridge is hard,<br>
but...).<br>
<br>
The down-side is that they draw current even when static (because they<br>
hold), so they can be kind of power hungry. There are strategies around<br>
this. They can also be noisy, because you're driving them a step at a<br>
time, so they can buzz a lot.<br>
<br>
So, yeah, I'd do this with a stepper. If you don't have anything trying<br>
to move it when it's still, you can probably de-power it when not in<br>
motion, just to save power.<br>
<br>
The way a stepper works is that it has a series of coils, usually 4.<br>
Energize them in sequence, 1, 2, 3, 4, to make the motor step one way,<br>
energize them in the reverse sequence, 4, 3, 2, 1 to make it step the<br>
other. Half-step it by energizing two coils, so you can double the<br>
resolution by 1, 1&2, 2, 2&3, 3, 3&4, 4, 4&1 to step by half.<br>
<br>
If you're super smart you can do finer resolution by doing proportional<br>
coil steps; take apart a consumer product that uses steppers (like a<br>
*cough* popular paper cutting device that's on the shelves at Michael's<br>
and Wal*Mart that it would be wise if I didn't talk too much about the<br>
internals of) and you might notice that there are 8 driver transistors,<br>
but 4 of them are going through some monster resistors. This is to do<br>
quarter stepping.<br>
<br>
Many modern stepper drivers do much more fractional stepping than this,<br>
primarily to reduce noise, using PWM on 4 drive transistors.<br>
<br>
And there are also ICs that do this stuff for you, usually they<br>
keep track internally so you have two pins, one for direction,<br>
one that you pulse to step, although unless you're really jonesing<br>
for I/O pins it's often cheaper to just do discrete components: A<br>
resistor to limit drive current from your microcontroller to the<br>
collector of the transistor, a Darlington transistor like the TIP120<br>
(which has a 1000 to 1 gain, so you only have to give it 1 milliamp to<br>
drive an amp of output), and a diode in series to prevent the inductive<br>
kick from the motor coils from blowing out the transistor.<br>
<br>
In at least one driver circuit I did, I was paranoid and used a PS2501-4<br>
opto-isolator IC to protect the microcontroller. This was probably<br>
paranoia, I wouldn't do that today.<br>
<br>
Whatcha gonna drive this baby with? Parallel port on a PC? Arduino?<br>
Stand alone AVR ATMega? An Arduino with a shield?<br>
<span class="HOEnZb"><font color="#888888"><br>
Dan<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
Chugalug mailing list<br>
<a href="mailto:Chugalug@chugalug.org">Chugalug@chugalug.org</a><br>
<a href="http://chugalug.org/cgi-bin/mailman/listinfo/chugalug" target="_blank">http://chugalug.org/cgi-bin/mailman/listinfo/chugalug</a><br>
</div></div></blockquote></div><br></div>