Friday, December 4, 2020

X Axis Wobble in UMMD

I was recently working on a smaller version of the sand table, called Arrakis, and noticed that when the magnet carriage was moving in X only, the ends of the X axis were moving back and forth about 1 mm as the magnet carriage reversed direction. I'm not sure what causes it, maybe some play in the magnet carriage on the X axis, belt stretch, flex of the X axis guide tube...

Sand table Arrakis test from Mark Rehorst on Vimeo.

Whatever the cause, it got me thinking about the possibility of the same thing happening in UMMD, also a corexy mechanism. I've never really paid attention to it, so I wrote a script to move the extruder in X only and ran it, as I had done on the sand table mechanism. I wasn't sure, but I thought I saw a tiny amount of movement. That has implications for print quality, so I wanted to test it further.

I decided to clamp a digital gauge to the Y axis guide rails, set Y to a specific value, then move the extruder carriage along the X axis and measure and movement that occurs at the ends of the X axis. I needed a custom clamp for the Accuremote digital gauge that I have used to test other aspects of mechanical performance on UMMD. I had an old DSM model of the gauge, but decided to make a new model using Fusion360 (that model is here). Once I had the gauge modeled, I dropped it into the UMMD XY stage model and designed a clamp to fit. 

Gauge and clamp models

I printed the clamp and mounted the gauge, then generated two gcode files that would move the extruder carriage in X as the gauge monitored the ends of the X axis at Y=-35 and Y=5. I started the measurements with the extruder carriage at the center of the X axis (X=0), then moved it to the right to X=145, then reversed and sent it back to the left, stopping every 5 mm and recording the gauge reading until the extruder got to X=-145. At the end the extruder returned to the center of the X axis.

The measurements were made with motion between points at 5 mm/sec, and a 3 second stop at each 5 mm test point.

Digital gauge mounted on the right side Y axis rail.

Here is the test setup with the gauge mounted on the right side Y axis guide rail. The extruder carriage is at (0,-35) where I zeroed the gauge at the start of the test runs.


Here is the gauge set to zero at the start of a run.

The Results

To see these graphs a little better, right click on them and select "open image in a new tab".

Graph 1: data from 3 runs with the gauge mounted on the right side Y axis guide rail at Y=-35.

Graph 2: data from 3 runs with the gauge mounted on the left side Y axis guide rail at Y=-35.
Graph 3: data from 3 runs with the gauge mounted on the right side Y axis guide rail at Y=5.

Graph 4: data from 3 runs with the gauge mounted on the left side Y axis guide rail at Y=5.

What does it all mean?

The gauge is rated for 0.03 accuracy and 0.01 mm precision. Precision applies when comparing specific data points at the different runs- i.e. comparing the value at X=50 from run 1, run 2, and run 3. So differences of +/-0.01 mm are noise and don't really mean anything. For most of the runs, most of the data at each point was within +/-0.01 mm. 

Accuracy applies to the overall position of the curves on the graph. The curve's real position may be as much as +/-0.03 mm from where they are drawn. The shapes of the curves and the differences between the maximum and minimum values should be accurate.

The waviness of each graph indicates that the ends of the X axis are moving back and forth slightly as the extruder carriage moves along the X axis, just like the sand table mechanism did, but to a much smaller degree. If you compare graph 1 and graph 2 (or graph 3 and 4) by drawing vertical lines between the two, you'll see that as one end of the X axis (one graph) moves in the negative direction, the other end (the other graph) moves in the positive direction, so the whole axis really is wobbling, with the ends of the X axis moving in opposite directions.

The X axis is maintained square to the Y axis by belt tension. The waviness of the graphs indicates that the X axis is moving slightly out of square with the Y axis as the extruder carriage moves along as if the belt tension were varying. What would cause that? Notice in each graph that the waviness moves through peaks and valleys at about 40 mm intervals. I don't think it's a coincidence that the drive pulleys move the carriage 40 mm per rotation (20 tooth pulleys and 2mm pitch belts). I suspect the main cause of the problem is crappy drive pulleys that are not accurately drilled, or it could be a bent motor shaft or two.

Notice that graph 1 and 3 ( and graphs 2 and 4) are similarly shaped with peaks and valleys occurring at approximately the same X values. I suspect that's because the measurements are made 40 mm apart on the Y axis (a full rotation of the drive pulleys) which represents one full rotation of the drive pulleys. Doh! It might have been more interesting if I had made the measurements maybe 25 or 30 mm apart instead of 40.

It's hard to say what this means for print quality. The most obvious effect should be waves in the X parallel surfaces of prints, with peaks spaced 40 mm apart. I can't say I've ever seen that in a print, but I never really looked for it. The fact that the magnitudes of the waves changes as a function of Y means that X parallel walls of prints at different Y ordinates will be slightly different. But can you see it or measure it? Of course, every surface printed will have some waviness as a result of off-center drilled drive pulleys.

Someone on a forum suggested that the waves might come from out of round idler pulleys. In UMMD the idlers are made from F608 bearings, 22 mm in diameter. If one of those was out of round I would expect the waves in the graph to show up with a period of 22xpi=69.1 mm. I can't see any 69.1 mm waves in the graphs, but maybe they are masked by the waves from the drive pulleys. There are 8 idler pulleys that turn when the carriage moves in X, so unless one of them was really bad, I'd expect any errors in roundness of those pulleys to show up as noise in the measurements.

I think I'm going to invest in some better drive pulleys and run the tests again, this time with the Y positions not 40 mm apart.

Here's the raw data that went into the charts.