Speed Dependent Ovals

Basic Information:

Printer Model: Custom Bed Slinger with CANBUS print heads
MCU / Printerboard: BTT MP8 Manta with onboard CB1
Host / SBC BTT CB1
Klippy
klippy.zip (3.7 MB)

Gday Guys,
Happy new year

I’ve been chasing down an odd issue on a new build. and scratching my head a bit.
The main symptom is that Circles get printed as Ovals but Squares (at 0 degrees to the X&Y axis) get printed correctly.

The ovals are at 45degrees to the xy axis indicating some kind of a timing problem rather than a step/mm issue

The magnitude of the ‘ovalisation’ is proportional to the speed of the print moves at 10mm/s the effect is very small and at 40mm/s it is quite pronounced

This printer is alittle odd in that it uses closed loop steppers in step/dir mode for the Y axis but the X axis steppers use 4489 drivers in step/dir mode

Both the X and Y steppers are directly connected to the BBT MP8 board so its probably not an obvious multi mcu timing issue.

I have tried reducing the step count on the y axis motors from 3600 down to 400 to reduce the step count but it made Zero difference

Additionally there doesn’t seem to be any significant number of lost steps over a long print job nor mechanical slop or backlash all of the stages run on linear rails and are quite rigid

A single diagonal line extruded at 45 degrees to XY has a Bow in it with the start and end points in the correct position.

Any ideas ?

You already said, that you has closed-loop stepper, which is very likely will lag, that’s it.
Klipper sends steps on single mcu to step pins at the correct time.
The Stepper motor does what it possibly can do, closed loop does what the controller thinks it should do.

You can simply test that by using a normal stepper with a normal driver on both axes.

Boom.

that’s exactly what it was
I dug up some drivers and plain jane steppers to swap out on the Y axis and the problem completely went away.

they where good CL motors too. it goes to show sometimes the obvious is true.

Regards
Bryden.