CNCCMV2: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
No edit summary
Line 29: Line 29:
[http://cnx.org/content/m43397/latest/ Getting pcb2gcode]
[http://cnx.org/content/m43397/latest/ Getting pcb2gcode]


=Key Specifications=
=Key Performance Specifications=
 
=+1=
 
=Performance=


*X Axis Travel Range = 20cm
*X Axis Travel Range = 20cm
Line 57: Line 53:
**Define practical milling speed range based on substrate
**Define practical milling speed range based on substrate


=Design=
=Key Design Specifications=
 
*Stock Steel Cube-shaped External Structure
 
*Stock Aluminum Angle-based Internal Structure


*Step Motor Axis Drive
*Step Motor Axis Drive

Revision as of 16:09, 23 March 2012

CAD of Mobile Bed Design (In Progress)

Cncubep2.jpg

File:Cncubep2.stp

CAD of Mobile Gantry Design (In Progress)

Cncgantry.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 = 30
  • Axes Structure Metal = 50
  • Metal Shafts = 124
  • Leadscrews and Leadscrew Nuts = 240
  • Bearings = 65
  • Fasteners = 70
  • Control and Drive Electronics = 130
  • Power Supply = 300
  • Software = Open Source
  • Total = 1009

-1

X-Axis Frame Design Rationale

  • Start by assuming that the x-axis frame needs to support a pair of precision shafts and allow mounting of the working platform and stepper motor with leadscrew.
  • The working platform has to be some sort of flat sheet or plate.
  • Some sort of rectangular support structure seems a good start, with a total part count of 5.
  • Here is an visual example using 1 plate and 4 rectangular bars:

RectBar.jpg

  • This is rigid, but bulky. We notice that a lot of material is still being used despite the low part count. Keep in mind that part count and material volume and ease-of-manufacturing must all be considered separate, though interrelated factors in effective design.
  • If we use only 2 rectangular bars (for supporting the precision shafts), then we can save on material volume by using 2 angles as structural supports.
  • Here is an visual example using 1 plate, 2 rectangular bars, and 2 angles:

2Angle.jpg

Spindle Design Rationale

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

Build Process

+1

Structure

  • 400mm x 1.5" x 1.5" x 0.125" Steel Angle (14)
  • 140mm x 1.5" x 1.5" x 0.125 Aluminum Angle (12)
  • 35mm x 1.5" x 1.5" x 0.125 Aluminum Angle (3)
  • Single Point Template

SinglePointTemplate.jpg

  • Double Point Template

DoublePointTemplate.jpg

  • Frame Template

FrameTemplate.jpg

  • Axis Template

AxisTemplate.jpg

  • Mount Template

MountTemplate.jpg

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

Electronics.jpg

-1

Software

+1

Ubuntu 10.04 LTS 32-Bit

+1

Getting Git

  • Open Terminal and type:

sudo apt-get install git-core

Gitcore.png

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

Arduino32bit.png

Openarduino.png

Extractarduino.png

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

Ruby.png

  • 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

Grbl.png

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

-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

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.

-1