MaxNCMill: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
Hereby known as "That Goddamned Mill (TGDM for short)"
Here's the beast: http://www.maxnc.com/maxnc_10_cl-b.htm  
Here's the beast: http://www.maxnc.com/maxnc_10_cl-b.htm  



Revision as of 20:54, 14 October 2009

Hereby known as "That Goddamned Mill (TGDM for short)"

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.

  • Always check limits by manually running outside your mill area with the tool at a safe Z height.
  • 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

Right now, we need to be watching it all the time, and only run things near the middle of its ranges (so we have time to turn it off).

If it appears to be getting out of hand, the F1 key should toggle Emergency Stop in the software. This will power down the spindle and stop it where it is immediately.

If it REALLY IS getting out of hand, turn the power switch off (the one on the side of the control box). Note however that after doing this you'll probably need to restart the software because it will be out of sync with the controller (it gets out of sync).

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/ We have figured out several Gcode #Toolchains for your CNC enjoyment

Local Installation

To experiment with EMC2/Axis machine on your personal Ubuntu/Debian setup, you may not want to apt-get emc2 because that depends on a special rtai kernel and Ubuntu 8.04. Here's a way to apt-get the pure simulator: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?EMC2_Pure_Simulator

If you are badass, you can compile the code in simulation mode following the instructions here: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2#Building_emc2_simulator

The resulting binary should run and give you a UI on your system. There's actually nothing machine-specific that you need at this point: your UI will look pretty much exactly what we have now. Select the "axis.ini" config file.

You should now just be able to:

  • open one of the sample gcode files
  • power the machine 'on' (unset emergency stop [red X], and set power [orange square] buttons)
  • 'home' the various axes (must home all axes, use radio buttons to select)
  • 'run' the gcode. (blue "play" triangle)

For most of the configurations there is a smaller window w/ an inverted cone representing the spindle (this is the default view). This will show the progress of your milling run. You can change the view and pan/zoom/tilt with the mouse.

For a sanity check, try simulating a run of the NB logo gcode from Identity

Then try gcode from the toolchain of your choice.

Toolchains

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. The glass in the resin matrix is much harder than steel. 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.

smallparts.com carries Niagara carbide end mills in fine pitches suitable for circuit boards. Available via Amazon as well.


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

search for "small parts inc" on amazon.com. They have reasonable prices and reasonable shipping for endmills. (You can also search for endmills) I believe we have a 1/4" and 1/8" collet for the mill, so you're looking for tools with a 1/4" or 1/8" shank. I mostly bought HSS for cutting plastic, but I have some harder ones with exotic coatings for aluminum and brass. --lamont

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