Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Fine Homing on X doesn't work

    Scheduled Pinned Locked Moved
    General Discussion
    4
    23
    666
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Stevtommoundefined
      Stevtommo
      last edited by

      @Phaedrux , good idea 🙂 I've hosted them here, along with videos showing some wierd behaviour - more on that below... Google Drive

      @deckingman - 100% agree. Why does executing the same command not elicit the same response? I 'feel like' the machine is holding onto a guess of where 0,0 is after rough homing and is trying to predict it rather than use the stops.

      Retyping the line didn't make a difference, nor did the use of M400 between commands.

      What I discovered this evening that does seem to 'work' is the following, and I can't make heads or tails of it... 😲

      1. Rough pass X,Y similtaneously (Always triggers the stops):
      G1 H1 X-425 Y-365 F1800 ; move quickly to X or Y endstop and stop there (first pass)
      G1 H1 X-425             ; home X axis
      G1 H1 Y-365             ; home Y axis
      
      1. Trying to fine tune the X position (Always fails):
      G1 H1 X-100 F360        ; move slowly to X axis endstop once more (second pass)
      
      1. Going for a Y home (Always triggers):
      G1 H1 Y-365             ; then move slowly to Y axis endstop
      
      1. Then doing X again (mostly triggers):
      G1 H1 X-100 F360        ; move slowly to X axis endstop once more (second pass)
      
      1. Doing X again-again (99% sure this is capturing all)
      G1 H1 X-100 F360        ; move slowly to X axis endstop once more (second pass)
      
      deckingmanundefined Stevtommoundefined 2 Replies Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @Stevtommo
        last edited by

        @Stevtommo On a CoreXY, this command G1 H1 X-425 Y-365 F1800 will move both the X and Y axis until one or other end stop switch triggers (that's why it must always be followed by individual X and Y axis moves).

        So it could be that the Y axis always triggers which stops further movement of both axes but the X axis does not trigger. i.e, it could be simply that there is something "flaky" with X axis endstop. You could test that theory by positioning the carriage such that it is a long way away from the Y end stop but fairly close to the X end stop, then doing that combined XY H1 move. If the X end stop doesn't trigger, then the carriage should hit the frame in the X direction and attempt to continue that move.

        Do you have another microswitch that you could try?

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        Stevtommoundefined 1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          I don't see anything obvious from the videos.

          Can you try this? Rename your current homeall.g to make a backup. Then create a new macro file and name it homeall.g. In there just have

          G28 X
          G28 Y
          G28 Z

          That will call your other homing macros.

          Same behaviour?

          If you watch the X axis endstop light on the board (if your board has the LED, not all do I think) does it light up when homing X?

          Z-Bot CoreXY Build | Thingiverse Profile

          Stevtommoundefined 1 Reply Last reply Reply Quote 0
          • A Former User?
            A Former User
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • Stevtommoundefined
              Stevtommo @Stevtommo
              last edited by

              @deckingman - good idea 🙂 I did already swap in other X end-stop switches to no avail. Given the switches have a 100% success rate in catching the rough-passes, I can't see how it's anything electro-mechanical at this point.

              To your other point, the system is failing to execute the latter X-move when both axes have just been successfully homed and positioned at X,Y:10,10. It fails when only one axis is being asked to move, namely

              G1 H1 X-100 F360
              

              So...what I'm finding is (and I fully appreciate that this looks odd) that if I repeat the request multiple times in a row, while splitting up the drive it's addressing, seems to be catching the error every time (I've done 30 home cycles and it's 'jerky' but it works.

              G1 H1 X-100 F360
              G1 H1 Y-100 F360
              G1 H1 X-100 F360
              G1 H1 Y-100 F360
              G1 H1 X-100 F360
              ...         
              
              1 Reply Last reply Reply Quote 0
              • Stevtommoundefined
                Stevtommo @Phaedrux
                last edited by

                Hey there @Herve_Smith,

                Thanks for the suggestion, I tried this out. My printer fails exactly in the same place, the fine-homing move. It just stops somewhere along the axis (does not show activation of XStop in object-model, light on the board does not light up as the circuit remains closed, and it then merrily executes the next line...

                G1 H1 X-455 F360     ; Slowly move to the X axis endstop once more (Fine Adjustment)
                

                😵

                1 Reply Last reply Reply Quote 0
                • Stevtommoundefined
                  Stevtommo @deckingman
                  last edited by Stevtommo

                  @Phaedrux, same bad behavior... G28 X is the problem.

                  The below sometimes solves it, but it's not repeatable... Appreciate your thoughts.

                  Without lines 9,10,11 in there, the X-axis just refuses to engage the end-stop.

                  G91               ; relative positioning
                  G1 H2 Z5 F6000    ; lift Z relative to current position
                  G1 H1 X-325 F1800 ; move quickly to X axis endstop and stop there (first pass)
                  
                  G1 X10 F6000       ; go back a few mm
                  
                  G1 H1 X-325 F360  ;try fine-homing (fails)
                  
                  G1 H1 Y-0.1 F360  ; jiggle the y-axis one way
                  G1 H1 X-325 F360  ; try to fine home X axis again (seems to always succeed)
                  G1 H1 Y0.1 F360  ;  jiggle the y-axis back
                  
                  G1 H2 Z-5 F6000   ; lower Z again
                  G90               ; absolute positioning
                  
                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                  • deckingmanundefined
                    deckingman @Stevtommo
                    last edited by

                    @Stevtommo God this is weird.... Clutching at straws here but is the carriage nice and free to move in the X direction? If your belts are too tight it can put too much side load on the motor bearings. Perhaps there is some sort of "sticktion" which a high feed rate can overcome but for some reason a slow feedrate cannot? Like I said, I'm clutching at straws but I note that your motor current is only 800mA which is on the low side. Are you able to increase that? If the motors are rated at say 1Amp, you could push the current up to say 950mA just to see if that helps. If it does, then maybe more powerful motors might be the answer and/or eliminate or reduce any "sticktion".
                    I might be useful to know if there is a sweet spot for feedrate for the fine homing move. You could try doing the slow homing at the same feedrate as the course homing, and if it homes reliably then progressively reduce it until you run into problems again.
                    I've no idea if this is significant but on a Core XY, both motors are employed for pure X or pure Y moves, but the direction of one motor is reversed. I can't think of any reason why that would be significant to your problem but I'll keep thinking about it.

                    Ian
                    https://somei3deas.wordpress.com/
                    https://www.youtube.com/@deckingman

                    1 Reply Last reply Reply Quote 0
                    • A Former User?
                      A Former User
                      last edited by A Former User

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        Have you tried increasing the length of the second move from 100mm to at least the length of the axis?

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA