Compensation for lost motion



  • While searching for linear drive systems capable of high chamber temperatures I keep stumbling over the humble rack and pinion. One of the issues with those in their basic form is backlash / lost motion. This may or may not be an issue, and if it is a second pinion could eliminate the lost motion. I am not there yet, have some studying to do.

    Now, I know backlash compensation is a snake pit since when multiple joints are driven simultaneously it only works when motor acceleration is infinite, which it isn't. But in my experience when converting a leadscrew-driven manual mill to CNC by simply replacing the handwheels with motors a simple offset added to the joint to compensate for the lost motion does not make things perfect, but it does help. With 3D printers it would be less beneficial since the flow of molten plastic continues while the motor is taking up the slack, but I expect it to at least help.

    However, what I noticed is that RRF seems to lack any form of compensation for lost motion? Or did I miss it?



  • To remove as much backlash as you can, look up "Split-pinion."

    That might get you low-enough backlash that you don't have to deal with the remaining in software.



  • I am aware of the multiple-pinions solutions. Two on one shaft with the secondary one either springloaded or just fixed to the shaft in a slightly different angle, two separate ones parallel to each other with a small belt inbetween that acts as spring, etcetera.

    Since simple=good I am leaning towards two pinions fixed on the shaft which theoretically brings backlash down to the pitch error of the rack plus pitch error of the pinion, which even with quality 10 rack/pinion stuff should be acceptable for 3D-printing. If it turns out that frequent adjusting is required then adding a spring to tension the secondary gear can be done afterwards with fairly minimal design changes.

    I am just wondering if RRF really has no backlash compensation since the basic 'add/subtract a value from the commanded joint position depending on joint direction' algorithm is so simple and it does not hurt when not used. On a 3D printer it might be tricky, but people are also using these boards for CNC where it is beneficial to compensate for the 0.03-0.06mm backlash often found on cheap Chinese not-even-C7-class 1605 ballscrews.

    (that is: when milling a bore using helical milling one can feel the anomalies at 0/90/180/270 degree angles with the fingernails, but at least the bore diameter is not 0.05mm smaller than planned. That's a benefit)



  • OK, another question. Can I compensate for 'lead screw errors', another common feature on CNC-control software?

    Another suitable high temperature drive system might be a humble cable drive.
    Picture for the idea (I did a lousy job blurring the background; cable was hardly visible):

    3dprinter_cabledrive_idea.png

    The screw is also just for show; for a real solution I would spin a suitable pulley from hardened steel to prevent wear, but it shows the concept. Now, if the center section of the coil on the pulley is fixed to the pulley the motion is slip-free and repeatable. If the cable is on the pulley in a 10mm radius, the motion is 62.83mm of cable per rev. Adjust radius to suit motor and preference.

    One small issue: say we use this to drive the X-axis. At X- and X+ the cable must be fixed (well, one side would need a spring). But the coil of wire moves up and down the pulley depending on X position. So the angle between cable and X-axis travel varies, and therefore the distance traveled per step varies with X position.

    Is it possible to do these corrections with RRF?



  • @DaBit It's possible to make the drive so that the cable doesn't not walk up and down the pulley by adding some "steering" pulleys:

    alt text
    The drive pulley on the motor shaft is grooved, not threaded, so the cable never walks.

    corexy cable drive motor mount

    I can't recommend cable drive. It's very troublesome to string the cable and to restring it if you have to make any changes to the mechanism. Then there's the noise that the pulleys make...



  • That cat! 😁

    I am not set on a drive system (or anything, for that matter) yet. Just investigating until I reach the 'ladies and gentleman, we have a plan!' point. I set the target at 150C chamber temperature and as little use of 'not-steel' as possible, therefore the rack&pinion drive and possibly the steel cable.

    I was thinking 'threaded pulley' because that would eliminate any possible slip since you can fix the cable to the pulley, as long as both sides of the fixed position can contain enough cable for the entire travel. It is also a backlash-free mechanism. And cheap. And something special and therefore fun.

    Back of napkin: for a Cartesian coordinate system 'contains enough cable' would mean the travel of an axis. Given 300mm axis travel plus 100mm head parking space (IDEX) that would mean 400mm of travel. Say we use a 6.5mm radius pulley that would mean 10 turns. Say we would use 1mm cable with 1.2mm pitch that would mean a 12mm shift up/down the pulley, or +/- 6mm deviation from parallel to the axis. That might be optimized though by shifting the fixed mounting of the cable slightly.

    Given that the travel we are interested in then starts at, say, 150mm (head out of parking space, nozzle just at X=0, drive motor in the middle of the carriage) and ends at 450mm (nozzle at X=300) the position deviation over the travel is 0.08mm (0.12mm at 150mm distance, 0.04mm at 450mm distance).

    Sounds doable, even without compensation. Disclaimer: back of napkin (or actually head) calculations probably contain an error somewhere.
    With such a single straight run stringing the cable should not be much of an headache either?



  • RRF doesn't have backlash compensation, CPE correction would be an even bigger lift...

    😄

    I've done development work/research on high temp printers, if you really want to hit that 150C build chamber temp your drive options are:

    1. Silicone drive belts. They are good to at least 150C, however they are expensive and are only available in limited lengths iirc (no buying by the meter and splicing).
    2. Steel belts. Not steel backed, fully steel timing belts. Very expensive and hard to source, but good to any temp you can manage!
    3. Screw-drive with Igus nuts. The Igus J350 material is good to (surprise!) 350F. Actually 356F or 180C. That with a steel shaft will work. And while they don't make an anti-backlash nut in the J350, its not hard to use a pair of nuts and pre-load them. And while I can't recall the CPE on Igus screws, I know its decent and you can always substitue a good quality screw from THK or similar.

    There are of course other clever things you can do... but those are the 'off-the-shelf' options I'm aware of.



  • @DaBit Steel cable brings an additional set of headaches. The minimum bending radius has to be respected or the cables will fail quickly (like steel core belts)- that means really big pulleys.

    While you can just tie knots in kevlar or dyneema cord, with steel cables you're going to need hardware to terminate.

    I think it would be better to use a more conventional approach to the mechanism and work out a way to keep it all out of the high temperature area.



  • @theruttmeister said in Compensation for lost motion:

    RRF doesn't have backlash compensation, CPE correction would be an even bigger lift...

    For hardware/software that wants a place in the CNC world that is a miss. Especially when you start looking at them as a feedforward mechanism instead of 'patch for something that is fundamentally broken'. Even when using preloaded C3-class screws there is still a small deviation between commanded and actual position, and screw mapping is quite capable of improving on that even further.

    I've done development work/research on high temp printers, if you really want to hit that 150C build chamber temp your drive options are:

    Must-have is 80-90C chamber temperature. I have warping and layer splitting issues printing larger parts with nylon and ASA. Really nice-to-have would be the ability to print PEI and PPSU.

    I tried to find pricing or a place where I could buy silicone or steel timing belts. So far I did not find any.

    I have the Igus stuff in view too. Both the Iglidur J350 or X bushings and their DST-J350SRM-2624DS12X25 nut with accompanying leadscrew. They have nice high-lead stuff. However, Igus does not want to deal with people needing only a few nuts and screws, but I can probably find someone with an account at Igus and have them buy the stuff for me. Still, that is a high-cost option. But an option nonetheless.

    @DaBit Steel cable brings an additional set of headaches. The minimum bending radius has to be respected or the cables will fail quickly (like steel core belts)- that means really big pulleys.

    Datasheets are not very clear about this. Manufacturer of the 1mm 7x7 stainless steel cable shown on the picture claims a 6mm bending radius but they fail to mention whether that is the one-time-only radius or the repeated-flexing radius.

    Other sources, like this one, talks about a 20mm radius for 1mm wire rope. That would be 125mm per revolution of the pulley, too much without gearing. And if I need gearing then a rack&pinion is probably a better idea.

    While you can just tie knots in kevlar or dyneema cord, with steel cables you're going to need hardware to terminate.

    I know. I have not bought an off the shelf Bowden cable for any bicycle or motorcycle I own for years; I bought several sizes of innercable and PTFE lined outer cable and since then I construct them myself.
    And after doing an emergency fix to a broken clutch cable in the dark, temperature 2 degrees above zero and a slight drizzle I am very anal about termination 😁

    I think it would be better to use a more conventional approach to the mechanism and work out a way to keep it all out of the high temperature area.

    I have been there once; that is a royal pain also.

    So far 150C seems doable. Welded steel for the frame is easy and cheap, for the linear motion one could use all-metal linear rolling bearings (LMxxGA) or the hightemp Igus slide bearing offerings (or even use square rail and replace the end caps on the carriages), keeping the motors in the chamber and cooling them using water or enclosing them and pumping air through the enclosure is not a big deal either.



  • @DaBit said

    Must-have is 80-90C chamber temperature. I have warping and layer splitting issues printing larger parts with nylon and ASA. Really nice-to-have would be the ability to print PEI and PPSU.

    Pick one, 80-90C is a very different challenge than 150C. You can use regular neoprene belts etc.

    I tried to find pricing or a place where I could buy silicone or steel timing belts. So far I did not find any.

    You can't buy them online, you need to talk directly to either a manufacturer or a specialist supplier.
    https://www.belttechnologies.com/timing-belts/
    As an example.
    Never tell people you are building a single machine for your own use! Its an R&D project!

    I have the Igus stuff in view too. Both the Iglidur J350 or X bushings and their DST-J350SRM-2624DS12X25 nut with accompanying leadscrew. They have nice high-lead stuff. However, Igus does not want to deal with people needing only a few nuts and screws, but I can probably find someone with an account at Igus and have them buy the stuff for me. Still, that is a high-cost option. But an option nonetheless.

    Talk to your local Igus rep. Yes they prefer to sell lots of stuff at a time to companies, but its not hard to get them to sell you (or even just give you) small quantities for R&D purposes. (I have drawers full of slides and bearings from them, they have always been very generous with samples).

    @DaBit Steel cable brings an additional set of headaches. The minimum bending radius has to be respected or the cables will fail quickly (like steel core belts)- that means really big pulleys.

    Datasheets are not very clear about this. Manufacturer of the 1mm 7x7 stainless steel cable shown on the picture claims a 6mm bending radius but they fail to mention whether that is the one-time-only radius or the repeated-flexing radius.

    Other sources, like this one, talks about a 20mm radius for 1mm wire rope. That would be 125mm per revolution of the pulley, too much without gearing. And if I need gearing then a rack&pinion is probably a better idea.

    Run the wire outside of the envelope, then you can just use a a belt reduction stage.

    I think it would be better to use a more conventional approach to the mechanism and work out a way to keep it all out of the high temperature area.

    I have been there once; that is a royal pain also.

    If you don't need to worry about the IP side, moving as much outside the heated envelope as possible makes life a lot easier.

    So far 150C seems doable. Welded steel for the frame is easy and cheap, for the linear motion one could use all-metal linear rolling bearings (LMxxGA) or the hightemp Igus slide bearing offerings (or even use square rail and replace the end caps on the carriages), keeping the motors in the chamber and cooling them using water or enclosing them and pumping air through the enclosure is not a big deal either.

    Don't forget, you need to match the co-efficient of thermal expansion on your frame and rails. And then thermally isolate the frame so its not just a big heatsink.

    You can also get stepper motors rated to 150C. You'll need to talk directly to a manufacturer, but they can be sourced.

    150C is doable... but its not a machine for casual printing.
    Everything that will get hot will have a limited service life, it takes an age to heat up and cool down, you need to do additional things like anneal your prints. Drying the filament and keeping it dry is critical (I found a toaster oven very effective for drying Ultem1000, but you do need a steel spool!).

    Unless you actually need the non-strength properties of things like PEI, PPSU, PEEK etc, milling aluminium is often less work and faster.

    Threads like this make me reconsider building a high-temp printer... I have that spool of Ultem somewhere, that will never get used up unless...
    Dammit.

    Also... is it a crazy idea to think that using the hangprinter kinematics to eliminate the need for any kind of linear rails inside the heated chamber might be an interesting solution?



  • @theruttmeister said in Compensation for lost motion:

    Pick one, 80-90C is a very different challenge than 150C. You can use regular neoprene belts etc.

    I set the target at 150C. If that ends up being too costly or too much hassle I might scale down.

    You can't buy them online, you need to talk directly to either a manufacturer or a specialist supplier.
    https://www.belttechnologies.com/timing-belts/
    As an example.

    I found those ones. Oh well, might give it a shot.

    Never tell people you are building a single machine for your own use! Its an R&D project!

    It sure is, I'm not lying when I say that 😁
    But still, I have issues with lying too much and I hate having those sales reps calling me every few weeks.

    Talk to your local Igus rep. Yes they prefer to sell lots of stuff at a time to companies, but its not hard to get them to sell you (or even just give you) small quantities for R&D purposes. (I have drawers full of slides and bearings from them, they have always been very generous with samples).

    My experience is different. Getting dispatched to a distributor that handles linear systems, taking ages to talk to someone, note reacting to E-mail, and when you finally have an answer it is 'no, cannot do sir'..

    I have a request for quote out on the 12x25 J350 threaded nuts and matching screws. We shall see if it is a viable option or one of those unobtainium ones.

    Run the wire outside of the envelope, then you can just use a a belt reduction stage.

    That is another option I was thinking about. Would need a thicker cable though since the printheads are going to be fairly heavy and therefore the pulley even larger in diameter, but it also makes the 'triangle problem' causing position deviations quite insignificant.

    Not using steel to obtain a suitable bending radius is another option. Why not carbon or kevlar, for example?

    I also ordered a piece of simple unhardened rack and a few pinions to play with. It is cheap, I still see that as a viable option, and if it doesn't work out there are plenty of other uses for that around the workshop.

    If you don't need to worry about the IP side, moving as much outside the heated envelope as possible makes life a lot easier.

    I am still not convinced. Having those folded fiberglass curtains behave nicely, enough ventilation and associated heat loss above the curtains, dealing with drafts because the insulation differs, etcetera.

    Don't forget, you need to match the co-efficient of thermal expansion on your frame and rails. And then thermally isolate the frame so its not just a big heatsink.

    That one is easy. Just use steel for everything, and don't overconstrain. Shafts need to be fixed in one location only, allow axial movement at the other side, for example.
    With everything in the chamber it is also easy to dress that chamber in a nice and thick layer of rock wool with only the various wires and hoses poking through.

    You can also get stepper motors rated to 150C. You'll need to talk directly to a manufacturer, but they can be sourced.

    Sure. But they are still specialty items with specialty prices and I expect them to perform less due to increased winding resistance and possibly lower strength hightemp magnets.

    The moment you decide you want to liquid cool stuff you can use it to cool many more things like the steppers.

    This might work:

    7c783f50-cd5f-4f3d-8c6d-6b1f96152a87-image.png

    Steppers shed most of their heat through the flange. A small piece of tooling plate, a couple of minutes on the milling machine, and done. The sintered bronze bearing can sink some heat from the shaft.
    I would have to test, but I expect that a cooling block at the flange and a thin layer of Armaflex HT on the body to prevent heat ingress is sufficient to keep stepper temperature below 80 degrees in a 150 degree environment.
    Use a stepper with connector, escape the stepper with some silicone wire, and that part is covered too.

    Everything that will get hot will have a limited service life, it takes an age to heat up and cool down, you need to do additional things like anneal your prints. Drying the filament and keeping it dry is critical (I found a toaster oven very effective for drying Ultem1000, but you do need a steel spool!).

    The steel spool is not a big drama; I have friends with CNC plasmacutters, and even ordering the metal from 24/7 tailorsteel is not that expensive.
    Drying, well, I do have an oven in the garage which is mainly used for curing epoxy and silicones (both love a high-temp post cure), and vacuum pump too when needed. Those two don't work together yet, but that can be done also.

    Unless you actually need the non-strength properties of things like PEI, PPSU, PEEK etc, milling aluminium is often less work and faster.

    It is mainly the absense of electrical conductivity, heat deflection temperature, fairly low thermal conductivity and freedom of form I am after.
    I won't be printing much of it; 99% of the print jobs are handled fine with ASA, TPU, PETG or PACF, but I would like to be able to do it.

    And I am not too sure about the 'less work and faster' (but I have no experience printing engineering plastics higher up the ladder than polycarbonate, which also is not easy without heated chamber).

    3D-printing means slicing, sending it to the printer, preparing the build plate, heat things up and let it soak for a while, hit the start-job button, and wait for it to finish. Takes a while, but I can do other stuff while the machine is busy. That has proven to be quite valuable.

    Milling means adding reference features when needed for multi-side milling and generally dressing up the design for milling, 10-120 minutes of CAM work, prepare tools, prepare stock, create a fixture if it cannot be held in a vice, juggle the touch probe to set up WCS, do the milling, cleanup the mill, cleanup the part. There is no such thing as 'let's quickly mill something'.

    I am not doing that much commercial work, just enough to somewhat compensate the steady flow of money into boys toys and keep the round-breasted head of finance happy, but when I do the price I have to quote for printed parts are way, way lower than milled parts, especially when it is only one or two.

    Threads like this make me reconsider building a high-temp printer... I have that spool of Ultem somewhere, that will never get used up unless...
    Dammit.

    Hah, gotcha! 😁

    Also... is it a crazy idea to think that using the hangprinter kinematics to eliminate the need for any kind of linear rails inside the heated chamber might be an interesting solution?

    Would be interesting to see how that handles small zig-zag moves 😀


Log in to reply