[B]Open Source CNC Controller Specification[\B]

The purpose of this document is to specify the requirements for an open source CNC Controller.

The Controller will support up to a 3-axis hobby CNC machine with a target cost of less than $50.

The Controller will be designed for constant current control of inductive load, two-phase bipolar stepper motors. Each of the three motors will be controlled by two signals: step and direction. Each motor drive can be individually configured for full step, half step, quarter step or eighth step mode. The drivers will supply 1.5A max peak current to each phase. The peak load current level may be set as a part of the board configuration. The controller will be able to supply up to 48 Volts across each motor phase.

1.) The drivers will have an operating frequency up to 75 KHz and have thermal shutdown circuitry.
2.) A Panic Shut down will be hard wired to the drivers to shut off the motors with out software intervention.
3.) The Controller will interface to a PC through the parallel port. The parallel port will interface to a wide range of PCs. This will include the 3 Volt laptop interface as well as the standard 5 Volt PC standard.
4.) There will be a single voltage supply required, this may range from 12 to 48 Volts.
5.) The controller will support a standard set of General purpose I/O for other functions on the CNC machine including:
a. 1 panic button
b. 3 home position switches
c. 6 limit switches – normally closed in series
d. 1 open collector output to control the spindle – on/off
e. dual input jog encoder
f. touch probe input

6.) Connectors
a. 25 pin D-sub parallel port interface
b. Power supply inputs - 4 pin screw terminal block
c. Motor connectors 12 pin dual row .156” center header
d. 20 pin .1” dual row header type connector for the following:
1. Panic button –2 pins
2. open collector output for spindle control – 2 pins
3. 3 home switches – 6 pins
4. limit switches – 2 pins
5. touch probe input – 2pins
6. dual input jog encoder – 4 pins
7.) Configuration – The controller shall have non-volatile memory to store the user configuration on board. No jumpers or dip switches are to be used. The controller is attached to a PC via a parallel port. This offers a simple way to configure the board. The configuration of the board is set by copying a setup file to the parallel port. Once the controller is configured for a given machine, it will retain its configuration even if the controller is powered off. The following parameters can be set from the host PC:
a. Individual configuration of each motor as to full step, half step, quarter steps or eighth step.
b. Max current level for each motor. This will be in 10% increments of the total 1.5 Amp max.
c. Master enable for each motor. Unused circuits can be turned off.

8.) Total cost of materials shall be under $50

This is to be a fast track program. The specification is complete as it stands (6-16-04). Now the schematic will be worked on. This will complete this time next week.