Monday, August 24, 2009


Identifying backlash

I was printing parts when I noticed that the diagonal lines on the foundation were not evenly spaced and the infill overlapped badly. Since the lines are diagonal, I wasn't able to figure out whether the backlash was in the x-axis or the y-axis. Watching the machine carefully didn't provide any clues.

I decided to write a custom gcode file to reveal where the backlash was.

G21 ;metric is good!G90 ;absolute positioning
T8; select new extruder
G28; go home
M104 S220.0 ;set temperature
G4 P307 ;delay
M107 ;cooler off
G4 P100 ;delay
G1 F5.0; feed for start of next move
G1 Z0.4 ;z move
T8; select new extruder
G1 F1500.0; feed for start of next move
M108 S1400.0 ;extruder speed in RPM
M101 ;extruder on, forward
G4 P400 ;delay
G4 P200 ;delay
G1 X100 Y0 F2000
G1 X100 Y5 F2000
G1 X5 Y5 F2000
G1 X10 Y10 F2000

G1 X10 Y30 F2000
G1 X30 Y30 F2000
G1 X30 Y28 F2000
G1 X12 Y28 F2000
G1 X12 Y10 F2000
G1 X14 Y10 F2000
G1 X14 Y26 F2000
G1 X30 Y26 F2000
G1 X30 Y24 F2000
G1 X16 Y24 F2000
G1 X16 Y10 F2000
G1 X18 Y10 F2000
G1 X18 Y22 F2000
G1 X30 Y22 F2000
G1 X30 Y20 F2000
G1 X20 Y20 F2000
G1 X20 Y10 F2000
G1 X22 Y10 F2000

G1 X22 Y18 F2000
G1 X30 Y18 F2000
G1 X30 Y16 F2000
G1 X24 Y16 F2000
G1 X24 Y10 F2000
G1 X26 Y10 F2000
G1 X26 Y14 F2000
G1 X30 Y14 F2000
G1 X30 Y12 F2000
G1 X28 Y12 F2000
G1 X28 Y10 F2000
G1 X30 Y10 F2000
M103 ;extruder off
M104 S0.0 ;set temperature
G1 F5.0; feed for start of next move
G1 Z1 ;z move
G1 F2000; feed for start of next move
G1 X0 Y0 F2000

The long lines on the resulting print should be evenly spaced. If there is any backlash, it will alternate between a small gap and a large gap. The magnitude of the backlash is half the difference between the large gap and the small gap.

Looking at the image, I see that the horizontal lines are not evenly spaced. Using my digital calipers I measured the y-axis backlash to be 0.6 mm. I went ahead and measured the x-axis backlash as well to be 0.2 mm.

You neglected to tell us what kind of machine you're getting backlash on.
It is a Darwin-style repstrap.
I guess I'm confused about how you are getting backlash in a belt driven Darwin. :-?
This comment has been removed by the author.

It's not that hard. Backlash is an unavoidable property of all reversing mechanical couplings (Wikipedia: backlash)
There are various effects that cause backlash.They are made visible through my simulation, where I've exaggerated the effects:

It has to do with belt tension, the play between the rods the X axis slides over and the, rods from the X axis. It can wiggle a bit, which causes movement of the lower part of the toolhead to be in the inverse direction of where the driving shaft is trying to push them. There are various more effects that can be mechanically mitigated, or by pre-processing the Gcode like I do with my script (discussed in the above blog post)

[edit: now with correct link]
In case anyone is wondering, my Y-Motor-Coupling cracked and failed a couple weeks after I made this post. It likely had a small fracture, which allowed the set screw to move away from the flat on the motor shaft, introducing backlash.

I replaced it with a 1 inch long steel spacer with 1/4 inch walls. I was able to drill two holes in it using my drill press and then tap them for M5 set screws.
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]