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

    sensorless homing random wrong direction

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    31
    1.6k
    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.
    • droftartsundefined
      droftarts administrators @moth4017
      last edited by

      @moth4017 said in sensorless homing random wrong direction:

      X or Y axis will move the correct way when they do the stall detection calibration ,
      but then randomly move in the opposite direction to home.

      It's unlikely to move 'randomly', unless there is an issue with wiring. In your homex.g, X and Y move -0.2mm, then homes X-350, then moves X+150. If the stall is detected without moving (the second X-350 move), it should move 150 in the other direction. Or does it try to move 350mm in the 'wrong' direction? Are subsequent moves in the 'wrong' direction?

      Ian

      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

      moth4017undefined 1 Reply Last reply Reply Quote 0
      • moth4017undefined
        moth4017 @droftarts
        last edited by

        @droftarts
        wiring ok , if i used the machine movement controls 100% perfect
        6d6bc7f9-f8e8-4753-95bd-147dfad918cc-image.png

        just done a test it moves 150 in the wrong direction so it looks like its not doing the -350.

        manual moves going in the correct way.

        droftartsundefined 1 Reply Last reply Reply Quote 0
        • droftartsundefined
          droftarts administrators @moth4017
          last edited by

          @moth4017 Okay, that means it is too sensitive to stalls. Either the tuning move is not working (did you do the change I suggested earlier?) or you need to revisit the sensitivity values.

          Ian

          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

          moth4017undefined 1 Reply Last reply Reply Quote 0
          • moth4017undefined
            moth4017
            last edited by

            also added the wait time now as suggested in the article and the move for calibration to 1.2mm but still the same issue

            droftartsundefined 1 Reply Last reply Reply Quote 0
            • moth4017undefined
              moth4017 @droftarts
              last edited by

              @droftarts

              tried the following
              S1 H200 works for end stops , does random wrong direction
              S10 H200 works for end stops , does random wrong direction
              S15 H200 works for end stops , does random wrong direction
              S1 H400 crashies for end stops ,
              S1 H300 crashies for end stops ,
              S1 H250 crashies for end stops ,

              1 Reply Last reply Reply Quote 0
              • moth4017undefined
                moth4017
                last edited by

                @dc42
                Hi , ive just done this in a 100% repeatable

                press "emergency stop:
                home X , homes in wrong direction

                press "emergency stop:
                home X , homes in correct direction

                press "emergency stop:
                home X , homes in wrong direction

                press "emergency stop:
                home X , homes in correct direction

                etc etc

                1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @moth4017
                  last edited by

                  @moth4017 Don't bother with a short tuning move. To tune stealthChop (which is what is being tuned, not stallGuard), you enable the motor, wait >130ms, then move a reasonable distance at a reasonable speed, ie the homing move. See the 2209 datasheet, page 35 (6.1 automatic tuning) https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2209_Datasheet_V105.pdf

                  You are using 'S4' in your endstop configuration. This is for 'Multiple motor'. Change M574 X1 S4 and M574 Y1 S4 to use S3 instead. Not sure of the effect of this if you are only using one motor. Using stall detection on Z is much more difficult, because of the torque on leadscrews.

                  You are also dropping your motor current using M906 rather than M913. Not sure of the effect of that, either.

                  Finally, are you using 1.8 degree or 0.9 degree motors? This affects the H parameter in M915.

                  If the stealthChop tuning works correctly, all you should need to do is find a good value for M913.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  moth4017undefined 1 Reply Last reply Reply Quote 0
                  • moth4017undefined
                    moth4017 @droftarts
                    last edited by

                    @droftarts
                    my Z homing working perfectly 3 motors on gear boxes belt driven.

                    Core XY configuration 1.8Deg Motors all round
                    the X and Y are the only ones playing up. i think i have been told to use S4 as its multiple motors driven at the same time, is this not correct?

                    droftartsundefined 1 Reply Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @moth4017
                      last edited by

                      @moth4017 No, S4 is for multiple motors on the SAME axis, ie like your Z axis. Use S3 for X and Y. See https://docs.duet3d.com/User_manual/Reference/Gcodes/M574

                      Endstop type S4 means use motor stall detection (like S3) but if there are multiple motors, stop each one individually as it stalls. S3 means use motor stall detection but stop all relevant motors when the first one stalls.

                      If you're using 1.8 motors, H200 is correct.

                      Also see https://docs.duet3d.com/User_manual/Connecting_hardware/Sensors_stall_detection

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      moth4017undefined 2 Replies Last reply Reply Quote 0
                      • moth4017undefined
                        moth4017 @droftarts
                        last edited by

                        @droftarts

                        im not sure why the emergency stop button is causing this , ive just tried it again and its very repeatable

                        press "emergency stop:
                        home X , homes in wrong direction

                        press "emergency stop:
                        home X , homes in correct direction

                        press "emergency stop:
                        home X , homes in wrong direction

                        press "emergency stop:
                        home X , homes in correct direction

                        1 Reply Last reply Reply Quote 0
                        • moth4017undefined
                          moth4017 @droftarts
                          last edited by

                          @droftarts

                          S3 same results

                          droftartsundefined 1 Reply Last reply Reply Quote 0
                          • droftartsundefined
                            droftarts administrators @moth4017
                            last edited by

                            @moth4017 Not sure why emergency stop would cause that behaviour. One for @dc42 to look at?

                            Have you tried increasing the motor current 5%? Use M913 rather than M906.

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            moth4017undefined 1 Reply Last reply Reply Quote 0
                            • moth4017undefined
                              moth4017 @droftarts
                              last edited by

                              @droftarts @dc42
                              hi thanks for all the help , ive tried changing motor currents and many things over the past few weeks, i was waiting for the latest update to see if that had fixed it , but still in the same boat .. so i think this is a @dc42 one .

                              1 Reply Last reply Reply Quote 0
                              • droftartsundefined
                                droftarts administrators @moth4017
                                last edited by

                                @moth4017 said in sensorless homing random wrong direction:

                                M915 P0.0:0.1 S1 F0 R1 H200
                                

                                Looking back at your first post, you have the S parameter set to S1, which would typically make it more sensitive to stalls. You may want to try making it less sensitive, ie increase S. Try S3. You will need to balance this against motor current.

                                Ian

                                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                moth4017undefined 1 Reply Last reply Reply Quote 0
                                • moth4017undefined
                                  moth4017 @droftarts
                                  last edited by

                                  @droftarts
                                  i have tried changing current with the"S" value , i can give that another go tomorrow , but the "emergency stop" button thing is bugging me 🙂 why should that be so consist ant.

                                  so in my stop.g macro i have
                                  G28 X Y /macros/sensorless_Z

                                  ;sensorless_z
                                  M915 P0.4:0.5:0.6 S3 F0 R0 ; Configure Z-Axis Stall Detection
                                  M906 Z300 ; Lower motor current
                                  M574 Z2 S4 ; Configure Z-Axis stall detection homing
                                  M400

                                  droftartsundefined 1 Reply Last reply Reply Quote 0
                                  • droftartsundefined
                                    droftarts administrators @moth4017
                                    last edited by

                                    @moth4017 said in sensorless homing random wrong direction:

                                    G28 X Y /macros/sensorless_Z
                                    

                                    That isn't a valid command, and the macro won't be running. If you want to run that macro after homing X and Y, you need M98 P"/macros/sensorless_Z"

                                    Ian

                                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                    moth4017undefined 1 Reply Last reply Reply Quote 0
                                    • moth4017undefined
                                      moth4017 @droftarts
                                      last edited by moth4017

                                      @droftarts
                                      i agree it looks invalid, but it runs.. changed it anyway

                                      Still made no difference
                                      im still getting the
                                      press "emergency stop:
                                      home X , homes in wrong direction

                                      press "emergency stop:
                                      home X , homes in correct direction

                                      press "emergency stop:
                                      etc etc

                                      1 Reply Last reply Reply Quote 0
                                      • moth4017undefined
                                        moth4017
                                        last edited by

                                        This post is deleted!
                                        1 Reply Last reply Reply Quote 0
                                        • moth4017undefined
                                          moth4017
                                          last edited by moth4017

                                          @droftarts
                                          "Homing issue"= going randomly to the incorrect side

                                          S1 current 200mA issue homing
                                          S1 current 400mA issue homing
                                          S1 current 500mA homing ok ( have my doubts on this value being ok)
                                          S1 current 600mA issue homing

                                          S5 current 200mA issue homing
                                          S5 current 400mA homing ok ( have my doubts on this value being ok)
                                          S5 current 500mA issue homing

                                          S10 current 200mA issue homing
                                          S10 current 400mA homing ok ( have my doubts on this value being ok)
                                          S10 current 500mA issue homing

                                          S15 current 200mA issue homing
                                          S15 current 400mA homing ok ( have my doubts on this value being ok)
                                          S15 current 500mA issue homing

                                          s20 current 200mA issue homing
                                          s20 current 400mA homing ok ( have my doubts on this value being ok)
                                          s20 current 500mA issue homing
                                          s20 current 600mA issue homing

                                          s30 current 200mA issue homing
                                          s30 current 400mA homing ok
                                          s30 current 500mA issue homing
                                          s30 current 1000mA homing ok

                                          spent most of the Day testing values above, i still have the issue that the "emergency stop " button seems to toggle the homing direction, also tried changing Jerk to see if that would make any difference (800 and 400)

                                          @dc42
                                          another observation if i Home X and it goes in the correct direction , then the stepper motors time out, (M84 X Y S20) and i home X again it also goes in the wrong direction.

                                          1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators @moth4017
                                            last edited by

                                            @moth4017 I can think of are three possible reasons why the motor may go in the wrong direction:

                                            1. The driver is signalling a stall at the start of the G1 H1 X-350 homing move, so it skips that and proceeds directly to the G1 X150 move. This is the most likely explanation.

                                            2. If the motor currrent is set very low and the motor is under load, it may move in the wrong direction.

                                            3. If only one motor phase is connected then the motor will either vibrate or move in a random direction.

                                            From your homex.g file:

                                            @moth4017 said in sensorless homing random wrong direction:

                                            M906 X600 Y600 ; Lower motor current

                                            We recommend that you use M906 only in config.g. When you need to reduce motor current temporarily, use M913 instead to set a percentage of the current set by M906. Also, don't reduce the motor current until you want to do the stall homing. StealthChop calibration should be done at normal motor current.

                                            G1 H1 X-0.2 F3000                               ; move a  little  for cal of sensorless homing / not stalled
                                            G1 H1 Y-0.2 F3000    							; move a  little  for cal of sensorless homing / not stalled
                                            M400											; make sure everything has stopped before we make changes                    
                                            

                                            That's not a valid stealthChop tuning sequence. Use something like this instead (at normal motor current):

                                            M17 X Y  ; enable X and Y motor drivers
                                            G1 P140  ; pause to allow the drivers to characterise the motor                                                                                                                                                   
                                            

                                            You can then reduce motor current (using M913) and do the stall homing move. 30% motor current is usually good.

                                            However, there is the possibility that the motor may already be signalling a stall. So I recommend that after homing an axis, you back off a few mm and repeat the homing move. For example:

                                            M913 X30  ; use X30 Y30 if the machine is CoreXY
                                            G91
                                            G1 H1 X-350                                     ; Home X-Axis
                                            G1 H2 X10  ; back off a little (on a CoreXY machine use X10 Y10)
                                            G1 H1 X-350                                     ; Home X-Axis again
                                            M913 X100 ; restore motor current (use X100 Y100 is the machine is CoreXY)
                                            

                                            HTH David

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

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