A Non-technical Overview
Although motion control is usually limited to industry, it is surprisingly simple to connect a stepper motor, solenoid, or anything else to a computer. In fact it is really no different than hooking up your monitor: in this case instead of sending information about pixels you are sending information about pixels. When I first began dabbling in motion control nearly 20 years ago, I used the printer port on my IBM-compatible 286 running DOS to control two stepper motors. Today, you could use USB and Windows Vista, but the idea is the same. [fix this!]
Let's Get into Some Details
It is a surprisingly simple task to control the small electrical signals which are carried from the printer port of IBM-compatible computers. [Recently, the printer port has been abandoned for the higher-tech USB ports on most laptops. To accomodate this shift I have a printer port emulator which plugs into USB (read more).] Like all computer information, these digital signals ("bits") are either "on" or "off." Very basic motion control can be accomplished by simply using these signals to turn on and off more powerful devices (for example, the electric valves in "Pipedream"). More complex motion can be achieved by coupling these signals to the turning of electric motors. This, in fact, is the foundation of CNC--computer numeric control--where motors are controlled in concert to move a tool along a programmed path.
Perhaps the simplest illustration of this strategy is an Etchasketch whose knobs are connected to motors (see right). Instead of controlling the horizontal and vertical motion with your hands, a computer running custom software sends appropriate signals to the motor circuitry so that a predetermined path is followed.With the goal of making these simple ideas accessible, I have created the course entitled, "From Bits, To Bytes... To Bots."
Let's move on to a more sophisticated example: a pen plotter. Again, the tool (pen) motion is broken up into two axes: x and y, and controlled via motors. In this case, the option of tool active or inactive (pen up or down) has been added. Tool path information is stored as a list of consecutive x,y coordinates (plus pen up/down info for the plotter). This format is the structure of all "plot-files," and is readily output by drawing programs such as CorelDraw, Adobe Illustrator, and all CAD programs.
So What Can You Do with an xy-table?
These are examples of linear motion control in two dimensions, but the process can be generalized to other coordinate systems (cylindrical, spherical, etc.) as well as to three or more axes.
For the Do-It-Yourselfers, I've included a section on the technical details of motion control.