MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.25k stars 19.23k forks source link

[bugfix-1.1.x] Motors are clacking and clicking after G29. Without G29 they are silent #9218

Closed ikarisan closed 6 years ago

ikarisan commented 6 years ago

I am using a MKS Gen1.4 board together with three TMC2130 drivers for X, Y and E.

Every time I print, the motors are starting to clack all the time. First I thought I am too close to the bed but even without filament / extruding it clicks and clacks during the print. Now I am sure that not the extruder motor is the problem but the automatic (bilinear) bed leveling causes this problem!

Use the attached GCODE files to comprehend:

clicktest.gcode.txt clicktest_withG29.gcode.txt

The first GCODE file (clicktest.gcode) simply homes all axis and moves the extruder around the bed. You must have at least a 200x200 bed (or change the coordinates!). These movements are very silent, as expected!

The second GCODE file (clicktest_withG29.gcode) homes all axis, runs an auto leveling process (G29) and moves the extruder around the bed. These movements are filled with clicking and clacking all the time.

The same happens if I recall the last leveling data with "M420 S1"!

And this is reproducible every time!

I made two YT videos. The first one shows the movements without G29 and the second one after G29.

Silent moves: https://youtu.be/TcR7T8kjJM4 Clicking moves: https://youtu.be/sVny98SFDNc

Here is another video, made when I thought the extruder was the problem: https://www.youtube.com/watch?v=LmIRYhW3xMk

My current configuration: Marlin_Configuration.zip

VanessaE commented 6 years ago

@thinkyhead: I have still not yet seen any problems from leaving LEVELED_SEGMENT_LENGTH set to 999. In fact, I had to remind myself that it's still set that way, because it seems to "just work". :smile: I suppose any value larger than my printer's diagonal would have been fine, for that matter.

Sebastianv650 commented 6 years ago

Linking to #9494, @ikarisan noted:

Every time the nozzle reaches the location of the artifact the movement stops for approx. 0.5s and then continues at full speed.

There is definitly something going on regarding UBL, disabling segment splitting is a work around for this. Would be nice if a leveling guru could have a look into this.

AnHardt commented 6 years ago

Even with disabled extra segment splitting the moves will be split at the mesh lines. Else the mesh based levelings can't work.

thinkyhead commented 6 years ago

Would be nice if a leveling guru could have a look into this.

Ultimately it's got to be a planner issue, most likely related to changes in Z direction. You can try G-code that does small moves in Z in conjunction with XY moves and possibly get the same effect.

G28
M420 S0 ; no leveling
G1 Z10 F2400
G1 X10 Y10
G1 X20 Y20 Z10.1
G1 X30 Z10
G1 X50 Z9.8
G1 X70 Z10

If the G-code above generates strange pauses, that may give some clue what to look for. Long pauses like 0.5s could also indicate something weird, like the feedrate getting set very low at the planner level. It would be good to add some logging in the planner to uncover where it's going wrong.

Sebastianv650 commented 6 years ago

This should be fixed by #9914? @VanessaE I think I remember you mentioned it was fixed in another issue?

VanessaE commented 6 years ago

@Sebastianv650, yes, it's fine now, at least for me it is.

github-actions[bot] commented 3 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.