It can be the difference between 23% infill and 24% infill where they run at slightly different lengths on a particular area of your print. Marlin is used on 90% of the printer brands and printers out there but I've been through the code carefully and it's still a bit buggy and hacky. It's possible that Marlin will exceed the acceleration limits if it receives the right movements with the right speeds in the right order.
It could also be one of the new features that appear to be on by default. Some of these add just an extra move or two when starting and finishing an outer wall or inner wall. If you know the exact spot you can look at it in cura layer view (actually repetier is pretty amazing at looking at the gcodes) and see what's different between the 2 gcode files.
Some features that could be related to your issue:
coasting
fill gaps between walls
???? - I can't find it but there is a feature that has the print head keep following the skin like it's going to print twice on the same loop but only for a mm or so and it doesn't extrude.
travel avoid distance
It could even be the nozzle width. Cura defaults to .35 for a .4 nozzle but I assume repetier defaults to 0.4.
Travel moves are probably more serious as they tend to be at higher speeds. That's why I mention "travel avoid distance" but there are tons of travel moves when doing infill. All those dark blue lines in layer view.
I notice that you can actually set the acceleration in cura. Try dropping the acceleration in half for whatever the default is for your printer. Again - I'm just guessing 1M/s/s but it could be much slower than that since you are moving the entire bed.
Recommended Posts
gr5 2,070
These 2 printers (anet, creality) are very similar in that the Y axis moves the entire print bed. I believe they both have Marlin. Hopefully you have a variant of Marlin that lets you see and change the acceleration and jerk as it's possible that jerk or acceleration is too high for that axis.
Anyway to clarify - in both cases you slice with Cura (but different versions and possibly at least one change to the settings)? But in on e case you print through a USB using Cura software and in the other case you print through a USB using cura software?
I have to warn you that the people who wrote that "print through usb cable" section of cura probably did not have their heart in it since none of the currently sold UM printers use that feature anymore and that feature was no longer supported when they started cura version 2.X which was a total rewrite of that feature.
Anyway I have 2 theories. One is that for some reason cura isn't sending the gcodes fast enough and sometimes marlin has to stop (even if only for a few milliseconds) because it's waiting for the next gcode and sometimes it exceeds the default accelerations in order to stop (Marlin has 2 absolute acceleration limits - on the UM2 they are 5000 and 9000 mm/sec/sec). I know - it's strange that there are 2 limits. One is the normal acceleration/decel and one is absolute max. Normally it never ever uses the second limit. So maybe the solution is to lower that second absolute max deceleration.
The second theory which seems more likely is that some slicer setting is ever so slightly different. I'm not surprised that your Y axis is "on the edge" of what it can do. Just a little extra acceleration or jerk and it loses a step. It could be an infill setting for example. The way it does very fast moves and then changes speed for the infill and switches back and forth between these speeds several times per second, or maybe if the moves are 90 degress (all in X then all in Y) and they are quick vibrations that are resonant with your Y axis (the bed and cables make a resonant vibration). It could be many things.
The solution for the second theory is to lower your Y acceleration and jerk a little bit. Maybe use 75% of current value. So if current value is 1 meter/s/s then try 0.75 M/S/S. And if the current jerk is 15mm/sec change it to 11mm/sec. Some versions of Marlin (like tinkerMarlin which only works on UM2) will let you change this in the motion controls. Some versions make you change it using gcodes. If you use gcodes don't forget to do the M500 to save the settings change for the next time you boot.
You can definitely view and change these values (acceleration and jerk) using marlin gcodes. Personally I like using pronterface. When you first connect to the printer, pronterface lists all these settings out including the gcodes to change the values. There is more info here:
reprap.org/wiki/G-code
Link to post
Share on other sites
kornnan 0
Thank you very much for your quick, detailed and long response Gr5, it'll surely be of great help not just for me but for other people with the same kind of issues. So thanks on their behalf too 😉
I'll try what you suggested whenever I have some spare time and will let you know if it worked out, though I get totally lost when it comes down to Gcodes and Marlin stuff, but I'll figure it out and try to do what you recommended.:
-lower the absolute max acceleration limit in Marlin.
-lower the jerk a 75% more.
In response to your answer, I'll try to be as specific as possible:
No, I do not print through a USB cable, I always print via mini SD card. And yes, both printers run on Marlin -as far as I'm concerned.
I tried using Cura 3.6 and then I downgraded to Cura 3.5.1, I printed the same design in both versions of Cura and with each version I used 3 different settings per print -just to find out and compare the results. Interestingly enough, the shifted layers always appeared at the same heights, but depending on the version of Cura I would get the shifted layers at different heights. I mean, using Cura 3.6, I would get them at some particular point (regardless the settings) and using Cura 3.5.1 I would get them at a different one, that's why I thought the problem could be the program itself and not a hardware problem, having shifter layers at exactly the same points is quite meaningful I'd say.
Also, printing at 0.1 layer height and 40mm/s I noticed that after shifting 2 layers in a row, then it'll get back to its right position and continue printing, which is even weirder to me. I spent hours right in front of the printer just to get the exact moment in which they happened and I got them; and yes, as you said, there was a resonant vibration each time and they normally took place in the transition between the infill and the perimeter of a new layer (infill speeds were down to 40 and 60mm/s, walls were at 30 and 40mm/s, and jerks were at 15 and 20mm/s).
The point is that even having the jerk down to 15mm/s and printing at 40mm/s in Cura, I was still getting them, but when I used Repetier Host, I tried printing at 60mm/s and jerk up to 20mm/s and the print was absolutely flawless. It's not that I can't print, it's just that I want to know why I can't get the results with Cura that I used to get before.
When I use Repetier Host it lets me choose a slicer, either CuraEngine or Slic3r, I chose CuraEngine and used quite standard settings and as I said, flawless prints using Repetier Host. I even tried printing at 120mm/s, quality was obviously affected but no layer shifts whatsoever. So it's definitely something to do with Cura.
Thanks one more time for your time and suggestions, I will reply once I try them and let you know.😃
Link to post
Share on other sites