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

    Struggling to get stall detect homing to work.

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    10
    1.7k
    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.
    • EdChamberlainundefined
      EdChamberlain
      last edited by

      Hi, jut picked up the duet and got it wired in to my printer. Id like to setup the sensor-less homing using the stall detection but cant seem to get it working.

      My machine is a coreXY, 300*300 (its a hypercube Evolution).

      First I set the stall detection using:

      M915 X Y S5 R0 F1

      I've tried S values from -55 to 55 with no success. Also tried F1 and F0, and R0 and R1.

      Then I follow this program from the duet help pages (https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#Section_Using_extruder_stall_detection_during_filament_loading😞

      ;''' Sensorless Homing test file for RepRapFirmware on Kossel'''
      M400 ; make sure everything has stopped before we make changes
      M574 X2 Y2 Z2 S3 ; set endstops to use motor stall
      M913 X50 Y50 Z50 ; reduce motor current to 50% to prevent belts slipping
      G91 ; use relative positioning
      G1 S1 X700 Y700 Z700 F4000 ; move all carriages up 700mm, stopping at the endstops
      G1 Z-5 F2000 ; down a few mm so that we can centre the head
      G90 ; back to absolute positioning
      M400 ; make sure everything has stopped before we reset the motor currents
      M913 X100 Y100 Z100 ; motor currents back to normal
      G1 X0 Y0 F2000 ; centre the head and set a reasonable feed rate
      M574 X2 Y2 Z2 S1 ; set endstops back to normal so that homedelta.g works

      This results in no movement when calling the G1 - I have a feeling it makes the current too low. I have my printer configured to 1.5A current for X and Y (more than I expected) and it wont move reliably below that level.

      I exclude the M913 from the program and the axis moves fine, crashes into the end of the axis and continues trying to drive. It seems like the motors are not detecting stall at all.

      Any help getting this working would be great!

      Thanks,
      Ed.

      1 Reply Last reply Reply Quote 0
      • carlossprundefined
        carlosspr
        last edited by

        Replace M915 X Y S5 R0 F1 by M915 X Y S5 R0 F0.
        Do not remove M913, just increase slightly until the false stalls disspear.

        1 Reply Last reply Reply Quote 0
        • Lakkoundefined
          Lakko
          last edited by

          Which firmware do you have?
          from the 1.21 changelog:

          On Cartesian and CoreXY printers, normal G0 and G1 moves are no longer allowed before the corresponding axes have been homed. In particular, if your homex.g, homey.g and homeall.g files raise Z a little at the start and lower it at the end, you will need to add the S2 parameter to those G1 Z moves. Otherwise the G1 Z move will be refused unless Z has already been homed and the homing macro will be terminated.

          See my thread with similar issue, i have a D-BOT that is similar to an hypercube:
          Stall detection for homing issue

          maybe can help you too

          1 Reply Last reply Reply Quote 0
          • EdChamberlainundefined
            EdChamberlain
            last edited by

            @edchamberlain said in Struggling to get stall detect homing to work.:

            G1 S1 X700 Y700 Z700 F4000

            Ive been moving the axis with G1 S1 X700 Y700 Z700 F2000 which runs ok - I think its the S1 parameter that says "this is a homing move" so the printer allows it despite axis not being homed.

            Will have a go with your suggestions (and carlossprs) this afternoon and let you know how I get on!

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

              1. The R parameter is not relevant when using stall detection endstops.

              2. If the motors don't move at all when you execute the G1 S1 move, it may be that the motors already register as stalled (you can check using M122). If so, execute a small G1 S2 move in the opposite direction first to un-stall them. On a CoreXY machine, apply this move to both X and Y motors. In a future firmware update I may change the code to wait for at least 1 full step of movement before the stall is recognised.

              3. If the motors move a very small amount when you execute the G1 S1 move then either the M915 stall detection threshold (S parameter) is too low (so increase it) or the acceleration is too high (so reduce it).

              4. If the motors don't stop at the endstops, either the stall detection threshold is too high, or the move is too slow for stall detection to work (see the M915 H parameter).

              Stall detection can be tricky to get working well. Prusa uses high-inductance motors in the i3 Mk3 to make it easier. The downside with high inductance motors is that they can't manage such high speeds.

              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

              1 Reply Last reply Reply Quote 3
              • EdChamberlainundefined
                EdChamberlain
                last edited by

                Wow - it works great! Im using this line to home X:

                M915 X Y S5 R0 F0 M400 M574 X2 Y2 Z2 S3 M913 X75 Y75 G91 G1 S1 X700 F4000 G90 M400 M913 X100 Y100 Z100

                and for Y:

                M915 X Y S5 R0 F0 M400 M574 X2 Y2 Z2 S3 M913 X75 Y75 G91 G1 S1 Y700 F4000 G90 M400 M913 X100 Y100 Z100.

                That homes both axis but how do I now use these settings for the 'Home X' and 'Home Y' buttons on the web interface?

                carlossprundefined 1 Reply Last reply Reply Quote 0
                • carlossprundefined
                  carlosspr @EdChamberlain
                  last edited by

                  @edchamberlain ad them to the homex.g and homey.g files.

                  EdChamberlainundefined 1 Reply Last reply Reply Quote 0
                  • EdChamberlainundefined
                    EdChamberlain @carlosspr
                    last edited by

                    @carlosspr Silly question but where do I find them?

                    Phaedruxundefined carlossprundefined 2 Replies Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @EdChamberlain
                      last edited by

                      @edchamberlain Those would be in the system directory alongside config.g and the other system macros.
                      https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Homing_files

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • carlossprundefined
                        carlosspr @EdChamberlain
                        last edited by

                        @edchamberlain If you use DWC go to Settings | System Editor menu option. From there you can modify all configuration files.

                        0_1525514301972_Screenshot from 2018-05-05 13-57-40.png

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