This is an old revision of the document!
Table of Contents
This page is about a kit-built CNC engraving/cutting machine being attempted by Jeff, Steve, and the Eastbots.
Frame & Motion Stage
Based on the C-Beam Machine kit from Openbuilds.com: https://openbuildspartstore.com/openbuilds-c-beam-machine/
Steve and Jeff assembled it following the video on https://www.youtube.com/watch?v=HVR8pABCHXI
Electronics
We're using a “Mach 3” interface board, which connects to a PC parallel port. It looks similar to this one: https://www.hobbytronics.co.za/p/473/mach3-opto-isolated-parallel-interface-break-out-board
The interface board provides enable, step, and direction signals to the three stepper driver modules, which are M542 units:
http://www.americanmotiontech.com/products/productdetail.aspx?model=m542-cnc-stepper-drive-50v-4.2a
The interface board also has inputs that can be connected to limit and emergency-stop switches.
There is no schematic that I've found for the interface board, but the signals are connected as follows, according to silkscreen text on the board:
| DB25 connector pin | PC Parallel Printer Port Signal | CNC control function |
|---|---|---|
| 1 | C0 | unused |
| 2 | D0 | X step |
| 3 | D1 | X Direction |
| 4 | D2 | Y Step |
| 5 | D3 | Y Direction |
| 6 | D4 | Z Step |
| 7 | D5 | X Direction (unused) |
| 8 | D6 | A Step (unused) |
| 9 | D7 | A Direction (unused) |
| 10 | S6 | E-stop |
| 11 | S7 | unused? |
| 12 | S5 | (X axis limit) |
| 13 | S4 | (Y axis limit) |
| 14 | C1 | Common motion enable |
| 15 | S3 | (Z axis limit) |
| 16 | C2 | B Step |
| 17 | C3 | B direction or Spindle Enable |
The interface board is cabled to the parallel printer port on a PC. The parallel port must either be on the motherboard or on a PCI expansion card; USB control is not possible (see the linuxCNC documentation). If curious, more parallel port information is at https://en.wikipedia.org/wiki/Parallel_port
Control Software
The control PC is running centos linux with the CCRMA real time kernel http://ccrma.stanford.edu/planetccrma/software/
We're using LinuxCNC to drive the interface board. http://linuxcnc.org/
LinuxCNC's job is to take a file containing G-Code instructions, and feed them to the stepper motors to move the cutting tool along the paths specified by the G-code.
Simulate before cutting
Before running a g-code program on a real machine to actually turn metal into shavings, we can simulate that program to make sure that it does what we want.
CAMotics is a nice, free g-code simulator that installs easily on windows and recent linux.
CAM Software
To be determined.
Simple G-code can be written by hand. https://en.wikipedia.org/wiki/G-code
There are simple g-code generator python scripts at https://github.com/LinuxCNC/simple-gcode-generators The output of these is easy to understand, and will be some of our first trials.
But to really make parts, we need a true Computer Aided Manufacturing (CAM) tool, that takes a 3-d model from CAD and turns it into the long sequence of cutter moves described by g-code.
We can get a free/student version of MasterCAM with a voucher code from FIRST
We might try openbuilds CAM which I think is a web-based thing. https://cam.openbuilds.com/
