Prints leaning - and changing side they lean to
I've run into a strange printing behaviour and I do hope someone can give me a hint on what could be the cause of this, as I am out of ideas on this one.
The problem: when printing the prints lean to the side. For example the top layer of a 10mm cube (printed in 0.1mm layers) is around 1mm closer the Z-tower than the bottom layer. The layers in between are progessively shifted towards the Z-tower, so the back and front side of the cube are quite even - but skewed.
This shifting is less pronounced when printing 0.3mm layers, so I assume there must be something happening when the layers are switched.
The shifting itself is reproducible - but only for a particular gcode file. If I print another gcode file, the shift is still there, but the direction the print leans is now a different one. Every gcode file has her own leaning direction and amount. The amount and direction themselves are stable throughout the print tough.
The setup I'm running is RRF 1.22 on a Arduino Due / RADDS 1.6 combo.
Stepper drivers used are DRV8825, stepper motors are NEMA17 0.9deg.
The printing is done from OctoPrint running on a RaspberryPi3.
The printer is a 1m high Kossel using Robotdigg aluminum vertices and 2020 extrusions.
Carriage motion is provided by MGN12H linear rails.
Z-probing is done through dc42's mini height sensor board.
I do get wonderful first layers after runing G32 auto-calibration, so I assume the build is quite precise and effector tilt is insignificant.
Also, lowering jerk, acceleration and speeds considerably has no noticable effect on the prints.
Does anyone have any slight idea on what could be the cause of this strange printing habit?
Thanks in advance,
As a matter of fact, I got this issue just sorted out - although I can not really understand the workings.
I've read somewhere that DRV8825 needs at least 1.9ms pulse length. So I added "T2:2:1:1" to the already existing M569 commands in config.g. After a reboot the printer works like a charm.
Nevertheless there will be some more work to do in the future - I've already ordered a Duet Wifi and 24V components ...
I'm glad you sorted it! Also glad to hear you ordered a Duet.
Thanks David, sometimes you just have to try to be lucky
Looking forward to the Duet, has been on my most-wanted list for quite some time.
Regarding the pulse timing problem the DRV8825 have with stock settings in RRF: are you able to explain why this consistent yet changing shifting occurs at layer switch? I'd like to understand, not just have it magically working
I don't know why it only occurs on a layer change. The DRV8825 datasheet says it requires 1.9us step pulse with, 1.9us setup pulse interval, and setup and hold times both 650ns. So you should use at least T1.9:1.9:0.65:0.65 in the M569 command. What's surprising is that it works at all if you don't extend the step pulse width.
In practice, the values you specify in the T parameter get rounded up to the nearest multiple of the step pulse clock interval, which on the Arduino/RADDS is 1.52us.