Homing during print but only on fast travel moves

My X1C works beautifully in every regard except one. If I go to Sport, and there’s a long enough move (fast, not printing), the printer sometimes arrives at the destination, prints a short segment, and then retracts/Z-hops to move the print head to the right front corner, after which it goes back and resumes printing. If I go to Ludicrous, this happens much more frequently. As much as a couple of times per layer depending on the moves required by the print.

I addressed this behavior by lowering the travel speed from 500 to 350. With that change Ludicrous works fine. And since prints don’t generally have a lot of no-extrusion travel moves, my solution isn’t really costing me anything meaningful time-wise. But I’d like to fix it.

Unfortunately, I haven’t been able to spot anything that might explain what’s going on. I’m assuming the printer knows it’s lost steps and that’s why it re-homes. But since I have no information on how it’s doing that, I don’t have the slightest idea where to start.

I did do a full recalibration but that did not make a difference. I didn’t expect it to, though it’s “debug 101”… Print quality doesn’t suggest belt tension is an issue, so I have not done the retension thing yet.

Anyone have any ideas?

My x1c even stops from time to time while printig.
Do even not know whats the matter.
Did you open a support case ?

regards,
alex

Try a better SD card.

1 Like

I do not have much experience with the Sport and Ludicrous prints, but the description of the issue seems unrelated to the speedy print modes and the print speed itself.
This behaviour is expected if the layer time is lower than the minimum value defined in the filament settings. To ensure the filament has enough time to cool down, the toolhead moves to a standby position to fulfil the minimum time.
You can test this hypothesis by changing the layer time in the filament cooling settings.

1 Like

By any chance do yo u have the “Auto-recovery from step loss” option enabled? This sounds like the sudden surge in motor load due to the high accelerations and speed of travel moves is detected as a skipped step and it’s rehoming to “recover”.

Its under “Print Options” of Bambu Handy, try disabling that if you have it enabled and see if it helps.

1 Like

The auto-recovery from step loss is exactly what’s happening. The printer knows it missed at least one step. To recover, it has to re-home the printhead by moving it to the right front corner of the machine before it resumes printing.

The cause of the step loss is acceleration that is too high for the mechanics to handle. That could be because the mechanics need to be cleaned, or because there is something not-quite-right about the machine, a slightly weaker stepper motor or a weaker stepper drive circuit.

No two electrical (or mechanical for that matter) components are 100% identical. Circuitry is designed for these variations. But sometimes, the variations add up to marginal performance in some corner of the operating envelope.

1 Like

Ah, that was really it!

However, I doubt the motors are really skipping steps. As a simple test, try printing the same print (and settings) that caused rehoming while the step recovery option was enabled, this time without that option enabled. If the steppers were actually skipping steps, there should be some really obvious artefacts on the print - anywhere from obvious layer shifts to a complete print failure.

More likely, the print would come out alright, and this aligns with the behaviour experienced by others. Seems like the algorithm for skip detection is slightly conservative, and as such explains why the option isn’t enabled by default. Even printing at extremely aggressive accelerations (up to the limit set in firmware, 20000mm/s^3) and speeds (up to 1000mm/s), I’ve yet to get a single skipped step on my P1S.

I wonder if this is a recovery from missed steps.

Nvmd, i should have read the whole thread.

Stepper motors typically have no less than about 1.8º rotation per step. But most stepper motors are driven with a method called “microstepping” that can increase the resolution by up to 256. Though most don’t go higher than 16. Assuming the X1C is doing x16 microstepping, one step is 0.11 degrees. I am sure there are many steps per mm at the print head. So the loss of a single step may not produce the kind of offset you might think. It’ll be a fraction of a line width. So you may not be able to see it. But the printer knows how much current the stepper motor draws and it can use that information to detect when it doesn’t step.

2 Likes

My experience with printers that didn’t have such detection (such as Enders) is that step skips don’t happen in isolation: it will skip steps equivalent to tens of mm each time a skip occurs. This makes sense, as motors typically have a much higher “stall” current than when running, so once the motor effectively stalls, the current required to get it started again is a lot more than the drivers are supplying.

Also, I’m not familiar with the custom drivers engineered by Bambulabs but those available on the market supporting load and step skip detection (e.g. TMC2208/2209 used in Prusas) only update detected load once every full step at most, for technical reasons beyond me. These might also apply to Bambu’s drivers, so it is not possible to detect a skip smaller than a full step.