CNC PCB milling
-
Well, that went horribly:

and I have no idea why: -
I tried again with the same bit, after removing and re-inserting it. Got a better result this time:

Unless someone has suggestions on how to tweak this, I think that may represent approximately the best this CNC can do.
-
In truth, though, I think it may be a flawed gcode algorithm:

Instead of two separate cutting passes through the center section, one would do, and would produce a better result.How to tweak flatcam to do that? I probably haven't configured flatcam correctly. i.e. user error.
-
However, what's telling is that it obliterated the traces on either side of a 6 mil separation:

This is how it should look instead:


So, what happened?
My current hypothesis: the first cutting sheared 0.049mm off the tip of the blade, making it wider than it should be. Then, after re-zeroing, the wider blade cut too wide as it cut the traces for the solder jumper.
Is that reasonable, or is there a better hypothesis?
If it's true, then what do I do about it? Perhaps use a higher quality bit than the freebie that came with the kit?
Actually, I'm not even sure what the dimensions were on the freebie. It wasn't labeled. Perhaps it was too wide to begin with.
@neverdie said in CNC PCB milling:
Actually, I'm not even sure what the dimensions were on the freebie. It wasn't labeled. Perhaps it was too wide to begin with.
Maybe this is where your problem lies.
How did you write the g-code without knowing?
Too many variables here wich could give you these results.
The bigger tracks,Are they measuring the correct width with a vernier after you have cut them? -
I assumed the width on the freebies was 0.1mm, because that's what was advertised on Jack's posting for the machine. However, I don't know how to verify that, so the uncertainty comes in whether Jack actually delivered what was advertised or slipped in something else. I chose to give Jack the benefit of the doubt.
-
If I were to enter a wider tool diameter of 0.155mm (instead of 0.1mm) into flatcam, I think I can coax flatcam into generating better g-code for this situation. I'll do that and then post the results.
-
Doing just a single solder jumper, with the same bit, and autoleveling every 1mm, the result is:

which is pretty close, actually. Looks like maybe the bit is a little too wide, or else there's runout which is making it appear wider than it actually is.I'll try it with a fresh bit next and see if it improves.
-
No improvement really:

I think this means that the effective cutting width is actually greater than that, either from the bit itself or from runout or from who knows what else.
Probably nothing I can do about runout, except buy a different/better motor.
I'll have to wait for the etching bits from Aliexpress to try what is maybe (?) a proper 0.1mm etching bit. Like I say, I have no way of judging whether the freebies that came with the kit really are that or not, as I have nothing to compare.
By the way, my reason for picking the 0.155mm tool width in flat cam is that it produces this g-code path, which should have preserved more of the copper pad where it was being obliterated:

-
Yes you can. Get the gcode I've posted above, adjust for your feedrate, autolevel it in cp and give it a go. Really curious about the results.
-
@mfalkvidd said in CNC PCB milling:
@neverdie have you verified isolation between the parts? The cut is good?
Good question. I have doubts about how well I could measure it using calipers. However, maybe if I put the board onto a flatbed optical scanner, which would have a known DPI, I could measure the actual cut width with reasonable accuracy. I haven't done that yet, though.
-
@NeverDie Using traces one next to other at known distance you can determine the exact width of the engraving for a wanted depth of cut. I know you don't want to mess with gcode, but it's simpler than you think. Please look at the code: you have init (g92 for setting zero, g21 for mm, etc) you set the feedrate in mm/sec, you have a few movements (g0) a "dwell" to pierce the copper for 0.5seconds (g4) then some cutting moves (g1) all have absolute cartesian coordinates. Eg you're at (0,0) then g1 x0y10 means travel at (0,10) move only the y axis 10mm to the back of the machine, g1 x0.1y10 means move 0.1mm to the right, etc.
You have the whole script posted above, set your feedrate the same as you set in flatcam, and set the depth in the first z-0.1mm line, maybe you want 0.05mm for eg. After editing the file run it in cp with autoleveling and post the results. -
@mfalkvidd said in CNC PCB milling:
@neverdie have you verified isolation between the parts? The cut is good?
Good question. I have doubts about how well I could measure it using calipers. However, maybe if I put the board onto a flatbed optical scanner, which would have a known DPI, I could measure the actual cut width with reasonable accuracy. I haven't done that yet, though.
@neverdie said in CNC PCB milling:
Oh, sorry, I realize now you were asking something else. No, I haven't verified that yet. This is all just early attempts. Good question though.
-
@NeverDie Using traces one next to other at known distance you can determine the exact width of the engraving for a wanted depth of cut. I know you don't want to mess with gcode, but it's simpler than you think. Please look at the code: you have init (g92 for setting zero, g21 for mm, etc) you set the feedrate in mm/sec, you have a few movements (g0) a "dwell" to pierce the copper for 0.5seconds (g4) then some cutting moves (g1) all have absolute cartesian coordinates. Eg you're at (0,0) then g1 x0y10 means travel at (0,10) move only the y axis 10mm to the back of the machine, g1 x0.1y10 means move 0.1mm to the right, etc.
You have the whole script posted above, set your feedrate the same as you set in flatcam, and set the depth in the first z-0.1mm line, maybe you want 0.05mm for eg. After editing the file run it in cp with autoleveling and post the results.@executivul said in CNC PCB milling:
Using traces one next to other at known distance you can determine the exact width of the engraving for a wanted depth of cut.
OK, I think I see what you mean. In other words, when the two cuts just barely bleed into one another, then one can deduce the width of the cut as being the absolute width between the absolute coordinates of the lines it's trying to cut. Makes sense. I'll give it a try. Thanks for the suggestion. :)
-
Good news. I just received my model 2 bits from Aliexpress. Model 2 is 20 degrees with a 0.1mm tip. I compare it here to the freebie bits from Jack:

Model 2 is on the right, and Jack is on the left. Looks like the angle is wider on Jack, which I presume (?) means that the tip is wider than 0.1mm. -
Well, I thought the model 20 would do better, but it actually did worse:

It does seem to cut smoother lines though. -
I also received model 6, which is the variety pack that includes a 10 degree bit with a 0.1mm angle. Should I give it a try? I've read that they're prone to create flying shrapnel. Anyone here have experience with them? If it doesn't blow up, it might be just the ticket for doing this cut.
-
I just now tried the Model 10:

Rougher edges, but it didn't decimate the pads as badly as the model 20. -
I just now tried the Model 10:

Rougher edges, but it didn't decimate the pads as badly as the model 20. -
Merry Christmas, @executivul
Here is the output of your script using a Model 20 bit:

-
Merry Christmas, @executivul
Here is the output of your script using a Model 20 bit:

@neverdie Marry Christmas!
What feedrate did you use? (F parameter) and what engraving depth? (G01 Z-0.1?)
The jagged edges make me believe your feedrate is a bit high for the used rpm. You can run the first gcode to determine the best feedrate, or just use something low like 200mm/min and maybe a little deeper engraving.
It seems that your engraving is about 0.25mm wide, the 0.1mm is clear, 0.2mm is clear, 0.3mm is partially clear, from 0.4mm onwards you see the spacing between passes.