CNCCMV2
Action Plan
- Conceptual Design
- Specific Design
- Sourcing
- Manufacturing
- Testing
- Documentation During All of the Above
Design Rationale
CAD Assembly: CNCube (In Progress)
CAD Assembly: XY Frame
CAD Assembly: Platform
CAD Assembly: Z Frame
Connexions Modules
How to Use the CNC Circuit Mill
How to Design a CNC Circuit Mill
Making the Arduino IDE Work on Linux
Key Performance Specifications
- 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
- For Prototype II, define goals based on study of industry standards. Include desired precision + accuracy + speed.
- Minimum step size for each axis plus variance
- Repeatability of motion (drift) (determined by going to certain locations a large number of times)
- Minimum spacing between traces (determined by minimum allowable size of bit + precision)
- Minimum trace size possible
- Goal: repeatability is as good as step size - ie, all inaccuracy is negligible compared to step size, and zero backlash at all practical milling speeds.
- Define practical milling speed range based on substrate
Key Design Specifications
- 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 Holding Platform with Magnets
- 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
- Cost values in USD. In practice, some items must be purchased in greater quantity than necessary; the following values are equalized to the correct quantities. List excludes tools and shipping.
- Cube Frame Metal =
- Axes Structure Metal =
- Metal Shafts = 124
- Leadscrews and Leadscrew Nuts = 240
- Bearings = 65
- Fasteners = 70
- Control and Drive Electronics = 130
- Power Supply = 35
- Software = Open Source
- Total =
Sourcing
- Spreadsheet File
LINK HERE
- Prototyping Spreadsheet
- To edit or download the spreadsheet, click on the following link.
https://docs.google.com/spreadsheet/ccc?key=0AlpsBarfpPkzdFk5aDY3dHM0eEhfZHNkWVppdV9EelE
Structure: XY Frame Angle
Structure: X Frame Mount Angle
Structure: XY Frame Mount Angle
Structure: Y Frame Mount Angle
Structure: Sleeve Bearing
Structure: YZ Plate
Structure: Move Angle
Structure: Move Nut Angle
Structure: Mount Angle
Structure: Mount Stepper Angle
Structure: Shaft Collar
Electronics
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
Software
Ubuntu 10.04 LTS 32-Bit
Move RXTX files to make Arduino boards work with Processing
Modify Gctrl code for Easier Connection with Arduino on Linux
Modify GRBL Files for enabling GRBL flashing to Arduino board on Linux
Flashing GRBL
- Open Terminal and navigate to the GRBL folder (ex. by using the "ls" and "cd" commands)
- In Terminal, type:
make clean
- In Terminal, type:
make
- Connect the Arduino Uno to the computer via USB cable
- In Terminal, type:
make flash
- Disconnect the Arduino Uno
Running Gctrl
- 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
- Now the Gctrl GUI window should pop up
- 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
Design Modifications
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)
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
GVCS Product Ecology

Uses
- Induction Furnace - Steel
- Aluminum Extractor - Aluminum
- Metal Roller - Fasteners, Metal Angles, and Flats
- Rod and Wire Mill - Wires, Shafts
- CNC Multimachine - Bearings, Leadscrews, Leadscrew Nuts
- Motors - XYZ Movement
- CNC Circuit Mill - Control Circuit Boards
- Universal Power Supply - Power
Creates
- Milled Circuit Boards
See Product Ecologies for more information.