I decided that two equal length belts would be better than the single long belt. The two belts will stretch equally, keeping the bed level under load.
|Complete Z axis rev 3 design.|
I put a longer shaft on the worm drive, added pillow block bearings and two 36 tooth drive pulleys to both ends of the drive shaft, finalized designs for the belt clamps and the Z=0 and Z max limit switches, and ran more tests.
I experimented with different belt clamp designs as I developed the three different versions of the Z axis. In the end it came down to a choice between two designs.
|The first design used printed teeth to engage the belt's teeth.|
|The second design used a short segment of belt to engage the belt's teeth.|
Z max Switch
I used an industrial surplus snap action switch that I found in a box at the makerspace and printed a mount using ABS. It attaches to the frame using a single t-nut and can be moved up or down by sliding it into position in the slot in the frame. It is positioned to stop the Z motor when the bed gets within about 1 mm of the bottom of the Z axis.
UMMD Zmax limit switch operation from Mark Rehorst on Vimeo.
The Z=0 switch determines how high the nozzle will be above the bed for that critical first layer. There are two common methods for adjusting the Z=0 position. First, oldest, and most common is a simple screw that bumps a switch telling the controller that the bed is at the Z=0 position. More recently, the proliferation of poorly designed and built printers has been enabled by autoleveling that attempts to compensate for unflat, unlevel beds and automatically sets the Z=0 position. Yuck!
The problem with the screw adjustment is that when you need to adjust the Z=0 position, the threads of the screws commonly used are much too coarse. You might need to adjust the bed position by 50 um but the bed will move by 700-800 um per revolution of the screw. That means small adjustments have to be made using tiny, fractional rotations that are hard to judge, usually resulting in overshoot.
That problem was fixed with a screw mount using a lever and cam that travels with the bed and bumps the switch mounted on the printer's frame. The lever and cam provide about an 8:1 reduction in the motion of the screw, making a 50 um adjustment requires a 1/2 turn of the screw. It is easy to make fine adjustments without overshooting your target. The lever/cam turn on a bearing removed from a hard disk drive resulting in very high precision.
|Here's what it looks like, all blue parts are printed ABS.|
Fine Adjusting Z=0 Switch for 3D Printer from Mark Rehorst on Vimeo.
The pulley plates at the top of the Z axis were reused from the rev 2 design. Two 5/6-18 carriage bolts hold each of the 1/4" aluminum plates just above the ends of the linear guides. The pulleys, pairs of stacked F608zz bearings, are screwed to the plates using shoulder screws and a couple nylon washers as spacers. The bed support shelves are cut from 1/4" thick aluminum L stock and are screwed directly to the bearing blocks on the linear guides. I originally tried 1/8" thick L stock but found it too flexible- when I had to apply some force to remove prints, the bed moved more than I liked (it would probably be OK when printing, the movement just bothered me). The left side belt clamp is sandwiched between an aluminum plate (barely visible in the photo) and the bed support shelf. The aluminum plate covers the belt slot in the clamp and prevents the belt from exiting the clamp.
Top End of the Z Axis
The right side is almost the mirror image of the left side, except that the belt clamp is sandwiched between the Z=0 switch bracket and the bed support shelf. You can see that assembly better in the video, above than in the photo, below.
|Top of the Z axis on the right side. The Z=0 adjuster screw mounts on a piece of angle stock that holds the belt clamp on the bed support shelf.|
A lot of people won't use belts to lift the Z axis because they worry about the effect of belt stretch on the print quality and accuracy. I was a little concerned, too, until I did some tests and calculations.
|Z axis rev 3, bed loaded with 4 kg to measure belt stretch.|
But what about that 42 um stretch? If you're printing in 250 um layers, that's 16% of a layer thickness. That's got to have some effect on the print quality, doesn't it?
Nope. None at all. That stretch doesn't get applied per layer, it is applied per kg of print mass.
So the absolute worst case stretch in any one print layer will be 1.18 um (how often do you cover the entire bed surface with plastic?). That error is so small it will be masked by other, much greater errors such as the variation in filament diameter, frame and guide rail flex, and other imperfections in the printer mechanism. Assuming everything else is perfect, that single layer will start out 250 um thick and will end 251.18 um thick. As the print mass grows the errors will accumulate and a 1 kg print will theoretically be 42 um taller than the design size. If you need to worry about an extra 42 um of height in a 1 kg print, you shouldn't be using a 3D printer to make whatever it is you're making!
TLDR: belt stretch in this belt lifted Z axis doesn't matter, and it's hard to imagine a design where it would.
Final note: the drive pulleys and pulleys at the top of the Z axis are carefully positioned so that the belts run parallel to the Z axis guide rails.
I never priced out a double or triple lead screw version of the Z axis, but here are the prices I paid for the parts to make this one.
ebay (prices include shipping):
F608zz bearings - 10 for $7 (4 used)
8 mm shoulder screws - 10 for $15.02 (2 used)
30" THK linear guides with bearing blocks- 2 for $110
Rino worm drive with motor - $ 116.15 (1 used)
600 mm long keyed shaft for Rino - $31.60
pillow block bearings for Rino shaft- 2 for $12 (2 used)
36 tooth HTD-3M drive pulleys, 2 @ $15.77 each (2 used)
HTD-3M steel core belt $23 (for 5m, ~3.5 m used)
locally obtained stuff:
Misc. bits of 1/4" tooling plate @ $2/lb, maybe 2-3 lbs used.
5/16-18 carriage bolts/nuts $1 per lb
3"x3"x 1/4" aluminum L stock x 7" long - makerspace.
40x40 mm t-slot @ $1 per lb, probably 8-10 lbs used for Z, total
8mm nylon washers - 4 used, my junk box
misc screws, washers, etc.