Four z motors question

  • I'm designing a new 3D printer, a very rigid and well built D-Bot style design.

    One of the design elements I’m stuck on, is the z axis motor arrangement. I want the ultimate in leveling, both in the initial plane of the bed, as well as the mesh support for any unevenness in the bed. I will be using a 3/8” thick aluminum tooling plate, 400mm x 400mm size. My preferred design is one z motor positioned at each corner, with two 12mm linear shafts and bearings on two opposite sides keeping the bed from rotating or shifting (and almost perfectly level, but for the small clearance in the linear bearings). I know that most designs will just use 2 or 3 z motors, but I like the idea of securing all 4 corners, eliminating any slight oscillations of the bed on the 2 unsupported corners, and even more important if I scale the design up to larger build volumes.

    My question is, what is the support for the Duet with 4 active independent motors? I have seen the support page detailing this, but the 4 z motors aren’t recommended if the bed isn’t flexible, which in my case it won’t be (I hope!). What I was hoping for was the ability of the software to keep the steps in sync (even through power cycles) enough for it to be very close, and then a leveling step or calibration routine that would bring the bed up, position at each corner, and go through an iterative process to really zero this in. Then the mesh leveling would take care of any other discrepancy and/or bed unevenness.

    Thanks for any advice or comments on this!

  • Have you come across things to suggest you will get oscillations on the elevator plate that will cause print issues?

    My gut feeling is that the set up for the four lead screws on an inflexible system would need to be very precise, or the steppers would fight against each other. If you managed to get the precise set up required then the margin of error before something binds would be very small. I would be surprised if one of the flexible couplings between the lead screw and the stepper shaft ended up stretching lengthways when fractionally out of sync with the other three drives introducing a vertical oscillation in that corner.

  • I'm really struggling to hold myself back from fixing perceived issues on my core x-y system before I have actually identified the issues on the part that I am trying to fix. That would be one of material issues, artefacts, accuracy, repeatability, or reliability issues. If things can run well with a bit of extra compliance (for lack of a better way of putting it) then the system can get through a few more unforeseen issues where if it had been more rigid it would have locked up, loosing a potentially time expensive build.

    Edit: …after all great engineering design isn't developer gold plating. Its a product that starts with a great specification and comfortably achieves that with a margin of safety.

  • administrators

    The risk with using 4 motors is that when you power the machine off and on again, all the motors have to jump to the nearest multiple of 4 full steps that matches the motor current, and the motors may not all jump in the same direction. If the bed is indeed rigid, this is likely to lead to binding.

    One firmware feature that might help but isn't implemented yet is to detect power down and move all the bed motors a little so that they are at a suitable multiple of 4 full steps for when the machine is powered up again. So that if the motors don't move while they are powered down, they would not get out of sync.

    The current 4-motor bed levelling code assumes a flexible bed. But I suppose it could also be written to drive the motors in pairs, so as to attempt to level the bed in 2 dimensions but not attempt to eliminate twist.

  • @pcb355

    If I may step in here because my CoreXY has almost exactly the same bed dimensions - 400 x 400 x 10mm thick tooling plate. I don't use any form of software/firmware bed levelling or flatness compensation because there is no need. If the bed is flat, it doesn't need to be compensated and if it's level and stays level, there is no need to adjust. Having started with a Mendel built from a kit, and having to do all sorts of compensation before every print, I can say that life is now so much easier. Now I just turn on the printer, select a file and hit print - the start gcode takes care of the heating and initial homing.

    I'm not saying all this because of any desire to boast or brag, merely that you are in an ideal position to achieve the same results. If you use 3 lead screws (my recommendation would be to avoid course lead, multi start screws) spaced such that one screw is near front left, another is near front right and the third is in the centre at the rear you can lift the bed with a continuous belt and a single Nema 17. Trust me, it works. The screws should only provide lift and should not be used to constrain the bed. This should be done by using linear guides. You only need two - one at each diagonally opposite corner. To initially level the bed, I simply slacken the grub screws holding the toothed pulley on to the screw, and rotate the screws. This only needs to be done once when it's first assembled, then maybe once again after a few hours of use.

    You might find my blog useful, particularly this page



Looks like your connection to Duet3D was lost, please wait while we try to reconnect.