Marlin icon indicating copy to clipboard operation
Marlin copied to clipboard

[BUG] FT_MOTION Stepper pauses an instant with intervals of about 1.2-1.3 seconds

Open marbocub opened this issue 1 year ago • 4 comments

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

When using FT_MOTION, the stepper pauses an instant with intervals of about 1.2-1.3 seconds. It looks like that the pause is in sync with the update/redraw of the info screen on LCD. The faster the axis motion, the greater the shock by the pause.

A video is attached.

https://github.com/user-attachments/assets/6d186433-e09a-46a1-8770-116f4f21dd06

The vibration noise by the pause can be heard about every 1.2-1.3 seconds in the video. A "bump" caption is displayed when every pause occurs. It is also seen that the pause is in sync with the update of the info screen on LCD.

There are two round trips in the video. 60mm/s in the first round with 6 pauses and 40mm/s in the second round with 8 pauses. Thus the pause has nothing to do with the position on the axis.

Bug Timeline

I found it yesterday but I don't know when the issue started.

Expected behavior

I expected the stepper to move smoothly at a constant speed.

Actual behavior

The stepper pauses an instant with intervals of about 1.2-1.3 seconds.

Steps to Reproduce

1.Enable Fixed Time Motion in menu 2.Send motion gcode e.g. G1 X200 F3600 3.The issue is occurs

Version of Marlin Firmware

bugfix-2.1.x (2024-09-05)

Printer model

Sovol SV06 stock hardware

Electronics

Stock electronics

LCD/Controller

Sovol SV_NL_V1.3.1 controller (GD32F103RET6 and TMC 2209) with ENH12864Z-1 LCD, these are stock LCD/controller

Other add-ons

No response

Bed Leveling

ABL Bilinear mesh

Your Slicer

None

Host Software

None

Don't forget to include

  • [X] A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

Configurations.zip

marbocub avatar Sep 05 '24 23:09 marbocub

@marbocub , try to increase FTM_STEPPERCMD_BUFF_SIZE in Configuration_adv.h. The value can varie from printer to printer.

narno2202 avatar Sep 06 '24 05:09 narno2202

I've seen the same behaviour on GD32F103 since at least 2023-12 but without FT_MOTION and with COLOR_UI. Recently after lowering the DMA timings (as described in comment in Marlin/src/HAL/STM32/tft/tft_fsmc.cpp) the pauses got shorter, but still the bumps produce an audible scratch. Changing the menu to some static screen stops them. It's like during the DMA transfer to the screen, everything stops, even the ISR.

konradmb avatar Sep 12 '24 16:09 konradmb

This happens in COLOR_UI even without DMA(with TFT_SHARED_IO) at least on GD32F303. Affects both classic planner and FT motion.

Nuck-TH avatar Sep 18 '25 16:09 Nuck-TH

Still present on GD32F103

konradmb avatar Sep 18 '25 20:09 konradmb

From https://github.com/MarlinFirmware/Marlin/pull/25394 the PR that added FT_MOTION

"This feature uses a lot of SRAM for the step event buffer and does a lot of extra computation to apply shaping, so it requires a powerful board.

STM32F103 or GDGD32F103 are NOT powerful boards. They don't even have hardware floating point units. (which is not listed as a requirement, but certainly helps)

ellensp avatar Sep 18 '25 22:09 ellensp