CNCCMV2

From Open Source Ecology
Jump to navigation Jump to search

Action Plan

  • Conceptual Design
  • Specific Design
  • Sourcing
  • Manufacturing
  • Testing
  • Documentation During All of the Above

Design Rationale

Thought Process

CAD Assembly: CNCube (In Progress)

Cncubep2.jpg

File:Cncubep2.stp

CAD Assembly: XY Frame

XYFrame.jpg

CAD Assembly: Platform

Platform.jpg

CAD Assembly: Z Frame

ZFrame.jpg

Connexions Modules

What is a CNC Circuit Mill?

How to Use the CNC Circuit Mill

How to Design a CNC Circuit Mill

Getting Git on Linux

Getting Ruby on Linux

Getting Arduino IDE

Making the Arduino IDE Work on Linux

Getting and Using Kicad

Getting pcb2gcode

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

XYFrameAngle.jpg

File:XYFrameAngle.stp

Structure: X Frame Mount Angle

XFrameMountAngle.jpg

File:XFrameMountAngle.stp

Structure: XY Frame Mount Angle

XYFrameMountAngle.jpg

File:XYFrameMountAngle.stp

Structure: Y Frame Mount Angle

YFrameMountAngle1.jpg

File:YFrameMountAngle1.stp

Structure: Sleeve Bearing

SleeveBearingFab.jpg

File:SleeveBearingSTEP.stp

Structure: YZ Plate

YZPlate.jpg

File:YZPlate.stp

Structure: Move Angle

MoveAngle.jpg

File:MoveAngle.stp

Structure: Move Nut Angle

MoveNutAngle.jpg

File:MoveNutAngle.stp

Structure: Mount Angle

MountAngle.jpg

File:MountAngle.stp

Structure: Mount Stepper Angle

MountStepperAngle.jpg

File:MountStepperAngle.stp

Structure: Shaft Collar

ShaftCollar.jpg

File:ShaftCollar.stp

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

Electronics.jpg

Software

Ubuntu 10.04 LTS 32-Bit

Get Git

Get Arduino IDE

Get Ruby

Get GRBL

Getting Gctrl

  • Open Terminal and type:

git clone https://github.com/damellis/gctrl.git gctrl

Gctrl.png

Getting Processing

  • Go to this webpage:

http://processing.org/download/

  • Download the latest version of Processing to a directory of your choosing

Downloadprocessing.png

Moving RXTX files

  • Navigate to the Arduino IDE folder>lib.
  • Copy RXTXcomm.jar

Arduinorxtx.png

  • Navigate to the Processing folder>modes>java>libraries>serial>library
  • Paste RXTXcomm.jar, replacing the existing version

Processinglibrary.png

  • Navigate to the Arduino IDE folder>lib
  • Copy librxtxSerial.so

Arduinolibrxtx.png

  • Navigate to the Processing folder>modes>java>libraries>serial>library>Linux32
  • Paste librxtxSerial.so, replacing the existing version

Processinglibrxtx.png

Modifying Gctrl

  • Open the Gctrl folder

Gctrlfolder.png

  • 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;

Gctrlnewcode.png

Modifying GRBL Files

  • Navigate to the GRBL folder

Grblfolder.png

  • Open "Makefile" in gedit
  • Edit the PROGRAMMER line as:

PROGRAMMER = -c stk500v1 -P /dev/ttyACM0 -b 115200

Grblmakefileedit.png

Flashing GRBL

  • Open Terminal and navigate to the GRBL folder (ex. by using the "ls" and "cd" commands)

Terminalgrbl.png

  • In Terminal, type:

make clean

Grblmakeclean.png

  • In Terminal, type:

make

Grblmake.png

  • 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

ProcessingFolder.png

  • Open and run Processing, setting the sketchbook folder as the folder in which the gctrl folder exists

RunProcessing.png

  • In Processing, open gctrl using File>Sketchbook>

OpenGctrl.png

  • Connect the Arduino Uno to the computer via USB cable
  • In Processing, run gctrl using Sketch>Run

RunGctrl.png

  • Now the Gctrl GUI window should pop up

GctrlGUI.png

  • 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

ArduinoFolder.png

  • Double-click "Arduino" then click "run" in the popup window

RunArduino.png

  • 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

CNC Circuit Mill 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.