Ballscrew Z axis for AO-10x Linear Z Rail Equipped Printers

This is an extension of the Linear Z rail project for the Ao-10x series printers, but I figure it will be large enough in terms of posts and pictures that it warrants its own thread.

I have been chasing the perfect Z axis configuration for a while now, and I’ve realized that for my purposes at any rate, the ACME rod that comes with the printer is not going to be adequate. I can get “pretty good” prints most of the time with it, and the occasional really good print, but an unsupported and in my case bent rod is not going to allow for that perfectly accurate print I want every time. I was hoping the linear rail alone would be enough to provide the necessary support, but it seems that is not the case. To that end I have acquired a pair of inexpensive Chinese 300mm SFU1605 ballscrews, with pillow blocks. Total cost for the ballscrews and the blocks was about $120 total for both sides.

The ballscrew itself is very straight compared with the acme rod, it’s stronger, and it seems to be much smoother in movement, and most importantly, no side to side deflection on thread movement. It is quite a bit bigger though, so the existing X ends are going to need a significant rework to fit everything.

My present theory is to do a solid direct mounting and eliminate the decouple spring entirely, since the ballscrew has no deflection to compensate for. Here are some pictures of the current mock up. (That short section of Linear rail is the same dimensions as the full length ones on the real rails.)

The backplate installed presently is one of the thinner original prototype backplates from the Linear Rail project. I’m probably going to have to go with that thickness to make things fit.

For the lower X end clamp, I am considering something somewhat radical. Instead of a removable ballscrew mount “spring” section (or solid mount in this case) why not incorporate the mount directly into the X end clamp? I’d have to replace the clamp nuts with heat set inserts, and I would lose a bit of ease of part removal for troubleshooting, but it would be much easier to make that whole section fit. More importantly, it would also give me a better platform for the next stage project, Linear X rails, when I get that far.

I also know i’ll have a clearance issue with the Z endstop target that i’ll have to deal with eventually. It will probably get incorporated into the bearing mount somehow.

At any rate, that’s what it is shaping up to look like for now. I’m waiting on the top bearing mount and another short linear rail section before I draw the actual ballscrew coupler up.

Anyone have any ideas I can poach or suggestions?

Here we go again!

Swapping out for ballscrews can only be a “good thing” - it’s pretty crazy that the platform doesn’t have then as an integral part of the design - they have all sorts of advantages and no downsides.

I would say though that you still need to consider backlash, even though it will be less of an issue than with the standard design, although it looks like you have some form of vernier on the ballscrew in the images, so that should help. Before you get the system fully assembled, take some time to focus on getting rid of as much as you can - it all adds to the accuracy.

If I could throw in a couple of suggestions, for the Z axis usage, where you using the screw to mechanically “stuff” up and down, give consideration to adding in a thrust bearing as well. You don’t need to spend much - a couple of bucks, and at worse they add no value and at best reduce sticktion and slop.

Also consider that you add adding mass to one side of the printer which will add an amount, even though small, of torsion to the frame, which may change accuracy unexpectedly. Thats really hard, at a home scale, to plan for, so get the project built and then go check for it once it’s installed - if you do have any twist ( hopefully you won’t ), get rid of it before you begin test prints so that your not chasing frame issues at debugging time.


Good points, thank you for the input!

The lower bearing mount contains a 12mm thrust bearaing. The upper bearing mount when it gets here has a 10mm standard bearing in it, with capacity for expansion or contraction.

There will be a ballscrew on both sides of the printer, so I’ll have to watch for torsion effects from both sides. but at the same time I have the stiffer frame due to the Linear Rail mounting spar, so I am hoping that will be a minimal issue

So I finally got the upper bearing block, after a series of errors and delays (nearly 2 months worth!) that will someday hopefully be funny, but now are just hopefully the end of the major part delay headache. And, the clearance is going to be an issue. I’m going to have to rebuild the upper vertex mount to house the bearing block, and to allow sufficient clearance so the ballscrew is not held at an angle. Easy enough, but I was hoping to avoid altering that part. It’s just not going to work though without a change.

The motor couplers will be a variant of the Lulzbot beefy coupler, bored out to 10mm on the top and slightly thickened.

I’m still not entirely sure how I want to handle the lower X end clamp and ballscrew mount point. Hopefully this weekend I will have a better idea. My mockup part is looking more complete though, so I have a better idea of what I need to do.

Project isn’t dead for anyone else wondering, I’ve just been printing trombones and or away from my printer for much of the past 2 weeks.

I’ve started the redesign of the upper vertex mount. I’m thinking I need to build some fine adjustability into it, which is going to complicate things slightly. Still no idea where i’m going to relocate the limit switch target. I’m half contemplating moving the limit switch itself outboard outside the rail. That means an add on piece to the X carriage though, and recabling etc. It’s either that or build the micrometer piece into the new lower bearing mount. I suppose the other option would be to move it to the inside of the X carriage entirely on the inside of the ballscrew. Going to be alot going on in that area though so I’d like to avoid that part of it.

I have been following. Glad to hear its still a work in progress!!!

I appreciate all your AO-10X uprades and mods.

Oh and for the record your are a Lulzbot Fanboy :wink:

I know that you already purchased the 1605 ballscrews, but there are actually smaller ones SFU1204 that can be purchased which I believe are the smallest offered by chinese manufacturers.

This is also something I plan on doing to maintain even tighter, and more repeatable results.

Started playing around with this again last night, and I think I have the upper ballscrew mount sorted out. Will print it today and see how it works.

I’m also thinking about converting the X axis over to TAZ 4 specification at the same time. it will mean swapping the X carriage and a bunch more hardware out, but the advantage would be the ability to swap tool heads between the two machines. I’m thinking that would actually be a pretty easy conversion. I’ll just extend the “backplate” out the side of the assembly, then bolt the stock TAZ 4 bits to it. Should be uploading some of the parts here in the next few days.

More parts exist now:

The lower ballscrew bracket you have seen before, but now it has a matching top plate. As soon as I get one of those printed and heat set i’ll test the fit. Those two parts will be interchangeable. The new backplate is also there, you can see the concept. The stock Taz 4 X end pieces would then mount to it like it would on a TAZ, with a new Taz 4 X carriage assembly. The backplate would unfortunatly have to be two separate left and right units as it is currently, but since I don’t have to maintain that precise spacing I may be able to do something about that. That part will need some cleanup anyways.

The Nut mount itself is next. I want to get the new parts dialed in and printed before I measure for it. Looks like it should be workable though.
Fixed_ballscrew1a.stl (217 KB)
top plate 1a.stl (172 KB)
backplate_ballscrew_2_0_a…stl (271 KB)

Redid the backplate, left and right side.

It’s probably a bit stiffer than it needs to be at the moment, but for where it is and what its doing,the weight penalty for overengineering it is reasonable, plus i’m dumping a bunch of mass elsewhere. The four extra holes on the bottom half are where the ballscrew mount itself will anchor on both sides.

Will build the ballscrew mount itself tomorrow-ish
backplate_ballscrew_z_2_0_b.stl (414 KB)

Printed the top plate. It fits except the heat set insert holes around the bearing access hole are too far apart. Here’s the corrected file.
top plate 2.1b.stl (177 KB)

Pictures of some of the new printed bits.

The second revision of the top bearing plate did the trick. For proper clearance with the heat set inserts, I’m actually running the floating end bearing housing upside down. I can’t make a big enough socket to accommodate it flipped over and still fir the heat set inserts in there properly. This way seems to work fine, with no binding and actually simplifies the mechanicals. Everything is nice and level and there is no binding on the ballscrew. You can also see most of the new backplate. I had a fuse related disagreement with my TAZ aabouout 2/3rds of the way through that print, so it’s not entirely complete, but you get the general idea. THe taz 4 x motor mount is sitting on top of it in place. Everything appears to line up nicely.

Next step after I repair the TAZ and get the backplate printed will be the Z nut mount. Then I have to look at what I need to do for the endstops, make or find a coupler , and the project will actually be done! (well that and acquire a second set of TAZ 4 x axis parts)

It’s getting there.

The Motion segment is done. All I need to design yet is theZ endstop target mount. The Z nut mount is finished, seems to work fine, and fits perfect. Everything lines up great on the mockup rail. I was able to get the last pieces out on the AO-10x while the Taz is still confused, De-fused? I dunno. I also printed the first of the new X axis Taz 4 pieces to fit to the new backplate. Overall I’m pretty happy with how everything lines up, though I may need to do something different for the X endstop just for clearance. Won’t know fur sure until I get some more parts here to bolt it all together. Anyways, here’s the pictures of the new AO-10x Ballscrew Z axis assembly. The last picture shows kind of what the Micrometer Z endstop target will look like. The new one will be a barrel mount unit, and will be a bit longer arm. That’s actually the old one off the old linear rail project. I have a pair of 10mm rails and 3 bearings on the way for the new X carriage. As soon as I get the endstop micrometer in hand and get it mounted and actually fitting right, I’ll print the idler side and actually bolt this thing to the printer. It’s getting close!

And the Z nut adaptor and STL file

As always, if anyone wants the design files in any format, just let me know.

Edit: I forgot to mention the coupler. That’s just the standard issue Lulzbot designed Beefy Coupler available in the archive. It happens to fit exactly.
mount_ballscrew_z_1_0_b.stl (502 KB)

As i was fitting things together, I ran across a few minor issues. Due to the thickness of the ballscrew and it’s mount, the stock Lulzbot X motor mount won’t engage the limit switch. I extended the limit switch mount out 10-ish mm to compensate. I also was having difficulty with the heat set z nut limit switch, so I set that back to a plastic hole instead of the one for the heat set insert. I also extended the skirting around the z nut larger heat set nuts, and removed some nonessential plastic that should make it print quicker and use less plastic. I also decied that my X end mount plates were too flexible. since I had the room on them I extended that to the same thickness of the Z rail bearing mount segment, which should remove any potential for unintended X end shifting if someone were to hit the printer mid print.

Pictures and parts, will print them tomorow. Still waiting on the micrometer for the Z endstop piece.

backplate_ballscrew_z_2_1_b.stl (513 KB)
X_end_motor_ballscrew_1_0_a.stl (171 KB)
mount_ballscrew_z_2_1_a.stl (595 KB)

Semi-final test fit before all the pieces go on the machine. Still waiting on the micrometer head for the finished Z axis endstop target, but this is everything else. I don’t anticipate any major issues trying to make that fit. Standard TAZ 4 x axis carriage added to an AO-100, with fully supported fixed / floating ballscrew, linear rail Z motion, a working X belt tensioner and 10mm X rods. About the only possibly required modification at this point would be narrowing the backplate for additional travel

Next time you see this it will likely be attached to the AO-10x

Started bolting on the new pieces to the machine, and I ran across 2 issues. One, the X axis was back a bit too far and thus limiting top travel slightly. I fixed that by shortening the offset arms on the backplate.

The second issue was the ballscrew itself was compressed just slightly when the top plate was installed. It only needs about 1mm clearance, but since I have the space I went ahead and raised that section 3mm to allow for heat expansion.

Everything else lined up just fine so far. I’ve got the idler side attached, waiting on the new top plate before I proceed further
backplate_ballscrew_z_2_2_c.stl (463 KB)
Ballscrew_Top_plate_2.3_b.stl (191 KB)

Major Milestone, the Z and X motion axis are both on the AO-10x. Mostly. I’ve always intended on relocating the RAMPS board and rebuilding that enclosure, but the path the actual X motor will take in motion means I don’t have a choice but to move it now. Aside from that, everything seems to fit just fine, no issues with alignment or compression anymore. The shorter X offset backplate arms and the rebuilt Top Bearing plate seem to have done the trick. Still waiting on my stupid replacement micrometer piece to rebuild the actual Z endstop target. If it doesn’t hurry up and get here I might just build a z probe anyways. . Need to figure out the wire pathing next. I’m thinking it’s going to have to run down the main A frame arms to the base, with no cross point up top. The bearing is really kind of in the way unless I go inside of it and the frame, which may be possible. Next up, I need to convert the extruder body back to non quickfit. print the toolhead base on the TAZ, make some sort of Z endstop target, and get the wire here so I can start my favorite process in the entire world, wire crimping (which for the record I kind of suck at…) It’s nearly there!

At long last, the mechanicals are finally finally done. The printer is back up, has movement, and is somewhat functional. I still have some wire routing to figure out yet, but the design works!

First prints will be tomorrow, I need to attach the aluminum bed and PEI sheet to it yet, then re-level everything. I also added a Buddaschnozzle 2.0 to the X carriage to replace the old 1.2 The new Z endstop target file is attached. It works quite well with the micrometer. That is the final remaining production piece required for this modification. I’ll have some accessory pieces for some cable chain and whatnot in the next few days. I also need to come up with a wider bed, or some sort of spacer for the X axis endstop.

Will post a link to the thingiverse project here in a few minutes when I get it uploaded.
z_endstop.stl (85.7 KB)

The thingiverse project of doom: