# My CoreXYU Printer project

Posted by lars.arvidson
 Re: My CoreXYU Printer project October 22, 2017 12:09PM Registered: 10 years ago Posts: 14,672
PS - someone recently posted here [forums.reprap.org] about compensating for leadscrew wobble by pre-processing the GCode using a Python script. I've considered supporting this type of compensation in RepRapFirmware. RRF already does XYZ skew compensation, so compensation for leadscrew wobble would be trivial to do if the wobble is constant in amplitude with increasing Z. But I suspect that will often not be the case.

Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
 Re: My CoreXYU Printer project October 22, 2017 02:33PM Registered: 6 years ago Posts: 86
Thanks for your feedback guys! Lots of things to consider…

I'll have to weigh the bed, I do imagine it will be a few kilos...

Quote
dc42
2. Lifting force. Delta printers only need to lift an effector, which is normally light in weight. You will need to lift the mass of the bed. The required torque needed per motor is:

required_torque = (bed_mass * g)/(pulley_radius * number_of_motors)

The radius of a 16 tooth GT2 pulley is (2 * 16)/(2 * pi) which is close to 5mm.

To ensure good microstepping positioning, the required torque should be no more than about 5% of the motor's holding torque (perhaps 10% at a push) - and that is after you have derated the published holding torque by 0.8 to allow for the fact that the motors will get too hot if you run them above about 80% of rated current, and by a further 0.71 to allow for using microstepping.

I do believe there’s a typo in the required_torque formal, it should be:
required_torque = (bed_mass * g * pulley_radius) / number_of_motors

If I understand you correctly I can only use 0,05 * 0,8 * 0,71 = 2,84% of the steppers holding torque if I want microsteppings to work well?

Quote
dc42
PS - someone recently posted here [forums.reprap.org] about compensating for leadscrew wobble by pre-processing the GCode using a Python script. I've considered supporting this type of compensation in RepRapFirmware. RRF already does XYZ skew compensation, so compensation for leadscrew wobble would be trivial to do if the wobble is constant in amplitude with increasing Z. But I suspect that will often not be the case.

Interesting. Might be hard to calibrate as the auto levelling might change the wobble slightly each time?
 Re: My CoreXYU Printer project October 22, 2017 04:37PM Registered: 11 years ago Posts: 5,780
I can't imagine how you'd account for all the variables in trying to compensate wobble caused by lead screws. Besides the variability of the bend in the screws, there's the axial alignment with the motor, and the variable flexibility of the screws, guide rails, and printer's frame, all of which vary as a function of Z. The problem becomes much harder when you factor in multiple screws and multiple guide rails.

Maybe the nuts could be loosely coupled to the plate they lift in a way that allows them to slide around laterally a couple mm. Then the screws can't generate any lateral forces except for the sliding friction. The nuts have to be prevented from rotating, yet allowed to slide easily in any direction. If a nut were mounted on something like two stacked, very short, linear guides, one aligned in X and the other in Y, both with over-sized holes through them to give the screw some room to move, the bent, misaligned screws would be free to wobble all they want without putting any lateral force on the bed support. Maybe there's an off-the-shelf solution available for this, but probably not cheap. I have purchased very short linear guides on ebay for about \$10 each. Drilling a hole through the guide rail would be a problem, so you'd have to cantilever to the sides a little to make it work. It would be sort of bulky, heavy, and expensive if there are multiple screws, but you might then get away with using threaded rods instead of lead screws.

Or you could just build a rigid frame and use fully supported linear guides in Z that would force the screws to flex instead of shifting the bed laterally.

Or use belts that don't create any lateral forces that need to be resisted or compensated. Then you might not even need the rigid frame or fully supported guide rails.

Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
 Re: My CoreXYU Printer project October 23, 2017 04:10AM Registered: 8 years ago Posts: 5,232
What about connecting the screw nut to the bed via a caster ball wheel?
To keep the nut from rotating you'd also need torque arms with an elbow joint. ( traxxas rod ends? )
 Re: My CoreXYU Printer project October 23, 2017 06:14AM Registered: 10 years ago Posts: 14,672
Quote
the_digital_dentist
I can't imagine how you'd account for all the variables in trying to compensate wobble caused by lead screws. Besides the variability of the bend in the screws, there's the axial alignment with the motor, and the variable flexibility of the screws, guide rails, and printer's frame, all of which vary as a function of Z. The problem becomes much harder when you factor in multiple screws and multiple guide rails.

Yes, I suspect that would be the case. Varying the compensation linearly with Z would be simple to do, but anything more than that would be a nightmare to calibrate. The real killer would I think be multiple leadscrews, because leadscrew wobble might cause bed rotation.

Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
 Re: My CoreXYU Printer project October 24, 2017 11:06AM Registered: 6 years ago Posts: 1,007
Anyway, "wobble" is mostly erratic and the result of a poor design/build. It is not that difficult to eliminate or at least bring it to an acceptable level.

"A comical prototype doesn't mean a dumb idea is possible" (Thunderf00t)
 Re: My CoreXYU Printer project October 26, 2017 01:22PM Registered: 6 years ago Posts: 86
I have decided to try a mount with a bearing above the coupler to stabilize the leadscrew a bit. Having the stepper on top and the leadscrew “hang” down would have been better than have the stepper in its current configuration (fixed at the bottom and floating at the top) but as I want to keep it out of the enclosure that is not possible. The long leadscrew might bend a bit under the weight (or be slightly bent from the beginning) so I might try a thicker leadscrew.

Edited 1 time(s). Last edit at 10/26/2017 01:26PM by lars.arvidson.
 Re: My CoreXYU Printer project October 26, 2017 09:12PM Registered: 7 years ago Posts: 249
Looks like what you need is end supports (bearing mounts). Also reduces whip.
The screw passes through a bearing, and for ballscrews anchors the driven end with the flex coupling and motor on the outside.

In my set up, motor is on the top, the spacer houses the flex coupling. Fixed bearing mount directly below, then a foating (free in Z) at the base.

 Re: My CoreXYU Printer project October 27, 2017 12:21AM Registered: 6 years ago Posts: 86
Quote
prot0typ1cal
Looks like what you need is end supports (bearing mounts).
[attachment 99211 Hlid-side.jpg]

Your set up looks really nice but do fixing the screw in both ends really help with this problem? I would have thought that it would make it even worse…
Part of my problem might be that my leadscrews are not perfectly straight. I have 1605s on the way (same as you I believe), should arrive in the beginning of next week.
 Re: My CoreXYU Printer project October 27, 2017 02:33AM Registered: 7 years ago Posts: 249
Absolutely it helps. Almost all industrial CNC machinery configure ballscrews in this manner.
Yea, they have to be aligned to prevent binding, however it almost guarantees straight, wobble free motion.
Think you'll be way happy with the 1605's.
 Re: My CoreXYU Printer project October 27, 2017 08:02AM Registered: 11 years ago Posts: 5,780
Hobby 3D printers usually only fix one end of the screw because the guide rails and frames of the printers are typically quite flexible. If you fix both ends of a bent screw, it will force the guide rails and frame to flex, displacing the extruder carriage or bed plate creating Z wobble. Industrial positioners fix both ends of the screws (and probably use straight screws) because the manufacturer doesn't know what speed the thing is going to be spinning. If only one end is fixed and you spin the screw fast, it whips. In 3D printers, speeds are low so you can get away with fixing one end of the screw because it isn't going to whip. Industrial positioners are generally more rigid assemblies and use fully supported guide rails or linear guides and a little bend in the screw isn't going to result in much lateral deflection of the bearing blocks or flex in the frame.

Edited 1 time(s). Last edit at 10/27/2017 12:47PM by the_digital_dentist.

Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
 Re: My CoreXYU Printer project October 27, 2017 12:32PM Registered: 6 years ago Posts: 1,007
Quote
lars.arvidson
I have decided to try a mount with a bearing above the coupler to stabilize the leadscrew a bit. Having the stepper on top and the leadscrew “hang” down would have been better than have the stepper in its current configuration (fixed at the bottom and floating at the top) but as I want to keep it out of the enclosure that is not possible. The long leadscrew might bend a bit under the weight (or be slightly bent from the beginning) so I might try a thicker leadscrew.

In fact this is the correct way to mount a leadscrew. 99% of the hobby 3D printers are wrong in that respect.
Best is to have the motor at top. The leadscrew will work in tension, no buckling then. No need for a second ball bearing, make alignment difficult and not needed because the speed is low.

Edited 1 time(s). Last edit at 10/27/2017 12:32PM by MKSA.

"A comical prototype doesn't mean a dumb idea is possible" (Thunderf00t)
 Re: My CoreXYU Printer project February 03, 2018 06:16AM Registered: 6 years ago Posts: 86
I managed to install the 1605 ball screws with decent results. The z-banding is pretty mush eliminated. I bought the ball screws from banggood. I finally managed to get one perfect and two decent ball screws after going through a total of 7 ball screws. Don't know if they get bent during shipping or if they are just bad quality. The replacements shipped with china post was slightly less bent than the once delivered with DHL express…
Getting perfect ballscrews from bangood is in my experience hard so if you are thinking of getting some you might want to look for another source.
Next step is to switch to linear rails for X and Y.

I also printed a case for the 7" lcd that I'm pretty happy with. It is attached to the Duet wifi through a 3 meter cat6 cable giving me plenty of range.

 Re: My CoreXYU Printer project February 03, 2018 06:46AM Registered: 6 years ago Posts: 86
Section analysis to an idea of how the case looks inside.

Edited 1 time(s). Last edit at 02/03/2018 07:00AM by lars.arvidson.
 Re: My CoreXYU Printer project February 04, 2018 01:32AM Registered: 7 years ago Posts: 249
Love the 3 screw set up, perfect for auto bed leveling.
Amazing to find 1605's that are bent, guess they are factory rejects being sold as "good".
 Re: My CoreXYU Printer project February 04, 2018 04:10AM Registered: 6 years ago Posts: 1,007
1605 are 16mm diam ! The bent must be a factory "feature" ! Hey these guys dare to sell ball bearings who inner and outer race are not tempered ! Yes, just SOFT steel !

What kind of bushings are you using on the vertical rods ?

"A comical prototype doesn't mean a dumb idea is possible" (Thunderf00t)
 Re: My CoreXYU Printer project February 04, 2018 05:09AM Registered: 6 years ago Posts: 86
Quote
prot0typ1cal
Love the 3 screw set up, perfect for auto bed leveling.

Yep, when you done a bit of work on the printer/bed its really easy to get it level again with the duets auto bed levelling feature.

Quote
MKSA
What kind of bushings are you using on the vertical rods ?

Printed with Igus I180. These were the first I printed. They are printed in spiral mode. I changed the design slightly for X/Y to get a thicker less wavy bushing.

Edited 1 time(s). Last edit at 02/04/2018 05:10AM by lars.arvidson.
 Re: My CoreXYU Printer project February 05, 2018 01:10AM Registered: 7 years ago Posts: 249
dc42 FTW !!!
 Re: My CoreXYU Printer project February 05, 2018 02:28AM Registered: 6 years ago Posts: 1,007
Quote
lars.arvidson
Quote
prot0typ1cal
Love the 3 screw set up, perfect for auto bed leveling.

Yep, when you done a bit of work on the printer/bed its really easy to get it level again with the duets auto bed levelling feature.

Quote
MKSA
What kind of bushings are you using on the vertical rods ?

Printed with Igus I180. These were the first I printed. They are printed in spiral mode. I changed the design slightly for X/Y to get a thicker less wavy bushing.

Indeed, wavy as one can see. Problem is this set up is therefore flexible.

Edited 1 time(s). Last edit at 02/05/2018 09:14AM by MKSA.

"A comical prototype doesn't mean a dumb idea is possible" (Thunderf00t)
 Re: My CoreXYU Printer project March 04, 2018 06:45AM Registered: 6 years ago Posts: 86
I'm going to switch to linear rails for X and Y. I got MGN15-1H-666 for Y-axis and MGN9-2H-746 for X-axis (robotdigg). I'm considering doing something like the drawing below. Attach the Y rail under a 4040 extrusion and have X-axis hanging from it. Route the belts between the Y-axis and the two X-axis rails. Any thoughts?

Did a stand for a laptop and its thunderbolt dock. It's amazing how easy it is to model and print something like that. The result worked out pretty well.

 Re: My CoreXYU Printer project March 04, 2018 07:20PM Registered: 7 years ago Posts: 249
Looks pretty sweet!

I'd go for larger idlers if you can, just for belt life.
Sorry, only registered users may post in this forum.