MarlinFirmware/Marlin

[BUG] Linear Advance K Calibration Print stops extruding

stantond opened this issue · 164 comments

Bug Description

Using Marlin 1.1.9-bugfix on an Ender 3 Pro with Creality 1.1.5 board.
Created GCODE for calibrating Linear Advance 1.5 using http://marlinfw.org/tools/lin_advance/k-factor.html
The first test line prints, then the extruder stops.

==========The following text is additional information the Marlin Team did not want to get lost ==============

When using StealthChop, the motion should not start with a high frequency,
but the stepper motor has to accelerate softly. A high frequency start and
subsequent stop will lead to:

  1. Current regulated up to a high value, as a high back EMF is anticipated.

  2. When stopping the motor again (no further pulses) the high current is kept
    for some time. This can lead to motor overcurrent and the dnver thus disabling.

To solve:
Accelerate the motor slowly. The first and last step pulses of a motion
therefore have to have a higher distance.

The TMC drivers have a step filter (per default enabled by GCONF.8) to cope
with uneven step pulses occurring as bursts of 2-4 steps generated by
software pulse generators, but the filter needs roughly 32 microsteps to
(fully) adapt to the initial velocity of a ramp.

Follow up questions:

Q: Would it be right to think that the motor supply voltage, motor coil
resistance and motor coil inductance will all affect whether the overcurrent
condition occurs?

A: Yes.

Q: How do VREF and IHOLD_IRUN affect things? e.g. will a lower current setpoint
make it more likely that the over-current condition will be triggered?

A: A higher current setting (as controlled by IRUN and VREF) will make it
more likely to trigger overcurrent detection in case of the fast step pulses.

Q: What register/flag could we read from the UART to find out whether this
overcurrent condition has occurred? e.g. would it be something like the
s2vsa, s2vsb, s2ga or s2gb flags in DRV_STATUS?

A: Correct, a short condition will be signalled in DRV_STATUS and in GSTAT.

My Configurations

Required: Please include a ZIP file containing your Configuration.h and Configuration_adv.h files.

Linear Advance 0 to 2 kfactor.txt .gcode

Configuration.txt .h

Configuration_adv.txt .h

Steps to Reproduce

  1. Generate GCODE using the online tool
  2. Print it
  3. Watch the extruder

Expected behavior: [What you expect to happen]

The extruder extrudes and the full print prints.

Actual behavior: [What actually happens]

The first test line (K=0) prints.
The plastic thins out over the next two lines to nothing, and the extruder stops turning entirely.

  • Provide pictures or links to videos that clearly demonstrate the issue.

IMG_20191202_153924

Please try Marlin 2.0

Marlin 1.1.9 is no longer actively worked on. Please try 2.0.

I don't see anything that stands out in your config and gcode files. Has the bed been leveled? How exactly does it stop? Like does it continue to try and complete the job except with zero extrusion or does it end the job after the 3rd line? Have you tried doing 0.1 K factor stepping and see if it will produce more lines? Try enabling LA_DEBUG and check the outputs.

The bed is pretty level as it is, but there's also a G29 in the print GCODE.

It continues and completes the print job, but it stops extruding and doesn't continue. The photo shows a "finished" print.

I can try 0.1 stepping tomorrow, although I suspect it stops as soon as K >0.

How do I use LA_DEBUG? I usually use with Octoprint.

I haven't used Octoprint so I don't know with that. You need to connect to the machine via USB. You could use repetier, adruino ide or whathaveyou. LA_DEBUG must be enabled in your configuration first and your machine reflashed - you might as well upgrade to 2.0 :D

@stantond did you try 2.0.x ?

Could it be, that the 1.1.5 creality board is the silent board with the tmc 2208 on all axis in standalone and stealthchop mode?
As far as a I know, LA does not work with tmc 2208 standalone at Extruder Motor in stealthchop Mode.

How do I use LA_DEBUG? I usually use with Octoprint.

There's a terminal tab in OctoPrint which is where you'll watch/send commands:
image

closing this one until we hear back from @stantond

as said above 1.1.9 is no longer active worked on, please use 2.0.x

As far as a I know, LA does not work with tmc 2208 standalone at Extruder Motor in stealthchop Mode.

@Strahler85 I'm using the Creality 1.1.5 board, and I believe it does use 2208 drivers in stealthchop mode for all motors. Do you know of there's a way to change the mode for the E driver?

@boelle of the above is true, this issue will affect any version of Marlin using this board

In 2.0, you can disable stealthchop for each stepper in configuration_adv.h ie #define STEALTHCHOP_E

i cant reproduce and i think the difference is that i dont use stealthchop on the extruder

https://github.com/boelle/Marlin/tree/Mendel90

i use drv8825 for the extruder and that is why i know, for everything else i use tmc2100

will close this one as it most likely a config issue and not a bug as such

Hopefully I'll have time to do some more testing on this next week. Looks like M569 was introduced in Marlin 2.0, so I'll start there.

I'd suggest that if it is a configuration issue, it's a "bug" in the documentation - if it's a known and understood issue that can be resolved with a config change, adding it to the docs so that the next poor sod to get stuck can find a fix rather than spend hours messing about and trawling closed issues would be a useful "fix", right?

that's an arguement i can use, so yes, documentation should be improved if it turns out that you cant use stealthchop on the extruder

i have tmc2208 in stand alone running marlin 2.0 and linear advance function perfectly i ran the calibration 10x yesterday and i use linear advance daily.

I've just installed Marlin 2.0, with almost identical settings.

M569 isn't working (Unknown command: "M569"), so I've obviously missed something. I've subsequently installed the TMCStepper library as specified here, but I've been staring at the page for a good few minutes and can't figure out what setting I need to enable to include the library when compiling to get M569 working. Which settings do I need?

I've just installed Marlin 2.0, with almost identical settings.

Can you post updated configs? Just zip them up into a single .zip and attach it and we can verify your settings. I'm guessing you didn't enable TMC2130 for the driver type, so M569 isn't enabled.

Also, PlatformIO should download TMC libraries for you without having to install anything if you're using VSCode.

I tried defining some Stepper Drivers as TMC2208 and got compiler errors (using Arduino IDE, no idea what PlatformIO is).

Files attached.
Marlin.zip

no idea what PlatformIO is

try it

no idea what PlatformIO is

try it

I'm sure it's great, but I'd rather fix what I can without adding more variables to the mix. Maybe when this issue is resolved.

I tried defining some Stepper Drivers as TMC2208 and got compiler errors

Changed to TMC2208_STANDALONE and it compiles OK. I get the feeling that the Creality board is fixed in standalone mode for all drivers, as they would have just dropped in the new drivers to replace the old rather than design and manufacture a new PCB. Will test this over the weekend.

I get the feeling that the Creality board is fixed in standalone mode

You are correct.

Having set the drivers to "TMC2208_STANDALONE", M569 still doesn't work. Is that expected?

Tested K calibration print again, now on Marlin 2.0 with drivers set to TMC2208_STANDALONE, which is the only option for TMC drivers on the Creality/Melzi "Silent" boards v1.1.4 and v1.1.5.

Same result. Prints the first line where K=0, then extruder stepper stops, but print tries to continue as normal, unaware of the failure.

M569 depends on a UART or SPI connection to the driver to change stepping mode, so there's no way for it to work with a ''TMCXXXX_STANDALONE`` driver. I think if your 2208s are soldered to the board you're out of luck and will be unable to change them to SpreadCycle.

The problem isn't M569 - it's just a means to an end. I'm trying to establish whether or not Linear Advance is compatible with StealthChop. At this point, I suspect not, and recommend the docs be updated, unless anyone else is able to further test this.

@stantond I would try this:

/**

  • Beta feature!
  • Create a 50/50 square wave step pulse optimal for stepper drivers.
    */
    #define SQUARE_WAVE_STEPPING

/**

  • Enable M122 debugging command for TMC stepper drivers.
  • M122 S0/1 will enable continous reporting.
    */
    #define TMC_DEBUG

@stantond I would try this:

/**

  • Beta feature!
  • Create a 50/50 square wave step pulse optimal for stepper drivers.
    */
    #define SQUARE_WAVE_STEPPING

/**

  • Enable M122 debugging command for TMC stepper drivers.
  • M122 S0/1 will enable continous reporting.
    */
    #define TMC_DEBUG

Have just tried this. Thanks for the suggestion. Still didn't work - extruder stops extruding the moment it gets to the first bit where the K factor is changed to a non-zero value.

@stantond I wonder if this is related to some pulse timing I observed yesterday related to Linear Advance. I posted a capture of step output on #16155.

I have seen waveforms similar to this cause 2208 drivers to shut down, although in that case it was a different issue not related to linear advance. 2209 drivers seemed more resilient when I encountered that earlier issue, but I assume they have a breaking point as well.

It is also worth mentioning that SQUARE_WAVE_STEPPING won't do anything when you are using drivers in standalone mode. The image I posted to the other issue is with square wave, but a similar issue would exist without it.

@stantond is the issue still the same with all the updates in the last 6 days?

@stantond is the issue still the same with all the updates in the last 6 days?

Updates? Have there been some bugfix releases since that could have affected this?

that is what i'm asking you, i never had the problem so i cant see if there is any difference

that is what i'm asking you, i never had the problem so i cant see if there is any difference

Haven't tried it - don't usually update for each bugfix release, I thought the general advice was stick to the main releases. Are there actually any changes that look like they might have an impact, or is this more of a "just in case why not give it a go"?

its "just in case why not give it a go" and if its not fixed go back again

Ok, will try it in about a week when I'm back with the printer

video inbound of me running the calibration test on my machine with tmc2208 just fine its uploading.
Ive run the calibration a few 100 times over the last year with the machine never once had the described issue. suspect hardware defect or miss configured marlin to be the root cause.

video inbound of me running the calibration test on my machine with tmc2208 just fine its uploading.
Ive run the calibration a few 100 times over the last year with the machine never once had the described issue.

What mode is your extruder driver in?

standalone same as yours.

That sounds promising then, can you share your config files, please? Mine are attached further up. I'll do a side-by-side to see if any differences could be causing this. Which mainboard are you using?

there on my github unfortunately my fork isn't gonna be easy to compare its one unified config supporting like 100 printers including there variants but it is kept updated daily with the latest marlin source. upload will be completed in a few minutes and the link will be added.

btw, who can confirm there is an issue? use the same configs as OP and the same hardware if possible

the 1284p is like the little brother to the 2560 it should be close enough to compare.
https://youtu.be/jkscvoqdh4s

i will then put a confirmed label on it

i totally disprove a problem exists if comparing them like this is acceptable.

me misunderstod then.... label is gone and yes now that my brain is in gear i remember the issue

i never had it either so it must be a not confirmed

I will try to reproduce it on my machine. I have been investigating LA causing 2208 drivers to turn off and am hoping to fix it. I’ve been reproducing with the default K value so haven’t actually tried the calibration print. It probably doesn’t happen to everyone due to other configuration settings, Vref settings, etc...

I will try to reproduce it on my machine. I have been investigating LA causing 2208 drivers to turn off and am hoping to fix it. I’ve been reproducing with the default K value so haven’t actually tried the calibration print. It probably doesn’t happen to everyone due to other configuration settings, Vref settings, etc...

I set my default K to 0 in config, so I don't accidentally print with a value that doesn't work well for the filament type (and so that I can continue to print without it while troubleshooting this issue)

After spending time looking into this and attempting various small patches to improve LA behavior on 2208 drivers, my recommendation is just to turn it off. In my opinion Linear Advance would have to be completely reworked to avoid the issues that cause the 2208 to shut down, and probably cause quality/noise issues with other drivers.

Hi, I can confirm this problem with my Sovol SV01 and SilentBoard (TMC2208_STANDALONE).
I'm using the latest Marlin 2.0.1.

its rather strange this only happens with some TMC2208 drivers as mine are entirely unaffected.

can we do anything about this one when the error only happen on some TMC2208 ?

It isn't very useful for the issue but I have exactly the same problem with Marlin bugfix-2.0.x. When Linear Advance is activated and k > 0 the extruder stops extruding. I have tried everything posted here and other things seen in other places, nothing seems to work. My motherboard is a Creality 3D 2.5.2 (picture attached just in case is useful).

photo_2020-01-12_10-45-04

The drivers are TMC2208 and as far as I know they are in standalone mode.

Watching closely as it prints the calibration pattern I can see that the stepper driver extrudes at the start of the first line with K>0, but its speed is reduced rapidly and it never regains movement (even when the k factor is set to zero at the end of the calibration pattern gcode).

If there is anything I can try/test/provide to help fix this just let me know.

Confirming issue with my Ender 3 Pro and Creality silent board v1.1.15.
Today installed Marlin 2.0.1 with LA. Same result only k=0 line printed

@pro100luk what with bugfix 2.0.x ?
2.0.1 is just a frozen copy of 2.0.x and is now "old"

@boelle the same behavior with bugfix.
Also tried disabling STEALTHCHOP_E and it also didn't work.

After spending time looking into this and attempting various small patches to improve LA behavior on 2208 drivers, my recommendation is just to turn it off. In my opinion Linear Advance would have to be completely reworked to avoid the issues that cause the 2208 to shut down, and probably cause quality/noise issues with other drivers.

To expand on my earlier comment.

Linear advance inserts its own steps, out of sequence with the steps for normal movement. There is no synchronization between these two source of steps, which can cause you to perform two steps 1 microsecond apart, in the middle of a chain of steps 20 milliseconds apart. This rapid velocity shift appears to cause the 2208s to shut down, but may also cause rough operation with other drivers.

There is no combination of settings that will solve this problem, without reworking something to allow these two sources of steps to synchronize and accelerate smoothly.

If you are encountering this issue and aren't willing to perform that rewrite, you should probably just turn off Linear Advance.

After spending time looking into this and attempting various small patches to improve LA behavior on 2208 drivers, my recommendation is just to turn it off. In my opinion Linear Advance would have to be completely reworked to avoid the issues that cause the 2208 to shut down, and probably cause quality/noise issues with other drivers.

To expand on my earlier comment.

Linear advance inserts its own steps, out of sequence with the steps for normal movement. There is no synchronization between these two source of steps, which can cause you to perform two steps 1 microsecond apart, in the middle of a chain of steps 20 milliseconds apart. This rapid velocity shift appears to cause the 2208s to shut down, but may also cause rough operation with other drivers.

There is no combination of settings that will solve this problem, without reworking something to allow these two sources of steps to synchronize and accelerate smoothly.

If you are encountering this issue and aren't willing to perform that rewrite, you should probably just turn off Linear Advance.

So the LA implementation is somewhat flawed and could be causing low key wear or damage to systems where it appears to work?

could be causing low key wear or damage to systems where it appears to work?

I can't speak to whether it could damage components. I suspect the most common issue (aside from 2208s shutting down) would be missed steps, but maybe it leads to problems involving increased temperatures, etc.

It sounds like there are enough verifications now to keep this open. In the little time I have currently for 3D printing, I'm installing a SKR 1.4 with 2209s to go 32 bit and selling the Creality board, so it's unlikely I'll be able to further contribute to troubleshooting this issue (unless it occurs on this combination of board and drivers too, which also seems unlikely).

It the meantime, it might be worth adding a note in the Linear Advance documentation to highlight the current incompatibility with LA and Creality boards with 2208 drivers, linking to this issue.

I just want to leave here my own experience too...I also changed from Creality 1.1.3 to 1.1.5 and I encountered the same problems (I'm not an expert like you but the symptoms are exactly the same). I just reverted to 1.1.3 and seems everything back to works (Marlin 1.1.x). I'm using the E3D Hemera as a extruder.

I just want to leave here my own experience too...I also changed from Creality 1.1.3 to 1.1.5 and I encountered the same problems (I'm not an expert like you but the symptoms are exactly the same). I just reverted to 1.1.3 and seems everything back to works (Marlin 1.1.x). I'm using the E3D Hemera as a extruder.

That makes sense. Your 1.1.5 (and the "silent" 1.1.4) boards are using 2208 drivers, but I don't think (haven't checked) Creality have changed anything else since board 1.1.3, so the drivers are in standalone mode and stuck in stealthchop

and seems everything back to works (Marlin 1.1.x)

what if you use bugfix 2.0.x ?

It sounds like there are enough verifications

is it the same hardware and same settings?
and is it ruled out its not a hardware issue or wrong config?

vadsh commented

I've also had hard times with TMC2208 and linear advance.

Very similar symptoms with results similar to what was pictured in the original post (https://user-images.githubusercontent.com/3207366/69991915-80ba3a80-1540-11ea-9669-f7188050c4da.jpg)

Seems to found working settings as a workaround. Find my post with settings here:
#16402

Lack of Activity
This issue is being closed due to lack of activity. If you have solved the
issue, please let us know how you solved it. If you haven't, please tell us
what else you've tried in the meantime, and possibly this issue will be
reopened.

let hear from @stantond , it could be that he solved the issue and forgot to report back

Lack of Activity
This issue is being closed due to lack of activity. If you have solved the
issue, please let us know how you solved it. If you haven't, please tell us
what else you've tried in the meantime, and possibly this issue will be
reopened.

let hear from @stantond , it could be that he solved the issue and forgot to report back

As above, I've moved to an SKR 1.4 with TMC2209s, so will not be able to further troubleshoot this issue.

However, there have been several other people who have confirmed they experience this issue.

Given this is a reproducible and existing bug, I question the policy of closing issues due to lack of activity. A lack of interest doesn't mean the issue is resolved. If anything, you could tag it "low activity" and move on. If one of my PMs or Tech Leads started closing live, unresolved bugs for the sake of cleaning up their board, I'd be having words with them...

Given this is a reproducible

But not easy, @Vertabreak and me have tried and failed, i do not know what hardware @Vertabreak have tried it on but i tried with a e3d titan extruder using both DRV8825 and TMC2209 on a re-arm/ramps setup and never had an issue

i think the best way forward is we try to narrow down what hardware it can be reproduced and along with the config

Confirming issue with my Ender 3 Pro and Creality silent board v1.1.15.

@pro100luk please attach config as zip

I have exactly the same problem with Marlin bugfix-2.0.x.
My motherboard is a Creality 3D 2.5.2

@Fenixin please attach config as zip

ovol SV01 and SilentBoard (TMC2208_STANDALONE).

@0n3-70uch please attach config as zip

changed from Creality 1.1.3 to 1.1.5 and I encountered the same problems
I'm using the E3D Hemera as a extruder.

@macminoz please attach config as zip

I've also had hard times with TMC2208 and linear advance.

@vadsh please attach config as zip

Same problem with 2.0.1 release and stock Tronxy Melzi controller board. I get about 3 lines before it stops printing. This is using a Tronxy X3A (Ender3 designed by an intern after a liquid lunch).
Marlin.zip

so it seems to hit both 8 bit and 32 bit. hmm...

@boelle Indeed. I tried printing with Linear Advance on (Kf = 0.03). My test print showed missing layers. The missing layers may be overall under extrusion rather than some periodic issues. I wonder what @stantond pattern would look like if he set his extrusion factor to 1.15 or so. It would need to be something dramatic.

@boelle Indeed. I tried printing with Linear Advance on (Kf = 0.03). My test print showed missing layers. The missing layers may be overall under extrusion rather than some periodic issues. I wonder what @stantond pattern would look like if he set his extrusion factor to 1.15 or so. It would need to be something dramatic.

While I can't tell you what 1.15 looked like, I can tell you that 1.0 and 1.2 printed nothing (in the calibration print).

I have certainly reproduced it on an AVR controller. I am surprised to hear about issues with a Tronxy Melzi board, as I thought this was limited to TMC2208 drivers. In the end, there are issues with inconsistent step timing when using Linear Advance. We know that TMC2208 drivers have issues with it, but it is entirely possible that other drivers behave poorly as well.

When the printer is free, I can take a short video of the movement of the extruder gear while the calibration test pattern is printing. I have a sharpie line on the gear so that its moton can be easily checked.

I have the exact same problem as others here. Setup is an Ender3, Creality Silent Board v.1.1.15 with the TMC2208 drivers configured in standalone mode. I can post my exact configuration tonight, but I have tried with STEALTHCHOP_E disabled and enabled, and MINIMUM_STEPPER_PULSE set to default for the TMC2208's as well as set to 1, with no change. The only solution I had was to disable Linear Advance.

The odd thing for me is I can actually get through printing the calibration files, but as soon as I print a larger part using Cura the extruder stops very early on in the part.

hi all thank for your help
printer créality ender 5 pro 1.16 board melzi driver A4988. marlin 2.0.3 with configuration ender 5 pro in configuration master repertory.
Marlin.zip

with the printer screen menu. when I request an extrusion of 0.1, 1 or 10 mm it turns once and stops it must be turned off to be able to trigger an extrusion;
sometime when i select stop motor and i wait lot of minute the extrudeur make juste a litls mouve and stop again

I had the same issue with a generic printer.. what I did to resolve it was to lower the acceleration.. my default was set to 3000.. lowered that to 2000 and it started extruding.. tho I'm still at a loss as to what K value is good because I'm not seeing any difference between K0 to K200. But this is a separate issue.. just wanted to post how I fixed the no extrusion issue for reference.

I had the same issue with a generic printer.. what I did to resolve it was to lower the acceleration.. my default was set to 3000.. lowered that to 2000 and it started extruding.. tho I'm still at a loss as to what K value is good because I'm not seeing any difference between K0 to K200. But this is a separate issue.. just wanted to post how I fixed the no extrusion issue for reference.

did you use the test pattern to evaluate the linear advance?

I had the same issue with a generic printer.. what I did to resolve it was to lower the acceleration.. my default was set to 3000.. lowered that to 2000 and it started extruding.. tho I'm still at a loss as to what K value is good because I'm not seeing any difference between K0 to K200. But this is a separate issue.. just wanted to post how I fixed the no extrusion issue for reference.

did you use the test pattern to evaluate the linear advance?

Well, yes.. that's where I'm seeing no difference in any of the values.. and I do have LA enabled.
What does seem odd the right side slow print is a lot thicker than the left slide slow print.. anyways, I don't want to hijack this thread. I'm gonna go without it for now as it's printing just fine with no LA.

I have exactly same problem.
tried printing Linear Advance calibration, extruder sopped on second line. I reproduced it 3 times, each time stops extruding on 2 line.
My config:
Marlin 2.0.5
Skr 1.4 turbo
TMC5160 v1.2
Hemera extruder

This issue also happend in other prints.

Here is my Configuration Files and g-code for Linear advance
LINADVkfactor.gcode.zip

Archive.zip

I can confirm this issue. I have a Creality 1.1.5 silent board using the TMC2208_Standalone drivers. When I use linear Advance in Marlin 1.1.9.1, the extruder works on the very first move, but not subsequent ones. When I compile Marlin 1.1.9.1 without linear advance, the extruder works normally.

I also tried Marlin 2.0.5.3 (from the git tag), but it would not compile.

EDIT: Forgot to mention, all hardware except the board is stock, and since the only discernible difference seems to be linear advance, I would rule out any hardware issues.

I am having the same issue: currently trying Marlin 1.1.9 with Creality Silent board 1.1.5. I get the first line of the test print (K=0), but nothing after that no matter how small I go. I am willing to try Marlin 2.0 but it seems nobody is having luck with this setup with that version either.

As an update, still no joy after trying Marlin 2.0.5.3. I can upload my configuration files if that would help but basically seems like this board just doesn’t work for me or for others as mentioned above.

I've also checked Marlin 2.0.5.3 from the git tag - you can not use LA but you can use (add to gcode) M569 S0 E to disable stealthChop and use spreadCycle. Extruder works with K=0.
Board: Creality 1.1.5 (TMC2208_STANDALONE).

Please test the bugfix-2.0.x branch to see where it stands. If the problem has been resolved then we can close this issue. If the issue isn't resolved yet, then we should investigate further.

itumz commented

(https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip)

Now, I try fresh download this file lastest version but issue isn't resolved.
tested on : Chitu_f103 V6

Having this same issue on fresh bugfix downloaded just a few hours ago. CR-10 V2 with stock board, TMC2208 Standalone drivers, S-curve acceleration is disabled. Stock extruder motor mounted in direct drive configuration above the hotend.
bugfix_20x_CR10-v2.zip

I've also checked Marlin 2.0.5.3 from the git tag - you can not use LA but you can use (add to gcode) M569 S0 E to disable stealthChop and use spreadCycle. Extruder works with K=0.
Board: Creality 1.1.5 (TMC2208_STANDALONE).

Just to confirm that this solved the issue for me.

I solved this issue with Chitu_f103 v6, it required some hardware hacking.

#17306 (comment)

Creat commented

I know I'm coming in late, but yes I also have this issue (and had it since last summer).

Her's a quick infodump:
Printer: Hypercube Evolution (custom printer)
Extruder/Hotend: e3d Titan + e3d V6 (direct drive), pancake motor
Board: BTT SKR V1.3; 24V main supply voltage
Stepper Drivers: TMC 2208 (original Watterott), UART Mode
Stepper Config: StealthChop active for X/Y/E, CHOPPER_DEFAULT_24V
Marlin Version: bugfix-2.0.x (usually updated frequently, last update was yesterday)
Print Source: Prusa Slic3r for slicing, Octoprint on a RasPi for communication

Initially (like about a year ago), prints would just randomly stop extruding at some point, even the exact same GCode would stop at different levels. When printing that "moon ornament" (thingiverse: 2771919), essentially a 2-inch sphere with high surface detail, it would sometimes stop in the first 20 layers, sometimes it would make it past half the print.

Critically, this occurs even when setting K-factor to 0.0. I still had a bowden setup back then (same hardware), making the motor go nuts essentially with any value of practical use. Supposedly setting it to 0 should be disabling linear advance in practice, so I didn't reflash. That is why it took me so long to figure out that it was even the problem. Disabled LIN_ADVANCE, reflashed, and it printed fine. Back then, S-Curve was enabled, now it isn't anymore though.

I have reenabled linear advance yesterday, and the problem came back instantly. Currently I'm using K-factor of 0.06.
Marlin-Config-Creat.zip
I feel like it's more likely with prints that have lots of fine detail. I'm about to try disabling stealthchop with M569 to see what happens.

My current config is attached.

I know I'm coming in late, but yes I also have this issue (and had it since last summer).

Her's a quick infodump:
Printer: Hypercube Evolution (custom printer)
Extruder/Hotend: e3d Titan + e3d V6 (direct drive), pancake motor
Board: BTT SKR V1.3; 24V main supply voltage
Stepper Drivers: TMC 2208 (original Watterott), UART Mode
Stepper Config: StealthChop active for X/Y/E, CHOPPER_DEFAULT_24V
Marlin Version: bugfix-2.0.x (usually updated frequently, last update was yesterday)
Print Source: Prusa Slic3r for slicing, Octoprint on a RasPi for communication

Initially (like about a year ago), prints would just randomly stop extruding at some point, even the exact same GCode would stop at different levels. When printing that "moon ornament" (thingiverse: 2771919), essentially a 2-inch sphere with high surface detail, it would sometimes stop in the first 20 layers, sometimes it would make it past half the print.

Critically, this occurs even when setting K-factor to 0.0. I still had a bowden setup back then (same hardware), making the motor go nuts essentially with any value of practical use. Supposedly setting it to 0 should be disabling linear advance in practice, so I didn't reflash. That is why it took me so long to figure out that it was even the problem. Disabled LIN_ADVANCE, reflashed, and it printed fine. Back then, S-Curve was enabled, now it isn't anymore though.

I have reenabled linear advance yesterday, and the problem came back instantly. Currently I'm using K-factor of 0.06.
Marlin-Config-Creat.zip
I feel like it's more likely with prints that have lots of fine detail. I'm about to try disabling stealthchop with M569 to see what happens.

My current config is attached.

@Creat disable STEALTHCHOP_E in Configuration_adv.h. Linear advance feature doesn't work with stealthchop enabled on extruder.

Creat commented

@Creat disable STEALTHCHOP_E in Configuration_adv.h. Linear advance feature doesn't work with stealthchop enabled on extruder.

Yes, as I said I'm trying that now. So far so good, but only about 2% through the print (~10 hours).
If StealthChop really is the cause, I'd really like to know what causes the steppers to "hang".

I know disabling and reenabling steppers works fine, since aborting a print lets me move E instantly, so it seems related to that. Recently I've removed the G-Code for disabling stepper motors from my abort script for various reasons, and now when I abort a print where it stopped extruding, I need to wait for the steppers to time out to be able to move E again.

This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.

100 people have now commented on this issue. I don't think it should be closed unless it is made more obvious that linear advance does not work with stealthchop.
Maybe a PR to put it as a comment in the header itself?

I found that the M205 E jerk value significantly affects this issue for me. If I set "M205 E5", the extruder will get disabled within the first couple lines of the calibration print. If I set "M205 E30" the calibration runs fine, and I'm getting at least partway through a real print.

When the extruder stops, it's getting disabled completely. I can hear the thunk of the E stepper turning off, and it drifts backwards a little. When it happens during a print, I can I execute "M18" to disable the steppers. I get the usual thunk followed by all the steppers turning back on, including the E stepper picking up where it left off.

Ender 3 V2
STM32F103RET6_creality
BOARD_CREALITY_V4
bugfix-2.0.x at 6759aff

If you have 2208 in standalone, you can use this guide (bottom section, "Enabling Linear Advance") to disable StealthChop on E-stepper. Requires soldering, serial adapter and 1k resistor.

100 people have now commented on this issue. I don't think it should be closed unless it is made more obvious that linear advance does not work with stealthchop.
Maybe a PR to put it as a comment in the header itself?

I would suggest that if linear advance is enabled, stealthchop is disabled automatically, except if you override it.

@Creat How did disabling stealthchop work for you?