CNC PCB milling
-
@neverdie said in CNC PCB milling:
Here's the Model 20 bit again, but this time with flatcam being told that its width is 0.25mm
how flatcam told you the width or how do you calculate the tool width? it should be specified by you, flatcam does not know how to calculate the tool width in case of carving bits, it varies with the milling depth and depends on the tip's angle and end width. please see the corresponding mathematic formula mentioned in my previous posts.
you have to generate the isolation routing G code for a specific tool/bit, it cannot be re-used for a different sized one.
- flatcam supports double sided pcb milling with proper alignment holes. using them the isolation routing will be precisely aligned on both sides. you have to drill the alignment holes first, then make the isolation routing on the bottom side, then turn the pcb and finish the isolation routing and the drilling on the top side. it is also highlighted on flatcam's website: http://flatcam.org/manual/procedures.html#side-pcb
- for isolation routing it is useless to make multiple passes for multiple depth.
- to make the isolation routing width larger, you should use multiple passes. this is necessary to create a large enough isolation width. to be sure that all copper will be removed between the different passes (e.g. due to cnc inaccuracy or backlash) you should use overlapping. see http://flatcam.org/manual/procedures.html#wide-isolation-routing
- flatcam supports full copper removal, so it is possible to keep only the traces and pads, although with a carving bit it is very time consuming. you should use endmils for this job. see http://flatcam.org/manual/procedures.html#copper-area-clear
- it is possible to solder smd parts without solder mask, it is just question of the technique / tool. I've no problem with 0805 sized smd parts and tqfp100 housed ICs, however it is easier to do it if you have solder mask, of course. if you would like to prevent the oxidation only, then you can use tinning. for this purpose I use chemical tinning.
@andrew said in CNC PCB milling:
to make the isolation routing width larger, you should use multiple passes. this is necessary to create a large enough isolation width. to be sure that all copper will be removed between the different passes (e.g. due to cnc inaccuracy or backlash) you should use overlapping. see http://flatcam.org/manual/procedures.html#wide-isolation-routing
Just to clarify that what andrew is talking about is multiple radial passes with an offset further away from the track/pads each time.
Not multiple passes in the depth.:confused: -
@andrew said in CNC PCB milling:
to make the isolation routing width larger, you should use multiple passes. this is necessary to create a large enough isolation width. to be sure that all copper will be removed between the different passes (e.g. due to cnc inaccuracy or backlash) you should use overlapping. see http://flatcam.org/manual/procedures.html#wide-isolation-routing
Just to clarify that what andrew is talking about is multiple radial passes with an offset further away from the track/pads each time.
Not multiple passes in the depth.:confused:@rmtucker said in CNC PCB milling:
@andrew said in CNC PCB milling:
to make the isolation routing width larger, you should use multiple passes. this is necessary to create a large enough isolation width. to be sure that all copper will be removed between the different passes (e.g. due to cnc inaccuracy or backlash) you should use overlapping. see http://flatcam.org/manual/procedures.html#wide-isolation-routing
Just to clarify that what andrew is talking about is multiple radial passes with an offset further away from the track/pads each time.
Not multiple passes in the depth.:confused:exactly
-
Bah! It did drill 6 holes, but it grouped them so close together that it looks like two holes instead:

I suspect an inches instead of mm error may be the culprit, but I haven't checked it yet. For sure the scaling for positioning the drill holes seems way off.
-
Strangely, flatcam seems to show roughly the correct hole size (0.9mm), yet the x and y dimensions are way off:

So, I took a wild guess that maybe it was off by a scaling factor of 25.4. Well, that did produce 6 separate holes, but they missed the target pads by a huge amount:

I'm stumped. I'm not sure where the disconnect is. Anyone seen this problem before?
-
So, I tried a couple more wild guesses, and the last guess was a match. It turns out that the scaling is off by a factor of 10x:

I have no idea why the scaling is in error, but at least now I have an antidote. :)
-
@executivul I've now done a couple thousand auto-leveling probes in Chilipeppr with no probe failures. If it helps you at all, I think elevating the task priority to "High" on the browser (I use chrome) and the serial port jason is what made the difference. I've not had any probe failures at all since doing that.
-
The corrected drilling works:

The etching, though, seems to have a lot of variability in crispness from one etching to the next. -
So, I tried a couple more wild guesses, and the last guess was a match. It turns out that the scaling is off by a factor of 10x:

I have no idea why the scaling is in error, but at least now I have an antidote. :)
-
@neverdie why do you use any scaling factor at all? be sure you export the grbl files with proper metrics, then apply the given metrics settings in flatcam (it has global and project specific settings as well), then no scaling is necessary.
@andrew said in CNC PCB milling:
@neverdie why do you use any scaling factor at all? be sure you export the grbl files with proper metrics, then apply the given metrics settings in flatcam (it has global and project specific settings as well), then no scaling is necessary.
I'm using Diptrace. I export from Diptrace an "N/C Drill" file. Then, when in flatcam, I open it as an Excellon file. Perhaps an "N/C Drill" file is not 100% compatible with an Excellon file opened from within flatcam? Perhaps there is some other way?
-
@neverdie why do you use any scaling factor at all? be sure you export the grbl files with proper metrics, then apply the given metrics settings in flatcam (it has global and project specific settings as well), then no scaling is necessary.
@andrew said in CNC PCB milling:
@neverdie why do you use any scaling factor at all? be sure you export the grbl files with proper metrics, then apply the given metrics settings in flatcam (it has global and project specific settings as well), then no scaling is necessary.
It turns out to be a known issue for users of both diptrace and flatcam:: https://muut.com/i/flatcam/usage:diptrace-drill-file-off-sca
-
Here's my first milled PCB that's standalone:

-
I soldered on three 0805 components, but afterward I was surprised to find that all three were shorted (tested using a cotinuity meter):

I thought I had been reasonably careful soldering them on too, so I'm not sure what went wrong.Scratch that. I found that the faults were measurement error. Re-testing it, it checks out 100%. No shorts. :)
-
This morning I soldered on the load switch IC. I then tested the circuit, and voilà, it works. :)

Fortunately, solder doesn't seem attracted to the PCB substrate, and it behaves like solder mask. :)By the way, the PCB above it I cut out with tin snips, which is very fast and avoids all the dust generated if using the CNC to route the board outline to release it from the copper clad blank. The result looks crude, but that doesn't matter if it's just for prototyping.
-
@executivul I noticed this youtube video, where they use mineral oil for dust containment:
https://www.youtube.com/watch?v=d9kfzRycQzEHave you tried that?
-
@executivul I noticed this youtube video, where they use mineral oil for dust containment:
https://www.youtube.com/watch?v=d9kfzRycQzEHave you tried that?
@neverdie no, I haven't. I don't have the oil and I don't want to mess with anything non water soluble. To much hassle to clean the machine afterwards in case of splashing.
-
I think if I could upgrade the z-axis to use a ball-screw, I would do that, because I notice a lot of variability in cutting depth from one CNC session to the next. However, I don't see an easy way to upgrade this machine to use a ball screw.
So... alternative might be to add a linear motion tracker to the z-axis. Unlike a rotary encoder, it wouldn't be fooled by backlash. The question then, though, would be: which software to use? I don't know that chilipeppr can take advantage of the closed loop feedback.
-
So, notionially, the height measurement might look like:
https://www.amazon.com/Woodhaven-6015-Digital-Readout-6000-6004/dp/B004BUGW8E/ref=sr_1_16?ie=UTF8&qid=1514743618&sr=8-16&keywords=digital+height+router
but preferably with some kind of known digital interface for reading the height, so it doesn't have to be reverse engineered just to extract that basic information. -
Something like this would probably do the business:
https://www.aliexpress.com/item/High-accuracy-Linear-Scale-5micron-linear-encoder-with-linear-sensor/32827867788.html?spm=2114.10010108.1000013.2.217d28ff67mKcv&traffic_analysisId=recommend_2088_1_90158_iswistore&scm=1007.13339.90158.0&pvid=986e2ba2-43bc-4db4-8edd-f9ca9d1f9b6e&tpp=1It can resolve to 0.001mm.
-
On the other hand, retrofitting with just a ballscrew for the z-axis might be the cheapest/easiest next step:
https://www.aliexpress.com/item/1204-Ball-Screw-SFU1204-L-150mm-Rolled-Ballscrew-with-single-Ballnut-for-CNC-parts-RM1204-without/1998914494.html?spm=2114.search0104.3.138.DFiNws&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10065_10151_10344_10068_5000016_10130_10324_10342_10547_10325_10343_51102_10546_10340_5060016_10341_10548_10545_5130016_10084_10083_10307_5920011_10312_10059_10313_10314_10534_5790011_100031_10604_10103_10594_10142,searchweb201603_25,ppcSwitch_4&algo_expid=e7be0642-ef8c-4a19-ac8b-5c19f850ec57-21&algo_pvid=e7be0642-ef8c-4a19-ac8b-5c19f850ec57&rmStoreLevelAB=5Opinions, anyone? Also, what would be the best ballscrew to get?
Then, if that's still insufficient, adding a more powerful stepper motor would be next I suppose, to avoid skipping steps (assuming that's part of what's happening).