CNC Circuit Mill/Manufacturing Instructions
1 Preparation
- Edit
https://docs.google.com/spreadsheet/ccc?key=0AlpsBarfpPkzdFk5aDY3dHM0eEhfZHNkWVppdV9EelE
1 Process
2 Structure
- Cut Angle 0.125" x 1.5" x 1.5"
To 14 pieces of 360mm length
To 10 pieces of 160mm length
To 1 piece of 60mm length
- Cut Square Tube 0.125" x 1.5" x 1.5"
To 1 piece of 200mm length
- Cut Flat Bar 0.125" x 6" x X
- Drill Angle Template
60mm long, 0.125" x 1.5" x 1.5" steel angle.
Use pilot bit. Differentiate the 2 holes as A and B. When looking at the angle's inner perspective, hole A should be up and to the left of hole B.
ANGLE HOLE A - Mark and drill hole A on one angle side, 20mm from the inner joining edge of angle, close to the end of the angle.
ANGLE HOLE B - Mark and drill hole B on the other angle side, 20 from the inner joining edge of angle, 40mm apart (distance is angle-parallel) from hole A.
- Tube Template
0.125" x 1.5" x 1.5" x 180mm steel tube.
All holes drilled with only pilot bit. Keep angle template usage consistent by keeping its 2 tube contact faces the same for all holes for a given surface. Ensure tube is on flat surface. Ensure tube template usage consistency.
TEMPLATE REFERENCE HOLE Use angle template hole A to drill reference hole near end of tube.
TEMPLATE MOTOR HOLE Mark and drill 8mm tube-parallel from reference hole.
TEMPLATE STEPPER HOLES Mark 15.5mm tube-parallel from reference hole then drill 2 holes each 15.5mm tube-perpendicular from mark.
TEMPLATE SHAFT HOLE Mark 70mm tube-parallel from reference hole then drill 1 hole at mark using angle template hole A.
TEMPLATE FRAME HOLE Mark 170mm tube-parallel from reference hole then drill 1 hole at mark using angle template hole A.
TEMPLATE ANGLE HOLE Drill 1 hole using angle template hole B while hole A is set to the template shaft hole with rod.
- X Angles (aka the steel angle pieces that go horizontally from side to side of the circuit mill)
0.125" x 1.5" x 1.5" x 360mm steel angle (4)
Drill reference, frame, and frame angle holes in all.
Drill shaft holes in 2.
Drill stepper holes in 1.
0.125" x 1.5" x 1.5" x 160mm steel angle (7)
Drill reference, shaft, and shaft angle holes in all.
Drill stepper holes in 1.
Drill motor holes in 1.
- Y Angles (aka the steel angle pieces that go horizontally front to back of the circuit mill)
0.125" x 1.5" x 1.5" x 360mm steel angle (4)
Drill reference, frame, and frame angle holes in all.
- Z Angles (aka the steel angle pieces that are oriented vertically upwards)
0.125" x 1.5" x 1.5" x 360mm steel angle (6)
Drill reference and frame holes in all.
Drill frame angle holes in 4.
Drill shaft holes in 2.
Drill stepper holes in 1 as if the upper shaft hole was the reference hole.
Drill new shaft holes in 2 as if the upper shaft hole was the reference hole.
- Sleeve Bearing (reduces friction between the pair of support shafts and the moving platform for each axis)
Drill the 12 sleeve bearings through the XYZ setup to achieve alignment.
- Leadscrew Nut (converts rotary motion of the leadscrew into linear motion where the nut travels along the axis of the leadscrew)
Drill the 3 leadscrew nuts through the XYZ setup to achieve alignment.
- Plates (used to increase the rigidity of the pair of moving angles in each axis setup)
Drill the 3 plates through the XYZ axes setup to achieve alignment.
2 Electronics
2 Software Summary
3 Get Git 3 Get Arduino Integrated Development Environment 3 Get ruby programming language 3 Get grbl make files 3 Get gctrl 3 Get Processing
3 Move rxtx .jar and .so files from arduino IDE to processing 3 Change gctrl code to have fixed port recognition 3 Make clean, make (compiled by this point), and make flash (firmware uploaded by this point) the grbl files into the arduino uno
3 Open Processing>gctrl>run 3
2 Detailed Software Guide
3 Ubuntu 10.04 LTS 32-Bit
4 Getting Git
- Open Terminal and type:
sudo apt-get install git-core
4 Getting Arduino Integrated Development Environment
- Go to this webpage:
http://arduino.cc/hu/Main/Software
- Download the Linux 32-bit version of Arduino IDE to a directory of your choosing
4 Compatibilizing Arduino IDE
- The following steps are a summary of the information in this webpage:
http://www.pluggy.me.uk/arduino-ubuntu/
- Open System>Administration>Synaptic Package Manager, then type your password
- In Synaptic Package Manager, search for jre, then mark for installation the item with the following name:
Openjdk-6-jre
- Note: marking these items will bring up other packages also to be marked. Click "mark" during these times.
- In Synaptic Package Manager, search for gcc-avr, then mark for installation the item with the following name:
gcc-avr
- In Synaptic Package Manager, search for avr-libc, then mark for installation the item with the following name:
avr-libc
- In Synaptic Package Manager, click "Apply"
- Restart your computer
4 Getting RUBY Programming Language
- Open Terminal and type:
sudo apt-get install ruby1.9.1
- Restart the computer for the changes to take place
4 Getting GRBL Files
- Open Terminal and type:
git clone https://github.com/damellis/grbl.git grbl
4 Getting Gctrl
- Open Terminal and type:
git clone https://github.com/damellis/gctrl.git gctrl
4 Getting Processing
- Go to this webpage:
http://processing.org/download/
- Download the latest version of Processing to a directory of your choosing
4 Moving RXTX files
- Navigate to the Arduino IDE folder>lib.
- Copy RXTXcomm.jar
- Navigate to the Processing folder>modes>java>libraries>serial>library
- Paste RXTXcomm.jar, replacing the existing version
- Navigate to the Arduino IDE folder>lib
- Copy librxtxSerial.so
- Navigate to the Processing folder>modes>java>libraries>serial>library>Linux32
- Paste librxtxSerial.so, replacing the existing version
4 Modifying Gctrl
- Open the Gctrl folder
- Open gctrl.pde in gedit
- Change a part of the code as annotated in the following:
Serial port = null; //change starts
String portname = "/dev/ttyACM0"; // Linux, Arduino Uno
//change ends
boolean streaming = false;
4 Modifying GRBL Files
- Navigate to the GRBL folder
- Open "Makefile" in gedit
- Edit the PROGRAMMER line as:
PROGRAMMER = -c stk500v1 -P /dev/ttyACM0 -b 115200
4 Flashing GRBL
- Open Terminal and navigate to the GRBL folder (ex. by using the "ls" and "cd" commands)
- In Terminal, type:
make clean
make
- Connect the Arduino Uno to the computer via USB cable
- In Terminal, type:
make flash
- Disconnect the Arduino Uno
4 Running GRBL
- Navigate to the Processing folder
- Open and run Processing, setting the sketchbook folder as the folder in which the gctrl folder exists
- In Processing, open gctrl using File>Sketchbook>
- Connect the Arduino Uno to the computer via USB cable
- In Processing, run gctrl using Sketch>Run
- Note: For certain functions of gctrl, press and hold down the key for the popup windows to populate.
4 Modifying GRBL Settings
- Navigate to the Arduino IDE folder
- Double-click "Arduino" then click "run" in the popup window
- Note: you may want to create a quick launcher for the Arduino IDE
- Connect the Arduino Uno to the computer via USB cable
- In Arduino IDE, open Tools>Serial Monitor
- Note: the Serial Monitor window should pop up and you should see the following:
Grbl 0.6b
'$' to dump current settings
- In the Serial Monitor, change the left drop-down setting to the following:
Both NL & CR
- In the Serial Monitor, type the following in the command line:
$
- Note: you should now see the following:
$0 = 157.480 (steps/mm x)
$1 = 157.480 (steps/mm y)
$2 = 157.480 (steps/mm z)
$3 = 10 (microseconds step pulse)
$4 = 500.0 (mm/min default feed rate)
$5 = 600.0 (mm/min default seek rate)
$6 = 0.100 (mm/arc segment)
$7 = 0 (step port invert mask. binary = 0)
$8 = 25.0 (acceleration in mm/sec^2)
$9 = 225.0 (max instant cornering speed change in delta mm/min)
'$x=value' to set parameter or just '$' to dump current settings
- In the Serial Monitor, type commands as necessary in the following format, where "X" and "Y" are numbers:
$X = Y