inib / Marlin

This marlin fork is used to keep track of the configs of my printers - use at own risk and check the wiki - if you have questions feel free to use the Issues tab
https://github.com/inib/Marlin/wiki
GNU General Public License v3.0
44 stars 18 forks source link

Extruder motor rattling when Linear Advance is enabled. #10

Open porlock opened 4 years ago

porlock commented 4 years ago

I tried many combination of jerk and acceleration but no luck :( I testes already 3x Nema 17 motors and 2x a4988 step drivers, no luck

https://youtu.be/OAC048VGxtk

config.zip

inib commented 4 years ago

Does rattle mean you are losing steps and is it doing that on a retraction move?

With linear advance enabled, I'm fine with only 1.6-2mm retraction.

porlock commented 4 years ago

it not seems to loosing steps, and it not happens on retraction but when acceleration occurs, Check my movie, extruder motor is unmounted from extruder so there is no force on it and still ratling.

inib commented 4 years ago

This might also depend on the slicer you are using, slic3r/PrusaSlicer resets the jerk/acceleration settings in every gcode file no matter what you have configured in the firmware.

best way to tune those settings is via gcode while printing over serial. If that doesn't help, try deactivating "s-curve acceleration"

MH-GoL commented 4 years ago

Sounds like "normal" stepper sounds on slow rotations for me. Try to use microstepping or change to a tmc driver for smooth drive

porlock commented 4 years ago

It is not normal, im 100% sure, sapphire pro is not my 1st printer. What i notice, it is rattling only when junction deviation is disabled and linear advance is enabled.

What i find out thanks to @sobieh, It is depended of mks robin nano board version. mks robin nano 1.1 = rattling when LA i JD enabled mks robin nano 1.2 = rattling when LA enabled and JD disabled

What version of MOBO do you have, and what is yours LA i JD settings ?

inib commented 4 years ago

I have the 1.2 Board and I usually use LA K=0.7 JD K=0.02 for first layer and K=0.15/K=0.3 for normal and fast settings for the actual print. (which is sometimes limited by my extruder movements, which leads to some rattles) I also use a TMC2130 on the extruder motor in 1/16th spreadcycle with interpolation.

porlock commented 4 years ago

Did you tried LA enabled and JD disabled ? Im wondering how do you figure out to use different K on other layers ?

sobieh commented 4 years ago

it is caused probably by a Marlin bug when you enable CLASSIC_JERK + LIN_ADVANCE combination. It produces an undefined behavior with undefined MAX_E_JERK value.

I'll check that to be sure and make a PR fixing it later.

inib commented 4 years ago

In PrusaSlicer I have M900 K0.7 ; K-factor M205 J0.02 ; reduced K-factor for 1st Layer in my filament g-code settings and {if layer_num == 1}M205 J0.3{endif} ; in the after layer change gcode in the machine settings.

PrusaSlicer also resets the machine limits in each gcode file, this could lead to the different behaviors, if there is somewhere a bug related to that.

sobieh commented 4 years ago

Ok they already fixed it on the official marlin repo. The only thing you need is to pull their changes :)

Any chance of doing that @inib :D ?