Saturday, July 22, 2017

UMMD Belt Lifted Z Axis Design, part 1

The normal way to move a bed in a coreXY printer is to use one or more lead screws to lift it.  A lot of printers use a cantilevered design in which the bed and its support structure are lifted from one side only.  This has advantages of being simple mechanically, and leaving the print accessible and visible from 3 sides.  The problem is that it's very difficult to make a cantilevered bed whose free edge, opposite the screw, doesn't bounce, limiting print speed and/or degrading print quality.

Right side view of a CubeX Duo 3D printer's frame showing cantilevered bed.  Bouncing of the front edge of the bed (left in the photo), caused by vibrations and shaking of the printer's frame, limits print speed to under 40 mm/sec.

You can get around the bouncing problem by adding more screws, with the best performing design probably being 3 screws lifting the bed, adding to the mechanical complications and cost.  One of the common print flaws in machines that use screws in the Z axis is called "z-wobble" caused by slightly bent screws pulling the bed back and forth laterally (aided by end-supported guide rail flex) as the bed moves down during a print.

I wanted a lot of Z capacity, and didn't relish the idea of using multiple very long, heavy screws to do the lifting, so I decided to try using a belt.  The advantage is that belts are cheap, setting them up is very easy, and they can't produce lateral forces on the bed that can lead to "z-wobble".  Known problems with belt lifted Z axis designs include bed dropping when motor power is cut and belt stretch.  It took three iterations of the design before I finally settled on one that is in the printer now and has been performing very well.

Linear guides were used in the Z axis because they are as close to perfect linear bearings as you can get.  Instead of cantilevering off one guide, I placed two of them at the center of opposite sides of the bed.  In a sense, the bed is still cantilevered - it has unsupported front and back edges- but those edges are quite close to the belt and the bearings, the bearing blocks have no play, and the fully supported linear guides aren't going to flex, so it works well and doesn't cause any print defects.

The Z axis was built with a U shaped frame made of 40 x 40 mm t-slot extrusion with 760 mm long THK HSR15 linear guides ($110 for the pair via ebay) anchored to it using t-nuts.  The surfaces where the linear guides were mounted were milled flat so the linear guides would sit in stable positions.  The motor was mounted on a 1/4" aluminum plate at the bottom of the frame.

Z axis frame showing milled slot for the linear guide.

Milling the Z axis motor mounting plate.  The big hole was cut using a boring bar.

Z Axis Rev 1

This version used a single, long, 9 mm wide (less stretch than the more commonly used 6 mm width) glass core GT2 belt to lift both sides of the bed. Stacked F608zz bearings mounted on shoulder screws driven into 1/4" aluminum plate served as pulleys.  It was all driven by a 160 oz-in NEMA-23 size motor.

The original Z axis frame shown upside down.  The belt is tensioned by pulling on the top (at the floor in the photo) pulley plates and tightening them down.

The bottom of the Z axis.  The green parts are printed TPU bumpers to prevent metal to metal contact if the bed should drop.

Z axis rev 1 mounted in printer frame.

Once it was all put together I tested it by setting the unfinished bed plate on the support and drove it up and down the Z axis.  At some point, while the bed plate was at the top of the Z axis, I decided to make a change to the controller's configuration, then rebooted the controller.  That cut power to the Z axis motor and the bed dropped like a sledgehammer.  I had anticipated the bed-drop problem and installed TPU bumpers at the bottom of the Z axis, but they weren't enough.

That led to rev 2...


  1. If weight was not a consideration, would you use lead screws? I'm also currently looking to build a large corexy after building 2 printers. Like you said here, adding 3 lead screws adds complexity; for my build, it took a bit of tuning before the 3 screw system driven by 1 motor worked. However, I've never tried or needed to use belts for the z, as I've never needed to have to move my printer around, thus, there was no need to compromise for the weight of the printer.

    1. I didn't really use belts to reduce the weight. I just wanted to try belts and didn't want to have to deal with Z-wobble that can happen easily with screws.

      Based on my experience with the final version of the belt drive (see the Z axis part 3 post), I would say there was no compromise in performance at all compared to screws.


Leave comments or a questions here and I'll try to post a response as soon as I can.