CNC Stepper controller

The heart of each CNC machine, and many more automated systems for that matter, is the stepper motor. This motor allows for precise control over the spin of it’s rotor by applying pulses to the stepper’s coils. This project explains how to build a cheap and simple controller for such a motor, and it does that step by step, hehe.

The components used come from an old scanner. You need a stepper, a ULN2003 IC and the two steel rods on which the scanning lamp slides. The ULN2003 has seven high current darlington transistors and four of them will be used to drive the coils of the stepper motor. The control pulses will be given by a PC software through the parallel port. Nowadays PC’s don’t have the parallel port anymore so look for an old computer. Parallel port is also called printer port on some machines.

Pins 2 to 9 of the DB25 parallel port are assigned to Data bits, in our case the first four bits are of interest. The logic words that come out on the data bus of the parallel port are given by a pc software, Turbo CNC. Of course this can be taken into a much more developed project. As presented, if a bit is set to “1” then the associated coil gets one pulse because the ULN2003’s darlingtons act as inverters.

The project provides a test program to see your controller in action. For this you will need to use those metal rods to form a testing rig. Fairly simple thing if you know your way with a screwdriver.

A PCB layout and information for a three axis controller is provided as well. With the three axis all output pins from the parallel port are used and three ULN2003 ICs but you could use only two because each one has seven darlingtons under the hood.

It is really a good project, educational as well as practical if you need a low cost controller, and steppers can be found anywhere today… look inside your cd-player for example. So go for it!

CNC Controller made from scanner components: [Link]