| ||||
In the interests of keeping the design simple, versatile and cheap, we decided that the
circuit should run directly from the computer's parallel port, and should be a single sided board.
As there are not enough
IO lines on the parallel port to control everything on the CNC machine, some form of
multiplexing is required. Rather than introduce a lot of logic chips, we decided to
go for a Xilinx 9536 CPLD. This would allow us to generate enough IO lines, and also
to do various jobs to make the life of the computer software easier, such as generating
the stepper motor sequences and providing failsafe emergency stop interlocking. The use of a programmable device also means that the hardware can effectively be changed just by reprogramming. All of the electronic components on the board apart from the xilinx chip and a couple of capacitors are required for the programming of the chip. This means that if you have more than one controller board, you only need to fully populate one of them.
We decided that the stepper power drivers should be on separate boards so that different driver boards could be built to suit different motors, and to keep all circuit boards simple enough to be made in school Design and Technology departments. The design used allows either 5V or 12V stepper motors to be used, and uses constant current output stages to get the best possible performance from the motors without the expense and complexity of chopper outputs.
The boards were designed using an evaluation version of Eagle, available for free download from
CadSoft in Germany at Here are the Eagle files:
The Xilinx 9536 chip can be programmed using the WebPack software which can be freely downloaded from
Here are the Xilinx files:
Verilog file
| ||||
Project hosting kindly provided by |