Homing sensorless



  • Hello guys,
    to implement "Homing sensorless" (only X and Y) I have read various posts and also the documentation but I am still confused about my coreXY.

    It makes me mad to understand that it should be added in "config.g":
    M574 X1 Y1 S3; configure sensorless endstop for low XY
    M915 X Y S3 F1 H400 R0; Set X and Y axis Sensitivity (motor 0.9°)
    correct?

    While it is not clear to me how I have to modify "homex", "homey" and "homeall"

    At the moment the configurations are:

    homex (homey same but referred to y):
    G91; relative positioning
    G1 Z5 F6000 S2; lift Z relative to current position
    G1 S1 X-305 F3000; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000; go back a few mm
    G1 S1 X-305 F600; move slowly to X axis endstop once more (second pass)
    G1 Z-5 F6000 S2; lower Z again
    G90; absolute positioning

    homeall
    G91; relative positioning
    G1 Z5 F6000 S2; lift Z relative to current position
    G1 S1 X-305 Y-305 F3000; move quickly to X or Y endstop and stop there (first pass)
    G1 S1 X-305; home X axis
    G1 S1 Y-305; home Y axis
    G1 X5 Y5 F6000; go back a few mm
    G1 S1 X-305 F600; move slowly to X axis endstop once more (second pass)
    G1 S1 Y-305; then move slowly to Y axis endstop
    G90; absolute positioning
    G1 X145 Y145 F6000; go to first bed probe point and home Z
    G30
    Correct?

    I think I have to modify:

    homex (homey) like this:
    M913 X50 ; reduce motor current to 50% to prevent belts slipping
    G91 ; relative positioning
    G1 Z5 F6000 S2; lift Z relative to current position
    G1 H1 X-305 F3000 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000 ; go back a few mm
    G1 H1 X-305 F600; move slowly to X axis endstop once more (second pass)
    M913 X100 ; motor currents back to normal
    G1 Z-5 F6000 S2; lower Z again
    G90 ; absolute positioning
    Correct?

    homeall
    M913 X50 Y50 ; reduce motor current to 50% to prevent belts slipping
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 H1 X-305 Y-305 F3000 ; move quickly to X or Y endstop and stop there (first pass)
    G1 H1 X-305 ; home X axis
    G1 H1 Y-305 ; home Y axis
    G1 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-305 F600 ; move slowly to X axis endstop once more (second pass)
    G1 H1 Y-305 F600 ; then move slowly to Y axis endstop
    M913 X100 Y100 ; motor currents back to normal
    G90 ; absolute positioning
    G1 X145 Y145 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed
    Correct?

    I thank you in advance for your patience
    Luca



  • Sorry if I write again.
    Could anyone help me understand if I am doing it correctly?
    Do you need additional information?
    I would like to avoid making attempts and causing damage.


  • Moderator

    I think wha tyou have looks correct.

    The difference between S1 and H1 is that in newer firmwares S1 has been repurposed for laser control, so it's recommended to use H1 instead for homing moves.

    You don't mention what firmware version you are using, so I'm not sure if that is your problem or not.

    Have you seen this page?

    https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing

    What exactly isn't working for you?



  • @Phaedrux said in Homing sensorless:

    I think wha tyou have looks correct.
    The difference between S1 and H1 is that in newer firmwares S1 has been repurposed for laser control, so it's recommended to use H1 instead for homing moves.
    You don't mention what firmware version you are using, so I'm not sure if that is your problem or not.
    Have you seen this page?
    https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing
    What exactly isn't working for you?

    Hello and thank you for your interest.
    The card is a duet2wifi (V1.04), firmware 2.05.1 that works regularly without sensorless home with the files I wrote above and with the microswitches.

    When I wrote the first post I had only set the new files for sensorless homing by reading both the guide you suggested and many other posts found in this forum (I have been reading for 3 days!). For each command I compared with the gcode page (https://duet3d.dozuki.com/Wiki/Gcode) because it is my nature to understand what each gcode and each variable means and what it does.

    After a short time, as the new files also seemed to be "ok" to me, and they seemed to have sequential logic, I decided not to wait for the forum's opinion and installed them.
    Well so far but the sensorless homing function doesn't work. Already the first X axis when it "home" slams and does not stop the engine.

    Now I don't understand if the files are correct and it's just a matter of changing the sensitivity in some gcode or they are wrong.

    Note: motor 17HM19-2004S1
    All sistem at 12v


  • Moderator

    Yes you'll need to tune sensitivity, speed, and motor current.

    If you already have endstop switches, why use stall detection?



  • @Phaedrux said in Homing sensorless:

    Yes you'll need to tune sensitivity, speed, and motor current.
    If you already have endstop switches, why use stall detection?

    For sensitivity, speed, and motor current on which parameter do you suggest me to act? On M915? and/or....?

    I would like to use sensorless homing as I have transformed X and Y with linear guides and I would like to gain space in their run (if I can)

    P_20200425_083611.jpg


  • Moderator

    Yes, 915 sets the sensitivity for starters

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M915_Configure_motor_stall_detection

    Set it so that it stalls immediately, and then lower it until it moves freely.

    Lower the motor current until you can no longer move the axis and then increase it until you just get reliable movement.

    Then you can test stalling itself. You will need to have a speed fast enough to actually produce enough back emf to trigger. So you won't likely be able to do a single fast pass followed by a slower bump pass. Just a single fast move.


  • Moderator

    The stall detection wiki page I posted earlier has a lot of detail. What step are you getting stuck on? What settings have you tried? It's not a feature that you just turn on and go, you have to do some tuning for your particular printer. And even then results can vary.



  • @Phaedrux
    If the compilation of the codes is correct and also their positioning in config.g and the various home ...., I try with sensitivity.

    More than "stuck" I was uncertain about the correct construction of the "home" files and undecided about the parameters that I should now modify.
    If I understand correctly, you suggest me to intervene on:
    M915 X Y S3 F1 H400 R0

    so I drop H400 to 100 and try (the wiki suggested 400 for 0.9 ° engines)

    Then say
    "Lower the motor current until you can no longer move the axis and then increase it until you just get reliable movement"
    are you referring to M913 or M906?
    M906 it seems to me that it is something else or wrong?

    "Then you can test stalling itself. You will need to have a speed fast enough to actually produce enough back emf to trigger. So you won't likely be able to do a single fast pass followed by a slower bump pass. Just a single fast move. "
    F3000 in the "home ..." file seems adequate ... what do you suggest?


  • Moderator

    @luc said in Homing sensorless:

    M913 or M906?

    Whichever you prefer. M906 is an absolute value and must be set. M913 is a percentage of the M906 value and can be used after to drop and reset the current to a percentage.

    Sensitivity is S. So try increasing that until it stalls immediately. 64 is the highest value.

    H400 would be good if you have 0.9 motors for starters.

    F3000 seems ok, but you're going to have to test different values yourself on your printer. I can only guess.



  • @Phaedrux said in Homing sensorless:

    @luc said in Homing sensorless:
    Sensitivity is S. So try increasing that until it stalls immediately. 64 is the highest value.

    M915 X Y S3 F1 H400 R0
    (https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing Higher values reduce the sensitivity; lower values make false stall detection)

    I do tests starting from -50 and gradually I edit.

    For now I thank you very much, for correctness I will update later.



  • Does not work.
    Tried:
    with S-50 "
    F4800 instead of 3000

    Doubt: M915 should be put in "config.g" or in the "home ..." files?

    My system is 12 volts .... doesn't it work for this?


  • Moderator

    @luc said in Homing sensorless:

    Higher values reduce the sensitivity; lower values make false stall detection

    Serves me right for posting after 1am. 🙄


  • Moderator

    @luc said in Homing sensorless:

    Doubt: M915 should be put in "config.g" or in the "home ..." files?

    Either one will work. Whatever makes most sense for you. Having it in the homing file will make it easier for tuning because you won't be prompted to reboot the board every time you edit config.g. It will just get run along with the homeall when you try to home.

    Yes 12v should work.


  • administrators

    Two things:

    1. If you only use stall detection for homing, then you should never need to change the stall detection settings. In which case you can put the M915 command in config.g.

    2. There is a minimum speed for stall detection to work, so the 2-stage fast-then-slow homing that is often used in homing files is not appropriate when using stall homing.



  • @Phaedrux said in Homing sensorless:

    Serves me right for posting after 1am.
    It seems to me that you are in Canada ... I Italy ...
    The alarm sounds to me and you go to sleep! eh eh eh😁



  • Today I try again. Yesterday it seemed to me that at the first "bump" it worked (the trolley went back) and then at the second no longer because the engine did not stop. I have to check better because I was confused!
    Probably as DC42 says in point 2 I will not be able to use the second bump.
    Let's see .... today I make other attempts.
    Meanwhile, thank you again for your patience!


  • Moderator

    @luc said in Homing sensorless:

    I will not be able to use the second bump.

    That's right. Because it is too slow. You can still back off from the stalled state position a few mm if you want, but no sense trying to home again more slowly because it won't help accuracy and it likely won't stall the same way.


Log in to reply