-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TMC2208 extruder driver shuts itself off in spreadcycle mode with pressure advance enabled #1774
Comments
i'm using pressure advance value of 0.3 on my ender 3 with a tmc2208 in spreadcycle mode and have no issues. the issues arise when changing to stealthchop. |
The motor is a Creality 42-40 (the stock one on the Ender 3 Pro). From what I could find online (e.g. here) its Imax is 1.0A, then I converted it to IRMS by dividing by sqrt(2) and rounding up, ending with 0.7A. Is that wrong? Which motor do you have and what value for Imax do you use? |
i use 0.9 on the extruder. no heat issue so far. |
The results from your DUMP_TMC output doesn't look sane. Make sure you always apply motor power before starting up klipper, and make sure to never remove motor power while klipper is running. (If motor power is interrupted at any point then it is required to run the klipper RESTART command to reinitialize the tmc drivers.) If this is not done, then the tmc drivers can go into a corrupted state and very odd things can happen. I don't think it would make sense to run the extruder in stealthchop mode if you've got a retraction speed of 40mm/s. I'd say you should just exclusively use spreadcycle mode. If you've got a failure when running exclusively in spreadcycle mode, then I think the klipper log from that may help. Please also include the DUMP_TMC output before the failure and after the failure. -Kevin |
TMC2208 are too weak to run the fast PA commands, the problem will occur on StealthChop too. Run 2130 (if you want to waste money) or A4988 for your E's. In this specific case, the "dumb" A4988 works the best. Ran into the same problems some months ago ;) |
Thanks for the feedback. I added DUMP_TMC for the extruder to the starting G-code for every print and will update this issue when it happens again. |
This has happened to me again, I'm attaching the log file of the failed print. This is the TMC status when the print started:
This is the status after the error:
Full log file: |
Apologies for accidentally closing this, and thanks for any help! |
My two cents: updated Klipper yesterday and my extruder 5160 begin to suddenly shut down during the print. As far as I can remember - previously updated about two weeks ago... So I suspect there was some change in the code which leads to unexpected shutdown. Anyway I'm going to create issue for that, but maybe it's due the same reason as this issue. |
The GCONF report is showing bad values - it should look something like:
(The en_spreadCycle may or may not be present, but the rest of the line should match the above.) The only reason I can think of that would lead to a corrupted GCONF is if motor power was removed after a Klipper start. I recommend you upgrade to the latest software and verify that you can obtain a correct GCONF setting. -Kevin |
This just happened again after updating to the latest version of klipper (TODO). Here's the DUMP_TMC output at the start of the print:
Here's the one at the end:
I verified that all other steppers return the same GCONF value ( Then I stopped klipper, powered off the printer, unplugged the USB connection to make sure everything shuts down, then plugged USB back in, powered the printer on, and restarted klipper and sure enough, the output of all steppers now looks like this:
I will keep an eye on the GCONF value and will try to observe if/how/when it changes. I'll report back with my findings, thanks so far for the help! |
After observing this for a while, I think that the stepper gets into that state after powering on the printer without doing a firmware restart (board is always on through raspberry pi). The GCONF value shows I think it would be good to either automate this (detect a broken config in Klipper, then restart it, or refuse to start a print), or at least warn about it. I think it would also be good to add it to FAQ. It's unfortunate that the prints would still start and even succeed most of the times, and only fail sometimes. @KevinOConnor - Thanks for the help! Let me know if you prefer any of the suggestions and I'll try to implement it or send a PR to add to the FAQ. |
Okay - it sounds like this issue is solved then. As mentioned at the start of this issue, it is not valid to remove motor power from TMC drivers. -Kevin |
I agree, thanks again for helping me sort this out. Would you like me to send a PR with an entry to the FAQ to make this stand out for people? Looks like #1797 could be similar, I'll leave a comment there pointing here for now. |
Documentation would be helpful. FWIW, I think maybe a new -Kevin |
Okay, lets close this issue as it appears a solution was found for the original problem. -Kevin |
I installed TMC2208 drivers and configured pressure advance (
pressure_advance = 0.5
). Sometimes during a print the extruder stepper disables itself and stops extruding. When trying again without any changes to the settings, the same print would then succeed.My retraction speed is set to 40mm/s and therefore I picked 41mm/s as the
stealthchop_threshold
. In addition I tried settingstealthchop_threshold
to 0 to force the driver into spreadcycle mode permanently, but some prints still failed. I have not had any issues with pressure advance disabled.The printer is an Ender 3 pro with an MKS Gen L mainboard. The drivers are v1.1 from MKS in UART mode (single wire).
At first this looked like #196, but after a brief discussion there, @KevinOConnor suggested that this could be a different issue and to open a new one.
I'm attaching my klippy.log which has the full configuration. For easier reading I'm also pasting the extruder config and
DUMP_TMC
output below.Thanks for any help. I'm happy to provide more information if I forgot anything.
This is the
DUMP_TMC
output after the print finished:klippy.log
The text was updated successfully, but these errors were encountered: