This configuration is for the Zenbot CNC Mini Router (2007 version) with 7i30 driver board, using the Mesa 5i23 for pwm generation & quadrature counting.
Each axis/joint is run by a servo controlled by a 7i30. All the servos have no index channel, instead the index channel is used for home/limit switches, plus the tool length offset switch.
The spindle is a TB-350S from Wolfgang Engineering (Richard?).
Rated for 0.0001 runout expected, 0.0004 runout max.
20,000 or 25,000 RPM, it's unclear.
Chris Radek has one, and has worked out how to replace the spindle bearings.
There is not much cutting force on the work, the main job of work holding is to keep the copper surface parallel to XY across the whole work piece.
I used Target or Scotch branch "permanent double sided tape", it seemed to work.
FIXME: note new tape, easier to work with since it has paper backing on one side
Chris Radek says:
I use the thicker tape with filaments in it that's meant for making
very poor quality installations of tile or maybe carpet?
Duck brand "Indoor Heavy Duty Carpet Tape"
https://www.findtape.com/shop/product-images.aspx?pid=646
Try NYC CNC's technique of "blue painter's tape/ca/blue painter's tape": https://www.youtube.com/watch?time_continue=628&v=r6DCvtcU8_M
Bring the tool down close to the work, then raise it 0.001 at a time until you can just barely roll a precision ground dowel pin between the tool and the work. The pins at SSD have a diameter of 0.250 +- 0.001.
If you don't have a dowel pin, the shank of a cutter works too but make sure you measure the actual diameter carefully.
Fish-tail chip breaker router bit, 0.0315 diameter, 0.256 depth of cut.
Speed: 24,000 Feed: 5 ipm, 125 mm/min Plunge feed: 2.5 ipm, 62 mm/min
https://www.precisebits.com/products/carbidebits/fcrouter.asp?product_id=713 https://www.precisebits.com/products/carbidebits/fdrouter.asp?product_id=742
2-flute endmill, 0.010 diameter, 0.015 depth of cut.
Speed: 24,000 Feed: 2.4 ipm, 60 mm/min Plunge feed: 1.2 ipm, 30 mm/min
https://www.precisebits.com/products/carbidebits/precisebit-stub.asp?product_id=564 https://www.precisebits.com/products/carbidebits/precisebit-stub.asp?product_id=567
0.010" diameter 2-flute carbide endmill, 0.015" LOC, 1/8" Shank Uncoated, Spiral Flute, 30° Helix, Centercutting, Right Hand Cut, Right Hand Flute
MSC prices: List Price $23.99 Your Price $14.87 ea.
0.010" diameter 2-flute carbide endmill, 0.030" LOC, 1/8" Shank Uncoated, Spiral Flute, 30° Helix, Centercutting, Right Hand Cut, Right Hand Flute
MSC prices: List Price $23.99 Your Price $14.87 ea.
The work table can hold up to 4" x 6" boards.
I've been using MG Chemicals #506:
Proto Board Copper Clad FR4
Single Sided
1 oz.
6.00" x 4.00" (152.4mm x 101.6mm)
the copper layer is 0.0014 inch (0.036 mm) thick
$7.14 from Digi-Key.
KiCAD -> FlatCAM -> LinuxCNC
Design the circuit, save.
Export netlist in pcbnew format.
In the schematic editor, click the "Run Pcbnew" tool icon, or Tools->Update PCB.
In "Setup -> Design Rules..." set "Clearance" and "Track Width" to reasonable numbers for your machine and tooling. "Clearance" is the isolation between traces, should be at least slightly more than the diameter of your cutting tool. "Track Width" is trace width.
Use Mounting Hole footprints for mounting holes.
Draw the board outline as a "graphic polygon" on the Edge.Cuts layer. When we generate gcode for this layer in FlatCAM later, the outside of the polygon will be cut but the inside will not. If you draw the board edge as a collection of "graphic line" and "graphic arc" objects both inside and outside will be cut, as if the outline were a trace. It can be fixed in CAM by deleting the inside gcode, but using "graphic polygon" is simpler.
Use "Place -> Drill and Place Offset" (or select the "place auxiliary axis origin" tool) to set the origin of the project to the lower left corner of the board.
To export to FlatCAM or other board fabrication tools:
File -> Plot
enable "Use auxiliary axis as origin"
select the layers (B.Cu, Edge.Cuts), Plot (makes a `.gbr` gerber
file for each layer).
"Generate Drill Files...", enable "PTH and NPTH holes in single
file", "Generate Drill File" (makes `.drl` file).
At startup, before loading any project Gerber or Excelleon files, set up some options. Switch to the "Options" tab and select "APPLICATION DEFAULTS".
Set "Units" to mm, to match what KiCad puts out.
In the "Gerber Options" section:
-
In "Isolation Routing":
-
Set "Tool dia" to 0.254 mm (0.010 inch) which matches the "PreciseBits MN208-0100-002F" endmill i'm using.
-
Set "Width (# passes)" to 2.
-
Set "Pass overlap" to 0.15 (this is in percent of the tool diameter).
-
Check the "Combine Passes" checkbox.
-
-
In "Board cutout":
-
Set "Tool dia" to 0.800 mm (0.0315 inch) which matches the "PreciseBits RCC08-0315-026F" endmill i'm using for this cut.
-
Set "Margin" to 0.000 mm (0.0 inch).
-
Set "Gap size" to 0.000 mm (0.0 inch), since we're using double-sided tape for work holding no work-holding tabs are needed. FlatCAM imposes a minimum size so we can't get totally rid of them.
-
Set "Gaps" to "2 (L/R)" or whatever feels appropriate to you. Since we don't want board cutout gaps and there's no "0" option here, you should probably choose one of the 2-gap options.
-
In the "Excelleon Options" section:
-
In "Create CNC Job":
-
Set "Cut Z" to -1.8 mm, just enough to cut all the way through the circuit board.
-
Set "Travel Z" to 0.5 mm.
-
Set "Feed Rate" to 125 mm/min.
-
-
In "Mill Holes" section:
- Set "Tool dia" to 0.794 mm to match the diameter of the cutter we'll be milling holes with.
In the "Geometry Options" section:
-
In "Create CNC Job":
-
Set "Travel Z" to 0.5 mm.
-
Set "Spindle Speed" to 24,000 rpm.
Those two options are the same for every operation, so it's useful to set the defaults. The other options will need to change depending on the operation, so the defaults are not useful.
-
In the "CNC Job Options" section:
-
In "Export G-Code":
-
Set "Prepend to G-Code": "G21 G64 P0.01" for mm, or "G20 G64 P0.0005" for inch.
-
Set "Append to G-Code": "m2"
-
Disable "Dwell".
-
Go to "File" -> "Save Defaults". If you changed any of the application settings you have to quit FlatCAM and restart for them to take effect.
"Open Gerber" to load the 'back copper' and 'edge cuts' files.
"Open Excellon" to load the drill file.
Select "Tool" -> "Double-Sided PCB Tool".
In "Bottom Layer", select the bottom copper gerber.
Set "Mirror Axis" to "Y".
Set "Axis Location" to "Box".
Set "Point/Box" to the edge cuts gerber.
Click "Mirror Object".
In "Bottom Layer", select the excelleon drill file.
Click "Mirror Object".
In the Project tab, select the B.Cu object.
Switch to the "Selected" tab.
Click "Isolation Routing" -> "Generate Geometry".
In the resulting "Geometry Object", set these options:
-
"Cut Z": Maybe -0.051 mm (-0.002 inch). 1 oz copper clad board has a 0.036 mm (0.0014 inch) thick copper layer, and it's pretty easy to mount the board with less than 0.076 mm (0.003 inch) wobble.
-
"Feed Rate": 60.1 mm/min (2.4 inch/min)
-
"Multi-Depth": disabled (since this cut is so shallow)
Note: "Travel Z", "Tool dia" and "Spindle speed" should be set correctly from the application defaults we set up earlier.
Click "Create CNC Job" -> "Generate".
In the resulting "CNC Job Object", click "Export G-Code".
In the Project tab, select the Edge.Cuts object.
Switch to the "Selected" tab.
Click "Board cutout" -> "Generate Geometry".
In the resulting "Geometry Object", set these options:
-
"Cut Z": Maybe -1.800 mm (-0.070 inch). 1 oz copper clad board is about 0.065" thick, so this should cut through with a reasonable margin.
-
"Feed Rate": 127 mm/min (5.0 inch/min)
-
"Multi-Depth": enabled
-
"Depth/pass": 0.5 mm (0.200 inch)
Note: "Travel Z", "Tool dia", and "Spindle speed" should all have correct values from the application defaults we set earlier.
Click "Create CNC Job" -> "Generate".
In the resulting "CNC Job Object", click "Export G-Code".
isolate breakout-board-Edge.Cuts.gbr -outname outline-iso
exteriors outline-iso -outname outline
delete outline-iso
delete breakout-board-Edge.Cuts.gbr_iso
In the Project tab, select the drill object.
Switch to the "Selected" tab.
Find the "Mill Holes" section.
Verify that "Tool dia" has the correct default value of 0.800 mm (0.0315 inch) (to match the "PreciseBits RCC08-0315-026F" endmill i'm using for this cut).
Click "Mill Holes" -> "Generate Geometry".
In the resulting "CNC Job Object", set these options:
-
"Cut Z": Maybe -1.800 mm (-0.070 inch). 1 oz copper clad board is about 0.065" thick, so this should cut through with a reasonable margin.
-
"Feed Rate": 100 mm/min (4.0 inch/min)
-
"Tool dia": 0.800 mm (0.0315 inch)
-
"Multi-Depth": enabled
-
"Depth/pass": 0.5 mm (0.200 inch)
Note: "Travel Z" and "Spindle speed" should have the correct default values from Application Options.
Click "Create CNC Job" -> "Generate".
In the resulting "CNC Job Object", click "Export G-Code".
-
Actual helix milling for the holes
-
Ramp entry on multi-depth paths.
-
Shouldn't
G0X0Y0
at the end.