CNCCMV2: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
(link to related articles)
 
(191 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Categorization Key=
=Intro=


*"+1" means increasing category level by one; "-1" means decreasing category level by one.
[[CNCCMV2/Overview | CNC Circuit Mill V2 (CNCCMV2): Overview]]
 
*For example, the following shortlist means that "Wrenches" are categorized under "Tools", and that "Materials" is a category of the same level as "Tools"
 
Tools
 
+1
 
Wrenches
 
-1
 
Materials
 
*For example, the following shortlist means that "Screws" are categorized under "Metal" under "Fasteners" under "Materials"
 
Materials
 
+1
 
Fasteners
 
+1
 
Metal
 
+1
 
Screws
 
-3
 
=Overview=
 
*The CNC Circuit Mill Version 2 is designed for '''superior ease of sourcing, fabrication, assembly, and disassembly''', combined with '''high performance, scalability, modularity, and lifetime design'''- all at '''low cost'''.
 
=Key Specifications=
 
=+1=
 
=Performance=
 
*X Axis Travel Range = 20cm
*Y Axis Travel Range = 20cm
*Z Axis Travel Range = 5cm
*Step Motor Torque at 12VDC = 3.2kg-cm
*Spindle Max Rotation Speed = 22600rpm no-load
*Spindle Motor Torque at 24VDC = 88.5g-cm at max efficiency
*Workpiece Holding Mechanism = Linear Bolt and Tensioning Nut


=Design=
=Design=


*Stock Steel Cube-shaped External Structure
[[CNC Circuit Mill/V2 Design Rationale | Design Rationale]]
 
*Stock Aluminum Angle-based Internal Structure
 
*Step Motor Axis Drive
 
*Rotary-to-Linear Motion Converting Stainless Steel Leadscrew and Wear-compensating Leadscrew Nut
 
*Anti-friction Bronze Sleeve Bearings
 
*Precision Stainless Steel Axis-Supporting Shafts
 
*Versatile Fastener-based Holding Platform
 
*Brushed DC Motor Spindle Drive
 
*Precision Stainless Steel Spindle Shaft
 
*Computer to Microcontroller to Stepper Driver Electronics Pathway
 
*Gcode Streamer to Gcode Interpreter Software Pathway
 
=Cost=
 
*Cube frame - $30
 
*Shafts (each $21 for long x4) (short ones $10 x2) - $104
 
*Spindle drive + aluminum rounds for couplers - $20
 
*Aluminum metal for platform and axis metal 0 - <50
 
*Leadscrews ($75 but comes in 2x the required length from McMaster)  and 3 Leadscrew Nuts ($30 ea) = $165 USD
 
*Linear Bearings = 50 USD
 
*Ball Bearings - 2 for spindle - $15
 
*Fasteners = under 70 USD
 
*Electronics = under 200 with power supply
 
*Software = Open Source
 
'''About $700 total''' - but, needs double quantity of leadscrew, coupler metal to be bought from existing supply chain (McMaster Carr)
 
=-1=
 
=Further Performance Specifications=
 
=Design Rationale=
 
=+1=
 
=Cube-shaped Frame=
 
*Made of Steel Angles; Uses Corner Junctions each with 6 Washers and 3 Bolts and Nuts; Has Asymmetrical Assembly
 
*Ease of maintenance - cube can lie on any of its 6 faces
 
*Design for disassembly - each angle can be independently disassembled
 
*Planar Enclosure - contained components are protected from any planar impact
 
*Ease of sourcing - uses stock metal and fasteners
 
*Lifetime Design - all parts replaceable, critical components such as corner fasteners made of 316 stainless steel
 
*Ease of assembly - identical corner junctions
 
*Scalability - certain angles can be scaled in unison for different dimension frames
 
=Axis Structure=
 
*Each Uses 4 Aluminum Angles; Uses Bronze Sleeve Bearings; Uses Stainless Steel Shafts; Uses Bolts, Washers, and Nuts
 
=Axis Drive=
 
*Made of Step Motor; Uses Motor-Shaft-to-Leadscrew Setscrew Coupling; Uses Leadscrew; Uses Leadscrew Nut; Uses Screws, Washers, Bolts, and Nuts
 
=Platform System; =
 
=Spindle System=
 
*Made of 3 Aluminum Angles and 1 Steel Flat; Uses Brushed DC Motor; Uses Motor-Shaft-to-Spindle-Shaft Setscrew Coupling; Uses Stainless Steel Driveshaft; Uses 2 Ball Bearings; Uses Spindle-Shaft-to-Milling-Bit Setscrew Coupling; Uses Milling Bit; Uses Screws, Washers, Bolts, and Nuts
 
=-1=
 
=Sourcing=
 
*Spreadsheet File
 
LINK HERE
 
*Prototyping Spreadsheet
 
<html><iframe width='1200' height='300' frameborder='0' src='
 
https://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0AlpsBarfpPkzdFk5aDY3dHM0eEhfZHNkWVppdV9EelE&output=html
 
'></iframe>
</html><br/>
 
*To edit or download the spreadsheet, click on the following link.
 
https://docs.google.com/spreadsheet/ccc?key=0AlpsBarfpPkzdFk5aDY3dHM0eEhfZHNkWVppdV9EelE
 
=Build Process=
 
=+1=
 
=Electronics=
 
=+1=
 
=Soldering Stepper Driver Pins=
 
*Insert the short end of the male headers into the stepper driver board from the bottom, then pressfit the headers into the small breadboard for holding.
 
*Apply flux to all header connections
 
*Apply solder to the tip of the soldering iron
 
*Solder header connections at opposite corners of the stepper driver board for stability, reapplying solder to and cleaning the soldering iron tip as necessary; repeat for the remaining header connections.
 
=Soldering Connectors=
 
=Wiring=
 
=-1=
 
=Software=
 
=+1=
 
=Ubuntu 10.04 LTS 32-Bit=
 
=+1=
 
=Getting Git=
 
*Open Terminal and type:
 
sudo apt-get install git-core
 
=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
 
=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
 
=Getting RUBY Programming Language=
 
*Open Terminal and type:
 
sudo apt-get install ruby1.9.1
 
*Restart the computer for the changes to take place
 
=Getting GRBL Files=
 
*Open Terminal and type:
 
git clone https://github.com/damellis/grbl.git grbl
 
=Getting Gctrl=
 
*Open Terminal and type:
 
git clone https://github.com/damellis/gctrl.git gctrl
 
=Getting Processing=
 
*Go to this webpage:
 
http://processing.org/download/
 
*Download the latest version of Processing to a directory of your choosing
 
=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
 
=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;
 
=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
 
=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
 
=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.
 
=Determining GRBL Configuration Changes Required=
 
*Go to the following webpage:
 
http://dank.bengler.no/-/page/show/5474_configuringgrbl?ref=mst
 
=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
 
=-3=
 
=Design Modifications=
 
=+1=
 
=Modularity=
 
*Different step motors and drive mechanisms can be mounted onto the axis support angles via mounting holes
 
*Different frames can be used, provided they have precise mounting holes for the axis support angles
 
*Different holding platforms can be used, provided they have mounting holes for the X axis moving angles
 
*Different spindle setups can be used, provided they have mounting holes for the Z axis moving angles
 
*Different stepper driver boards and power supplies can be used, provided they have compatible performance specifications within the electronics system
 
=Scaling=
 
*Scaling mainly consists of changing the size of the frame (to affect travel ranges) and the type of step motors (to affect travel rates)
 
*Other discrete components such as fasteners, leadscrews, and shafts need only be scaled if necessary for functionality or certain desired performance specifications
 
*The travel range calculation for the X axis:
 
(X Travel Range) = (Distance Between 2 Parallel Frame Angles Along Horizontal Plane) - (Length of Platform Along Axis)
 
*The travel range calculation for the Y axis:
 
(Y Travel Range) = (Distance Between 2 Parallel Frame Angles Along Vertical Plane) - (Length of Z Support Angles Along Axis)
 
=-1=
 
=Usage=
 
*Circuit Schematic to Gcode File Toolchain
 
*See following link for list of electronic design suites:
 
http://en.wikipedia.org/wiki/Comparison_of_EDA_software
 
*PCB-Gcode Optimizer
 
http://cnc.goodbits.net/wiki/index.php5/Pcb-gcode_optimizer
 
http://www.millpcbs.com/index.php?option=com_content&view=article&id=10&Itemid=44
 
=Maintenance=
 
=Distributive Enterprise=
 
=+1=
 
=GVCS Product Ecology=


[[Image:2b-Genfabecology.png|thumb|600px|CNC Circuit Mill [[Product Ecology]]]]
[[CNCCMV2/CAD | Part Files]]


'''Uses'''
=Build Instructions=


*Induction Furnace - Steel
[[CNCCMV2/Build_Rationale | Build Rationale]]


*Aluminum Extractor - Aluminum
[[CNCCMV2/Sourcing | Sourcing]]


*Metal Roller - Fasteners, Metal Angles, and Flats
[[CNCCMV2/Structure | Structure]]


*Rod and Wire Mill - Wires, Shafts
[[CNCCMV2/Electronics | Electronics]]


*CNC Multimachine - Bearings, Leadscrews, Leadscrew Nuts
[[CNCCMV2/Software | Software]]


*Motors - XYZ Movement
=Modularity and Scaling=


*CNC Circuit Mill - Control Circuit Boards
[[CNCCMV2/Modularity | Modularity]]


*Universal Power Supply - Power
[[CNCCMV2/Scaling | Scaling]]


'''Creates'''
=Operation and Maintenance=


*Milled Circuit Boards
[[CNCCMV2/Usage | Operation]]


See [[Product Ecologies]] for more information.
[[CNCCMV2/Maintenance | Maintenance]]


=-1=
See also:
* [[CNC Circuit Mill]]
* [[CNCCM]]
* [[User:Lennywayne | CNC router]]

Latest revision as of 02:04, 26 October 2012