Showing posts with label Z axis. Show all posts
Showing posts with label Z axis. Show all posts

Sunday, March 29, 2020

Testing UMMD's New Z Axis Optical Endstop and Differential Screw Adjuster

I recently posted about the optical endstops in put into the X and Y axes and a couple prints that I ran to test them. I also installed an optical endstop in the Z axis, and now it's time to test it.


Two Tests


The new Z axis optical endstop is a unique design that uses a differential screw to enable fine adjustment of the bed position. I devised and ran two tests to see how well it performs.


The first test is simply to check the precision, meaning the repeatability, of the optical endstop. I wanted to know if the bed goes to the same position every time it is homed and if it doesn't, how much the position varies.


The second test is of the differential screw mechanism. It is designed to move the bed 100 um for each full turn of the thumbwheel adjuster over a 2 mm range. The thumbwheel has 10 bumps on it, so if the screw behaves perfectly, each bump represents a 10 um movement of the home position of the bed.  I wanted to find out how accurate it is.



Test 1: Precision of the Endstop


I tested the X and Y endstop precision by running two identical prints, one homed only at the start of the print, and the other rehomed at each layer change. If the precision were poor, the layers of the rehomed print would not stack on each other very well and the print quality would be bad. The result of that test was nearly identical prints indicating that the precision of the X and Y endstops is very high. I expected no less from the Z axis endstop.


For the Z axis homing precision test I mounted a gauge on the printer's frame and moved the endstop down the frame so the print bed wouldn't smash the gauge, then homed the bed, zeroed the gauge, and then moved the bed down different distances and rehomed the bed, checking the home position each time.


Here's video of the test:




As you can see, 8 out of 10 times, the gauge went right back to 0.00 mm, and the other 2 out of 10 times it went to 0.01 mm. That is the excellent performance I expected.


My gauge has a basic accuracy spec of 0.03 mm and a precision spec of 0.01 mm.  Assuming those specs are to be believed, the readings made are at the limit of the gauge's ability to differentiate the position of the bed. 


Test 2 : Accuracy of the Differential Screw Adjuster


For this test, I positioned the endstop and backed out the adjuster screw, homed the bed, zeroed the gauge, then turned the adjuster one full turn and rehomed the bed multiple times.  Each full turn of the adjuster should move the bed 100 um. The thumbwheel on the adjuster screw has 10 bumps, one of them proud of the surface so it is easy to tell when the screw has made a full turn.



This is the differential screw adjuster and optical endstop.  Notice the one tall bump on the thumbwheel that makes it easy to index the amount of rotation applied.


Here is video of that test:



03290007 from Mark Rehorst on Vimeo.



As you can see, when I turn the screw one full turn the home position of the bed moves by about 100 um. I used an ordinary M5 screw that I modified using a lathe and a standard M4 die to cut new threads. The thread pitch probably varies slightly in both the M5x0.8 and M4x0.7 portions of the screw, and the printed plastic parts flex a bit whenever I adjust the screw, which explains the not exactly 100 um behavior, so I am pleased with the result. This makes small adjustments to the bed position very easy compared to trying to do the same with an ordinary M4 or M5 screw that would move the bed 700 or 800 um per turn.


A couple people have suggested that a differential screw would be a great way to move the levelers of a kinematic printbed mount.  You usually have to make very fine adjustments there to tram the bed to the printer's X and Y axes.

Sunday, March 8, 2020

A Differential Screw Based Z Axis Optical Endstop Design for UMMD

The Old Z Axis Endstop


I'm kind of old-school in my printer designs. I like things to be as close mechanically perfect as I can figure out how to make them, instead of putting sensors everywhere and hoping the controller's firmware can compensate for poor materials or construction.  If you've followed any of my blog posts on UMMD you'll know I prefer to use a flat print bed, accurately trammed instead of putting a bed sensor on the extruder carriage.  I also prefer to use endstop switches in all axes.


When I built UMMD one of the things I put some extra effort into was a finely adjustable Z=0 endstop.  I used a lever and cam to effectively reduce the adjusting screw movement to approximately 100 um per rev of the screw. It has worked well and reliably for a few years but during recent work on the machine I noticed some things I didn't like, leading me to redesign the whole thing.





The main problem is that the switch is mounted solidly on the frame of the printer and the adjuster/lever/cam are mounted solidly on the moving part of the Z axis.  Over the last few years as I've swapped out hot-ends and extruders, changed a few things in the Z axis, and rezeroed the bed a number of times, the adjuster has crashed into the switch a few times.  The result is that the switch has put some dents in the cam so adjustment isn't as smooth and reliable as it was when the whole thing was new.



This is the lever/cam assembly that used to bump the microswitch.  It has become a problem to set the Z=0 position because the dents in the cam no longer trigger the switch the way the smooth surface used to.


I could print a new lever and cam but that wouldn't prevent the problem from happening again, and making it out of metal seems like a lot of trouble.  The way the switch is mounted is a big part of the problem.  It should not be set in opposition to the motion of the Z axis.  After changing to optical endstops in the X and Y axes, I decided to do the same in Z with the intention of mounting the endstop so that if the bed moves up beyond the endstop it won't damage anything.


I could just mount the switch on a spring that would allow it to move a bit if the cam bangs into it too hard, but there are other considerations as well. The original lever and cam design worked pretty well, but it wasn't really linear so I could never be sure of the exact amount of movement I was getting when I turned the adjuster screw.  I wanted to get 100 um per rev of the adjuster screw so that I could accurately move the bed in small amounts like 20-50 um.  I decided to look for an alternative and discovered something called a "differential screw".



How It Works


There are different ways to implement a differential screw.  The one I chose has two different thread pitches along its length.  One end of the screw turns in a fixed nut, the other is in a sliding nut.  If you turn the screw clockwise, it moves into/through the fixed nut and into/through the sliding nut.  The net movement of the sliding nut is the difference between the two pitches.  The sliding nut movement is in the direction of the screw movement if the larger pitch screw is the one threaded through the fixed nut.


This video illustrates the concept:




A more compact approach is to have a screw inside a threaded tube that has one pitch on the inside and a different pitch on the outside.  Like this:





If you have deep pockets you can buy off-the-shelf differential screws from specialty mechanical parts companies. Beware the ~$20 "differential screw micrometers" being sold on ebay.  They appear to be simple 0.5 mm pitch screws with a nice knob.  I don't have the deep pockets for a real differential screw, and since I wanted 0.1 mm per turn of the screw, I looked for standard screws that had 0.1 mm difference in their pitches.  A look at a metric thread pitch table reveals multiple possibilities.

Size - Nominal Diameter
(mm)
Pitch1)
(mm)
Clearance Drill
(mm)
Tap Drill
(mm)
Tensile Stress Area
(mm)
M 1.60.351.81.25
M 20.402.41.60
M 2.50.452.902.00
M 30.503.402.50
M 3.50.603.902.90
M 40.704.503.308.78
M 50.805.504.2014.2
M 61.006.605.0020.1
M 81.259.006.8036.6
M 101.5012.008.5058.0
M 121.7514.0010.2084.3
M 142.0016.0012.00
M 162.0018.0014.00157
M 202.5022.0017.50245
M 222.5025.0019.50
M 243.0027.0021.00353
M 273.0030.0024.00
M 303.5033.0026.50561
M 364.0040.0032.00817
M 424.5046.0037.501120
M 485.0053.0043.001470
M 565.5062.0050.502030
M 646.0070.0058.002680
M 686.0074.0062.00


1) For metric threads pitch is the distance between threads.

There are multiple pairs of screws that could be used to get 100 um per turn sensitivity (M3/M3.5, M3.5/M4, M4/M5), and even some that could give 50 um per turn (M1.6/M2, M2/M2.5, M2.5/M3), but those screw sizes are relatively uncommon, especially in the long lengths (70 mm or so for my application) needed.


I selected the M5/M4 combo.  Every turn of the M5 screw moves the screw forward 0.8 mm and moves the sliding M4 nut back 0.7 mm leaving a net forward motion of 0.1 mm at the sliding nut.  If I use the sliding nut to activate my endstop switch, I'll have a very finely adjustable endstop, and unlike my previous lever/cam arrangement, every turn of the screw should give exactly 100 um with accuracy limited by the screw thread quality.  This technique can be used to bump a mechanical switch or to trigger an opto interruptor.


One problem with this arrangement is limited range of motion at the output.  If I turn the M5 screw 10 times, the screw will move 8 mm.  The sliding nut will move 1 mm in the same direction as the screw.  So if I want 10mm adjustable output range, the 5mm screw would have to be at least 80mm long and the 4mm screw at least 70mm long. Not even UMMD has room for a 150mm long Z=0 screw.  Nope, I won't be adjusting the screw over a 10 mm range.


UMMD's opto endstop mounts on the Z axis vertical T-slot frame so the endstop can easily be repositioned within the adjustment range of the differential screw, so I settled on a reasonable differential screw adjustment range of 2 mm.  The 5mm screw has to move 16mm and the 4mm screw 14mm.  That means the exposed thread length of the screw has to be 30 mm plus the thicknesses of the fixed nut, the thumbwheel, the sliding nut and the mount.



Making a Differential Screw


I tried printing a jig to hold two screws, one M5 and one M4 butted end to end, with a spherical space inside the jig at the joint.  I screwed one screw into the jig, then inserted a drop of epoxy, then screwed in the other screw until it stopped against the first screw.  After the epoxy set, I cut off the jig.  The force required to cut off the jig resulted in breaking the epoxy joint between the screws.  Hmmm.

Someone at the makerspace suggested that I could drill holes in the ends of the screws and use a pin to hold them together, but I couldn't figure out a good way to accurately drill a ~1 mm hole in the axial center of a screw.


Another suggestion was to make a coupling nut that was threaded for M5 on one side and M4 on the other and then just screw it together with locktite or epoxy to ensure it can't easily come apart.  This is probably the easiest way to go, but adds the length of the coupling nut to the screw.


Finally, someone else at the makerspace suggested that I drill and tap a block of metal, then split it with a saw and use it as a clamp to hold the screws for welding.


In the end, I mounted a 50mm long M5 screw in a collet on a lathe and turned the end 20 mm down to 4 mm diameter, then threaded it with an M4 die.  It was actually pretty quick and easy, mostly because I had help from an expert lathe operator at the makerspace.


Turning the M5 screw on the lathe.  M5x0.8mm threads have a minor diameter that is about 4 mm, so essentially, all you have to do is turn it down until the threads disappear.  I made four or five passes making very shallow cuts so that the cutter wouldn't deflect the screw too much as it was cutting it.  After the screw was turned down to about 4 mm diameter, I rotated the cutter and beveled the end of the screw.


Once the M5 threads were removed and the end of the screw was beveled, I used a die to manually cut the M4x0.7 mm threads into the end of the screw.  The end of the tailstock on the lathe (not visible in the picture) was used to ensure that the die was started square to the screw.
Testing the M4 threads after cutting them.  Yup, it works!
The almost finished differential screw.  I still have to grind flats on the head so I can turn the screw with a printed thumbwheel.


The Rest of the Parts


Once I had the screw, the rest was easy.  I designed and printed a thumbwheel with 10 evenly spaced bumps to make it easy to set the position - just turn the screw by 1 bump for every 10 um of movement.


The base of the part (the red block under the bracket in the image below) is the fixed nut that the M5 screw threads into.  I used a block of PTFE, 5mm thick, because it works well for that type of operation in the kinematic mount for the bed.  I drilled an undersized hole and let the M5 screw roll its threads in the plastic.  It is gripped firmly but still easily adjustable.



CAD rendering of the differential screw and opto endstop mounted on t-slot.

The flag is a printed part (blue) with a hole to fit an M4 nut.  I found a spring in my junk box that pushes the flag up against the nut and minimizes backlash. The flag spring and screw fit into a printed square tube (yellow) that prevents the flag and nut from rotating as the adjuster screw is turned.  When the adjuster is turned 20 times, the screw moves 16 mm and the flag moves 2 mm in the same direction as the screw.


You can't tell from the picture, above, but if the opto endstop should fail and the bed keeps moving up, the square tube tube will have room to pass by the opto interruptor, so nothing will get damaged.  The bearing blocks on the Z axis will eventually hit the physical stops.

The Fusion360 CAD file is here and the STL files of the printable parts are here.

Here are the pieces of the new Z=0 adjuster.  The PTFE fixed nut (white) mounts on the belt clamp bracket as does the square tube (blue).  The differential screw goes through the fixed nut and the bracket.  The spring goes inside the square tube to keep the flag and M4 nut pushed against the screw threads.




The opto endstop is screwed to a printed bracket that is held on the printer's Z axis vertical frame with a bolt and t-nut.



Assembly


This is what it looks like when it's assembled.


And this is what it looks like when it is installed.


Other Uses for Differential Screws

A few people on the 3D printing forums have suggested that a differential screw would be a good thing to use in a kinematic printbed mount since the adjustments in those are usually very small.

People make focus-stacking rigs for macro photography using linear guides and stepper motors to move the camera or object being photographed in small steps as they capture a series of images that are later processed using stacking software to greatly increase the depth of focus in the final image. The typical way to do it relies on the relatively inaccurate microstepping to reposition the camera or object 10-50 um between images.  It would be pretty easy to couple a differential screw to a sliding carriage.  With a differential screw made using M5x0.8 mm and M4x0.7 mm threads, a full turn of the motor (200 steps, typically) will move the camera or object 100 um, so each full step of the motor will move the camera or object 0.5 um.  That means you can use the relatively accurate full steps of the motor for fine positioning instead of relying on "iffy" microstepping.

If you wanted to make a laser engraver to make very small markings, or even a 3D printer to make very small parts, differential screws could be used to position the laser/extruder.

How about a motor driven microscope stage?


UPDATE  3/30/20


I have run some tests on the precision of the opto endstop and tested the differential screw adjuster.  New post here.


Tuesday, April 30, 2019

More Changes to UMMD's Z Axis

More Z Axis Updates

I "finished" UMMD about 1.5 years ago, but there have been quite a few changes to the machine over that time.  In particular, I have made a lot of changes to the Z axis and related parts that I will summarize in this post.

Pulleys and Belts


The original Z axis used 3 mm pitch steel core belts and 40 tooth pulleys.  I can't recall how I ended up using those parts- maybe I had them on-hand- but that combo led to an unfortunate 18 um/full step in the Z axis.  After a few changes and some careful calculations, I ended up with 60 tooth 2mm pitch drive pulleys and belts, and now have glass core belts on the machine.  That gives a nice, round 20 um/full step.  The glass belts stretch about 3x as much as the steel core belts, but still not enough to matter.

One of the 60 tooth 2mm pitch drive pulleys.  The larger diameter of the pulley necessitated a redesign and fabrication of the Z axis top pulleys to keep the belts parallel to the linear guides.
The Z axis top pulley mounts had to be remade when I changed the drive pulley diameter to keep the belts parallel to the guide rails.  The original mounts had two carriage bolts to hold them in place and prevent the plate from rotating.  The new design has an antirotation tang that fits into the t-slot and uses a single carriage bolt to hold it in place.

Update 1/20/20:  A year or so ago, before I changed from steel core to glass core belts in Z, one of the Z axis drive pulleys came loose and rotated on the drive shaft.  I was recently doing some work on the XY mechanism and decided that it would be a good time to fix that problem.  I pulled the Z axis shaft out of the machine and milled two flats at each end so the drive pulley set screws would prevent rotation on the shaft.

The original pulley mounting bracket at the top of the Z axis used two carriage bolts to hold it in place and prevent it from rotating.  


This is one of the final top-of-the-Z-axis pulley mounts.  It was milled from a piece of 8mm thick tooling plate left over from the bed plate.  There's an anti rotation tang on the back side that fits into the t-slot.

Extruder Carriage

The extruder carriage has undergone more changes than any other part of the printer.  I used different extruders, different hot-ends, and different carriage designs.  The original carriage was made from a single piece of aluminum tubing with the extruder, motor, and hot-end all hanging below the X axis bearing block.  I thought that it looked too much like a pendulum, so I moved the extruder and motor above the bearing block leaving just the hot-end below.  I eventually settled on a two piece design that has the extruder and hot-end mounted on a metal plate with the belt clamps mounted on a smaller piece of tubing.  That allows the extruder and hot end to be removed without taking the belts out of the clamps or even relaxing the tension on the belts.  One thing about the design that has been a constant was the extraordinary length of the carriage.  This was necessary because of the way the bed was lifted on the Z axis.

Eventually, the very long extruder carriage started to bother me.  I can't really say that it was creating any problems in the prints, but it just didn't seem right.  Any minor wiggle in the X axis guide rail would be amplified by the long lever arm that the hot-end was mounted on, so I finally decided to do something about it.


Here's the extra long, almost final extruder mounting system that I wanted to shorten.  The extruder and motor are mounted just above the X axis bearing block and the hot-end is connected by a PTFE tube down below.  The length was needed so the hot end could reach the bed surface.


Bed Lifting Brackets and Z Axis Belt Clamps


If I was going to shorten the extruder carriage, the bed had to go up higher.  The easiest way to make that happen was to swap and flip over the bed lifting brackets that hold the bed assembly on the Z axis.  That raised the bed by about 50 mm, and moved the lever arm from the extruder carriage that whips around at high speed and acceleration, to the bed that only goes up and down a little.  Probably a good trade off.

The new positions of the bed lifting brackets.

While I was doing that, I changed the way that the Z axis belt clamps attach to the bed lifting brackets.  When I first built the machine, I didn't realize how hard it was going to be to release the Z axis belt clamps because of the dual layer PC panels that fit into the printer's frame (I'd have to remove a frame member to move a panel out of the way).  I also didn't anticipate the amount of experimenting I'd be doing with the Z axis.  Releasing the belt clamps from the brackets required a right angle screwdriver to get at the screws that were on the outside of the brackets, with very little room for my fingers to fit in the space.  I needed to flip the screws so that the heads were on the inside of the brackets instead of the outside.

The old way... my knuckles are up against the PC panel on the left.  There are four screws that I have to take out on each side of the Z axis.  The screws goes through a metal plate that holds the yellow belt clamp against the Z lifting bracket.


Much easier access to the Z axis belt clamp screws.  The tapped holes in the bracket were drilled  out to allow the screws to pass through the bracket and belt clamp and thread into a nut-plate on the opposite side of the belt clamp.


I drilled out the threaded holes in the brackets so that I could just push the screws through from the inside, and made two aluminum nut-plates with four tapped holes that the screws now thread into.  The belt clamps get trapped between the brackets and the metal plates just like before, only the screws are now easier to access.  It was so easy- I should have done it years ago!  Now if I want to remove the belt clamps I can just use a screwdriver from the inside of the brackets, under the bed support, where there is plenty of room to work and I can see exactly what I'm doing. Nice!  That will make future changes to the Z axis a lot easier.

Compare the two pictures above to see the differences in the bed lifting brackets.


This is one of two new nut-plates that clamp the Z axis belt clamps to the lifting brackets.  The material is 3 mm thick aluminum and the holes are threaded for 6-32 screws.



Z Axis Belt Clamp Redux


By now you've probably seen that I had a problem with the original belt clamp design that led to a failure of the steel core belts.  I redesigned the belt clamps based on a design I have used in SoM for about 6 years without any problems.


The original clamp design worked like this.

And it failed like this!

New Z axis belt clamp design folds the belt back on itself to lock it in place.  The open side of the clamp (facing the camera in the photo) is closed with a rectangular aluminum nut plate that's held in place with 4 screws.


Extruder Carriage Modifications


Now that the bed lifted higher, I was able to cut the long, 5mm thick aluminum plate that mounts the extruder and hot-end on the carriage about 60mm shorter, allowing the hot-end to mount closer to the extruder.  The PTFE tube that connects the extruder to the hot end is also lot shorter than it was.  I feel better about it now.

The metal plate on the extruder carriage used to bump the X axis endstop, but that part of the plate was cut off (maybe I should have left part of it there to bump the switch).  I printed a new hot-end clamp that includes an extension that bumps the switch.


The old extruder carriage- the metal extension plate used to bump the X axis endstop.



And here's the newly shortened extruder carriage.  There's not much room for bolting on a print cooling fan, but I rarely print PLA anyway.  The black hot-end clamp has a flag (to the right of the cooling fan) that bumps the X=0 switch.

This is the final extruder carriage design.  The extruder and hot-end mounting plate is 5 mm thick aluminum, and the belt clamp mounting tube is 1.5" x 2"x 1/8" aluminum tubing.  The belt clamps and hot-end clamp are printed ABS parts.  The plate holding the hot-end and extruder can be removed without taking off the belt clamps or releasing the belt tension.


Some of you may be thinking that my extruder carriage is ugly as sin, with visible wires, no "professional" looking covers, etc.  There's a reason for that.  The extruder and hot-end are the most unreliable parts of the printer.  Problems with either often require some disassembly.  I prefer to keep everything right where I can see it and easy to get to without having to take off a bunch of covers.

Bed Heater


The 468MP adhesive holding the heater on the bottom of the bed plate started letting go several months ago, so I decided to peel the heater free and reattach it using high temperature silicone.  I made an attempt to remove the heater using the scraper I use to release prints from the bed, but it didn't work- the parts of the heater that were still stuck to the plate were really stuck to the plate.

I contacted Keenovo about it and they pointed me at this site for instructions on how to remove a heater from a plate and this site for instructions of preparing a plate to receive a heater that has 468MP adhesive.  Here's their manual on the heaters (which I had never seen before).

They recommend a few things I was previously unaware of, including sealing the edges of the heater with a bead of high temperature silicone, maybe to keep the adhesive from "drying out" and letting go?  Maybe I should seal the edges of the PEI sheet for the same reason...  They also recommend using a mechanical "sandwich" construction to ensure that the heater stays attached to the bed.

Per Keenovo's instructions, I heated the bed plate (to 100C) and used a scraper to release if from the bed.  I gouged the silicone in a couple spots, but fortunately didn't expose any of the heating wires.  Once I had the heater loose I looked at the underside.  The area that had come off the bed plate had been running very hot and singed the silicone on the underside of the heater.  I flexed the heater in the toasted area and it cracked, so I decided it wouldn't be safe to reuse it and ordered a new one without any adhesive.


The burnt bed heater.  The dark section cracked when I flexed the heater in that area, so I have ordered a new one without adhesive and I will cement it to the plate using high temperature silicone.


I mounted the new, adhesive-free heater on the bed plate using Permatex Red high temperature silicone purchased at a local auto parts store.

The TCO, previously mounted on the edge of the bed plate was moved to the heater and mounted using the same high temperature silicone that was used to mount the heater on the plate.  This was done so that if the heater comes off the plate, the TCO will stay with the heater and hopefully shut down the power before it starts a fire.


The new bed heater mounted on the plate using high temperature silicone.  The TCO is also attached using the same high temperature silicone inside the blob near the center of the heater.


Leveling Screw Block Redesign


Once I had the extruder remounted on the shorter plate and went to relevel the bed, I noticed that when I turned the roll screw, it was causing the bed to shift laterally.  That's shouldn't happen!  I found that the PTFE block holding the pitch screw was tilting/shifting in the t-slot.  The narrow PTFE block was held inside the t-slot by two small screws and they weren't holding fast so the block was wobbling in the slot.  I tried to tighten the screws and they stripped the holes in the PTFE.

Here's the original roll adjuster- the other two are about the same.  The PTFE block fits into the slot and is held in place by two small screws whose heads you can barely see in the bottom t-slot, behind the long roll adjustment screw.  It wasn't a very solid or reliable way to mount the PTFE blocks.

It was time to redesign the leveling screw blocks for more secure attachment to the support frame. I was out of PTFE and the "local" plastics shop is about 40 miles away, and I just need a relatively small amount to use for this and future projects, so I did some shopping on ebay.  The first thing that struck me was how expensive PTFE is, or looks, at first glance.

PTFE is a commodity, and you buy commodities by the price per weight.  The ebay listings usually have dimensions listed in inches, and PTFE has a density of 0.08 lbs/in^3, so I calculated the price/lb including the shipping cost when I compared the different listings.  It didn't really matter what the exact dimensions of the block were because I'm going to cut it up and mill it anyway.  I mostly use small blocks of the stuff, not large sheets, so I looked at bar/block listings at least 3/4" thick.

Here's a typical offering:

This one is a total of 13.125 in^3, which will weigh 1.05 lbs.  At a total cost of $23, that works out to about $22/lb. Ouch!



Here's an example of a pretty good deal:


These blocks of PTFE are 71.25 in^3 and have good dimensions to allow a lot of small parts to be made by cutting it up and milling. 71.25 in^3 will weigh 5.7 lbs.  I've probably used 1/10 that much PTFE in the last 10 years. Total price is $36.80, which works out to $6.45/lb. That seems like a pretty good price for PTFE (and cheaper than filament for the printer).  



I ordered the block in the second photo.


The PTFE arrived in the mail- a literal brick!  I went to the makerspace and went to work on it.  In a couple hours I had three new PTFE blocks finished and ready to go.


The new PTFE leveling screw blocks.  You're looking at the bottom of the block on the left.  The tang just fits into the 8mm wide t-slot to prevent the block from rotating.





The bed support tee with new PTFE leveling screw blocks installed.  Each block is held in place with an M4 screw and t-nut.  The thickness of the blocks matches the length of the threaded part of the leveling screws- 13 mm.


One of the new leveling screw blocks.  The blocks are 30 x 24 x 13 mm.  So much neater than the original!


Here's the reference leveling screw with the new PTFE block in place.  I deliberately set the end of the PTFE block 5mm back from the edge of the t-slot so there would be more room for the spring.



The CAD file for the new design including the bed support and the bed plate itself is located here.

If you just want the CAD model of the sphere-head screws that are used for pitch and reference adjusters, here you go.  You don't have to use the same spherical head screws I used.  In fact, if you'd prefer to make all the leveling adjustments below the bed, you can just drill through the support as I did at the roll screw, use long screws with thumbwheels, and then put acorn nuts on the ends of the reference and pitch screws.  Use appropriate diameter/width of the hole and slot for the acorn nuts on the reference and pitch adjusters.

Update 1/11/22: very important! When you are preparing the PTFE blocks for the ball head screws, do not tap the holes in the PTFE and do not use threaded inserts. Threaded inserts are best used for screws that you're going to drive in and remove frequently. This isn't that. When leveling the bed you're going to be turning these screws maybe 1/4 turn, maybe a few times during the life of your printer. You don't need an insert. Also, threaded holes in inserts and nuts always allow for clearance between the nut and screw threads to ensure that it will be easy to turn the nut/screw. That clearance allows the nut/screw to wobble in the threaded hole. That's the exact opposite of what you want here. If you tap the holes or use threaded inserts, the screws will wobble, and if the screws wobble, the printer's bed will wobble. You should drill tap-size holes (in this case, 4.25 mm for the M5x0.75 threads on the ball head screws) into the PTFE blocks and then just turn the screws into those untapped holes. Steel screws are much harder than PTFE and will happily roll threads into the plastic. Don't worry, the PTFE won't grip the screws so tightly that you can't adjust them (but nylon will, so don't substitute nylon for PTFE! I know this because I tried it). The screws won't wobble in the PTFE so the bed won't wobble on the screws. PTFE is self-lubricating, so you don't need to use any thread cutting oil when you drive the screws in. 

Finally, once in a while I see people suggesting that PTFE is not good for this application because of "creep". Don't worry about it. I've been using PTFE blocks for this purpose in my printers for >5 years and never had any problems.

Electrical Connections


I had great results using Wago 221 lever nuts when I wired the Duet controller, so I decided to use them to make the bed connections.  I designed and printed an ABS housing that is screwed to the support tee.  Another printed ABS part that fits tightly into the t-slot provides strain relief for the cable.  A Fusion360 file for this and other Wago mounts is here.

I used the Wago mount on the left to make connections to the bed heater and thermistor.  It has a tang that fits into the 8mm wide slot on the bed support tee.


I mounted the Wago bracket on the back side of the bed support tee, where the screw terminals had been. That was a mistake. It's hard to see it back there, hard to install and remove it. I tried to move it to the front side where I could inspect it and release wires easily but, alas, I had cut the cables from the bed heater too short to reach the front side of the support tee. I may turn the whole bed support assembly around so the electrical connections will be at the front side of the bed. This is a mistake I won't repeat in my next printer.

Miscellaneous


I had to make a couple other small changes to accommodate the new configuration.  I printed new bottom-of-the-Z-axis bumpers to keep the bed assembly from going too far down (you can see one of them in the first photo at the top of this post).  Finally, I had to shorten some of the cables that run from the hot-end up to the extruder carriage cable.