Welcome! Log In Create A New Profile

Advanced

BTT SKR 1.4 - Wanted to use Endstop switch on Z axis and sensor-less homing only on x and y axis

Posted by Skhan 
I have BTT SKR 1.4 main board along with TMC2209.
I want to use sensor-less home on x and y axis, but on Z axis I wanted to use Endstop switch. Because I don't have BLtouch.
Now Easiest solution is use Endstop switch on Z axis. I will do the manual bed alignment.
Can anyone please help the in configuration setting of Marlin (v 2.1.x)

Edited 1 time(s). Last edit at 03/18/2024 06:21AM by Skhan.
Did you get your printer running?

I am homing X & Y MIN sensor-less with 2209's
While X & Y MAX are software Limited. [I think]
[I am trying to add a filament sensor and user defined button now to E0DET & E1DET]

My controller is a SKR 3, the set up should not be that much different.

This post contains relative information

If your machine is not running yet, post and I can walk you through the parameters.

[reprap.org]
I'm currently setting up a customer printer to do this with an SKR1.4 Turbo board and Marline 2.1.something.

X and Y will use sensorless homing and the Z will use an endstop (optical breakbeam switch).

So far I configured marlin with the USE_SENSORLESS_HOMING option on X and Y, and did not enable it for Z.

I enabled the options USE_XMIN_PLUG, USE_ZMIN_PLUG, and USE_YMAX_PLUG (my Y axis will home to max instead of minimum). This is done for X and Y even though I'm not using any X or Y endstop sensors so there's nothing physically plugged into the X and Y endstop plugs of the board. For the sensorless homing on X and Y, the TMC DIAG pin acts as the endstop, and the DIAG pin is connected on the board internally to the X and Y endstop sockets. Some boards have a jumper to connect or disconnect the DIAG pin to the endstop sockets, but this board has them hard-connected (a flaw of this board), so if you do NOT want to use sensorless homing, you have to cut the DIAG pin off of the TMC driver. On another board that has a jumper, you would just make sure the jumper was removed. In my case I cut the DIAG pin off of the Z driver (because I'm using an endstop switch and left the pin in place on the X and Y drivers.

This is all working fine on the bench, although tuning the sensorless threshold and stepper voltage for reliable homing is a lot touchier than I expected.
I set up X & Y sensor less homing in close to this manner in Marlin 2.1.2.1

This video posted on Youtube will get you through most of it:
[www.youtube.com]

I kept my micro steps set to 16. (my preference)

In the section #define SENSORLESS_HOMING // StallGuard capable drivers only
Marlin recommends; " * It is recommended to set HOMING_BUMP_MM to { 0, 0, 0 }." ***Configuration_Adv.h***
You should also uncomment" Improve_homing_reliabilty "
At this point set "X_STALL_SENSITIVITY" & Y_STALL_SENSITIVITY"

(set them too sensitive to work correctly at this point)
(false positives are what you are after)
(Axis fails to move toward end stop but attempts to)


To "Tune" sensor less homing connect to your controller with Pronterface.

1) Type"M501"
Look for {echo: M914 X70 Y66} and write the values down // 70 and 66 are my values, yours will be different

2) Try to home X axis, it should fail if you set them to sensitive as instructed // false positive

3) Type "M914 X68 Y70" //new value
Type "M500" //save to EEPROM
Type "M501" //load EEPROM
Write the current values down.

4) Try to home X again
Repeat items 1 through 4 until it homes to X reliably There will a few settings that home well once or twice & then they fail
At this point you will cringe, Homing will be too rough. "CLICK, CLICK, CLICK"
You want to find the point close to, too sensitive that it just homes reliably.

Now repeat steps 1 through 4 for Y

Transfer those values to Marlin (so you don't forget)

Now, for the final part of tuning sensor less homing

In Marlin; Configuration_Adv.h find:

#define X_CURRENT_HOME X_CURRENT

Adjust it by subtraction a set amount of current - I.E. 50 MA

#define X_CURRENT_HOME X_CURRENT -50

Compile marlin and up date the printer:
Try homing X after this adjustment.
If it is still too rough, then;

Set:

#define X_CURRENT_HOME X_CURRENT -100

Compile, Load, save and Home again // I ended up being at; #define X_CURRENT_HOME X_CURRENT - 200

Repeat for the Y axis.

This how I got sensor less working very well, Every once in a while it still just decides to be obnoxious. (I haven't figured out why yet)

Edited 1 time(s). Last edit at 07/19/2024 10:05PM by Mr Kroll.
Please accept my sorry for late reply.

Thanks for your support offer.
Now I have built print same as you mentioned.
X and Y min. Sensorless homing and max limit by software.
And z axis min limit with limit switch and it is working fine
I'm still tuning mine on the bench and trying to find settings that work reliably.

I have uncommented the "improve homing reliability" option, and set the homing current to be about 1/2 the printing current. Still, I can't find a threshold value that works consistently. I home the printer a few times every day and I have yet to find a setting that doesn't either fail to home because the threshold is too low, or slams into the stop and buzzes without triggering. This printer doesn't have any way to add normal endstop switches, so I have to get sensorless working. Is there any magic with homing speed? I had a thought that a reasonably fast homing speed would be better than a very slow homing speed, so I'm currently homing at 60mm/s; is this too fast?
All I can recommend is going back and watching the video that I posted earlier in this thread. In his video Ed implies that he increases the micro step settings to make things more sensitive.
(maybe that will help make it easier to tune)

I copied and pasted the following line straight from the comments in Marlin 2.1.2.1
" * It is recommended to set HOMING_BUMP_MM to { 0, 0, 0 }." ***Configuration_Adv.h***

I don't honestly know, but instinct tells me to set your homing speeds back to the original settings.

I have found that you have to start by setting homing current to;
#define X_CURRENT_HOME X_CURRENT
#define Y_CURRENT_HOME Y_CURRENT
(you need the full current when testing for the sensitivity values)

You must then go through the steps of starting too sensitive, on your X & Y stall sensitivity, (Adjusting them 1 at a time) Adjust to find values that Just home reliably, (usually too violently)

After it just homes consistently, Then you can reduce your homing current to get the best zeroing effect.
I suspect that setting your homing current too low can be as detrimental as setting it too high.
Maybe, try starting by lowering your homing current 50 at a time.

Last October I plodded through figuring out how to set up sensor less homing, I am by no means an expert. Here is the thread where I received some good advise from others.
Maybe something in that thread will help.
[reprap.org]

I guess that you could always do the Marlin hail marry, "download and compile the newest, stable build. - hoping the new version will adjust or run better
Sorry, only registered users may post in this forum.

Click here to login