MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.26k stars 19.23k forks source link

[FR] meaningful linear advance error messages #18131

Open c3D-Dan opened 4 years ago

c3D-Dan commented 4 years ago

No one seems to know what eISR running at >10khz means. A helpful error message would help. Is this to do with extruder jerk, acceleration, print speed, steps per mm or specific types of stepper driver? Is it a combination of these? Resources online are very limited. Question was posed on the forum without meaningful response.

psavva commented 4 years ago

@Sebastianv650 any idea?

c3D-Dan commented 4 years ago

At the very least, I can gather from a full days testing, this is an indication the extruder jerk isn't set high enough for Linear advance to work. Further of note, when this error occurs, it can be roughly translated to mean linear advance isn't working and therefore expect inconsistent extrusion. So far, solutions I've found is to lower K factor and increase extruder jerk. With a long bowden, My K factor is .95, meaning my E jerk needs to be insanely high to get linear advance working. Having such a high E jerk will no doubt also result in skipped E steps, which...will give me inconsistent extrusion. Tomorrow I'm experimenting with adjusting microstepping multipliers to see how that affects things .

Thinkyhead, could you please chime in?

Sebastianv650 commented 4 years ago

This is a debug message, indicating that stepper pulses are (or need to be) fired at more than 10kHz. This is a thing, as that's the threshold for double stepping, meaning there is a very high risk of overloading the CPU.

The needed solution in this case is to lower the requested steps/s to reduce the CPU load. Lower K factor, an extruder with lower steps/mm, printing slower, there are some options. Using LA on bowden systems was always on the edge of impossible :-/

Note that this is true for the 16MHz boards, I'm not longer so much up to date. Therefore I can't tell if that still a valid point for the newer 32bit boards.