MaxNCMill

From Noisebridge
Revision as of 23:40, 9 October 2009 by Jtfoote (talk | contribs) (→‎GCODE)
Jump to navigation Jump to search

Here's the beast: http://www.maxnc.com/maxnc_10_cl-b.htm

IMPORTANT!

Improperly used, the mill can destroy itself, its tools, and parts of you. Please know what you are doing and don't be afraid to ask questions.

  • If you are not sure of your path, do a dry run.
  • DO NOT UPGRADE THE UBUNTU 8.04 OR THE KERNEL ON THE HOST MACHINE!
  • DO NOT MILL PRINTED CIRCUIT BOARDS WITH STEEL TOOLS! (Carbide only, see Tooling )
  • USE EYE PROTECTION unless you like tweezering debris out of them

Software

We are using http://linuxcnc.org EMC2 and AXIS software to drive the mill. We had to hack the config files considerably and reverse-engineer the pinout. See here for documentation: http://www.linuxcnc.org/docview/html/

We have installed EMC2 and AXIS and some other software on the driver PC. This depends on a custom kernel and Ubuntu 8.04 -- PLEASE DON'T UPGRADE!

The EMC2/AXIS software takes GCode as motion control input files. More info here: http://www.linuxcnc.org/docview/html/


GCODE

Many tools exist for generating/converting to gcode. Here's a good list: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Cam

In particular, here's how you generate gcode from


text / truetype : http://www.timeguy.com/cradek/truetype

EagleCAD

Cadsoft EagleCAD http://www.pcbgcode.org/ This worked pretty well, but you need to add the command

s 0.5

to set the speed before the motor will turn on. I'm sure you can add this to the default header.

Inkscape

This is cool but only works for Inkscape 0.43: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?InkscapeHowto

For Inkscape 4.6, use this: http://bitbucket.org/jst/inkscape-gcode/ (Do "get source", put all files in /usr/share/inkscape/extensions/)

It's still a little buggy, arcs are not completed. Put the figure you want to export ABOVE the page boundary on the left. Use "save as EMC gcode (.nc)" and tick all the checkboxes.

You need to add/change the following lines:

Set the cut height to -0.01

#2=-0.0100 (Height to cut at)

Add commands to turn on the motor after the first line:

G00 Z#1 
S 0.5 (set motor speed to 1/2)
M4    (turn spindle motor on)

And you are good to go.

Tooling

Cutting fiberglass (PCB) will eventually destroy any kind of steel cutting tool. You need carbide tooling. Available from suppliers: http://www.precisebits.com/applications/pcbtools.htm http://thinktink.com/ Note that carbide is too brittle for most metals and will just snap.

High Speed Stainless (HSS) tooling available here: http://littlemachineshop.com/

Parallel port DB-25 pinout

OK, got a definitive pinout, seem to conform to those above. Jtfoote 23:11, 28 September 2009 (PDT)

Pin  1:  Tool speed PWM, active low
Pin  2,3: A quad input
Pin  4,5: Y quad input
Pin  6,7: X quad input
Pin  8,9: Z quad input
Pin 10: 7420 quad nand output (motion complete ack?)
Pin 11: NC
Pin 12: X,Y,Z limit (or'ed active high when at limit)
Pin 13: spare digital (unused header labeled "probe")
Pin 14: Enable, active high
Pin 15: NC
Pin 16: input to 4x PICs: enable, active low (reset?)
Pin 17: Enable, active high
Pin 18: GND
Pin 19-25 - NC


Misc other info

Manual: http://engineering.purdue.edu/AAE/Academics/Courses/Raisbeck/images/resources/cnc/MAXNCmanual.pdf


This guy rebuilt his, has derogatory things to say: http://hans-w.com/cnc.htm

This other guy has some interesting upgrades. Especially notable is the new motor mount, and appropriate dxf http://www.timeguy.com/cradek/cnc/motor-mount


User:seph was hacking on one. Some notes from him are at http://www.directionless.org/tmp/maxnc/ There's a pinout, and an emc2 config. He also recommends thinking about eventually upgrading a lot of the components. Seph's work is what I (mikew) based the current functional HAL and INI files on.

Here's the link to how to drive the mill with a pc joystick: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Using_A_Joypad_To_Move_Your_CNC_Machine