Controller Process I/O
Couldn't have got this together without mapping out all the components first.
Development of the whole system required an exhaustive identification of all processes of the laser controller. I started with this diagram which outlines the major physical components that will be used for the cnc laser. The laser has a power supply, a db-25 connector which reports various states of the laser, gas lines which are controlled by solenoids, water flow and cooling systems, a servo driven CNC table, and a computer system for the central controlling unit. The servos are driven by Gecko drives, the Geckos are controlled by Jon Elson's Universal Stepper Controller (USC).
There are an intimidating 50 or so I/O lines going into the control unit, so it was time to make another block diagram of all the internal electronic components. This picture was generated, which still leaves out items like indicator lights, power switches as well as the power supply that eventually was added to the circuit, but it was a good start. The blocks marked JAM buzzer and PWM module were eventually combined into the custom circuit that was part of the project. Digi-key part numbers of most of the connectors were included in the drawing to help with intelligent ordering. Ordering parts occurred over several iterations and while it'd be nice to put together a final BOM, one does not exist.
The original controller and process diagrams were generated in AutoCAD (dxf formats).