It’s not my fault!

It’s probably not my fault, at least.

If you’ve been following my blog (and why wouldn’t you?), you’ll know that I have had some issues with my 3D printer printing things skewed. It got particularly annoying a day or two ago when a five-hour print ended up unusable. It’s about time I got this problem sorted out. Annoyingly, it seems that every time I do a test print, the problem goes away. Indeed, a test print after the last failure was absolutely fine. Perhaps it is time to apply logic, and isolate the causal factor. My test prints tend to be small (so that they are quick and cheap), but I notice (or perhaps only care about) the problem on large objects which take a long time to print. This morning, I printed a set of test objects of increasing size, to see if the problem was size related. The objects I used as test pieces were simple hollow square-section blocks, connected by a thin strip. The model looked like this:

test_pieces

I printed each of the pieces individually, smallest first. The results were very interesting:

size-based distortion 2

size-based distortion 1

As you can see, the first three parts printed fine (I’m not worried about the finish quality, just the geometrical straightness). Only the largest one had any skew at all. The really weird thing is that the skew was pretty constant over the entire width. To me, this strongly suggests a printer firmware issue. If the hardware were misaligned, or a drive were slipping, I would expect to see this on all the prints. A structural problem would surely show up gradually as the parts grew bigger, or possibly show up more the further from the centre the print head moved. In fact, the skew at the centre is the same as the skew at the ends of the part, and there is no skew at all on the second-largest component.

So if the problem is not the hardware (that’s why it’s not my fault 🙂 ), what is it? It could be the slicer, but this seems unlikely because I have used both Slic3r and Cura. Printing gcode files from either can have the problem. This seems to leave only one culprit: the printer firmware. I’m thinking that there is some rounding error, or some motor step-counter in the firmware which is overrunning or accumulating a consistent error on long print head movements. As the print head moves back and forth along the x-axis, this error fails to get reset between z-slices. Each layer is slightly offset from the one before. With smaller parts, this error simply does not occur. This is speculation at the moment.

I’m currently using Marlin firmware. My install is at least a year old, so my first step will probably be to upgrade to the latest version. This might be a bit of a pain, because I made a few customisations when I installed the last version, to suit my printer. If that doesn’t sort the issue out, I’ll have to delve into the source code. At least Marlin is open source, so I can fiddle with it.

3 thoughts on “It’s not my fault!

  1. I am having the same problem with an He3D printer I built from a kit. I’m using Slic3r, and Repetier FW.

    I’ve got successful small calibration objects printed, and am starting a batch of larger ones to find out where the problem begins.

    I am starting down the same path you have in the forum thread at

    http://forums.reprap.org/read.php?178,386957

    and am wondering if you’ve made any progress?

    • I’ve been busy with other things for a while. I have not yet solved the problem. At the moment, I just limit the size of prints.

  2. The end of the story??
    I’ve now the same problem with my homemade printer. But ‘cose it’s CoreXY disposition, layer slipping is in diagonal direction. Smal pieces are good, biger ones with constant slipping. Even on one of my test prints x error changed direction, slipping error was positive on first layers, then 0 for 3-4 layers and in the end was negative.
    Googling and reading some forums and blogs, amused me political correctness of all writers: nobody want say it – FW is buggy (I know, it’s written by volunteers for volunteers, free of charge, but if it’s buggy, it’s bugy – But let your word be Yea, yea; Nay, nay; – Mt 5:37). Software, that in its main task (calculating steps) makes rounding errors, isn’t IMHO right.
    Now I’m starting analyze FW. I exchanged extruder for pencil to not wasted unnecessarily material and I’ll see what I can find.

Leave a Reply

Your email address will not be published. Required fields are marked *