CNC PCB milling


  • Hero Member

    @Mishka said in CNC PCB milling:

    @NeverDie Yeah, it's a very interesting option! Similar approach might be to use a UV printer. The UV paint is known to be resistant to FeCl3 and hence results in nice and clean edges. But that's subject of paint and a laser engraver could be used over UV paint too.

    On the other hand, a fiber laser might be a nice all-in-one solution. It can do the PCB routing, can cut the board edges, and drill everything in one pass. After that, the same device can be used to manufacture solder mask using a kapton tape and also engrave the silk layer on top of it. Finally, it can cut stencils.

    The only missing part is the through hole plating. I still have concern that laser drilled the edges will be good enough for metalization, this has to be checked. But a previously drilled and plated board is much easier to etch with laser rather than a milling machine.

    Maybe UV printers are worth another look. I've searched in the past for flatbed UV inkjet printers but almost everything I found was commercially oriented toward print shops, and the prices were basically $2,000 and up. I suppose one option is to actually go to a local print shop and use theirs and pay a per-use fee. There do exist some battery operated hand-held units that you can sorta "wipe" across a surface and it will print as you go with uv ink. Those are a lot cheaper, and maybe they could be adapted.... but that's a project I'd rather avoid.

    You'd think that comparatively inexpensive 3D resin printers could be tricked into doing it.

    Anyhow, keep the ideas coming! Brainstorming works better that way.


  • Hero Member

    @NeverDie Not surprisingly, some people are already doing laser ablation of soldermask, and the results are pretty good!
    Lasering out PCB Solder Mask in ChiliPeppr – 07:39
    — John Lauer


  • Hero Member

    While I wait for the closed loop drivers to arrive, I attached these fancy copper heatsinks to DRV8825 drivers using artic silver thermally conductive epoxy.
    heatsinks.JPG
    It makes for a permanent attachment, but from what I've read, this should allow them to be driven at their maximum rated current without overheating. This way I'll at least have a glimpse of what it's like to run the steppers at 45v with 2.1a current before switching over to the 24v volt closed loop drivers. I'll let the epoxy fully cure overnight and then give them a test drive tomorrow. It might (?) even turn out that with the extra power I don't even need the closed loop drivers. We'll see.

    I loaded GRBL 1.1h onto the arduino. Doing so is a very simple and quick process: just copy the GRBL library over to the arduino library folder and then compile and upload the uploadGRBL example program that comes with it. That's all there is to it. From there the default settings can be customized if so desired. I'll probably be testing different speed and acceleration settings.


  • Hero Member

    @NeverDie said in CNC PCB milling:

    @NeverDie Not surprisingly, some people are already doing laser ablation of soldermask, and the results are pretty good!
    Lasering out PCB Solder Mask in ChiliPeppr – 07:39
    — John Lauer

    I tried shopping for lasers last night, but it's not straight forward. The variables seem be: power, wavelength, focal distance, optics, size of dot, and sharpness of dot. Unfortunately, lasers don't seem to be marketed that way. Instead, the listings seem to assume you can infer that.
    Apparently single mode lasers would be better for this application because they produce better defined dots, but that's the only tidbit of useful information I've so far gleaned. If anyone here with laser experience can make a recommendation for a CNC mountable laser to ablate solder mask, that would be great. Also, is it better to steer the beam by moving the laser around on the CNC as though it were and endmill, or is it better to get a laser with moveable mirrors to direct the beam where it should go? I'm guessing that treating it like an endmill would be the more plug-and-play of the two options, where you simply turn on the laser whenever the z-axis gcode implies the z-axis is below zero, and turn it off when the gcode implies the z-axis would be above zero.



  • @NeverDie I could actually try this out.

    I recently received solder mask paint, both white and green.

    And I have a cheap 3 Chinese Watts uv laser engraver.

    I was thinking that using transparent sheets is the easiest way to go since you have to expose it anyway, but ofcourse that also means more material use.


  • Hero Member

    @Joerideman said in CNC PCB milling:

    @NeverDie I could actually try this out.

    I recently received solder mask paint, both white and green.

    And I have a cheap UV laser engraver.

    That would be great!


  • Hero Member

    @NeverDie said in CNC PCB milling:

    @NeverDie said in CNC PCB milling:

    I suppose the GRBL capacitor rating may soon be a moot issue anyway, as the servo42A closed loop driver accepts an input voltage of only 12-24v, and, not surprisingly, it appears to have its own back EMF cap on its driverboard:
    alt text

    The original mechaduino v0.2 accepted up to 35v:
    mechaduino_voltage.png

    So, because the clone that I purchased allows for only 24v input, it's an unfortunate downgrade from the original. 😞

    Reporting back: it turns out the voltage issue is moot. After playing around with a NEMA 17 and a DRV8255 driver, it turns out the NEMA 17 doesn't behave well at higher voltages anyway. At the higher voltages it's prone to resonating and not even turning. Also, unlike the original NEMA 17's, the "upgraded" NEMA 17's don't seem to perform well at 12v either. Rather, 24v seems to be more or less the sweet spot, and at a current that's around a little more half its rated maximum. So that was quite a surprise, at least to me. Also, even with the copper finned heatsinks, and the reduced voltages and currents, the DRV8255's get quite hot! If I'm going to run the upgraded steppers from stepsticks, I think I'm probably going to need to fan cooling in addition to the heatsinks. I wonder if I'll have to add some kind of heatsinks and fan cooling to the closed loop steppers as well?

    I guess, if need be, I could either "downgrade" back to the original, smaller NEMA 17's that came with the kit, or else upgrade to TMC5160's (which run cooler) to better support the higher torque "upgraded" NEMA 17's. In the worst case I would shift to the standalone drivers discussed earlier, each of which comes with massive heatsinks.

    All that said, the present currents are fairly paltry compared to what NEMA 23's consume. I imagine NEMA 23 drivers get very hot indeed!


    Lastly, but importantly, I think I maybe see why my setup is loosing positioning when I jog around manually. Basically, by default GRBL turns off the drivers almost completely at the end of a command rather than maintaining holding torque on them. I'm guessing that may allow some slippage to happen that shouldn't happen during those relaxation periods. It has me curious now as to whether this might also happen while running a lengthy grbl script--maybe during periods when the z-height is locked and not otherwise changing? I guess I'll have to run some tests to find out. I find it hard to believe that GRBL might make a bonehead mistake like that, but.... maybe? Regardless, this would be something that the closed loop drivers could correct for, because their magnetic encoders have quite good resolution. 🙂 Based on tracking info, I'm pretty sure I'll be receiving them this week.


  • Hero Member

    I never imagined that I would burn out four (4) DRV8825 stepper drivers and two (2) arduinos in just a short stretch of time. Something about this GRBL design makes it ridiculously fragile. And, by the way, the fuse never blew! 😜 It really might as well be a piece of wire for all the good it's doing. I'm just glad it didn't fry the computer I have connected to it.

    Edit: Good heavens! Here's a similar board, and beware! It's absolutely riddled with fatal flaws:
    Worst CNC shield 12v /24 volt board GRBL v4 Arduino Nano (Problems, fix, Mods, flaws, corrections) – 10:16
    — MangoJelly Solutions for FreeCAD


  • Hero Member

    I received the closed loop drivers. It contains a good amount of kit for making the upgrade:
    kit.JPG

    The board is missing the MCU programmer pins, so I presume the MCU is already programmed with at least a bootloader and most likely the full closed loop driver software.


  • Hero Member

    @Joerideman said in CNC PCB milling:

    @NeverDie I could actually try this out.

    I recently received solder mask paint, both white and green.

    And I have a cheap 3 Chinese Watts uv laser engraver.

    I was thinking that using transparent sheets is the easiest way to go since you have to expose it anyway, but ofcourse that also means more material use.

    While you're at it, would you please also try selectively curing the solder mask with your uv laser? If that could be done, I think it might be cleaner all around as compared to laser ablating solder mask that's already cured. For one thing, no fumes from burning to contend with. Also, I'm guessing the output power for curing could be less than for burning, and so maybe it would be safer to use for that reason.

    On my end I found a 405nm laser on ebay with 600mw output power, with an adjustable focus, a focal length of 1 to 5 inches, and with a focus diameter of less than 100 microns. i.e. <0.01mm. I have no idea whether that's powerful enough to do laser ablation, but maybe?

    Is there such a thing as solder mask which is clear to uv light? Anyone know? If not, then I'm guessing the solder mask would have to be applied very thinly, or else the uv light might not be able to penetrate deeply enough toe cure it all the way. So, for that reason, solder mask which is clear to uv light (even after curing) sounds like it would be the best, at least from a curing point of view. From a laser ablation point of view, I presume you would want just the opposite.

    Edit: It turns out optically clear solder mask does exist. OSHPark uses it over their black FR4 substrate to create their "after dark" PCB's. Whether it is also clear to uv, though, I have no idea.



  • Hi all,
    I build my CNC, to do PCB, i started from an old project and I add some addiction and I create the electronic with limit switch probe etc..

    My CNC
    A_set_of_milled_PCB.jpg

    Here my tutorial to build 3D printed CNC
    https://www.mischianti.org/category/tutorial/cyclone-pcb-factory-how-to-build-it/

    And Here the FlatCAM tutorial
    https://www.mischianti.org/category/tutorial/flatcam-complete-tutorial/

    But my first CNC is in my heart 😆 It's working, and I create a lot of PCB with that...

    My first CNC

    Naturally It's for home use, but I resolved a lot of situation with that.

    Bye RM



  • @NeverDie 100 microns = 0.1mm 1m=1,000milimeters=1,000,000micrometers (microns) 1mm=1,000microns

    The UV laser solder mask making has some issues:

    1. for curing with a laser you need a larger spot, imagine a 0.1mm beam scanning a whole 50x50mm pcb, that takes 500 passes to cover the whole board at 0.1mm resolution. A slightly out of focus laser with 0.3mm beam is more likely to get the job done faster and more uniform. To get the best results using cheap kinematics is best to "scan" the board with some margins for acceleration and deceleration, any attempt at vector cutting the shapes results in a lot of positional error due to backlash and slacks in the kinematics of these kind of laser.
    2. reflections, the stronger the uv the more it will flare and reflect and the reflections will cure adiacent regions, maybe some which should not get cured, a weak laser is preferred, 50mW or even less, to reduce flaring and reflections.
    3. burning away already cured paint.... I don't really know if it's possible, the UV paint is made to get cured by UV, not burned, you either need a very strong laser or a different wavelength, maybe CO2 laser. I happen to have a CO2 40W laser but never tried to burn already cured solder mask away.
    4. focusing and perpendicularity, a slightly not perpendicular beam has an oval shape and the vertical/horizontal size is thrown off, also slight height differences in substrate can and will make the focus spot bigger/smaller as the beam is a cone and you intersect it higher or lower.

    LE. I would get an EleksMaker 405nm 500mw laser and start from there. https://www.banggood.com/EleksMaker-EL01-500-405nm-500mW-Blue-Violet-Laser-Module-PWM-Modulation-2_54-3P-DIY-Engraver-p-1287791.html?rmmds=search&cur_warehouse=CN



  • I just started with my first UV mask experience.

    Following a YouTube video about how to apply the paint. I use a transparent sheet anyway to put the paint on. If I had printed the pads on there before exposing than my only task would have been to rinse it after a minute.

    Either way, first test to apply it failed. Better cleaning next time.

    So far... I find it difficult to apply the paint. And I find it difficult to expose the paint and then remove it again.

    Edit: I have already reached the tenth test. So I am starting to root for the laser. although aligning will be very difficult.

    Edit again: Exposing uv paint is problematic. It worked a bit, but I think I will have to experiment with curing times. It is far less forgiving than exposing pcb's. On the other hand... I now understand why they use there mill for this.

    I am a bit out of material to put the paint on, and out of patience. The laser will have to come later. I am not so experienced yet using that thing. It takes a bit of time to set it up.


  • Hero Member

    @Joerideman said in CNC PCB milling:

    I just started with my first UV mask experience.

    Following a YouTube video about how to apply the paint. I use a transparent sheet anyway to put the paint on. If I had printed the pads on there before exposing than my only task would have been to rinse it after a minute.

    Either way, first test to apply it failed. Better cleaning next time.

    So far... I find it difficult to apply the paint. And I find it difficult to expose the paint and then remove it again.

    Edit: I have already reached the tenth test. So I am starting to root for the laser. although aligning will be very difficult.

    Edit again: Exposing uv paint is problematic. It worked a bit, but I think I will have to experiment with curing times. It is far less forgiving than exposing pcb's. On the other hand... I now understand why they use there mill for this.

    I am a bit out of material to put the paint on, and out of patience. The laser will have to come later. I am not so experienced yet using that thing. It takes a bit of time to set it up.

    You might want to try a drawdown bar to get a precise, uniform, and repeatable (!) film thickness:
    alt text

    There are different types of coating bars. Some have adjustable heights. They all work on the same principle. You'd have to account for the height of your PCB, instead of the height of paper or a drawdown card, but aside from that it should work the same. They are essentially screeds. You probably want to aim for a thickness above the copper of about 0.5mm. I've seen youtube videos where people try to achieve that by just eyeballing it, but good luck with that.


  • Hero Member

    @Renzo-Mischianti Thanks for your post. Looks like you've been quite a busy bee. 😉
    Have you had any success with solder mask?



  • @NeverDie for lack of such a roll I have tried another idea I found on YouTube.

    I used my laminator to spread out the paint. It gives not that perfect result that you see on factory prints but I was able to expose it for 30s and then a minute of cleaning and then another 2 minutes of exposing.

    It is a very solid and well formed layer. Very scratch resistant. IMG_20200826_005709.jpg

    I will have another go on the other side to see if this is repeatable.

    Edit:

    This is very repeatable. I tried scrubbing with alcohol first but aceton might be a bit better.

    The letters are less than 0,4mm wide.

    After scrubbing I exposed everything for another 3 minutes and than it seems to be scratch resistant.

    IMG_20200826_012901.jpg

    So while I have not yet tested laser exposure or laser engraving, I have now tested a potential reliable way of applying the paint.


  • Hero Member

    @Joerideman Looks promising.

    What is it that you put down on top of the solder mask before putting it into the laminator? I guess some kind of acetate with a black uv mask printed on it?

    How many passes through the laminator?


  • Hero Member

    @NeverDie said in CNC PCB milling:

    You probably want to aim for a thickness above the copper of about 0.5mm

    Correction: I should have said 0.5 mils.

    That's according to altium: https://resources.altium.com/p/how-choose-correct-solder-mask-your-pcb#:~:text=The typical solder mask thickness,solder mask over your traces.

    However, I'm not sure if they're referring to wet film thickness or dry film thickness. I guess with uv cured paint it maybe would be the same either way?



  • @NeverDie

    You know I was just considering if it was worth it to film the process. But I think this will be a bit to much work. I will have to at least clear my desk for it to be presentable :-).

    I but the PCB in a polypropylene A4 sized folder. It is thin material and the paint does not really want to stick on it.

    The transparent sheets I use for printing the design on are made for inkjet printers. The paint sticks very well to this so the Polypropylene is very important.

    Than only once I let it go trough the laminator. I have to make sure that it actually goes through it does not really want to on it's own.


  • Hero Member

    @Joerideman So, I presume the uv mask with your printing and artwork goes on top of the polypropylene folder cover? If so, maybe that accounts for the little bit of the fuzziness.

    I found a drawdown bar for the prescribed 0.5 mil thickness, but it's not cheap:
    https://www.byk-instruments.com/us/en/Physical-Properties/Paint-Application/Manual-Film-Applicators/Bird-Type-Film-Applicators/Single-Bar-6"%2C-0-5-mils/p/5561
    Maybe there's something cheaper from China.

    If your PCB had enough margin on it, then the drawdown bar could index the 0.5 mil height directly to the PCB, which might be the easiest for this type of screeding.



  • @NeverDie
    Ah yes the artwork comes on top of that.

    I measured the paint thickness with a topcraft caliper. It shows 0,05mm or around 2 mils.

    Even if you do manage to get that perfect layer thickness. There might still be the problem of the paint sticking to the artwork more than to the PCB.

    This might be different though if the layer is thinner.

    I think I can live with how fuzzy it is.

    https://youtu.be/T56wuO43lW4
    The linked video shows how to make a rod.


  • Hero Member

    Yeah, the fuzziness isn't bad at all.

    @Joerideman said in CNC PCB milling:

    https://youtu.be/T56wuO43lW4
    The linked video shows how to make a rod.

    Thanks for the link. Interesting. Hadn't heard of this technique before. I would have thought that the wire would create artifacts.

    All the drawdown bars I'm familiar with are completely smooth. No wires.


  • Hero Member

    @Joerideman said in CNC PCB milling:

    I measured the paint thickness with a topcraft caliper. It shows 0,05mm or around 20 mils.

    By my rekoning, 0.05mm equals about 2 mils, not 20, since 1 mil = 0.001" by definition. Given how you got there, that's pretty close to the target! Did it cure all the way through? Maybe the 0.5mil spec quoted by Altium is just a minimum value.

    It looks as though PCB fabs may actually spray it on:
    solder_mask_thickness.png
    https://www.eurocircuits.com/sm-solder-mask/
    and so they spray it on thicker if the copper laminate is thicker. On top of that, being an industrial process they're probably tuned to spray on the least amount that will still get the job done (to save material cost), so I'm not sure how much we can extrapolate from their metrics.

    Without other references, but recognizing their profit motive, I'm inclined to take their 0.5 mil as a minimum thickness. The question then is: what can be the maximum thickness and have it still work out well? i.e. still cure all the way through. If the troughs were deep enough, maybe you wouldn't even need a solder paste template: perhaps you could just squeegee on the solder paste to fill the voids left in the solder mask and squeege off the rest? Since with our process we're screeding it on rather than spraying it on, maybe that's an option we have that the professional fabs can't match. If it were possible, it would be a nice two-for-one bonus: solder mask and solder paste template all-in-one!


    Edit: As another datapoint, dynamask comes in a 3mil and 4 mil thickness. In their case, though, it says they use a polyethelene release film instead of the polypropylene you're having good luck with:

    Dynamask 5000 series film is a transparent, high gloss forest green material which is supplied in

    thicknesses of 75 microns (3mils) and 100 microns (4 mils) the film is supplied in several widths and a roll

    length of 100 mtrs.

    Like most other dry film products the photopolymer is sandwiched between a 25 micron(1.0mil) polyester

    support sheet and a 25 micron (1mil) polyethylene release sheet..
    https://www.ebay.com/itm/Dry-film-solder-Dynamsk-5000-0-3m-x-1m-/282595757649

    I ordered some dynamask yesterday just to give it a try, but it will take 2 or 3 weeks to get here.

    Lots of interesting recommendations in their instructions. Definitely worth a read. For instance, it looks as though they recommend the copper should be cleaned with hydrochloric acid, and then they want you to scratch it up with pumice. so that the scratches score to a depth of 2 to 4 microns. I presume the aim is to clear away corrosion and to give the dynamask something to key into and help it stick. Maybe the same would also help with getting the Mechanics uv paint to stick to the copper in preference to whatever release sheet is being used, so that it's less likely to peel off with the release sheet. Assuming the mask is fully cured, then if it's a tug-of-war, the stronger bond wins.

    They also recommend vacuum lamination over rolled lamination to avoid air bubbles. Of course, they're stating an ideal. Maybe putting it into a vacuum chamber for a while before roller laminating it would be a compromise. Or maybe I should sell my vacuum chamber and use the money to buy a vacuum laminator from aliexpress. On first look there are quite a few which aren't super expensive, although they're still multiples of what a cheap hot roller laminator would cost. @Joerideman It's hard to tell from your photos: did you find that air bubbles were a problem at all using the Mechanics uv solder mask paint?


    Edit: Inspired by @Joerideman I ordered a couple different polypropylene sleeves:

    https://smile.amazon.com/gp/product/B083LN26WD/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
    which advertise being "non-stick"

    and some much thicker:
    https://smile.amazon.com/gp/product/B07C28PPL6/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

    Unfortunately, they aren't due to arrive until Monday.

    Meanwhile I'll try to figure out if there are any easily available abrasives or grits that are the equal of the "3F brush pumice" recommended by dynamask for scratching up a PCB's copper.

    Edit: looks as though 2000-3000 grit sand paper would be roughly equivalent. Due to the unfortunate way grits are defined (where 20% of the particles can be larger than the nominal grit size), it's probably better to start with 3000 or 2500 grit. Maybe better would be to use something like 3M Trizact, where the abrassive particles are of a more uniform size.



  • In my experiments the best results I got were using a rubber roller with a handle, the film is 0.1-0.2mm thick but that is no problem for the home made led uv exposure box to cure. Here is something similar, unfortunetly mine got lost a while ago when moving out.
    alt text
    I clean the boards after milling with some Scotch Brite metal sponge and the abrasive part of a dish washing Scotch Brite sponge, this also removes the small burs along milled traces. Wash with some IPA in the end and the paint gets good adhesion to the board.

    The hurdles of getting the uv mask aligned, printed dark enough (damn these new eco printers) makes me want to build a laser for doing this kind of curing. I've just saw a great video of a UV laser using a spinning mirror from a printer, that would make the scanning of the board so much faster.

    Making PCBs with LDGraphy – 02:26
    — Henner Zeller


  • Hero Member

    @executivul Do you put down something over the paint (such as plastic, for instance) before rolling over it, or do you roll directly over the wet paint with the roller itself?



  • @NeverDie I put a piece of clear "document wrap foil" alt text


  • Hero Member

    It makes sense. AFAIK, the uv solder mask paint isn't benefited from the laminator heat, just the uniform squeezing from the rollers.



  • The stack goes like this:

    -glass
    -normal printer paper made transparent to UV light (https://www.amazon.co.uk/Kontakt-chemie-Transparent-21-Spray-200ml/dp/B00ID6KY4K)
    -toner (the image is mirrored and placed toner face down)
    -transparent film from "document wraps"
    -UV solder mask paint
    -pcb
    -glass

    The top and bottom glass pieces are held tight by some binder clips.


  • Hero Member

    That's an interesting spray. I'll have to do some hunting to see if I can find a US distributor for that.



  • @NeverDie or just try some canola oil spilled on normal laser printer paper 😉


  • Hero Member

    @executivul
    Is it better to use that spray with regular printer paper than just printing to a transparency?



  • @NeverDie My printer has a problem with transparencies (jams) and also the high cost for transparencies made me go the paper route, if the toner is facing down the distance is the same as when using transparency printed artwork, also the paper "softens" the uv led light and makes it more uniform I guess.



  • @executivul

    I use the same kind of plastic folder. They are dirt cheap. And yesterday I used the same one twice.

    @NeverDie it was late in the night already. I meant 2 mils :-).

    Yes the laminator is only rolling, there is no heat involved.


  • Hero Member



  • @NeverDie for $99.99 I would roll the s#it out of it with my hand roll, heck I would even step on it with my pressure controlled 200 lbs weight in pink slippers.



  • @NeverDie you might as well buy those specialized springloaded engraving bits from Wegstr. If you are willing to invest this money.

    These hot/cold laminators cost 15 euro here.


  • Hero Member

    I'll try it both ways. I've already own roughly the same kind of roller as executivul, so I'll try that first. My wife has a laminator that takes 20 minutes to warm up, so I could pass it through that before it gets hot.

    I was leaning toward the screed approach, but not sure if would still work well if there's going to be artwork placed on top. Meh, maybe just flatten it in a press. That would do it for sure (well, if the plates are parallel that is).



  • @NeverDie oh btw, I have not seen air bubbles.


  • Hero Member

    I just now stumbled across this, which is actually kinda interesting:
    How To Make Your Own Screens For Screen Printing – 03:36
    — Create & Craft TV

    Basically it shows that with very little time or effort you can create a print screen. If you were to create a print screen for solder mask, you could squeegee the solder mask through the print screen onto the PCB and the solder mask paint would be printed just exactly where you wanted it to be and nowhere else. Then all you would have to do is UV cure it, and you'd be done.

    To illustrate, here's a video of what looks like wretchedly impoverished people making PCB's, but it illustrates print screening of solder mask:
    Best pcb green masking from screen printing process by DSP Enterprises – 01:34
    — Deepak Kumar

    (Prior to this scene, the same poor souls used the same screen print method to lay down the copper mask. They then etched the copper, which led directly to this scene). The quality seems consistent with a lot of the cheap boards one might come across on aliexpress.

    It also opens the door to the possibility of having real "silk screen" printing of artwork onto the final PCB as well. which so far I haven't seen any other discussion regarding how to do.

    In terms of cost, it's more expensive than the techniques we've so far been discussing, but the cosumables are less costly than, say, sending off to JLPCB with rapid DHL return shipping, and you obviously get the results far faster than JLPCB would ever be able to deliver them to your doorstep. Plus, for small PCB's it seems likely that you could cut down the fabric to only the amount needed, and thus the material costs could be stretched out over possibly many different design iterations.


  • Hero Member

    "Houston, we have closed the loop."
    strange.JPG

    It's up and running. In 256 step mode, it is barely even audible.

    However, given that, for a closed loop system the picture seems to represent a anomaly. Can you guess what it is? After jogging the motor around a bit, I stopped and let the stepper idle at what it thinks should be 351.5deg, based on the steps that I sent to it, but which the encoder measures as being 0.27 degree different than that. Well, we know that a full step would be 1.8 degrees, so if it is truly microstepping at 256 ,that means that each microstep should be able to advance the motor by 1.8/256=0.007 degree. Right? So, here's the rub: if the motor is idling, why hasn't it corrected, or at least significantly reduced, the 0.27 degree error? 0.007 degree is much less than 0.27 degree, so it should have adjusted the stepper's true position to be much closer to what its theoretical position should be. Yet, it isn't. Why not?

    Well, maybe it can't actually do 256 microsteps. Maybe it can do only 128. That would mean that it should be able to make each microstep be 0.14 degree. Right? But, if that were true, then being closed loop it again should have moved the stepper to bring it closer to what it should be. But it didn't.

    So, here's my theory: it's can't actually do 128 microsteps either. Maybe the most it can do is 64 microsteps. In that case, each microstep would be 0.28 degree. Right? But the error is 0.27 degree, which is less than 0.28 degree. Maybe that's where their algorithm gives up and stops. However, if it were me writing the code, I would have made it so that it moves one microstep closer to where it should be, even if that means overshooting by 0.01 degree. That's because being off by 0.01 degree is better than being off by 0.27 degree. But it didn't do that.

    However, if we assume that whoever wrote the code actually did the best job that could be done at closing the loop in this scenario, then the obvious conclusion is that this stepper driver can actually do at most 32 microstepping and nothing more. Why? Because in that case each microstep would be 0.56 degree, and so trying to close the loop by moving the stepper one microstep toward the position it ideally should have would mean overshooting by an amount greater than 0.27 degree, and so it's actually better to do nothing in this particular situation.

    But if that's the case, why advertise it to have more microstepping than what it's actually capable of?

    Anyhow, that's as far as I've gotten with it so far. I guess the next step will be to open up a terminal window to view its output over the usb connection. Perhaps that will shed more light on the mystery.

    Edit: Whooops. 1.8 degree divided by 32 is 0.056, not 0.56, so my calculations above are off. Well, I'm heading off to bed right now, so I'll look into that discrepancy tomorrow. Meanwhile, if anyone has thoughts on the 0.27 degree anomaly, feel free to post.

    That's it for today. Signing off. 😴 🛌



  • @NeverDie The UV laminator just gave me the craziest idea: Why don't we take a normal laminator, remove the heating coils and add a strip of UV leds to it??? The expected result: perfect pressing of the artwork to the board and curing at the same time, speed it travels through sets the hardening level. I can get rid of all those glass panels and stuff.
    I'm going out hunting for a cheap laminator 🙂



  • @executivul good luck.

    I noticed that I really have to hold the board and the plastic together, otherwise the rolls will pull the foil off the board.

    So that might make aligning the artwork a bit difficult. Perhaps some form of holder for the PCB could prevent the shifting.


  • Hero Member

    @executivul said in CNC PCB milling:

    @NeverDie The UV laminator just gave me the craziest idea: Why don't we take a normal laminator, remove the heating coils and add a strip of UV leds to it??? The expected result: perfect pressing of the artwork to the board and curing at the same time, speed it travels through sets the hardening level. I can get rid of all those glass panels and stuff.

    @executivul I like how you think. That's a great idea!


  • Hero Member

    @Joerideman said in CNC PCB milling:

    @executivul good luck.

    I noticed that I really have to hold the board and the plastic together, otherwise the rolls will pull the foil off the board.

    So that might make aligning the artwork a bit difficult. Perhaps some form of holder for the PCB could prevent the shifting.

    The margin on the MYOS looks pretty big toward the top and bottom. My guess is it's there, at least in part, for the reason you mentioned.

    Also, that cold laminator I posted earlier that you guys pooh-poo'hd had a feature that maybe your particular hot laminator lacks, which is adjustable pressure. You could potentially run it through more than once, and crank up the pressure with each pass. Probably some hot laminators have this type of feature.


  • Hero Member

    @NeverDie said in CNC PCB milling:

    Well, maybe it can't actually do 256 microsteps. Maybe it can do only 128. That would mean that it should be able to make each microstep be 0.14 degree. Right?

    Wrong. 0.014 degree.

    But following the rest of the chain of reasoning with the shifted decimal place, it becomes obvious that something is wrong with the closed loop algorithm, because it proves that not much microstepping granularity is required to correct for a 0.27 degree error.

    The shorter way to prove it is simply: 1.8/0.27=6.7. So, even an 8 microstepping division would be able to reduce the final error if the algorithm were to correct the stepper's final position, which it didn't do.

    I wouldn't yet rule-out user error though. Not yet sure what that would be, but I'll take another pass at it.

    Regardless, I already like it far more than the DRV8825 because it's not blowing up either itself or the GRBL arduino, and it appears to consume a lot less current while jogging.

    Because I have only these three controllers to work with, I earlier outfitted all 3 with oversized pure copper heatsinks and permanently secured them tight with artic-silver thermal epoxy:
    copper_heatsinks.JPG
    Thinking about that now, I suppose that in doing so there's some risk that, because of the weight, a lot of vibration might eventually rip the entire stepper chip off the board. Meh, hopefully it's moot: I'm etching PCB's, not milling stainless steel. If I were doing that instead, I can see the advantage of not having the stepper driver directly attached to the stepper motor.


  • Hero Member

    I found this critique of the MKS servo42A by what sounds like my have been one of the developers of the original smart stepper:
    http://misfittech.net/blog/makerbase-mks-servo42/

    He obviously sounds rather bitter about MKS not making their firmware public. However, although I'm not 100% sure, it looks to me as though not long afterward MKS may have posted it to github here: https://github.com/makerbase-mks/MKS-SERVO42A/tree/master/Firmware/stepper_nano_zero

    TL;DR: MKS cut some corners when they cloned the servo42A, and so, although similar, in his view it's not as good as the original, which he is still selling for $50 plus add-ons plus shipping. i.e. more than 3x the price of the MKS version. Among other things, he says MKS removed an "error" pin and chose a less accurate magnetic encoder than what his design uses.


  • Hero Member

    Ugh. Confirmed: MKS Servo42a uses A1333LLETR-T, which has 12 bit resolution, instead of AS5047D that the mechaduino uses, which has 14 bit resolution. I'm very disappointed.

    This compares to uStepper, which uses AEAT8800-Q24, which is a 16 bit magnetic encoder, which according to uStepper gives a resolution of ~0.0055 degrees

    For the z-axis I want all the resolution I can get, so I'm going to order a uStepper and see how it compares on the bench. It's 3x the price of the MKS stepper but nominally has 16x the resolution.


  • Mod

    @NeverDie said in CNC PCB milling:

    nominally has 16x the resolution

    Why? Going from 12 to 14 bit on the on the encoder will only give 4x the resolution...


  • Hero Member

    @Yveaux said in CNC PCB milling:

    @NeverDie said in CNC PCB milling:

    nominally has 16x the resolution

    Why? Going from 12 to 14 bit on the on the encoder will only give 4x the resolution...

    You must have missed it. uSstepper has 16 bit resolution. So, 4 extra bits of resolution.


  • Mod

    @NeverDie ah, ok, nevermind. Too many part numbers and bit references in a single post for my peanut brain 😬


  • Hero Member

    @Yveaux said in CNC PCB milling:

    @NeverDie ah, ok, nevermind. Too many part numbers and bit references in a single post for my peanut brain 😬

    Don't feel bad. Unlike me, you still have your money! I had assumed that because the MKS SERVO42A appeared to be a rip-off of the mechaduino design that they had copied the BOM as well. Instead, they made it worse. If it hadn't found the rant I linked to above, it might have taken me a long-time to realize the difference.

    Edit: I just now ordered a uStepper S, which is the 16 bit version. Coming from Denmark with Danish postal shipping (the only option) it may take a couple of weeks to get here. Unless I'm mistaken, it is the highest resolution closed-loop stepper driver+encoder combination currently on the market (well, excluding whatever big ticket industrial solutions may exist). Is it overkill given the other sources of slop in my existing rig? Maybe. I would guess so, but right now I don't have a quantified grasp of just how good or bad the other system components are performing, so I can't really say with any certainty.

    Edit: I looked into the possiblity of desoldering the 12-bit encoder on the MKS servo42A and then soldering on the original 14 bit magnetic encoder in it place. Unfortunately, the pinout is different, so that's not a practical option. Looking back, it would have been better to build a mechaduino from scratch using the open source files and thereby completely remove slip-shod aliexpress profiteers from the equation. Lesson learned! It's much harder to rely even on reviews anymore, since many of those now seem to be infiltrated by the marketers. Even on amazon. These days it has become a serious obstacle to making an informed purchase decision.


  • Hero Member

    Does anyone here know how to invert (take the negative) of a gerber image? Because it's open source, I'd like to order some extra uStepperS boards (it would be much faster than ordering a fully populated board from Denmark), but they used Altium Designer, which inverts the ground plane:
    needToInverty.png
    If I were to submit this to a fab, it would come out wrong.

    In theory, if I were to change the layer to a "signal" layer instead of a "plane" layer, it would be correct. I tried that, but in this case doing that erases the contents of the layer, so that's no good as an after-the-fact solution.

    I tried looking for a gerber editor that could do this, but I only found one, and despite it promising "download now", all it did was collect my information and provided no download.

    Anyone? Bueller? Anyone?


  • Hero Member

    I figure full 14-bit resolution of absolute position will be enough, and that's what the AS5048A promises: https://www.mouser.com/datasheet/2/588/AS5048_DS000298_4-00-1100510.pdf That's 0.0219 of a degree resolution.

    As near as I can tell, the AS5047D that the mechaduino chose instead delivered much less than that. According to the datasheet it had " a maximum resolution of 2000 steps / 500 pulses per
    revolution." I'm not entirely sure what that means in this context, because in the paragraph just before that it says, "A standard 4-wire SPI serial interface allows a host microcontroller to read 14-bit absolute angle position data
    from the AS5047D," which makes it sound as thought 14 bit resolution should have been achievable, but apparently it wasn't. https://www.mouser.com/datasheet/2/588/AS5047D_DS000394_2-00-1513297.pdf

    In the case of the AS5048A, however, whatever ambiguity that clouded the AS5047D datasheet has been lifted, because according to https://ams.com/as5048a the AS5048A is capable of 16384 positions per revolution, and it doesn't discuss "steps" at all.

    Interestingly, this chip has been on the market for quite a while and so there are a number of github libraries for it. It is protected by a patent filed in 2005 in Europe and 2006 in the US (US Patent 7,095,228).



  • @NeverDie I use this steps, and I'm quite satisfied

    https://www.mischianti.org/2019/03/14/design-and-mill-pcb-easy-and-cheap-part-5/

    Nothing special, but works correctly..



  • It highly depends on the lead/ball screws, if the tolerances are in range of 0.01mm and backlash at about 0.1mm a 0.X deg of resolution at the steppers/servos doesn't matter since a normal lead screw is 4-8mm/turn.
    Even 200 full steps/rev (1.8 deg stepper and full steps) with 4mm/rev screw means 50 full steps/mm or 20 micron/step (0.02mm/step) linear resolution which is much better compared to the rest tolerances of the machine.
    On high precision rails, very tightly built machine it might make a difference, but for these cheap routers it doesn't.

    LE. @NeverDie 0.27 deg error translates to 0.003mm linear error (3 microns) assuming 4mm/rev screws are being used. Do you think you can notice/measure that? (4mm/360)*0.27=0.003 Even if using HUGE 16mm/rev ball screws translates to 0.012mm of error, unnoticeable.



  • @andrew Have you got your new 3020T yet? I intend to buy 3020 but there are a few variants in Aliexpress. Which site did you buy from? Can you share the link? Thank you for starting this thread.


  • Hero Member

    @executivul That's how I previously looked at it, but now I'm looking at it as: total error = sum of individual errors. Previously, for any particular fix I could talk myself out of it by an argument such as the one you articulated. However, even though the individual errors may be small, they may sum up to something bigger that is noticeable. So, this is the first of what I hope will be at least a few refinements, and the hope is that the sum of the refinements will make a difference even if not much is improved by any one of them.

    I'm not sure what to do about "following error" though other than to move more slowly. All machines have it to one degree or another. I think everyone who has closed-loop becomes aware of it very quickly because it suddenly becomes so easy to track. I suppose more powerful motors and faster acceleration would help, but ultimately I think maybe better motion planning and control influenced by closed-loop feedback is what's needed. However, I'm not sure if that technology even exists yet. Maybe somewhere in LinuxCNC or something like that? Ultimately, maybe what's needed is closed-loop DRO feedback. The hardware isn't cheap, and figuring out how to retrofit it on to an existing system looks to be challenging. Still, it might be worth it. High quality Industrial grade CNC machines all seem have it.

    And what about software backlash compensation? How well does that work? I'm thinking that with DRO monitoring that would be a lot easier to dial in. One thing helps another.


  • Hero Member

    I cured some uv solder mask using the roller method. As a result of that experience I'm going to change over to a UV light that doesn't have a bottom. That way I won't disturb the work by picking up the wet film stack and moving it into under the UV light to cure. Instead, without moving the wet film stack, I'll simply position the UV light over the stack and turn it on.

    I can now confirm that polypropylene does a very good job of not sticking to the solder mask.

    Thickness on my solder mask came out uneven, but maybe that will improve with further experience. I put a 1/4" piece of glass over the wet film stack before rolling it, so I'm not sure where the waviness in thickness came from, except maybe from me disturbing the stack while relocating it to be under the UV light.

    I found a 3 mil drawdown bar and a 4 mil drawdown bar, so after the new UV light source arrives I'll have a try at laying down the solder mask wet film using those.

    I'm actually getting two new UV light sources, as I'm not sure which I will prefer. One uses UV tubes (which it claims emits at 365nm) and which gets rave reviews on amazon from people who are using it to cure uv resins:
    https://www.amazon.com/gp/product/B012MEZP2E/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
    The downside is that the uv tubes reportedly burn out after a while and need to be replaced.

    The other is just a larger UV LED nail dryer, like the one I tried last night, except that it has no bottom, as I discuss just above:
    https://www.amazon.com/gp/product/B07MC4CZS1/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1



  • @NeverDie

    Years ago I bought a face tanning device. They still sell these things second hand. And I expect like a lot of convenient but time consuming beauty devices, they are hardly used.

    Cost you 5-10 euros here in the Netherlands. You might have something similar.

    Anyway 30 seconds with this thing and it's cured.


  • Hero Member

    An idea discusssed on Hackaday is to remove the UV filter on a personal pocket projector and then use the projector to project a solder mask image directly onto the solder mask of a PCB. If it can be made to work, this seems fairly elegant to me.

    I hadn't realized that personal pocket projectors had become so affordable. You can buy a new 1080p pocket projector on ebay for as little as $30-$50.

    A different Hackaday project uses Kapton tape cut by computer to somehow make a one-off solder mask for prototyping prototyping purposes.. Whatever works!



  • @NeverDie I just read back around 2017.

    Have you ever managed to get Andrews result? He claimed 6mil back then.


  • Hero Member

    @Joerideman said in CNC PCB milling:

    @NeverDie I just read back around 2017.

    Have you ever managed to get Andrews result? He claimed 6mil back then.

    Not consistently. That's why I'm doing a new round of improvements now. Somehow it's always the last little bit that consumes the largest share of the effort.



  • @NeverDie my UV lamp is made from a UV led strip glued to a cardboard box, I just place the UV over the board not the board in the lamp.

    The so called 1080p cheap projectors are actually 640x480 real resolution, or even 320x240, they are able to accept a 1080p signal and scale it down so are falsely advertised as FullHD. That was the state of things a year ago when I last checked. Much better to get a sh brand projector instead.
    About resolution: FullHD 1920x1080 over a 150x100mm board gets you 10pixels/mm roughly, that is 0.1mm resolution, I don't know if that is good enough, also focusing at such a close range would require some lens hacking, from the factory they focus at 50cm at least and get you a 60-100cm diagonal size.


  • Hero Member

    @NeverDie said in CNC PCB milling:

    @NeverDie said in CNC PCB milling:

    You probably want to aim for a thickness above the copper of about 0.5mm

    Correction: I should have said 0.5 mils.

    That's according to altium: https://resources.altium.com/p/how-choose-correct-solder-mask-your-pcb#:~:text=The typical solder mask thickness,solder mask over your traces.

    However, I'm not sure if they're referring to wet film thickness or dry film thickness. I guess with uv cured paint it maybe would be the same either way?

    I found that certain brands of Kapton tape are advertised to be 0.5 mils thick: https://smile.amazon.com/gp/product/B00EP254UU/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

    I've ordered some and will try using that to set the film thickness of the solder mask when I flatten it out between two very flat 1/2" thick panes of glass.


  • Hero Member

    For purposes of solder masking, I compared a number of black markers for drawing on PP sheeting to see which would be the blackest and most opaque. I compared: Inkzall, regular Sharpie, Sharpie Oil, and POSCA (a Japanese paint pen). By reputation I had thought the POSCA would win, but by far the blackest and most opaque of the bunch was the Sharpie Oil. It appeared to be genuinely opaque. The Inkzall and the regular sharpie were not opaque at all.


  • Hero Member

    Reporting back: After letting it dry overnight, I discovered that the Sharpie-Oil apparently shrinks and then flakes off of the PP film:
    p0.JPG

    Not sure if it behaves better with other films or not.

    However, before it dries, it performs great, as seen below.

    Here I am squishing solder mask between two thick sheets of glass:
    p1.JPG
    This technique seems to do a reasonably good job of producing a uniform thickness of the UV solder mask.

    Here I use a Sharpie Oil marker to print the word OIL and place it over the flattened solder mask before exposure to UV:
    p2.JPG

    I exposed it to UV for a full 99 seconds, which may have completely cured the non-masked solder-mask. Here is how it looks after I removed the "OIL" mask:
    p3.JPG

    Here is how it looks after peeling back the top layer of PP film:
    p4.JPG

    I then removed the uncured solder mask using IPA, after which I cured it some more under UV just to be sure:
    p5.JPG

    As a first attempt, not bad! Using a high opacity mask probably helped quite a bit.

    So, I guess now the question is: which inkjet ink/pigment or which laserjet toner has the highest opacity? For instance, there is this which claims to be: https://www.amazon.com/Ink-Dynasty-Resistant-Refillable-cartridge/dp/B00E3PAUXA
    or this:
    https://www.screenerschoice.com/index.php?route=product/product&product_id=157

    From the looks of it, the answer will be some kind of inkjet black pigment, which is consistent with the results I got from comparing ink pens vs paint pens above.



  • @NeverDie I saw an YouTube video screenprinting. That guy noticed that semi transparent sheets work better than transparent sheets. Ink holds better or something.

    I can actually try this one out. Because afteral. We want that 0.4mm pitch right?

    I just need to find something to put the paint on.



  • Thank you very much.


  • Hero Member

    @Joerideman said in CNC PCB milling:

    @NeverDie I saw an YouTube video screenprinting. That guy noticed that semi transparent sheets work better than transparent sheets. Ink holds better or something.

    I can actually try this one out. Because afteral. We want that 0.4mm pitch right?

    I just need to find something to put the paint on.

    Which thing are you planning to try? Sharpie-Oil on a semi-transparent sheet, or the uv resistant inkjet ink, or...?

    For enhanced laser printing I found this: https://ikonartstencil.com/toner-enhancement-spray/
    though I have no idea how well, or even if, it works.


  • Hero Member

    I received some Sharpie-Oil "Extra Fine" pens. Testing them, they have a 1mm line width, so they'd be no good for filling in features smaller than that. AFAIK, they have the smallest tips in the Sharpie-Oil series.

    I received the 16-bit closed-loop uStepper hardware from Denmark, so I'll be testing that sometime soon. I intend to use it on the z-axis, since accuracy on depth of cut is critical. If even this is still not enough, then I'll work harder to identify the source of the error and, if appropriate, consider stronger measures like low run-out collets, low-runout bits, ball-screws, tighter linear rails and/or tracking absolute position with a DRO and/or possibly a different spindle.



  • @NeverDie inkjet printing on semi transparent sheets.


  • Hero Member

    I've played around with the Ustepper-S now, and as near as I can tell, it is working correctly in closed-loop mode without issue. After the execution of each command, it shows error of 0.00, and it maintains closed loop operation to maintain its position even after the execution of the command, as it should. In my testing, Servo42A fails to do that, as well as having other problems, including lack of response to posted github issues.

    Ustepper-S incorporates PID, so it should be able to do rapids and yet stop exactly where it should. Again, my initial impression is that seems to be the case.

    I'm ordering UStepper-S for the x and y axis as well, which unfortunately will again take weeks to receive. However, I expect this will be the last stepper driver upgrade that I will ever need to do. If I later decide to upgrade to NEMA-23, the same UStepper-S can be used to drive it and only a different bracket would be needed to position it on the back of the NEMA-23.


  • Hero Member

    I found a good "once and done" lubricant for my CNC called Krytox. It's made by Dupont, is non-toxic, never dries out, and is non-reactive with just about everything. It is more or less liquid teflon (PTFE). It comes in a wide spectrum of different viscosities. I'm using GPL105, but I think for a CNC one could argue for using a version that's a least slightly more viscous (i.e. GPL106 or higher).

    There also exists grease versions of Krytox, so perhaps (?) that would be even better. In general, for any given lubricant, how does one decide what the right viscosity is to use?



  • @mlei30 This was my choice:
    https://www.ebay.com/itm/CNC-Router-3020T-3-AXIS-USB-Graviermaschine-GraviergeräT-FräSmaschine/313030564524
    It already arrived and I started to play with it.
    I decided not use its Chinese controller software or Mach3 with parallel port connection, so it needs some upgrade before I can make the first tests with it.
    There are tons of upgrade options to make it work with open source stuff. I almost ordered a TinyGv2 controller, but it turned out, that that CNC can be GRBL controlled over the parallel port. In such case,
    original stepper and spindle drivers can be used as well.

    The problem is, that the research I found behind this was misleading and it contains inaccurate / improper details (or at least not exactly applicable to my HW version), so I had to re-execute the reverse engineering.

    I'm about to finish it. At the moment I can control everything on the CNC from GRBL. Now I need to calibrate it and make the solution "solid/proper". I have hard time finding free time for this, but I hope that first test runs will be done soon.

    I'll be back with the results soon (and I'm also planning to write a blogpost on the details later).


  • Hero Member

    @andrew Looks as though your new nema steppers either have encoders or else those are knobs for manually jogging. Aside from that, it looks generally stiffer due to all metal with no plastic.



  • @andrew

    • Does it use ball screws or trapezoidal ones?
    • how stiff it is in X an Y directions?
      (on my machine slight push on spindle, yields ~0.2mm of flex, and heavier one around 0.5mm, which is roughly precision I get when cutting plastic. For PCB routing error seems to stay within 0.2mm boundary)
    • how big is backlash
    • screw (movement) linearity in X,Y planes


  • @NeverDie it is a knob for manual positioning. the whole assembly and machine is very massive and stable, all metal parts do matter a lot.



  • @niallain it is 3020T which uses trapezoidal screws. "Z" uses ball screws.
    you can check the "official" technical details on the item's specification (scroll down to the description then click on the "specification"):

    ...
    Driving units X axis: 1204 trapezoidal screws
    Driving units Y axis: 1204 trapezoidal screws
    Driving units Z axis: 1204 trapezoidal screws
    ...
    Repeat accuracy: 0.05mm
    ...
    Spindle precision: radial beat acuities 0.03 mm
    ...

    Note that none of these parameters above are confirmed. To be honest I don't have the right measurement tools for that, but the fine trace PCB samples will prove it, or not 🙂



  • @andrew

    @andrew said in CNC PCB milling:

    @niallain it is 3020T which uses trapezoidal screws. "Z" uses ball screws.
    you can check the "official" technical details on the item's specification (scroll down to the description then click on the "specification"):

    declared specs for mine were in the same ballpark as your's 3020T, modulo 8mm trapezoidal screw. But in reality that wasn't true at all, in my case cuplrit of the biggest error is the flex from the way screw nuts are attached to carriage, and the second/third are nonlinear screws (+-0.060mm) and backlash.

    I'm ordered a 1204 ball screw kit for Y axis, to test how much it would reduce error.

    PS:
    As for testing, I just used regular digital calliper with 0.01mm resolution.


  • Hero Member

    @niallain said in CNC PCB milling:

    in my case cuplrit of the biggest error is the flex from the way screw nuts are attached to carriage, and the second/third are nonlinear screws (+-0.060mm) and backlash.

    I'm curious to know how is it that you're measuring those things? I'd like to quantify as many sources of error as possible, but I'm not sure how to go about it.



  • @NeverDie How about a dial gauge in a magnetic mount attached to the spindle and measuring against x/y/z frame points, and a simple gcode like g0x100 g0x0 a hundred times? At least that's how I did it to check for lost steps.



  • @NeverDie
    I shoot a short clip to demo following measurements

    • backlash :
    • flex: for example I used dial gauge, since my Y screw and table are currently dismantled, so I can't show how it's done with calliper on the table
    • non-linearity is measured only on 1mm, with calliper or glass scale it would be possible to measure whole screw. (linuxcnc can use glass scale to map screw and then compensate, but I still don't have all components for it yet)

  • Hero Member

    @niallain said in CNC PCB milling:

    • non-linearity is measured only on 1mm, with calliper or glass scale it would be possible to measure whole screw. (linuxcnc can use glass scale to map screw and then compensate, but I still don't have all components for it yet)

    That's quite an interesting result! I would not have imagined it would be so bad. What exactly is happening that causes this? Is the screw being wound up almost like a spring and some kind of stiction is causing the carriage to jump about like that? Is the anti-backlash nut causing it? Or is the stepper in fact not advancing as much as it should be due to no closed-loop feedback? What's the cause? How repeatable is it? i.e. does it jump about to the same amount in the same places each time it's cycled through the test, or does it vary each time the test is repeated?

    It's a great advertisement for DRO's.


  • Hero Member

    Reporting back: Regarding Sharpie-Oil pens, I found that it doesn't chip-off and disintegrate, even after letting it dry for a few days, if I write it onto inkjet transparency material instead of polypropylene:
    P1100137 (2).JPG

    Because it's so opaque, especially when compared to other black pens, it's the best pen I've found. The linewidth of the "Sharpie-Oil Extra Fine" pen is about 1mm, though, so that precludes using it in a plotter if ultra fine detail is required.



  • @NeverDie however.... The material sticks a bit to the paint.


  • Hero Member

    @Joerideman said in CNC PCB milling:

    @NeverDie however.... The material sticks a bit to the paint.

    ??? Which thing are you referring to?

    Right, so I still use the polyproylene against the solder mask, but I can layer this inkjet tranparency on top of that. It's an extra layer, but it's kept separate from the solder mask by the polypropylene layer underneath it. Is that what you mean?



  • @NeverDie yes.


  • Hero Member

    @NeverDie said in CNC PCB milling:

    I found a good "once and done" lubricant for my CNC called Krytox. It's made by Dupont, is non-toxic, never dries out, and is non-reactive with just about everything. It is more or less liquid teflon (PTFE). It comes in a wide spectrum of different viscosities. I'm using GPL105, but I think for a CNC one could argue for using a version that's a least slightly more viscous (i.e. GPL106 or higher).

    There also exists grease versions of Krytox, so perhaps (?) that would be even better. In general, for any given lubricant, how does one decide what the right viscosity is to use?

    I guess maybe a dry lubricant would be a better choice, so that it doesn't attract dust or debris. To that end, I'm thinking maybe one of these:
    https://smile.amazon.com/gp/product/B000GE1F9K/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

    https://smile.amazon.com/gp/product/B00AF0ODGM/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

    Anyone have a preference, opinion, or other suggestions?



  • quick update, just managed to make some test milling.
    pro tip: always check your tip before milling 🙂 I had to trash the one I used for the first two, as its end was chipped

    traces are 6 mil, the footprint is tqfp100 p0.5, built in from kicad.
    some of the the standalone traces are 6 mil with 6 mil clearance, their open end came up, but otherwise it looks ok.

    other 6 mil traces that are connected to pads are actually ok.

    6mil traces where the clearance is 4 mil only were not millet at all, due to the isolation routing path made by flatcam.

    overall, I'm happy with it.

    I've also ordered a dial indicator measurement tool, I'll report the backlash and other measured precision details when it arrives.

    some pics:
    the control box is open and it has an additional external grbl controller now, I'm working on a proper electronics.
    small_20201010_091550.jpg

    small_20201010_100008.jpg small_20201010_095958.jpg

    small_20201010_100018.jpg

    small_20201010_100409.jpg



  • @andrew oh, for those who are interested, flatcam settings were the followings:

    • tool dia: 0.1176326981
    • passes: 2
    • overlap: 0.15
    • cut z: -0.05
    • feed rate: 500
    • spindle: 300 (0-1000 range, but in fact as the pwm signal is inverted now, it is equivalent with 700)

    the engraving tip was 2001 (20degree, 0.1mm end)


  • Hero Member

    👏 Nice! Thank you for the photos and for sharing your settings and early results.

    @andrew said in CNC PCB milling:

    I've also ordered a dial indicator measurement tool, I'll report the backlash and other measured precision details when it arrives.

    👍 I'm not sure how you would measure it, but I'd also be especially interested in how much "twist" potential there is on the z-axis, as it looks like a pretty long lever arm exists between the cutting bit and the x-axis linear bearings that are supporting it. On the other hand, maybe pre-tensioning from the sheer mass of the carriage and motors (spindle + z-axis stepper), together with a cutting depth of just 0.05mm and a small effective diameter for the cutting bit overwhelms any slop there, rendering it unimportant with respect to pcb milling. Seems that way, judging from your early evidence. I suppose all that weight might also eliminate z-axis backlash? Looking forward to that measurement.

    As for me, I now have possession of the three closed-loop Ustepper-S drivers. I've installed them on the higher torque stepper upgrades and tested them electrically, and they all seem to work great. Now waiting on the dry lubricants to arrive before purging the old wet lubricants from the system (well, as much as I'm able to--the z-axis linear bearings were glued in-place on a previous carriage upgrade), and then I just need to re-assemble the CNC and mount the upgraded steppers on it. Lastly, I feel I need to add limit switches and an emergency kill-switch before powering up again, because with a closed-loop system, if the CNC ever overruns the end of a range, rather than merely slipping some steps like an open-loop system would, I'm pretty sure a pure closed-loop CNC will never give up trying to reach the unreachable and so keep grinding forever. Seems like some kind of simple time-out in the closed-loop code could notice lack of progress and prevent that. Or perhaps "virtual" endstops could be set using the uStepper-S position encoder. On the other hand, maybe just monitoring for excessive current draws on each stepper would be yet another way to protect, since it might protect the z-axis from a worst-case (Murphy's Law) scenario of overshooting (from bad g-code or otherwise) and burning its way deep into the spoilboard and beyond. Every now and then I see a youtube video where that actually happens to somebody, including all-hell-breaks-loose cases where the friction even lights the spoilboard on fire. Not as rare as you might think: many people on the MPCNC forum are afraid to leave their machine running unattended for even a few seconds. I found that out, to my surprise, after they were horrified when I showed them my LoRa device for remote monitoring my CNC for end-of-job completion. Rather than a convenience, literally all they could think about was a scenario like:
    CNC Fire Video – 01:42
    — Gary G Campbell

    (Yet another reason to switch to dry, non-oil lubricants. 😉 ).
    Maybe the more advanced trinamic drivers can detect overcurrent? Surely yes, because they can implement homing without physical endstops. Meh, it might work, but without some experience with it I wouldn't trust it just yet to be bulletproof enough to rely on as a strong first defense. For now I guess limit switches will be both the easiest and most foolproof, and some kind of different/redundant protection can be added later for a more resilient failsafe.

    Anyhow, whatever it takes, I for sure want a CNC that can safely run unattended without the need for me to constantly watch over it, just as I don't feel the need to constantly watch my gas water heater or gas dryer whenever they operate. Thinking about it now, probably all that's needed would be a non-flamable spoilboard, because, if just milling a PCB, I'm pretty sure (?) nothing else on my CNC could catch fire, even in theory. Hmm.. What kind of non-flamable spoilboard material would best serve the purpose?


  • Hero Member

    Just now came across something quite interesting. At time index 6:00, this youtube makes a compelling case for flipping upside down the spindle mount, so that the anti-backlash spring-nut is mounted on the bottom instead of the top of the z-axis carriage:
    Cnc 3018 Upgrade with a 500 W Spindle Motor – 24:09
    — techydiy

    Judging from his demonstration, this simple change may greatly reduce the amount of play.

    Has anyone here tried 3D printing in metal? I've seen examples where you can do that, sinter it afterward, and then basically have a strong, useable metal part. If it works as advertised, maybe I could 3D print the carriage in metal for the next iteration.


  • Hero Member

    I was reading the cnczone primer on ballscrews, and the closest scenario to PCB milling was:

    Situation 5: "I am scratch-building a small CNC bench mill for machining casting waxes and light metal work. Accuracy is important. I am going to machine jewelry prototypes, small components for turbine engines and R/C, and other small parts with close tolerances."

    Solution: This will require a very accurate and tight system with 0 backlash. As the size of the parts go down, the need for zero backlash and a quality fixed bearing set go way up. 0.005" of backlash would ruin a fine filligree in wax for gold casting, or a turbine diffuser. I'd go with C3 or better ground ballscrews, fine pitch, servomotors, direct drive, THK/NSK linear rails and trucks. A commercial bearing block would ensure success, or you can create blocks on your own, but they'll need to be well-made. You'll also need a fast, high-quality spindle, but that is another topic entirely.

    I did a quick survey of ballscrews on ebay, aliexpress, and amazon, and all of the ones I randomly sampled were of type C7 quality, which is a much lower quality rating than the "C3 or better" type that's recommended in the quoted passage. That may throw a wrench into the idea of buying a pre-made inexpensive CNC if to get the required repeatability I need to subsequently rip out and replace a lot of key components with better quality ones. Since the better quality ballscrews are relatively expensive, and the quality type is never even mentioned in most CNC machine listings, I imagine they're probably of type C7 (or worse). To put numbers on it, the least expensive C3 ballscrew listed on aliexpress is $170:
    https://www.aliexpress.com/i/32798741066.html
    and nothing of type C0, C1, or C2 is even listed.

    That said, I do wonder whether a glass scale linear position sensor might allow a closed loop system to compensate using software. They're not hugely expensive, and they are commonly spec'd as accurate to 0.005mm, or 0.001mm for a modestly higher price. Since cutting depth is typically 0.05mm, I would think that either one should be good enough. I'm thinking that, at least for the z-axis, this might be worth exploring because for the z-axis all you typically need to do is reach the target depth-of-cut and then hold it there for relatively long time intervals while traces are cut, before picking up, moving to a new location, and repeating. I'm sure there are well studied algorithms for x and y as well, but z seems like it would be comparatively simple to implement. Well, actually, that's not entirely true, because the elevation map means the z-axis may need to continually adjust as well--maybe just not as quickly

    Maybe what saves PCB milling is that part of the inaccuracy is related to distance travelled, and there's generally not much need for the z-axis to travel very far once the milling operation has begun (especially if the spoil board was milled flat beforehand by the same CNC). Maybe milling the copper cladding on a PCB flat prior to starting would be a feasible workaround that would throw the problem back into the idealized realm, so that then no elevation compensation would be needed. It might require thicker cladding to pull it off so as to avoid thinning it too much, but it just might work.


  • Hero Member

    After doing a bit more reading, I think I'm on the right track as far as using a high precision linear gauge as the basis for the closed-feedback loop. There's a CNC manufacturer named accurateCNC which specializes in building CNC machines for milling PCB's, and as near as I can understand it, they take this approach and get good results with it: they use a linear guage that can resolve 0.1mm, and they claim 1 micron accuracy on their PCB milling: http://www.accuratecnc.com/designConsepts.php
    Among other things, they also credit using the absolute best ballscews and a 60K RPM spindle that has negligible runout. As a result,

    All new models listed currently on our web site are extremely accurate. The absolute accuracy is definitely 8 to 10 TIMES better than the competitors

    If that is so, then I presume their machines literally are the state-of-the-art.

    I think that for me, rather than develop custom software to handle the objective closed loop provided by the linear gauges, maybe I could simply translate the linear gauge data into the angular representation that the u-stepper already knows how to process as a closed-loop. I'm assuming there is no meaningful backlash or nonlinearity in a linear gauge. If (?) that is so, then I'm imagining that this approach should be a relatively easy hack to pull off, yielding pretty much flawless positional accuracy, because the closed loop based on the linear gauge measurements should smoothly correct for whatever backlash and non-linearity remains in the CNC mechanism, provided that the measurement resolution is fine grained enough that the corrections are continuous and not herky-jerky.



  • @NeverDie their tools are also $115+ voor 10 engraving bits.

    Presicion comes with a heavy price.


  • Hero Member

    @Joerideman Not just that, but their best machine costs nearly $18K.

    One salient feature keeps coming up though, and that seems to be that PCB milling gets better results at higher RPM's. I've heard it suggested on the CNCZone forum that 24,000 RPM is a good lower bound for spindle RPM on a PCB etching mill. Why is it so? My current spindle tops out at a mere 12,000 RPM. There's a 12v 20,000 RPM spindle for sale on Amazon that's priced at around $30:
    https://www.amazon.com/gp/product/B08DTHDSMV/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
    so I ordered it to see for myself whether higher spindle speed will make a noticeable improvement. If it's true then that's obviously a great thing to know. However, I'm still left wondering as to exactly why it leads to overall improvement. Might it simply be that spindles designed to run at higher speeds are built to a tighter specification, and so maybe as a result there's less runout, and so perhaps it is simply that which is what's truly responsible for the better results? Or maybe the higher RPM's result in more gyroscopic effect, which effectively renders the spindle a bit more rigid? I can imagine quite a number of different possible explanations. Does anyone reading this know the answer?


  • Mod

    @NeverDie said in CNC PCB milling:

    However, I'm still left wondering as to exactly why it leads to overall improvement.

    Isn't it just that higher speeds lead to smaller amounts of material being removed with each rotation of the spindle? (given the milling speeds stays constant)
    If that's the case you could exchange milling velocity for spindle velocity.


  • Mod

    @NeverDie said in CNC PCB milling:

    assuming there is no meaningful backlash or nonlinearity in a linear gauge.

    Backlash no, nonlinearity yes, but that all depends on the quality of the ruler and the accuracy you are trying to achieve. At the nanometer level nothing is flat anymore 😄


  • Hero Member

    @Yveaux said in CNC PCB milling:

    @NeverDie said in CNC PCB milling:

    However, I'm still left wondering as to exactly why it leads to overall improvement.

    Isn't it just that higher speeds lead to smaller amounts of material being removed with each rotation of the spindle? (given the milling speeds stays constant)
    If that's the case you could exchange milling velocity for spindle velocity.

    Maybe you're right. Somewhat rephrasing what you said: perhaps a higher RPM is needed to get a smaller chip size, and (for reasons unknown) a smaller chip size is what's optimal for PCB's.

    I was starting to entertain an alternate theory, which is that a higher feedrate would serve to better avoid stiction, which at narrow pitches could be devastating. A higher feedrate needs to be matched by a higher RPM, and a higher RPM more or less demands a faster feedrate. Constantlly moving (and the faster the better) is maybe one way of mitigating against stiction. A corollary of this is that by having a high precision (to the nearest 0.1 micron) linear encoder, each axis is probably always moving and never completely stopping.

    Anyhow, I suppose there might be a whole host of beneficial effects created by running at a higher RPM without any one of them being dominant.

    Some of the higher end CNC PCB etching machines (such as accurateCNC's flagship model) have spindles which can spin as high as a 100,000RPM, or about 8-9x the maximum speed of my default spindle. If I recall correctly from an earlier discussion on this thread with @executivul , there tends to be much less vibration at higher RPM's, and so that too might be one of the positives driving the move to higher speeds.

    New 100Krpm spindles seem to be priced around $1,500 (and up), whereas a new 60Krpm spindle can be had for around $300. I'd speculate that either one, almost by definition, needs to be relatively well made just to avoid ripping itself apart, but I can't say that I know that for sure. Just a weak hunch. On the other hand, maybe they're built only just good enough to last through their warranty period and then promptly die, just like Salmon after spawning. But then again warrantees may be meaningless in the first place if the spindle is sourced from some no-name manufacturer. And then there are "pre-owned" spindles, which I'm unsure how to evaluate, and for that reason I so far haven't even considered them. Maybe after I learn how to properly measure and characterize a spindle I'd know which spindles won't be good enough. This might be the way to go, because if it works when I first receive it, that would imply it has already survived Part 1 of the MTBF bathtub model, and I'd probably use it so seldom (well, compared to the industrial user that it's probably designed for) that it would probably outlive me. According to the bathtub model, those are likely better odds than buying a new spindle that has only a (probably worthless) warranty to stand behind it--of course, that analysis relies upon the very large assumption that it's not being sold for the precisely the reason that the seller already knows it to be defective or otherwise impaired, much like many/most of the cars on a used car lot. The oddsmaking works only if blind chance alone governs whether a particular pre-owned spindle is defective or not. Well, good luck getting the seller to disclose that information if he figures you can't tell the difference. That is, if I don't know enough to evaluate and check acceptance criteria on a new purchase. But if I do, then it shouldn't matter (well, not as much anyway) even if the seller is lying about the true condition of the spindle or his reason for selling it, as in that scenario I hopefully know enough to run the right diagnostic tests upon receipt of the spindle, and I would then document the issue, reject it, and send it back to the seller, being sure to avoid that particular seller on all future purchases.

    Yup, I think that sorts the medium to long-term strategy. In the short-term, though, until I develop that skillset, I'd either roll the dice and accept the risk or, more likely, I'd probably buy a reputable brand with a trustworhy warrantee, even if it means paying more (as it surely would). For instance, in my case that probably means I'll be buying linear rails and ballscrews and related parts directly from Thomson or Misumi, both of whom will sell to individuals. For my next machine, that may also rule out buying a heavy, fully integrated machine from China, as the parts are who-knows-what and any return shipping would probably cost quite a lot (and be yet another thing that could go wrong). But that's me and my particular baggage. I'm not saying others shouldn't do that if so inclined.



  • Regarding feedrate vs rpm the last engravings I ran at about 40k rpm, was to lazy to balance the endmill (turn spindle on, if it hums loudly then stop, undo the clamp, rotate 20-30 deg the endmill in the clamp, retighten clamp, rinse, repeat). I just tend to find the poles of harmonics: start spindle at full speed, hums badly, lower rpm slightly less hum, lower even more starts humming again, lower again, even more quiet... so find the sweetspot with least humm (vibration). If you go down enough at about 35-45k rpm you will get the quietest.
    For best feedrate I've manually written a simple zig-zag gcode with different speeds: F1000 G1 X20Y5 G1 X0Y10 F1100 G1 X20Y15 G1 X0Y20 F1200... and inspect with the microscope for the best, burr free, engraving speed.
    I normally run at 1400mm/min.


Log in to reply
 

Suggested Topics

  • 4
  • 3
  • 8
  • 2
  • 20
  • 4

0
Online

11.4k
Users

11.1k
Topics

112.7k
Posts