3 hours ago, gr5 said:This is caused because the printer is accelerating an axis at a higher rate than the printer can achieve. That is the guaranteed truth.
HARDWARE
This happens on several of your printers but 90% of the time the printer needs oiling (too much friction) or belt tightening (pulleys slip on shaft) or raising the current to the stepper (to get more torque) or lowering the torque to the motor (drivers overheat and shut off for 1ms). I have seen all 4 of these issues. Many instances of all 4 on my own printers and other printers. But for it to happen on all 4 printers seems unlikely unless none have been oiled recently or temperatures in your printing room have increased at the same time as probelsm started.
FIRMWARE
It should be impossible for Cura to send a movement that exceeds the printer's ability. Marlin lets you set max jerk and max acceleration and someone at the factory who designed your printers SCREWED UP. After assembling 100 printers they should run them at maximum speeds taking sharp corners (think printing the points on a star) and make sure the printer never skips and if it does they should lower max jerk and max acceleration. So if the problem is not hardware then it is firmware.
SLICER
It's easy to blame the slicer because a different slicer won't show off the problem. And because you can indeed fix the problem with slicer settings. Basically there is one movement somewhere at one particular speed or speed change that is causing this. If you insist on only playing with the slicer (because it's well, easier than fixing the damn firmware), then here are some settings you might play with:
coasting - this changes the extruder speed to zero suddenly and even though the issue is not with the extruder, it can mess up the planner. I wouldn't be surprised if turning this on fixes the problem (with coasting the printer slows down more before the coast) or turning this off fixes the problem (firmware realizes it needs to slow down sooner for a corner).
Infill pattern (some patterns have sharper corners)
Speeds! The higher the speed, the more likely it's going to shift.
Short line segments - not a slicer setting exactly but the code in Marlin is pretty crappy. If you get too many small angle changes in a very short segment (say change angle by 45 degrees for 0.1mm and then again by another 45 and then by a third 45 all separated by 0.1mm) - then Marlin might think it's fine to run through the corner at full speed as each change in angle is small but in reality they add up to a big angle change in a very short (1ms) time. Marlin is too stupid to notice this. This is particularly a problem with prints like "yoda" where you have complicated, rough, surface with tiny triangles in the CAD model.
Look: the reason it always happens at the same spot is that there is some high speed sudden movement at that spot. It might look like an ordinary corner to you but maybe there is a speed change or coasting move or some other sudden shift that is just enough to cause a layer shift (likely an infill pattern).
I've seen this many times - it prints almost everything fine and ALWAYS does a layer shift at the same spot. Yes it can be fixed in the slicer but it's not the slicer's fault. It's the crappy firmware. Try printing slower.
Marlin is buggy. I've been through the code many times. It's a hack.
Everything you say is reasonable, but my jerks and speeds are really conservative.
Both of my 2 ender 3 run DUET 2 motherboards, so I wouldn't blame the firmware or electronics. The other ones run custom marlin.
Mi newest printer is the Artillery X1 and it happens almost since de first day.
My question is why it started to happen this year, in all printers, when I had been printing for 3 years without changing the firmware or slicing settings and never had a problem.
I even use jerk/acceleration control with really low values.
As I said before, slicing again the same file exactly the same way fixes the problem.
As an example, I printed the same gcode 4 times, getting the exact same layer shift the 4 times. Then re-sliced it and printed 100 face shields without a single problem, non stop.
Recommended Posts
gr5 2,295
This is caused because the printer is accelerating an axis at a higher rate than the printer can achieve. That is the guaranteed truth.
HARDWARE
This happens on several of your printers but 90% of the time the printer needs oiling (too much friction) or belt tightening (pulleys slip on shaft) or raising the current to the stepper (to get more torque) or lowering the torque to the motor (drivers overheat and shut off for 1ms). I have seen all 4 of these issues. Many instances of all 4 on my own printers and other printers. But for it to happen on all 4 printers seems unlikely unless none have been oiled recently or temperatures in your printing room have increased at the same time as probelsm started.
FIRMWARE
It should be impossible for Cura to send a movement that exceeds the printer's ability. Marlin lets you set max jerk and max acceleration and someone at the factory who designed your printers SCREWED UP. After assembling 100 printers they should run them at maximum speeds taking sharp corners (think printing the points on a star) and make sure the printer never skips and if it does they should lower max jerk and max acceleration. So if the problem is not hardware then it is firmware.
SLICER
It's easy to blame the slicer because a different slicer won't show off the problem. And because you can indeed fix the problem with slicer settings. Basically there is one movement somewhere at one particular speed or speed change that is causing this. If you insist on only playing with the slicer (because it's well, easier than fixing the damn firmware), then here are some settings you might play with:
coasting - this changes the extruder speed to zero suddenly and even though the issue is not with the extruder, it can mess up the planner. I wouldn't be surprised if turning this on fixes the problem (with coasting the printer slows down more before the coast) or turning this off fixes the problem (firmware realizes it needs to slow down sooner for a corner).
Infill pattern (some patterns have sharper corners)
Speeds! The higher the speed, the more likely it's going to shift.
Short line segments - not a slicer setting exactly but the code in Marlin is pretty crappy. If you get too many small angle changes in a very short segment (say change angle by 45 degrees for 0.1mm and then again by another 45 and then by a third 45 all separated by 0.1mm) - then Marlin might think it's fine to run through the corner at full speed as each change in angle is small but in reality they add up to a big angle change in a very short (1ms) time. Marlin is too stupid to notice this. This is particularly a problem with prints like "yoda" where you have complicated, rough, surface with tiny triangles in the CAD model.
Look: the reason it always happens at the same spot is that there is some high speed sudden movement at that spot. It might look like an ordinary corner to you but maybe there is a speed change or coasting move or some other sudden shift that is just enough to cause a layer shift (likely an infill pattern).
I've seen this many times - it prints almost everything fine and ALWAYS does a layer shift at the same spot. Yes it can be fixed in the slicer but it's not the slicer's fault. It's the crappy firmware. Try printing slower.
Marlin is buggy. I've been through the code many times. It's a hack.
Link to post
Share on other sites