Step 5: Build an X-Y platform from scavenged CD drives
Let's upcycle some crappy old CD/DVD drives that nobody else wants anyway. I was able to find a stack of chunky old drives for only a dollar or two each at Urban Ore in Berkeley. Check your local electronics recycling place.
Disassembling the CD/DVD drives is fairly straightforward. You can use the old paperclip trick to open the tray mechanism.
You may have to disassemble a number of drives to find ones with a stepper motor. At least half of the ones we opened seemed to have a DC motor driving the slide that moves the laser head. If someone knows how to tell the drives with stepper motors from those with DC motors from the outside, let us know! They're easy enough to recognize once you opened up the drive though: DC motor only have two wires, while the stepper motors usually have four, typically on a little flex cable (see pictures above).
As opposed to DC motors, stepper motors can be made to move a discrete number of steps, where each step is a fraction of a full revolution. This makes it very easy to do highly accurate positioning, without needing fancy feedback systems to check what position you're at. 3D printers typically use stepper motors to position the print head, for example.
Using the Stepper Motor
After checking some serial numbers online, we stumbled across one stepper motor labeled PL15S-020, which turns out to be a common and very well documented bipolar stepper motor. Many of the other stepper motors we found look very similar to this one, so we'll just assume they have the same parameters (annotation transfer by homology).
Data sheet: http://robocup.idi.ntnu.no/wiki/images/c/c6/PL15S020.pdf
This particular stepper motor does 20 steps per revolution (not great, but good enough), and the lead screw has a pitch of 3mm per revolution. Therefore, each step of the stepper equals a 150 micron displacement of the laser head - not bad! We could potentially drive up the resolution significantly by doing microstepping. For example, a simple 8x microstepping could theoretically bring the resolution down to less than 20 micron, which seems overkill given the amount of mechanical slack in the system, and the resolution of our print head.
Since we were all teaching ourselves Stepper Motors 101 anyway, we decided to keep it simple and go with full steps. The Arduino.cc website has some Circuits for Bipolar Stepper Motors as well as sample code to drive them. We ordered some SN754410NE H-Bridges to implement the circuit shown in the last picture.
Reduce, Reuse, Upcycle!
Old CD/DVD drives have lots of other cool bits too! There's the tray open/close mechanism containing a DC motor with some low-speed gearing, that can be used for a variety of other fun tricks. The spindle motor that spins the CD is typically a high performance brushless DC motor, which have been used for very low weight RC planes and helicopters. Plus, a bunch of switches, potentiometers, friggin' LASERS, and the occasional solenoid! Make sure to drop off the leftovers at your local electronics recycling place.