Linear advance extruder stops
hi
I have a weird issue. Trying to calibrate my printer with linear advance fails when L is greater than 17. The extruder gear would just stop moving and the stepper looks to be disabled.
I am runing version 1.03
Extruder steps per mm:299.700
Extruder start feedrate: 10 mm/s
Extruder max feedrate: 70 mm/s
Extruder acceleration: 10000
Any advise would be appreciated.
I have a weird issue. Trying to calibrate my printer with linear advance fails when L is greater than 17. The extruder gear would just stop moving and the stepper looks to be disabled.
I am runing version 1.03
Extruder steps per mm:299.700
Extruder start feedrate: 10 mm/s
Extruder max feedrate: 70 mm/s
Extruder acceleration: 10000
Any advise would be appreciated.
Comments
None the less 17 is not much and no reason to stop. I've gone up to 90 when testing the improvements without problems. Do you see any hints in log that it activated e.g. dry run which would disable extruder.
I have now flashed 1.0.4 and no change. the extruder just stops.
It prints the first test line and then prints the first 2 portions of the second test line and just stops the extruder.
Repetier Server Log:
Gcode:
.......
The way it works with advance is that there is a separate interrupt only for extruder steps. The motion will increase a open steps variable and the interrupt will later execute it. In your case the interrupt needs to run with 70mm/s*300steps/mm = 21000Hz. Timer can not handle this so it gets even 22727Hz. My guess is that this is not enough time so instead of setting a time in the future it happens that the interrupt is in the past making it much slower with extruding. This also causes the extruder counter to overflow so it reverses direction.
So as a first test reduce max. extruder speed to 55mm/s, that is a value which slower moves get increased to, so lower speeds will not help with your values.
This is assuming you have a 8 bit board. With that there is more time for the interrupt to finish.
It gets weirder, if I set L=130, I get a good couple of lines printed of a test cube and the extruder would stop. If I then try to start a print again, my bedleveling would fail immediately. This behaviour looks like a buffer overflow type issue.
Can you post your configuration. Maybe I can replay it with a logic analyser and then add some tests to find a reason. My configs do not seem to have the problem, but with all the combinations of features there is always a chance that one causes it while I do not see it.
I built a custom controller board based on the Atmel SAM3X8E chip, like the Due and the stepper drivers are TMC2208.
configuration.h
userpins.h