-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] FT_MOTION Homing and Moving Axes #26683
Comments
@ahmetcemturan I have read through your open issue requests. I appreciate you posting your notes because it looks like you are also running a CoreXY printer. I would be curious if you have you found a build that works well with FT_Motion? |
@benjaminshewan , increase |
Thank you @narno2202 for the swift reply. I tried out an FTM_STEPPERCMD_BUFF_SIZE of 10 000 with an FTM_STEPPER_FS of 40000. This did not work. |
Actually it is mentioned in one of the recent closed ones about homing. It is the one from November 30 I think.. |
Note that adjusting the A and B values via Gcode does not work when S1 but works when S10. You can then switch back to S1 and the set values remain, without error. |
@ahmetcemturan , to set shaping frequencies , you need a valid shaping mode : S10 to S17. Regarding the homing issue, @danbrianwhite has a coreXY and FT_MOTION works. We all have TMC2209 and STM32 motherboards, the only difference is the MCU. I think that the problem comes from some timing issues. Try increasing |
@ahmetcemturan Thank you for linking the post, I must have missed it along the way. I appreciate the heads up about selecting a shaping mode before changing A and B. @narno2202 I will try this update and post my results when complete. |
@narno2202 I made the recommended updates to the firmware. I can now move the X and Y axes using any shaping mode!! Sadly, homing is still not functional. default FTM shaping mode S10 When I disable FTM the limit switches trigger when homing the printer. When FTM is enabled the x and y limit switches can be triggered and tested with m119. During homing the limit switches seem like they are ignored. I tried manually triggering the x limit switch and motion does not stop. I am not experienced enough with Marlin to understand how a timing could prevent the limit switch from triggering when homing. Are there other timing settings for the tmc2209 drivers I can adjust that may alleviate this issue? If not, would a work around be to disable shaping when homing in my start gcode, and then enable it again before printing? |
Not directly related but: Do you use Linear Advance of the FT Motion?If yes, what is your K?
|
@benjaminshewan , good news for moving axes. You could also uncomment |
Marlin.zip |
@ahmetcemturan , thank's for feedback. I remove this part of code. Looking in previous code, I realize that there is perhaps a missing |
It displays the same behaviour as previous. |
@ahmetcemturan , @benjaminshewan , I disable |
Disabling FT works. I am using regular endstops. |
I look again the old code and I find another issue for homing. I test the updated repo in the Simulator, homing and motion are fine for standard printer, homing and printing seem also fine for CoreXY (simulator not designed for, but it helps). |
@narno2202 Disabling FT_Motion in G28 works. I was able to find values for A and B, and I am running some preliminary calibration prints using ZV and ZVD. If there is no further testing needed, I think we can close this bug request. @ahmetcemturan I found that the linear advance value I was using before FT_Motion was too large. I have settled on K=0.000006. I know it seems too small to make a difference, but based on your post two weeks ago I am testing very small decimal values and it is working. With m900 shaping I was using a value between 0.1 and 0.02. |
Hi Benjamin, Question: disbling FT in G28 you mean using the latest commit from narno2202? Or just changing start Gcode? |
@benjaminshewan , @ahmetcemturan , have you tested the last commit? |
Yes, not workşng for me. Actually commented on the commit page |
I have exactly the same error as the author, but on Ender 3 printer... |
@Weresk , what is your config? On my side , I can't confirm homing failure with a XYZE printer. |
|
@narno2202 If I set M400 before M493 S17 D0 P1 K0 printing starts. |
@ahmetcemturan I have not tested the new commit. I disabled FT_Motion in G28. This seems like a work around for now. I do plan on testing Narno2202's commit when I get some time this week. @narno2202 I have not had a chance to test the new commit, but I plan to this week. I should have time this Friday evening at the latest. I will let you know my results. |
@Weresk, just for testing, in a Terminal : M493 S1 (FT_MOTION enabled without shaping, don't enable linear advance if K factor is 0 -> useless). After that what are the results of single axe homing and individual axe motion? |
I reviewed most of the past code and found no obvious reason for homing failure with a core printer. |
@narno2202 — For Core kinematics we have extra flags in the |
@narno2202 I tried your build and homing does work! The only issue I have had with disabling FT_MOTION in G28 is at the end of my prints. The printer gets to the last few commands and stops. By adding an M400 command the printer finishes the commands, but it does not home. I have tried tweaking my "End Gcode" commands without any improvement. I was wondering if anyone else has seen this issue? |
You are disabling FT Motion via G-Code... İs that correct?
…On Sat, 27 Jan 2024, 07:02 Benjamin Shewan, ***@***.***> wrote:
@narno2202 <https://github.com/narno2202> I tried your build and homing
does work! The only issue I have had with disabling FT_MOTION in G28 is at
the end of my prints.
The printer gets to the last few commands and stops. By adding an M400
command the printer finishes the commands, but it does not home. I have
tried tweaking my "End Gcode" commands without any improvement. I was
wondering if anyone else has seen this issue?
—
Reply to this email directly, view it on GitHub
<#26683 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFWG4RZLKLRCCOTTSLPNWTYQR34FAVCNFSM6AAAAABB2LA5NKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJSHE3DONBXGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@ahmetcemturan , @benjaminshewan , could you please test this file. Just replace |
M493 S10 A48.00 B48.00 D0 F0.00 H0.00 P1 K0.00 |
Great, thank you. |
Yes the same thing: doesn't see limit switches |
@ahmetcemturan I WAS disabling FT_MOTION via the G28 command. The new stepper.cpp file from eliminates the need for disabling ft_motion in G28.cpp. @narno2202 The new stepper.cpp file works! I no longer need to have a modified G28 file and the printer homes appropriately. This also fixed the printer not homing at the end of the print. |
is this a mistake regarding endstops? // Check endstops on every step
-IF_DISABLED(ENDSTOP_INTERRUPTS_FEATURE, endstops.update());
+TERN_(ENDSTOP_INTERRUPTS_FEATURE, endstops.update()); should this be enabled rather than disabled? |
@classicrocker883 . No, this is the right way as endstops are not managed the same with an interrupt capable pin. |
in stepper.cpp in the block_phase_isr there is this:
I dont see any other checks happening for the ENDSTOP_INTERRUPTS_FEATURE flag, so wouldn't this mean endstop polling was always being used outside of FT_MOTION? If so, the Interrupts feature would seem to be broken. This would explain the grinding happening with homing and FT_MOTION enabled. |
The polling with interrupts on is only a fallback for if a new move is sent while its already engaged. It causes the moved the be dropped immediately. The interrupt only fires on the rising edge. That added check pre-dates FT Motion in the general code, but if there is a path in FT Motion that prevents this from being called, an equivalency would be needed there. The only grind condition it would allow though is new move towards endstop with endstop already triggered. |
Great. Thanks for that info. I am only getting the grinding while homing, so I'm not sure if that is something that would fit that condition on not. This is on cartesian printer, not CoreXY fwiw. Edit: Looking at the Ulendo pdf about this feature, I see the following: So it appears this is skipped. But perhaps this has already been addressed. |
Has @narno2202 's fix not been merged into Main branch already? I downloaded the latest Bugfix and again I can not home correctly when FT motion is enabled.. I also noticed that the latest bugfix Homes well on a Cartesian (SKR3) but has trouble during Bed leveling. |
My current workaround for this is using replacements in Repetier. G-Code to Execute: I am putting this here as it took me some time to figure it out and would like to help others... |
No, #26720 is still open/pending: |
Do You want me to investigate the bed leveling behaviour further or is that already mentioned somewhere? |
As |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
FT_MOTION on a CoreXY printer with A and B motors, and 4 Z-Steppers. When FT_MOTION is enabled (time-based motion) the printer will not home. The print head will hit the x-axis limit switch and keep moving in the x-direction while moving to home the y axis. The y-axis does the same thing, crashing into the y-limit switch. The printer will not home the z-axis using the safe z-home coordinates.
Selecting other input shaping modes cause motors to freeze - no motion occurs in X or Y axes.
Bug Timeline
Dec. 18, 2023 to Jan. 14, 2024
Expected behavior
x-axis homes, y-axis homes, z-axis homes
Actual behavior
X and y axis crash into limit switches, z axis prevented from safe homing
Steps to Reproduce
Version of Marlin Firmware
Bugfix-2.1.x
Printer model
Corexy, Voron
Electronics
BTT Octopus V1.1
LCD/Controller
FYSETC_MINI_12864_2_1
Other add-ons
No response
Bed Leveling
UBL Bilinear mesh
Your Slicer
Cura
Host Software
None
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Shewan-1-14-24.zip
The text was updated successfully, but these errors were encountered: