CNC PCB milling



  • @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.



  • @NeverDie said in CNC PCB milling:

    @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.

    It might be acceptable non-linearity for trapezoidal screw. But on Y axis, at one place it was far worse (don recall exactly but around 0.1-0.05mm). I wouldn't blame steppers though as load in test case is only inertia of Z-assembly and I didn't see lost steps. Yes, It's repeatable.

    From what I've read glass scale is only good enough for positioning starting point accurately (i.e. various measuring tasks), trying to add it into control loop (of linuxcnc) as encoder were considered not useful as it were too slow.

    Ball screw for Y axis has finely arrived, now it's time to drill holes for new supports
    and modifying moving table so that supports won't get in a way. After that it would be interesting to compare precision with X axis.


  • Hero Member

    @niallain said in CNC PCB milling:

    From what I've read glass scale is only good enough for positioning starting point accurately (i.e. various measuring tasks), trying to add it into control loop (of linuxcnc) as encoder were considered not useful as it were too slow.

    Maybe if it were magnetic encoding there might be some latency, but if it's optical I would think that there'd be no meaningful lag. Anyhow, I'll be finding out after mine arrives: I just now ordered a Sino KA300 optical linear encoder with 1 micron resolution to try out. I was leaning toward a magnetic encoder until I read your post, so thanks for the heads up. Priced at $64 on Aliexpress, including FedEx shipping.


  • Hero Member

    Closing the loop on the earlier topic of best inks and substrates to use for printing a UV mask, I can report what seem like solid answers based on the findings of two well known youtubers who did actual compare/contrast experiments:

    The applied science guy measured the amount of uv passed by vellum paper compared to transparency and found that, even though vellum is translucent, it actually passes more uv (see time index 11:00):
    High-resolution screen printing demystified – 23:27
    β€” Applied Science

    So, for that and other reasons, he recommends using vellum instead.

    Meanwhile, bigclive compared different kinds of printer inks and found he got the best results using a pigment ink (see time index 12:35):
    Test etching PCBs with inkjet transparencies. – 24:37
    β€” bigclivedotcom


  • Hero Member

    I finished the first-pass of new upgrades on my CNC:
    CNC_Front.JPG

    Shown above are the UStepper-S closed loop drivers on each stepper. Each stepper was also upgraded to a higher torque Nema 17 than the more basic Nema 17 which came with the original kit.

    CNC_back.JPG

    In the back, the Woodpecker CNC controller has been replaced by a plain Arduino Uno together with a generic GRBL shield. Clearly I'll need to find shorter RJ-45 cables. Each stepper will be powered by its own separate 24v DC power brick. By using power bricks instead of a shared fan-cooled power supply, the axis power supplies will be dust-proof.

    Speaking of dust, I removed the previously applied wet lubricants from the rails and screws and then applied A-9 as a dry film lubricant, which claims to both repel dirt and to not pick up dust. The only significant source of "dust" is the very fine sawdust created by leveling the wasteboard. The wet lubricants were picking up that sawdust and caking it on the rails, so hopefully A-9 won't.

    I'll be resuming with the same spindle that I was previously using so as to better gauge the amount of improvement (if any) afforded by the new closed-loop stepper drivers. After establishing a reasonable baseline, I'll swap in the much smaller 20,000RPM spindle motor I recently acquired to see whether or not it's an improvement.

    I have no idea how I should install the z-axis linear encoder when that arrives. It might push me toward a different design, whereby the z-axis is mounted on a fixed column , and the X and Y axi are merged into an XY table that moves around beneath it (more akin to a typical mill than than a typical CNC router). I happen to think that would also make the z-axis more rigid and so would be, in itself, a worthwhile upgrade. To that end, I may borrow the column from the openmill design, as it looks like it would be fast and easy to build (and rigid as well?):
    alt text
    though I would aim to use better rails than the wheeled approach used by openMill. With that as the column, I would likely use:
    https://www.aliexpress.com/i/4000527851100.html

    in order to quickly validate the proof-of-concept for the new z-axis, though I'm aware the tolerances are probably C7 or worse. Even so, I'd wager the tolerances would be tighter than the status quo.


  • Hero Member

    One problem with picking an inexpensive power brick as a power source for a stepper motor is that even though it may say it's rated for 6a at 24v, there's often no datasheet, and so that "6 amps" it's claiming may not be for continuous duty, and there's no guarantee that you can rely on even 80% of 6a. Yet, "6 amps" is the only info that's written on the brick, and so adequate qualifying information just isn't available, unless maybe you generate the data yourself using an electronic load test setup. Or, just run it and see how it performs, which is the quick and dirty rout--which is the path I chose.

    It appeared I was able to drive the y-axis at a nominal 10,000 mm/min, but going faster than that yielded wildly unpredictable results. Plugging in a 10a 24vdc power brick instead of the 6 amp power brick seemed (so far) to avoid the problem, so I'll be replacing the 6 amp power bricks with 10 amp power bricks for about 4x the cost. All this just to avoid dust incursion into a single, centralized, standard, high current, "open to the atmosphere" power supply. πŸ™„

    That said, I'm unsure how well even the 24vdc-10a power brick will hold up over time to the very spikey current demands of a CNC-driven stepper. That's the lingering doubt that accompanies going down the quick and dirty path with no datasheet. Given the unknowns that come with power bricks, maybe a fan-cooled , ordinary power supply isn't such a bad trade-off even if it sucks in a lot of dust... 🀣 Or maybe a Redundant Array of Inexpensive Power Bricks is yet another alternative. Meh,....

    Another, unrelated thing I'm noticing is that the Dupont and RJ45 connectors and barrel jack on the uStepper boards are a bit loosey-goosey. They may be conceptually neat and convenient but in reality they don't seem particularly good at handling vibration and/or physical strain without tending to wiggle loose from their connections. Not sure yet what, if anything, to do about that. Even if I were to solder the connections, it may still need some kind of additional physical anchoring to hold everything firmly in place and provide sufficient strain relief.

    Unlike the original nema 17 steppers that came with the CNC kit, these higher torque nema 17 steppers don't work at all on just 12v. However, the good news is that the upgraded higher torque steppers are pretty snappy when running them at 24v.


  • Hero Member

    I have the closed loop CNC nominally working now with 16 microstepping. I'm finding that at each stage as I push it to 32 microsteps, then 64 microsteps, then 128 microsteps, and finally 256 microsteps, I have to ease off the acceleration and velocity or else an alarm happens. At 128 microsteps, it's really quite slow, and at 256 microsteps it seems unuseable. My hypothesis is that at each stage the microstepper is becoming weaker and weaker, and so, to compensate, I thought I might drive the system with higher voltages and higher currents. However, I don't want to burn-out the drivers, so I'm waiting on a reply from the folks at Ustepper before proceeding. It turns out they have very little documentation.


  • Hero Member

    I received useful guidance from the guys at uStepper:

    1. They advise that I can go up in voltage, no problem--all the way to 42v if I want. Even at 42v there's still some safety headroom leftover. However, they advise against increasing the current, unless absolutely needed to avoid stalling, as that may lead to overheating, unless active cooling (a fan) were to be added.
    2. "10mm/revolution a 32 microstepping input will give you 0.0016mm resolution. " This is a good point. Actually, with the current lead screws I'm at 8mm/revolution, and if I switch to ballscrews it will be either 4 or 5mm/revolution, which would be even better. Hence, maybe even the current (default) 16 microstepping is good enough.

    So, I guess once I get limit switches installed, then before I get fancier it'll be time to do some milling and see if I notice any improvement brought by just the uStepper drivers alone. Then I may upgrade to the 20,000 RPM motor to see what, if any, difference that makes.

    I still have my eye on a 60,000 RPM spindle. They seem not much more expensive than the 36,000 RPM spindles. I've found ER8 60,000 RPM spindles for less than $200 delivered, but ER8 seems like it would be too tight a fit (?), especially for regular router bits like the ones with 1 inch diameter heads used to flatten spoilboard. For some reason, ER11 60,000 RPM spindles seem to cost around twice as much, though I have no idea as to why. Is it really that much harder to make an ER11 spindle than an ER8 spindle that's otherwise the same?



  • @NeverDie Mind posting links to the spindles you're looking at?


  • Hero Member

    @ncollins Sure. For example, an ER8:
    https://www.aliexpress.com/item/32651625780.html?spm=a2g0o.cart.0.0.7a203c00aR74s0&mp=1

    and an ER11:
    https://www.aliexpress.com/item/32948530784.html?spm=a2g0o.cart.0.0.7a203c00aR74s0&mp=1

    I tried to make it apples to apples. Prices are constantly fluctuating, so at the moment this particular ER11package seems priced lower than a lot of the other ER11 60,000 RPM packages, so that will contradict my earlier 2x statement (which is more of a running average across different vendors). At the moment, the price looks fairly attractive, if the quality is there. If the quality is poor, I'd probably be stuck with it, so there's a lot of risk in buying from sites that don't list the tolerances.

    Marcos Reps suggests that buying used industrial equipment might be a safer path, because on his theory most industrial equipment gets replaced while it still has reasonable life left on it, and the quality tends to be high to begin with. But in his case, because of his vlogging, a manufacturer actually just gave him a high quality spindle, so he never really tested his theory.

    Which 60,000 RPM spindle manufacturer is the best value? It may boil down to who makes it and what the tolerances are. That sort of info is often missing from the aliexpress listings. If the etchings on the spindle cases can be believed, then in this particular comparison the manufacturer is the same (namely, Changsheng).

    Anyhow, Wegstr, for instance, seems to get great PCB results without relying on such massive spindles, so maybe I should be looking elsewhere.... But where, exactly?

    Also, who makes the best VFD? I've read that certain brands are problematic, but I haven't kept a list (yet) of which ones to avoid.

    These spindles are quite heavy, but maybe the extra weight would just amount to more preloading, which maybe (?) could be a good thing. I do like the portability of my CNC, which a Marco Reps style machine has clearly lost, despite its other advantages.


  • Hero Member

    @ncollins Funny thing: when I look now at the photo for the 60000RPM ER11 spingle, the marking on the spindle itself shows only just 24000rpm. Similarly, the specs contradict themselves as well: the title says 60000rpm, but the speed (RPM/Minute) table shows 24000. It's this sort of inconsistency by Aliexpress sellers that gives me the heebie jeebies. For that reason, I'm guessing it's not really 60,000 rpm after all, which would explain why its price is considerably lower than the other 60,000 rpm spindles on Ali Express. If the Aliexpress seller were to send me a 24,000 rpm spindle instead of the 60,000 in the headline, I'm really not sure how that would play out for buyer protection, given the inconsistency portrayed in the description. I would try hard not to buy from a seller like this one, whose listing so badly mixes up the product data, as it seems like a heartache just waiting to happen.



  • My 60k rpm is ER8, I guess the lighter collet/nut combo is less prone to vibrate, never seen a decent priced 60k rpm ER11.
    ER 11 good is for heavy endmills, big collets, more than 3.175mm (1/8") shaft diameter, maybe 1/4" for table flattening.
    The 60k rpm spindles are usually 300W, not a lot of power at lower rpm to do tough milling, so no use for larger endmills, ER8 is a good choice for fine milling with 1/8" shafted endmills.
    My VFD is a Sunfar one, pretty decent I might say, I ran it for a few dozen hours now without issues.

    PS. The best way to check for runout is the sound test, run the spindle empty, then with collet+nut, then with the endmill inserted. If I "tune" the position of a new endmill I can reach 60k rpm without any vibration at all, so I get almost no runout.



  • @NeverDie Once covid started, my aliexpress luck really took a dive. Two missing shipments, one partial shipment, and very little recourse. If I absolutely have to, I'll buy from banggood. I don't think I would make such an expensive purchase on aliexpress, especially when shipping is a significant portion of the cost. OR, I would want to talk to somebody who has purchased from that seller and has the exact product I'm looking at.

    Contrary to my 3D printing and PCB/component experience, where I do okay with cheap/counterfeit parts, the tolerances and high cost of mistakes in my CNC experience are leading me to pay the premium for quality parts.



  • I should add that I haven't tried PCB milling yet. I mostly try to make aluminum parts with my 3040 machine.

    IMG_1249.jpg
    IMG_1250.jpg


  • Hero Member

    @executivul said in CNC PCB milling:

    If I "tune" the position of a new endmill I can reach 60k rpm without any vibration at all, so I get almost no runout.

    How do you tune the position of a new endmill? Are you referring to how far into the collet you are inserting it?

    BTW, thank you very much for your posting. It was extremely helpful. I didn't know anyone was using ER8, but from your positive experience, it sounds like ER8 may be the way to go. All else being equal, it makes sense that a narrower ER8 assembly would be prone to less runout, as an imbalance on a wider ER11 assembly would obviously be amplified more at higher RPM's than an equivalent imbalance on an ER8 assembly.

    If you don't mind my asking, which manufacturer and model ER8 60,000 RPM spindle do you have, and from where did you source it?


  • Hero Member

    So, with ER11 now abandoned, it opens the possibility to something like:
    https://www.aliexpress.com/item/32837403762.html?spm=a2g0o.productlist.0.0.309b13aeeW38rW&algo_pvid=2ec935ea-2c66-44ff-90b5-31e667176b31&algo_expid=2ec935ea-2c66-44ff-90b5-31e667176b31-3&btsid=0bb0623c16040901544143852e25d3&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
    which would be less than $200, delivered in just a couple weeks. It claims runout is 0.01-0.02mm (which sounds encouraging, though it doesn't indicate where the runout is measured from). It's 36v, allegedly single phase, which maybe means it could even be powered using a simple 36vdc power supply coupled with a PWM motor speed controller? For example, maybe this?
    https://www.amazon.com/gp/product/B081YQW36Z/ref=ppx_yo_dt_b_asin_title_o09_s00?ie=UTF8&psc=1

    The collet itself looks a bit mysterious.


  • Hero Member

    Or, maybe something like this:
    https://www.aliexpress.com/item/32653823271.html?spm=a2g0o.productlist.0.0.17ec6b694kraVc&algo_pvid=9be973d5-8868-4815-9e2c-75c046c6b849&algo_expid=9be973d5-8868-4815-9e2c-75c046c6b849-1&btsid=0b0a557016040910481015724e7c0e&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

    which is 75v, still single phase, water cooled, but it has a recognizable ER8 on it. Costs around $175, delivered.

    I'd probably opt to pay more, though, to get something with less runout, like maybe this:
    https://www.aliexpress.com/item/4000812286377.html?spm=a2g0o.detail.1000060.2.97ea29d2lqjJXu&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.169870.0&scm_id=1007.13339.169870.0&scm-url=1007.13339.169870.0&pvid=dafeb530-8e0e-478a-8fdf-1fa3b2193609&_t=gps-id:pcDetailBottomMoreThisSeller,scm-url:1007.13339.169870.0,pvid:dafeb530-8e0e-478a-8fdf-1fa3b2193609,tpp_buckets:668%230%23131923%2328_668%23808%233772%23437_668%23888%233325%2317_668%234328%2319940%23948_668%232846%238115%23852_668%232717%237563%23559_668%231000022185%231000066059%230_668%233468%2315607%2336

    which claims a runout of just 0.004mm, because whatever spindle runout there is will get amplified at the tip of any bit that gets inserted. I just have no way of knowing by how much it will get amplified, so for that reason I'd lean toward minimal spindle runout. They also claim to be the spindle manufacturer, so in theory they should know what they're talking about. Since the spindle itself is rated for only 75v, hopefully I could find a VFD somewhere that runs from 110v input voltage, which here is a lot more convenient, without having to wire for 220v or step 110v up to 220v just to meet the more typical Aliexpress VFD input requirement of 220v.



  • @NeverDie This is the one I've got: https://www.aliexpress.com/item/4000321437538.html?spm=a2g0o.productlist.0.0.3fb4457dTnpLL8&algo_pvid=d91fe6a2-335b-49cf-99fb-e01ae6fc9467&algo_expid=d91fe6a2-335b-49cf-99fb-e01ae6fc9467-3&btsid=0b0a556216043099802122070e932b&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

    I've bought it via ebay from an European reseller, faster shipping and no taxes di*king around.

    By "tuning" the endmill I mean: take out the collet/nut, blow the dust out, insert the endmill untill the chamfered edge passes through the collet. Insert collet/nut/endmill as it is in the spindle and tighten LIGHTLY!!! Do NOT overtighten! Start spindle, turn to max rpm, if it's noisy stop! take out whole collet/nut/endmill from spindle and rotate the endmill in the collet like 30-45 degrees, reinstall and run test again. If patient enough you can get to 60k rpm without much vibration.
    Lately I'm not going over 35-40k rpm, the VFD shows the speed from 0 to 1000 and I stick around 700-750. For drills I run even lower, like 550-600 and don't bother tuning at all.
    You can find the sweet spot as I said earlier, turn up the rpm, then slowly decrease until silent. You will find there are rpm ranges where vibration is high and ranges where is low, just use the lowest vibration one while still having a good rpm (find the vibration function poles).

    Imagine the in the picture rightmost is 60k rpm, the blue line is the noise/vibration level, as you go to the left (lower rpm).
    ![alt text](da183c59-f05a-4225-8884-1361202b7ca0-image.png https://i.stack.imgur.com/IuEtI.png)



  • I had a chance (and a need) to make a quick PCB prototype again, so I've finished my first real-life exercise with my new CNC3020(T).

    I made two mistakes:

    • as I was in hurry, I did not use enough measurement points for the levelling. A small extra copper remained at two places, hopefully it won't need too much work to get rid of it. The time saved on the levelling will be spent twice on the post-processing... lesson learned... again...
    • I made an unintended short during the levelling and had to reset the controller. Working coordinates were re-defined manually, causing a small shift between the two sides. Once I'll have my new controller ready, this should not happen again.

    Beside these issues, the result still looks amazing.
    Here are some pictures for reference:

    20201106_200847.jpg

    20201106_202113.jpg

    20201106_210426.jpg

    20201106_210444.jpg

    20201106_224057.jpg

    isolation:
    CNC3020T PCB isolation routing – 00:17
    β€” AndrΓ‘s Kabai

    drilling:
    CNC3020T PCB drilling – 00:42
    β€” AndrΓ‘s Kabai

    Conclusion: CNC2030T is an affordable CNC machine which can be easily used for precise PCB prototyping.
    Btw, this was my conclusion for my previous CNC2418 as well. Both of them proved their capabilities. CNC3020T is just better, more robust and good for more stuff.

    To be honest, if one buys a CNC from the super cheap 2418 category and the main goals is PCB milling/drilling, then I do not see any reason to spend money and time on upgrades, as the base machine is good for the job.


  • Hero Member

    @andrew Have you gotten around to automatically setting your tool height? Though not absolutely essential, it does seem like a nice convenience. From what I've been reading, Candle can do it. You put a z-probe plate underneath your newly mounted tool, then Candle comes down fast, makes contact, then backs up a bit and then comes down again more slowly to measure the actual tool height relative to the z-probe plate. Not sure how that plays out on the first pass if the z-probe plate has no give to it though, as, for example, using just a bit of copper clad PCB for the z-probe plate. Maybe use a spring-bit to avoid skewering the z-probe plate on the first pass? Oops, except that would only work if all your tools are spring-bits. πŸ™„



  • @NeverDie after changing the tool I always make a single touch probe so Z level can be adjusted to the new tool properly.

    This is necessary even for the PCB milling. After the levelling is done, a single touch probe is needed somewhere in the working are to set the Z0 and to make it as a reference point for the bed levelling mesh.
    At least this is how it is done in bCNC.
    After the isolation routing is done, I make a single Z touch probe for each drill bits to set the correct Z0 for the given bit. This is done in the same way as in case for the PCB probing.
    Note that as the drilling on Z axis does not require high precision (basically if your drilling depth is slightly bigger than the PCB thickness, then even if your Z is just roughly adjusted to the PCB top, it will do the job).

    As I currently work with PCBs only, no other touch probe was necessary, however for woodworking (or for other non conductive materials) one can use a dedicated "touch probe".

    There are nice solutions form a simple PCB:
    DIY Z Probe For CNC Machine – 08:26
    β€” Nikodem Bartnik

    or
    UPGRADE CNC 3018/ PRO Z-PROBE | Z Axis tool probe | GRBL | EASEL | SUB – 10:02
    β€” Cosmo Channel

    or you can buy a cheap touch probe as well:
    https://www.aliexpress.com/item/4001010640247.html

    or you can go for nicer and more expensive professional touch probes πŸ™‚


  • Hero Member

    This thingiverse item is more along the lines of what I had in mind:
    https://www.thingiverse.com/thing:3346286

    It's notionally the same as the probes you listed, but it includes a spring to compensate for any overshoot. Of course, if you're moving the z-axis extremely slowly in the first place, then I guess the spring wouldn't be needed. I presume the "double touch" that candle does is to speed things up: find approximately the right height at high speed, then back-up just a little then and find it again at a much slower speed. For the Candle approach, maybe this thingiverse spring-loaded touch plate would be better than just a rigid touch plate that has no spring to it. I suppose it depends on whether the spring loaded touch plate can repeatably reach exactly the same height again and again, or not.

    Speaking of repeatability, and measurements thereof, I just today receive this electronic dial indicator gauge:
    https://www.amazon.com/gp/product/B07888LX1R/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
    When combined with a matching data cable, it can help to automatically collect repeatability data and log it into a spreadsheet on an attached PC. I have the data cable (actually, a specialized RS232 to USB converter) on order. From what I've read, it can be triggered either by pressing a button or by an external contact closure, which is what I hope to use to automate the button pushing.



  • @NeverDie : well,

    • for PCB milling this spring loaded stuff simply does not work, as the whole area should be mapped.
    • for non-PCB Z zeroing it could be good, however in such case (imho) this is just an over complicated/engineered method for a simple probing.

    when you need a single z touch levelling then better to have a rock solid solution rather then have additional moving parts and potential other vectors for a failure. even with a slow feed rate, a single probe can be done in an acceptable time period, so why should you risk your result?
    I can imagine that this spring stuff can help you when you approaching with quite high feed rate for first, but in such case I would be afraid of the "wearing" of the probe surface over time and the inaccuracy it may cause later on.

    btw, the "double probing" with fast then a slower feed rate is used by other sw/firmware, e.g. marlin does the same (in certain configurations) for 3d printers.



  • @andrew Important to note, that I'm still talking about hobby cnc solutions. For professional CNC working and for a pro machine I'd prefer to use as many "pro" and automated solutions as possible.
    for occasional hobby purposes defined in this thread, and for these damn cheap machines I think it does not make sense.

    pro machines with auto tool change do benefit from auto probing, but that is a total different story.


  • Hero Member

    @andrew Thanks for sharing all your insights. Your posts continue to inspire me long afterward. 😎


  • Hero Member

    Worthy of note is that bCNC now supports camera alignment for two sided PCB boards. You just need a spindle mounted camera, and then you simply show bCNC a couple of points (by centering the camera cross-hairs on them) around which to do the alignment for the opposite side. This replaces the need to use physical alignment pins to align the two sides, as flatcam does. I haven't yet tried it, but it sounds like a very nice convenience. The "Ant PCB Maker" project has been leveraging this feature of bCNC for one or two years now. I don't believe the existence of bCNC's camera alignment capability is widely known, though, as I only just recently heard about it, and even then only by chance.

    Thinking about it now, two known points are required when nothing is pinned because that's how many points are needed to re-establish the origin as well as correct for any rotation that may have occurred after the board is flipped over. So, presumably, first a new origin needs to be established, and then all of the g-code for the second side needs to be amended after-the-fact to account for any rotation that may have happened when the board was flipped.


  • Hero Member

    For anyone who may be interested in building their own CNC from scratch, there are now (finally!) a couple of open source CNC projects gaining traction that build rigid frames and make use of higher caliber parts such as linear rail guides and ballscrews. Also, unlike other open source projects that make use of 3D printed parts, the 3D printed parts used by these projects are mainly jigs for alignment during the build/assembly process or else non-structural in the final build (e.g. clips for wire management), so the end result is a very stiff machine and therefore without the drawbacks of seemingly all other open source CNC projects--as well as Chinese aliexpress CNC kit--that inevitably compromise on stiffness in one way or another and/or use low precision parts. For anyone who might be interested, the two projects are PrintNC and MilkCR8:
    https://wiki.printnc.info
    https://milkcr8cnc.com

    Both have active forums on discord. Comparing the two, MillkCR8 is focused on a desktop machine about the size of a milk crate (hence the name), whereas PrintNC is scalable in size, leveraging a parametric design to generate plans that will make it any size you like (from small to jumbo extra large) to encompass any cutting volume you might want. MilkCR8 relies on a wooden box frame, which doubles as an enclosure (notionally similar to a Nomad CNC), whereas PrintNC has a standalone steel frame that you bolt together, with an enclosure being both separate and optional. Because the goal is stiffness, neither project makes use of extruded aluminum, so in that respect they are very different from Chinese CNC kits.


  • Hero Member

    Reporting back on a few things that I either didn't realize or perhaps didn't fully appreciate when I first undertook the earlier CNC above, and which may benefit others. 1. the proper way to insert the collet is to first snap it into the nut and only afterward insert the bit. Now, in retrospect, this may seem obvious (especially to those in the know), but I notice that even Ave got this wrong, so I don't feel too bad for having made this ignorant mistake. 2. Although the standard instruction is to insert the bit so that it protrudes just barely beyond the back of the collet by around 1/8" or so, the fact is that an extremely easy way to greatly reduce runout is to insert it much farther inside than that. As long as it's not bottoming out inside the spindle, you're good. 3. For milling PCBs, small machines are actually better. I'm presently assembling a 6040 machine, and I expect it will go well, but the fact is that deflections on a 3020 machine, given comparable construction, are far less, as simple physics tells us. I was aiming to have a single "do everything" CNC, but retrospect, I think an argument can be made for having a small CNC for PCB work and a separate larger machine for handling other things. My current build will have a 60,000 RPM spindle, which I've measured as having 1 micron of runout (shown in attached photo) and should therefore be great for milling PCBs, but the same spindle isn't well optimized for, say, milling aluminum or steel, which would be better done by a slower, higher power spindle. So, food for thought, if you're in the planning phase and deciding what to do.
    1micron.jpeg
    I went for the 6040 machine mainly because at the time I ordered it, the total cost was nearly the same as for the 3020 variant, and the shipping cost was strangely the same, and so I figured "Why not?" However, the whole thing weighs close to 100 pounds, whereas a 3020 of comparable construction would have been a lot easier to move around. That said, the higher mass of a 6040 should help damp vibration, so maybe it's a wash. 4. Even if it comes largely pre-assembled, plan on taking everything apart and lubing everything properly. I don't think mine were lubed at all at the factory. I installed zerk fittings on the ballscrews and then used a grease gun on both the ballscrews and the rails. I also replaced all the plain steel bolts with stainless steel ones. As always, with Chinese construction, the sellers just always seem to cut corners, no matter how much you spend. 5. If I ever build another CNC beyond this one, it will probably be a PrintNC, because the end result will be a very stiff machine based around all-steel construction without China short-cuts. 6. Not all closed loop stepper drivers are the same. You want one that has a thorough programming manual available for it. The HBS86 is the only one I know of that has this, though there may be others. Without such a manual, your ability to make sense of all the software controlled parameters and/or tune it will be severely handicapped.


  • Hero Member

    Of possible interest: Here's a guy who is building an inexpensive open source ethernet controller for stepper motors:
    What happend to Ethersweep? Project Update! – 12:36
    β€” Neumi

    If you listen to the end, it's revealed that there is now generous funding available which allows people to do this kind of open-source development as a full time job, which is what he is now doing. For that reason, I think there's a good chance he will complete his project within the allowed 6 months., and so by the deadline it will likely be nicely polished.


Log in to reply
 

Suggested Topics

  • 4
  • 8
  • 2
  • 4
  • 20
  • 17

8
Online

11.4k
Users

11.1k
Topics

112.7k
Posts