Skip to content
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] Sensorless homing with SKR 1.3/TMC2209 failed #17057

Closed
gsxr2001 opened this issue Mar 3, 2020 · 17 comments
Closed

[BUG] Sensorless homing with SKR 1.3/TMC2209 failed #17057

gsxr2001 opened this issue Mar 3, 2020 · 17 comments

Comments

@gsxr2001
Copy link

gsxr2001 commented Mar 3, 2020

Bug Description

Marlin 2.0.4.4 on SKR 1.3 with TMC2209 UART mode, sensorless home for X and Y, 3DTouch for Z. QUICK_HOME enabled

If I home axes individually, all work perfectly. If I home all (just G28) it goes just for 2 or 3mm. Then goes to opposide side (see video)

Got back to 2.0.3 all work again

My Configurations

Configuration.zip

Steps to Reproduce

  1. Go home with menù or G28 command

Expected behavior: [What you expect to happen]

It goes home

Actual behavior: [What actually happens]

It goes to opposide side

Additional Information

https://youtu.be/rguBzUyfv5Y

@gsxr2001
Copy link
Author

gsxr2001 commented Mar 3, 2020

Disabling QUICK_HOME it works fine

@drewzh
Copy link

drewzh commented Mar 3, 2020

Same experience here. Glad I'm not the only one - I've been diffing files trying to find some configuration schema change but came up with nothing. Disabling QUICK_HOME in the meantime. Thanks for the heads up @gsxr2001

@b00gie-dev
Copy link

Also have the exactly same issue. I will try to figure out what the problem is. I have an backup of the firmware (~2 weeks) which doesn't cause this problem, unfortunately only the compiled bin file. But I guess I will find the revision by file-date.

@cropduster
Copy link

I also have issues with sensorless homing on my SKR v1.2. It sometimes does not jome correctly after a ptint has finished andd another print is about to start. This seems to be random. In one case it didn't move any axis and hence 0 for x was where the extruder just happened to be and the print started in the right corner of the bed.

@onek24
Copy link

onek24 commented Mar 7, 2020

Same issue with SKR mini e3. With SENSORLESS_HOMING and QUICK_HOME enabled.
Occurs with Marlin 2.0.4.4
Last working version is Marlin 2.0.4.3
Disabling QUICK_HOME solves this for me.

Seems to be related to this change:
#16872

@brettvitaz
Copy link

brettvitaz commented Mar 7, 2020

wow...

Disabling QUICK_HOME does not work for me.

Good thing I keep the working copy around...

@thinkyhead
Copy link
Member

Occurs with Marlin 2.0.4.4
Last working version is Marlin 2.0.4.3

Ah, well we can just run a comparison on these then.

@thinkyhead
Copy link
Member

thinkyhead commented Mar 8, 2020

There are only three changes between 2.0.4.3 and 2.0.4.4 that seem likely to affect sensorless homing. (I have not looked at changes in the same time period in the TMCStepper library, but let's assume it's fine for now.)

  1. These lines were added to G28.cpp (lines 109-110). Try removing them:

    do_blocking_move_to_xy(-0.5 * x_axis_home_dir, -0.5 * home_dir(Y_AXIS), fr_mm_s / 2);
    safe_delay(100);
  2. A bug fix changed your MINIMUM_STEPPER_PULSE to 0 if you have Trinamics. The (assumed wrong) previous value was 2. Try setting MINIMUM_STEPPER_PULSE to 2 or 1 and see if it has any effect.

  3. A bug fix changed your MAXIMUM_STEPPER_RATE to 5000000 if you have Trinamics. The (assumed wrong) previous value was 250000. Try setting MAXIMUM_STEPPER_RATE to some lower value like 2500000 … 1000000 … 500000 … or 250000 and see if this has any effect.

Thanks for helping to improve Marlin and to wrangle these interesting new hardware combinations!

@onek24
Copy link

onek24 commented Mar 8, 2020

There are only three changes between 2.0.4.3 and 2.0.4.4 that seem likely to affect sensorless homing. (I have not looked at changes in the same time period in the TMCStepper library, but let's assume it's fine for now.)

1. These lines were added to `G28.cpp` (lines 109-110). Try removing them:
   ```c++
   do_blocking_move_to_xy(-0.5 * x_axis_home_dir, -0.5 * home_dir(Y_AXIS), fr_mm_s / 2);
   safe_delay(100);
   ```

2. A bug fix changed your `MINIMUM_STEPPER_PULSE` to 0 if you have Trinamics. The (assumed wrong) previous value was 2. Try setting `MINIMUM_STEPPER_PULSE` to 2 or 1 and see if it has any effect.

3. A bug fix changed your `MAXIMUM_STEPPER_RATE` to 5000000 if you have Trinamics. The (assumed wrong) previous value was 250000. Try setting `MAXIMUM_STEPPER_RATE` to some lower value like 2500000 … 1000000 … 500000 … or 250000 and see if this has any effect.

Thanks for helping to improve Marlin and to wrangle these interesting new hardware combinations!

Commenting out lines 109-110 in G28.cpp definitely solves this issue for me.
Therefore it seems like this merge #16872 broke it.

@gsxr2001
Copy link
Author

gsxr2001 commented Mar 8, 2020

There are only three changes between 2.0.4.3 and 2.0.4.4 that seem likely to affect sensorless homing. (I have not looked at changes in the same time period in the TMCStepper library, but let's assume it's fine for now.)

1. These lines were added to `G28.cpp` (lines 109-110). Try removing them:
   ```c++
   do_blocking_move_to_xy(-0.5 * x_axis_home_dir, -0.5 * home_dir(Y_AXIS), fr_mm_s / 2);
   safe_delay(100);
  1. A bug fix changed your MINIMUM_STEPPER_PULSE to 0 if you have Trinamics. The (assumed wrong) previous value was 2. Try setting MINIMUM_STEPPER_PULSE to 2 or 1 and see if it has any effect.

  2. A bug fix changed your MAXIMUM_STEPPER_RATE to 5000000 if you have Trinamics. The (assumed wrong) previous value was 250000. Try setting MAXIMUM_STEPPER_RATE to some lower value like 2500000 … 1000000 … 500000 … or 250000 and see if this has any effect.



Thanks for helping to improve Marlin and to wrangle these interesting new hardware combinations!

Uncommenting lines 109-110 in G28.cpp definitely solves this issue for me.
Therefore it seems like this merge #16872 broke it.

What are 109-110 lines? Because in Marlin 2.0.4.4 at that lines I don't have uncommentable lines
G28

@onek24
Copy link

onek24 commented Mar 8, 2020

There are only three changes between 2.0.4.3 and 2.0.4.4 that seem likely to affect sensorless homing. (I have not looked at changes in the same time period in the TMCStepper library, but let's assume it's fine for now.)

1. These lines were added to `G28.cpp` (lines 109-110). Try removing them:
   ```c++
   do_blocking_move_to_xy(-0.5 * x_axis_home_dir, -0.5 * home_dir(Y_AXIS), fr_mm_s / 2);
   safe_delay(100);
  1. A bug fix changed your MINIMUM_STEPPER_PULSE to 0 if you have Trinamics. The (assumed wrong) previous value was 2. Try setting MINIMUM_STEPPER_PULSE to 2 or 1 and see if it has any effect.
  2. A bug fix changed your MAXIMUM_STEPPER_RATE to 5000000 if you have Trinamics. The (assumed wrong) previous value was 250000. Try setting MAXIMUM_STEPPER_RATE to some lower value like 2500000 … 1000000 … 500000 … or 250000 and see if this has any effect.


Thanks for helping to improve Marlin and to wrangle these interesting new hardware combinations!

Uncommenting lines 109-110 in G28.cpp definitely solves this issue for me.
Therefore it seems like this merge #16872 broke it.

What are 109-110 lines? Because in Marlin 2.0.4.4 at that lines I don't have uncommentable lines

I'm sorry, i wrote that wrong. I mean "commenting out lines 109 - 110".
The blocking move in line 109 moves the X and Y axis too far back.

@adamrb
Copy link

adamrb commented Mar 10, 2020

Also seeing this on an SKR 1.4 with TMC 2209's.

Removing these lines fixed it for me as well: https://github.com/MarlinFirmware/Marlin/pull/16872/files

@gsxr2001
Copy link
Author

The problem has not been resolved! Not completely. Commenting on the 2 lines, there is no longer the problem of moving in the opposite direction, but the quick home still does not work! At this point it is better to disable QUICK_HOME. So the problem is not solved.

@onek24
Copy link

onek24 commented Mar 11, 2020

The problem has not been resolved! Not completely. Commenting on the 2 lines, there is no longer the problem of moving in the opposite direction, but the quick home still does not work! At this point it is better to disable QUICK_HOME. So the problem is not solved.

How does the quick home not work?

By the way, the issue here is that the motors move in the opposite direction, which actually can be resolved by removing this 2 lines. Therefore THIS problem is solved. If you have another problem regarding a different (perhaps similar) topic, feel free to create a new issue so that the developers can keep track of the different issues.

@gsxr2001
Copy link
Author

The problem of opposite direction can be solved commenting (disabling) QUICK_HOME. The result is the same

@thinkyhead
Copy link
Member

If QUICK_HOME doesn't work for your particular tuning of TMC drivers, it is recommended to disable it. For many setups it does work at this point.

@github-actions
Copy link

github-actions bot commented Jul 3, 2020

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.

@github-actions github-actions bot locked and limited conversation to collaborators Jul 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants