What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

Solved High toolhead accel is causing massive skew, but low acceleration is perfectly square?

Brawler215

Member
Printer Model
Trident
Extruder Type
Clockwork 2
Cooling Type
Stealthburner
I have recently completed my Trident 300, and it has gone very well except for a very weird issue. I can print out an object like the Voron calibration cube perfectly fine, with everything square and no issues or artifacts. But, once I try to print anything that will introduce higher accelerations, a massive skew gets introduced into the prints in the X direction.

I have been trying to print out a bunch of small fasteners for a project, and every batch has turned out like this:20241214_011608.jpg
That countersink on the screw head is supposed to be totally symmetrical, but it is obviously very skewed. The Voron calibration cube in the background was printed using the same slicer settings and printer configuration, but it came out totally square.

The only thing that has followed the problem has seemed to be either prints with a bunch of small parts (which then would use a lot of travel moves to zip between parts at max speed) or larger parts which are irregular and have lots of quick direction changes of the toolhead. I am using a max toolhead speed of only 300mm per second, and klipper is limiting accelerations to 3000mm/s^2, so I do not think I am doing anything out of the ordinary.

Does anyone have any ideas? Thanks!!
 
The first things that come to mind is too high a travel speed causing missed steps in the motor. I'd check pulley grub screws and belt tension first, then possibly drop travel speeds.
 
Thanks for the reply!

I have double checked the grub screws and they are tight and loctited properly into place. My belts are slightly tighter than recommended; they are buzzing at about 130Hz along a 6" section instead of 110Hz. During my initial assembly, I had followed the instructions to "pull belts tight" and maybe applied half an ugga dugga too many so my tensioners are totally paid out to get to this tension. Perhaps I need to back my belts out a tick to get them slightly looser?

I flipped through my slicer settings and noticed that OrcaSlicer had defaulted to travel moves being at 350mm/s and 7000mm/s^2. My previous experience is with my humble Ender 3, which couldn't dream of accelerations that high, but does 7000 seem like an unreasonably high travel acceleration?
 
Nah, mine is set to 7000 accel. My travel speed is currently 350 also (I had other tunings that were up at 450). So that shouldn't be it.

That is an odd issue & I have no brilliant insights beyond the basics. Hopefully someone else can chime in.
 
Nah, mine is set to 7000 accel. My travel speed is currently 350 also (I had other tunings that were up at 450). So that shouldn't be it.

That is an odd issue & I have no brilliant insights beyond the basics. Hopefully someone else can chime in.

Thanks for the info. More often than not, it is something simple so it's good to check that first.

I am pretty stumped. I tried cranking up the run current on the AB steppers from .8 to .9, but the skew persists if I try to print a batch of like 90 of those screws, but only 20 end up just fine.

If I am losing steps somewhere, would it be a particularly stupid idea (or even possible) to do something like insert a homing command every other layer to attempt to correct for the loss of steps? That would be just be a stopgap until I found the root cause of the step loss.
 
If I print a single part that doesn't have a lot of travel moves (such as the voron cal cube) it turns out just fine. I also printed a 100mm skew calibration object and that was within a millimeter of being square at worst on every plane and axis, so the skew correction is very small. Last night, I tried printing a few parts that were larger (enough that 4 parts filled the majority of the bed) and had a lot of holes in them, but they all were slanted off towards x=0.

If one motor or driver is malfunctioning, my understanding is that the skew would along a diagonal and would show a shift along both x and y, but somehow it's almost perfectly along the x axis. That's the part I don't get, unless somehow I got unlucky enough that both of my x and y stepper drivers were somehow lemons. I got a BTT Manta M8P with 8x TMC2209s, so I have 2 that are not in use. I could swap them and see if the issue persists?
 
Going off a recommendation from reddit, I ran my printer through Ellis' max speed and acceleration tuning guide:


The thing that was very interesting to me was that after running my toolhead at the travel speed and acceleration I was originally running with (300mm/s and 7000mm/s^2) using his speed test macro, I only lost 3 pulses on one stepper and 10 on the other after a stress test of 100 iterations. That's not enough to even account for a single full step, much less the multiple steps that would need to be lost if this were simply an issue of lost steps. I think that sometime over my Christmas time off, I will try moving the x and y motors over from slots 1 and 2 to the unused ones on the Manta M8P and see if that makes any difference.
 
Thanks for the info. More often than not, it is something simple so it's good to check that first.

I am pretty stumped. I tried cranking up the run current on the AB steppers from .8 to .9, but the skew persists if I try to print a batch of like 90 of those screws, but only 20 end up just fine.

If I am losing steps somewhere, would it be a particularly stupid idea (or even possible) to do something like insert a homing command every other layer to attempt to correct for the loss of steps? That would be just be a stopgap until I found the root cause of the step loss.
Maybe I miss something, but if you print 90 pieces, and only 20 come ot ok, how can this be loosing steps somewhere?
Think about it, the motor is not going to loose one or more steps and them find them back when it gets to the one of the 20 pieces that are correct, all pieces will be a fail.
Maybe I misunderstand but I thought you stated you tried printing them in batches, which i took as more then one on the buildplate per print. If this is the case it cannot be that 70 fail due to loosing steps and 20 are fine, this is a paradox since the layers will accumulate those lost steps and forever build along with them already in the system.
So your problem has to be mechanical I think.

It is unlikely but since you do batches, did you notice if the same position failed everytime? This could hint to what is going on since the slicer will always approach the part the same way each layer. If its approach when it fails is in the Y direction, you need to look at things moving in the Y direction. Same for the X of course. Maybe your tool head is loose ever so slightly in one direction only???? I had that once on an old creality where the clinched nut had worked loose making my toolplate wobble back and forth but only in the Y. Everytime the bed moved in the Y direction the toolhead moved a little with it creating weird results.
 
Maybe I miss something, but if you print 90 pieces, and only 20 come ot ok, how can this be loosing steps somewhere?
Think about it, the motor is not going to loose one or more steps and them find them back when it gets to the one of the 20 pieces that are correct, all pieces will be a fail.
Maybe I misunderstand but I thought you stated you tried printing them in batches, which i took as more then one on the buildplate per print. If this is the case it cannot be that 70 fail due to loosing steps and 20 are fine, this is a paradox since the layers will accumulate those lost steps and forever build along with them already in the system.
So your problem has to be mechanical I think.

It is unlikely but since you do batches, did you notice if the same position failed everytime? This could hint to what is going on since the slicer will always approach the part the same way each layer. If its approach when it fails is in the Y direction, you need to look at things moving in the Y direction. Same for the X of course. Maybe your tool head is loose ever so slightly in one direction only???? I had that once on an old creality where the clinched nut had worked loose making my toolplate wobble back and forth but only in the Y. Everytime the bed moved in the Y direction the toolhead moved a little with it creating weird results.
You're misunderstanding what's happening a bit. If I do a group of only 20 pieces, they come out fine (or at least with a skew so small that it I cannot perceive it). If I make batches of more parts, the skew worsens. The skew will affect all parts on the build plate equally; the only thing that I have noticed making it more or less severe is either the number of parts or the complexity of the parts. A single part with really complicated geometry would do the same thing as a bunch of small simple parts.

After doing Ellis' speed/acceleration test where I had basically no change in pulses between start and end, I am starting to think either the motor driver slot(s) on my main board are somehow defective or my drivers are not functioning properly. I am going to try first swapping out the TMC2209s that I have in there right now for the spare ones I am not using and see if that makes a difference. If that doesn't work, I will try swapping my x and y motor drivers from slots 1 and 2 to the other 2 free slots on the board and see how that affects performance.
 
I found the answer to my issue. It seems that having interpolation on for the TMC2209 stepper drivers while using klipper can introduce a lag that creates a noticeable positional drift. The driver basically takes a bit too long to do the math for making an interpolation calc and klipper doesn't notice. Turning interpolation off made the issue dissappear and my parts are coming out vertical! All it took was changing the value for interpolate from true to false in my printer.cfg for both the X and Y stepper drivers.

Thanks for the input, folks!
 
Glad you found the solution! That's a really subtle, hard-to-find thing.
Thanks! It was a bit of a needle in the haystack. One person on a reddit thread had mentioned that they had swapped their stepper drivers to TMC5160s to correct the problem, so I just decided to check into documentation on the 2209 to see what differences there were between the drivers. I just happened to notice a note about positional accuracy and interpolation potentially causing a drift due to lag. I still don't understand why it suddenly started to become a problem after I had been printing for a bit, but perhaps that gremlin will be found another day!
 
Top