Saturday, September 16, 2023

Boat pulls

 I milled some boat pulls for a friend --- I did the portion that has a hole where you can stick your fingers, and my friend will do the rest.

The cuts were 2mm at time, with a feed rate of 400mm/minute. The best spindle RPM was 4000 --- if you went higher than that you'd scorch the wood.



Thursday, March 17, 2022

Arrow of Light

 I milled out some arrow of light plaques

I used easel for the drawings, with a depth per pass of .05 inches and a 72 inches/minute feed and RPMs of 5000 and 8000. The material was glued up oak.

I noticed when the spindle moves along the X-axis it jerks, and started looking around for loose parts. I eventually figured out that the screw attaching the MakerRail to the gantry was loose and the whole assembly could shift a little bit. We'll see if that tightens things up for the next run.

Tuesday, November 16, 2021

The cut that didn't work

 I wanted to mill out some jigs to hold together pipes for Peter's Eagle Scout project, and I was using scrap plywood, so I got aggressive on the settings.  With a 1/4" bit I tried cutting out the circles with a pass 4 mm deep at a feed rate of 2526.2 mm/min, and then cutting out the edges with a pass 5 mm deep at a feed rate of 2526.2 mm/min.

The first triangle worked.

The second triangle did not, but the plywood was rotated. I'm not sure if that would make a difference or not given that only two of the cuts were aligned with the wood.

The spindle was set a 10,000 RPM. It is possible that I didn't get the speeds exactly the same between the cuts because I'm still using the dial on the controller to set the speed and haven't set up the wiring to control the RPM.


Sunday, September 12, 2021

Cabinet work

 The front was largely done on the CNC, although the edging was done by hand with a router table. 



Sunday, February 21, 2021

Drag chain upgrades

 I managed to get the drag chains installed today.

After failing to get the drag chains to work without support, I realized I needed to add some supports to the machine. The support along the Y-Axis would add some weight, but the alternative was having cables drag along the table. Since I'm adding a water cooled spindle, this would be a bad idea.

For the drag chain along the Y-Axis I attached a 25mm by 50mm extrusion to the Y axis, anchored a the two ends. The chain is anchored at one end with a piece of aluminum I attached to the carriage. Rather than use the CNC to mill the piece I used a hack saw and drill. The other end is attached with a zip tie.




Along the X-Axis I attached a 25mm by 75mm extrusion along the side of the table. One end is attached with another piece of aluminum, and the other end is directly attached to the extrusion through some holes I drilled.



I also upgraded to the Inventables fork of GRBL 1.1, because Fusion 360 is now producing G-code that doesn't work with GRBL 1.0.




Sunday, October 27, 2019

Making a catapult

Over the summer, at the Pathway to Adventure weekend summer camp for Cub Scouts, Johnathan and I made a catapult:
I decided this would be the next project for our Bear Den. We need to make something out of wood, it doesn't involve any glue, and I've already made it.
Of course, I turned to the CNC to mill the triangles. The 1/4" dowels go all the way through the side triangles, which is a bit of a shame, because the top can be squeezed a bit. In my model the holes for the dowels don't go all the way through, so they sit more tightly against the triangles. It does make it harder to cut the dowels to the right length.
I decided to be a bit aggressive on the milling parameters, but everything worked. On 1/2" plywood I used a 1/4" bit, a feed rate of 1000mm/minute. and 1/8" depth cuts. I was surprised that it came out so with that deep and fast of a cut, but there were no skipped steps.

Sunday, January 14, 2018

Milling acrylic

A friend wanted 90 silhouettes of the State of Illinois for part of a trophy:


Getting 90 of them milled was quite the learning experience. Here's what I learned along the way.

I used Easel to do the design, because milling a simple SVG doesn't require the functionality of Fusion 360. Plus, I was able to hand the design off to my friend to edit under Easel, something that would have been much more difficult with Fusion 360. The pre-set millings were helpful too.

Lessons:


  • You really do want cast acrylic rather than extruded. The extruded acrylic melted, producing cuts that were a bit rough and the bit almost always pulled the acrylic up.
  • Tabs are you friend if you want to mill a lot of pieces. But with acrylic the broken off tabs are nasty sharp. I put tabs on the outside of the silhouettes but not the inside, so that the visible part of the design would be clean (the outside is hidden in the final assembly).
  • Getting the acrylic from a plastic distributer --- Petersen Brothers Plastic --- worked out better than getting it from a big box store. Cheaper, easier, and better selection than Home Depot.
  • My machine was able to cut the 1/8" acrylic in 3 passes, but every now and then the bit would pull the acrylic up off my cutting board. I settled for 4 passes at 45 inch/min, which is 5 inch/min faster than Easel's recommended setting.






At long last

A dovetailed box.  Haven't figured out how to do the bottom yet.

Tuesday, April 4, 2017

More upgrades to the table

To address the bend in the table, I added another 75 by 25 mm truss that runs lengthwise under the middle of the table, and two more legs so that the X-axis doesn't span as far. The dip is gone, and the table is stiffer.

I've also added a jig for holding the wood in place while dovetailing it.


The two auto-adjust clamps don't need to be adjusted for different thickness of wood, and do an excellent job of keeping the wood in place. The clamp on the right is attached to the new truss that runs lengthwise under the middle of the table. It's also a lot easier to line up the vertical piece with the horizontal piece with the jig, because locking in in place is just a matter of closing the clamp.

The one unexpected surprise was that clamps will push the extrusion that the wood is centered on. I fixed this by attaching it to the new truss.


Saturday, February 18, 2017

Z-Probe dovetail results

Today I used the Z-probe to zero the spindle for all three axes. The results were not as good as I'd hoped. The biggest problem was that thanks to an accurate depth of cut, I was cutting more deeply than before and there was a lot of tear out from the dovetail bit.
There were also problems with how far the cut went along the X-axis --- it needed to go about another 4mm than it did. I'm not sure how that went wrong.

Thursday, February 9, 2017

Z-Probe works!

One of the wonderful items that came with the X-Controller was the Z-probe.

Tonight, I tested it. It worked fine --- and there were only two surprises.

The first was that the default units for the probing seem to be English units.

The second is that the probe's mount for the carriage is not thick enough to make it all the way through my 1/4 aluminum plates. I've updated my model so that the next time I mill a plate there will be a larger, 13mm 6.25mm deep hole for it. For now I can get along without it, because the plug is snug enough for zeroing the Z-axis.



Tuesday, February 7, 2017

Latest GRBL settings

These are the GRBL settings The x steps are different than the Y because the X has a GT-3 belt, and a different microstep, than the Y axis. The Y axis has GT-2 belts.

X microstepping is set at 1/4 (on, off, off), Y microstepping is set at 1/8 (on, off, on) and Z microstepping is set at 1/2 (off, on, off).

$0 = 10    (step pulse, usec)
$1 = 255    (step idle delay, msec)
$2 = 0    (step port invert mask:00000000)
$3 = 6    (dir port invert mask:00000110)
$4 = 0    (step enable invert, bool)
$5 = 0    (limit pins invert, bool)
$6 = 0    (probe pin invert, bool)
$10 = 3    (status report mask:00000011)
$11 = 0.020    (junction deviation, mm)
$12 = 0.002    (arc tolerance, mm)
$13 = 0    (report inches, bool)
$20 = 0    (soft limits, bool)
$21 = 0    (hard limits, bool)
$22 = 0    (homing cycle, bool)
$23 = 3    (homing dir invert mask:00000011)
$24 = 25.000    (homing feed, mm/min)
$25 = 750.000    (homing seek, mm/min)
$26 = 250    (homing debounce, msec)
$27 = 1.000    (homing pull-off, mm)
$30 = 12000.    (rpm max)
$31 = 0.    (rpm min)
$100 = 11.111    (x, step/mm)
$101 = 40.000    (y, step/mm)
$102 = 320.000    (z, step/mm)
$110 = 8000.000    (x max rate, mm/min)
$111 = 8000.000    (y max rate, mm/min)
$112 = 500.000    (z max rate, mm/min)
$120 = 500.000    (x accel, mm/sec^2)
$121 = 500.000    (y accel, mm/sec^2)
$122 = 50.000    (z accel, mm/sec^2)
$130 = 740.000    (x max travel, mm)
$131 = 790.000    (y max travel, mm)
$132 = 100.000    (z max travel, mm)

Dovetail math

I want to get the math down for cutting half blind dovetails down in one place, so here we go.
First, the variables from the diagram
  • h --- the height of our cut
  • bw --- the width of our dovetail bit, at the bottom
  • p --- how far apart we cut dovetails
  • a --- the angle of our dovetail bit
  • top width --- how much wood is left at the top 
We need a few intermediate values, the first of which is the amount of wood the dovetail cuts.
d(h) = h * tan(a)
One quick sanity checks for the math is to see what happens with a straight bit: tan(a) = tan(0) = 0, which is what you'd expect. Another check is for a mythical 45 degree dovetail bit: tan(45) = 1, also as expected.
Now we need to figure out the top width, which is a function of h and p.
top width(h, p) = p - bw + (2 * d(h))
top width(h, p) = p - bw + (2 * (h * tan(a)))
Substituting for a straight bit we get the sensible value of p - bw.
Setting the top width to be equal to the bit width we get:
bw = p - bw + (2*h*tan(a))
2bw - (2*h*tan(a)) = p
p = 2(bw - (h*tan(a)))

Now we have to figure out how we want to round out the pins.



In this case it is just a matter of making two arcs of the same radius as the bit to get nicely rounded pins.





Monday, December 19, 2016

Upgrades, mostly complete





Over the last weekend I've managed to install several new upgrades, centered around a new X-axis. The goal was to be able to run a dovetail bit through oak, and I'm happy to say it can.

X-Axis, front
X-Axis, back
The two 1800mm lengths of MakerSlide for the X-axis have been replaced with a single 80/20 25-5010 extrusion that is 100mm tall and 50mm wide (you can get an idea of big it is by looking at the X-Axis pictures). The V-Wheels for the X-axis ride on black OpenRails that are attached to the 25-5010 extrusion.
To mount the new 25-5010 X-axis I've milled new plates for the X-axis and the Y-axis. The plates are made out of 1/4" aluminum, and are considerably larger than the steel Shapeoko 2 plates I started with. The Y-axis plates sprout three V-Wheels on top instead of two. Since I knew exactly where all of my screws were going to be before I started, I replaced all of the slots in the original Shapeoko 2 plates with simple holes so I wouldn't have to make any adjustments. The holes were also faster to mill than slots.
Y-Axis
I've replaced the 1.8Nm NEMA 23 motor on the X-axis with a 13Nm NEMA 34 motor from omc-stepper online. The new motor required a new, larger pulley, and I upgraded the X-axis belt to a 15mm wide GT-3 belt. The new belt required custom clips milled out of acrylic to hold the belt. The new belt also needed custom 15mm wide idler wheels, which I ordered from Pulley-N-Wheel.
The X-Controller is driving the 13Nm NEMA 34 motor just fine, although the X-Controller can only put out 4 amps and the motor wants 5 amps. I'd rather have motors that can take down more current than the controller can put out than the other way around.
The design works pretty well, but the drag chain mounts remain a work in progress. I'd add a fourth wheel to the X-axis plates if I got a chance to mill them again. The X-Axis plates have holes to mount NEMA-34 motors, but I'll probably need the 4th wheels if I add the weight I'd get from two more NEMA-34 motors. My first attempt at mounting the X-axis ran into a collision between the screws holding the terminal block and the screws holding the OpenRails in place.
The only problem I've ran into so far was that I forgot to fully tighten the set screws for the X-axis, and debugging the backlash caused by the screw moving along the flat portion of the axel took a while.
X-Axis acrylic tabs






Sunday, October 23, 2016

New milling strategy

Tonight I tried a new milling strategy for the final contour cut of my aluminum plate.
Instead of cutting the entire plate with .2mm depth cuts, I cut first 2mm at .2mm depth cuts, and then switched the depth cuts to .25mm

The cutting feed speed was set to 330mm/minute, but I suspect that GRBL is gating the feed speed.

Sunday, October 16, 2016

Third successful aluminum run




I milled the third of four plates that I'll need for upgrading the CNC router to use the larger extrusions. I milled with the Niagara bit, 300 mm/minute feed rate, and .2mm per pass. At some point it lost a few steps doing the final contour cut. It also had to be cut down to 7.25mm, and even then didn't make it all the way through --- even though the aluminum is only 6.25mm thick.

This run was the first aluminum run with the X-Controller.

Monday, October 3, 2016

Upgrading to X-controller, GRBL values dump



$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=320.000 (z, step/mm)
$110=2000.000 (x max rate, mm/min)
$111=1000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=200.000 (z max travel, mm)


The jumper for the Z-axis is set to 2x microstepping.

You'd think I'd know by now to dump the values before switching to the X-controller, instead of looking them up after figuring out what my Z movement was wrong.

Nope.


Tuesday, May 31, 2016

Computing the delta for the Y-axis plates

Tip to tip, maker slide is, per this diagram, 43.9358mm.

The openrail distance is a little harder to find, because the image on the openbuild.net site is a raster image that's unreadable, but a PDF can be found here. The openrail adds 2.9679mm*2 to the 100mm 80/20 extrusion I'm using, for a total of 105.9358mm. This is a delta of 62mm.

The distance between the center of top and bottom holes for the deletion wheels mounted on maker slide is 64.60mm, or 20.6642mm to accommodate the wheels. The distance, center to center, for my plate will need to be 64.60mm + 62mm = 126.6mm



Sunday, May 29, 2016

Successful second plate milled

I've milled the companion plate for the first X-axis plate. Along the way I tried changing the depth of cut to .24mm. This did not work, so I tried adding WD-40. This didn't help --- the machine would still skip steps.
Then I realized that after the last mill run I'd taken off one of the eccentric nuts to test the fit. I loosened that nut, and changed the depth of cut to .20mm.
Everything worked.

Sunday, May 22, 2016

Good news, ok news

The good news: the Y-axis plate checks out fine. All 8 holes line up with the 80/20 50mm by 100mm extrusion, the holes for the motor mounts look aligned, the holes for the eccentric nuts fit exactly, and when the wheels are attached they are correctly spaced for the marker slide.

When the 11 year old was screwing in the screws for the 80/20 extrusion we both noticed that some of the screws were loose.

That's the ok news. The screws were loose because I tapped the axis with an M5 tap, and I should have used an M6 tap. Fortunately, a problem that is easily fixed.