-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
[BUG] Linear Advance K Calibration Print stops extruding #16076
Comments
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. |
@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? |
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 |
@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 |
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? |
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 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 Files attached. |
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.
Changed to |
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. |
|
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: /**
/**
|
Sharing some info for anyone that might be using the Creality v4.2.7 board... After submitting #21463 I did further testing. At some time I got the E stepper stopping. So I decided to follow https://drive.google.com/file/d/15cUf10lMxW4NUHE9qVAlamXmULdrOJxz/view and try to apply it to my Creality v4.2.7 board, the hardware path. I must have omitted the fact that the v4.2.7 uses TMC2225. I was successful in making the driver switch away from StealthChop - soldered a wire from PA3 (software RX and TX UART) to the closer to the driver end of R52. Yes, R19 is another pulling resistor as opposed to the v4.2.2 board. However, while the driver was accepting the settings, I got the TMC COMMUNICATION ERROR. I removed the heatsink from the driver and that is when I remembered I read somewhere it was a TMC2225. It turns out pin 17 (UART) and pin 18 (DIAG) are shorted together (via a trace) and pulled high via R52. Not sure why Creality did it that way. DIAG is an output, why pull it up? So I lifted pin 18 whose signal is not used anyway and then I got the stepper communicating properly and I'm happy using linear advance now. Another alternative to lifting pin 18 is to cut the PCB trace that connects pin 17 to pin 18. Another point to mention - TMC2225 has a pin 19 (SPREAD) that toggles the chopper mode selection. It is pulled low on the v4.2.7 board via R48. So removing R48 and pulling pin 19 high should also work for disabling StealthChop. |
Arrived here after finding this issue with my CR10S Pro V2 although for me initially the prints seemed to work without a problem with all lines being printed (K0-2 step 0.2), and it was only when fine-tuning (steps<0.2) that the printer stopped extruding. After reading the thread, it seems that a hardware hack is the fix to the problem. Doesn't seem difficult, but I'll leave that until it becomes necessary. |
I tried this mod today, but something wrong with code. If i change driver type from TMC2209_STANDALONE to TMC2209 for extruder, device stuck with blank screen, no logo, only backlight and working fans. -DHAVE_SW_SERIAL appended, UART pins assigned. I have stlink, but i don't have time to debug :( Ender 5 Pro, STM32F103RET6 board V4.2.2, Marlin 2.0.9.2 |
probably incorrect thread and all since i use Klipper. I have 4.2.7. schematics (random find), and this "simple" mod would save me purchase of a new board. |
I think this is related to this bug. Had the same Problem. Compiling with libmaple works. Maybe it causes other issues, but can not say much about this... For sharing my experience: It is still possibly that I have some problems in my configuration.
I have no idea why my extruder is missing steps. It just feels like it not working on the set current limitation (nothing is warm, but I think it should with 940 mA)... What I did:
What I really wonder about: Even with downscaled extrusion and many lost steps I still get a complete print. But I triple checked the extrusion amount. But I will do again... I don't get it... I also tried to solder PB2 with 1K resistor as my TX pin. After this I could not read status from TMC driver. Maybe I need pins on the same port, the problem can be in marlin, the 10K pull resistor still activ, maybe there is a problem with the signal level (22K recommended in the datasheet of TMC2208) or it is not working because it's the boot1 pin (what should not care much). I don't know. Possibly some of you can answer some of my questions:
Edit: Regards! |
Why closing this issue? Is it fixed? |
🤷🏻 This issue is stale. Please test the |
TMC2225/TMC2208s shutdown with LA enabled and this hasn’t been fixed yet. It’s a long-standing issue with these drivers. I’ve also seen this issue manifest itself with 5160s on a recent build. |
I'm facing the same issue with my Ender 3 S1 (STM32F4). Even with K value set to 0 in the firmware. |
Our Linear Advance woes with TMC2208s/TMC2225s may finally be over. Please test #24533 and report your hardware config + findings in that PR. |
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. |
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:
Current regulated up to a high value, as a high back EMF is anticipated.
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
andConfiguration_adv.h
files.Linear Advance 0 to 2 kfactor.txt .gcode
Configuration.txt .h
Configuration_adv.txt .h
Steps to Reproduce
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.
The text was updated successfully, but these errors were encountered: