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

    Duet 3 Mini 5+ sensorless homing configuration

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    solved
    8
    42
    4.2k
    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.
    • floblerundefined
      flobler
      last edited by flobler

      Hello everyone πŸ™‚

      I am currently in the process of setting up the Mini 5+ with a MK3 Bear. So far the basics (heaters, thermistors, axis movements and fans) are working fine and I can successfully use DWC to apply changes to my configs and navigate the printer etc. Thanks for providing such detailed documentation, which made that part very easy!

      Where I am currently a bit stuck is the configuration of sensorless homing and stall detection for X and Y. I tried to follow this guide as much as I could: https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#main

      I keep crashing the axis on the first pass and so far neither current, nor speed or detection sensitivity changes fixed it. Here is how I have the X axis currently configured:

      config.g
      07865e46-2982-464d-a7a5-d9f6de3e5a52-image.png 801f47a3-5d1c-4f02-ae66-fbb5a4bb93ad-image.png

      homex.g
      d3c9e348-62b4-40a4-98c0-54efb5d5851f-image.png

      Is there something obvious I am doing wrong at this stage?

      What I found a little confusing in the guide was that it seems to suggest I should configure and test homing first and once that is done, tune stall detection. Now my understanding is though that homing wont work without stall detection. I might have misunderstood the guide here though.

      If any other information is needed to help me troubleshoot, just let me know.

      I appreciate any input πŸ™‚ Thanks!

      1 Reply Last reply Reply Quote 0
      • Vetiundefined
        Veti
        last edited by

        you can not have 2 endstops configured for 1 axis .

        so your second z endstop config is overwriting, but thats ok as you dont really need the S2 setting

        also your have the endstop section twice in your config

        you are missing the M569 for 0.4

        your speeds maybe a bit low, sensorless homing needs fast speeds.

        also very important. unless you are on the newest firmware it wont work.
        see
        https://github.com/Duet3D/RepRapFirmware/blob/v3-dev/WHATS_NEW_RRF3.md

        floblerundefined 1 Reply Last reply Reply Quote 0
        • floblerundefined
          flobler @Veti
          last edited by flobler

          @Veti thanks for your reply!

          1. Z axis... I peaked at the Caribou3D settings for the Duet2 Wifi and it was configured like that (I assume a) due to the Pinda being responsible for the distance of nozzle to sheet and b) the Z axis crashing into the top end for leveling both sides of the X axis to be parallel to the bed).

          So I guess I will remove the second one here for now, thanks!

          2. Endstop section... Thanks, no clue how I missed that.

          3. M569... thanks! I think the configuration tool did not let me select a second driver for Z and then I forgot this here. So far the axis is moving fine though without it being configured with M569... I will add this now

          4. Speed... ok, thank you, I will use higher speed and work my way down from there

          5. FW version... I am using the latest so should be fine πŸ™‚

          I will report back what happens once I applied those changes.

          1 Reply Last reply Reply Quote 0
          • Vetiundefined
            Veti
            last edited by

            @flobler said in Duet 3 Mini 5+ sensorless homing configuration:

            So I guess I will remove the second one here for now, thanks!

            btw if you want to set up z dual sensorless you need to use S4
            see
            https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3

            floblerundefined 1 Reply Last reply Reply Quote 0
            • floblerundefined
              flobler @Veti
              last edited by

              @Veti thanks!

              I want to use the Pinda to trigger the endstop at the low end though to be able to set the offset from nozzle to bed. So in this case I would want to use S0 here, right?

              Vetiundefined 1 Reply Last reply Reply Quote 0
              • Vetiundefined
                Veti @flobler
                last edited by

                @flobler
                no a g30 command is enough, regardless of how you configured the z endstop.

                the offset is set with the g31 command

                its hard to see if you missed the command because you did not post your entire config.

                what about the M558 command?

                1 Reply Last reply Reply Quote 0
                • floblerundefined
                  flobler
                  last edited by flobler

                  @Veti

                  Here is the whole config.g.

                  So are you saying I should remove the "M574 Z1 S2" and rather configure sensorless homing for the high end on the Z-axis with "M574 Z1 S3"? Then I should be able to crash into the top of the Z axis for leveling the X axis parallel to the bed...

                  The low endstop/offset through the Pinda is entirely handled through G30/G31?

                  Thanks again πŸ™‚ Sorry if this is taking me a while...

                  Vetiundefined 1 Reply Last reply Reply Quote 0
                  • Vetiundefined
                    Veti @flobler
                    last edited by

                    @flobler said in Duet 3 Mini 5+ sensorless homing configuration:

                    So are you saying I should remove the "M574 Z1 S2" and rather configure sensorless homing for the high end on the Z-axis with "M574 Z1 S3"? Then I should be able to crash into the top of the Z axis for leveling the X axis parallel to the bed...
                    The low endstop/offset through the Pinda is entirely handled through G30/G31?

                    yes give that a try.

                    you want to change it to M574 Z2 S4 as you are homing to the max.

                    delete the M574 Z1 S2 then in the homing script issue a G30 command to determine z=0

                    floblerundefined 1 Reply Last reply Reply Quote 0
                    • Vetiundefined
                      Veti
                      last edited by

                      also check with M122 that you are actually on the latest firmware. with the mini the first update can go wrong.

                      1 Reply Last reply Reply Quote 0
                      • floblerundefined
                        flobler @Veti
                        last edited by

                        @Veti

                        Great, thank you! I also just checked and I am on the latest firmware, thanks for the tip.

                        I guess figuring out the sensorless homing now will be a bit of trial and error. I will try different speeds now and see if that helps

                        1 Reply Last reply Reply Quote 0
                        • floblerundefined
                          flobler
                          last edited by flobler

                          @Veti

                          I spent the past couple of hours trying to find the correct values for sensorless homing but got no further.

                          For this purpose I tried to home X only to see if I could get it home correctly, therefore only adjusted homex.g

                          General:

                          • Motor peak current 1a
                          • M906 X500
                          • config.g
                          • homex.g

                          Values I adjusted in homex.g throughout my tests:

                          • M913 (range of adjustment 30-80%)
                          • M915 S value (range of adjustment 1-3)
                          • G1 F value (range from 4000-10000)

                          Procedure:

                          1. Set values and upload homex.g
                          2. Move X 100mm away from home point
                          3. Try Homing
                          4. Stop

                          How I changed values:

                          a) Start with

                          • M915 S3
                          • G1 F10000
                          • M913 X80 Y 80

                          b) Adjust M915 to S2 and S1, try homing for each value

                          c) Lower G1 F by 1000

                          d) Repeat b)-c) until G1 F4000 is reached

                          e) Lower M913 by 10

                          f) Repeat b)-e) until M913 X30 Y30 is reached

                          g) End with

                          • M915 S1
                          • G1 F4000
                          • M913 X30 Y30

                          I hope this makes sense... So far all of those tests gave me a crash.

                          Are my jumps on the values too big? Is there something else I am forgetting with those tests?

                          Vetiundefined 1 Reply Last reply Reply Quote 0
                          • Vetiundefined
                            Veti
                            last edited by

                            i havnt gotten around to testing sensorless homing on the mini 5
                            i think you are the first person to try.

                            1 Reply Last reply Reply Quote 0
                            • Vetiundefined
                              Veti
                              last edited by

                              i just tried with the highest sensitivity and could not get the sensorless homing to trigger.

                              @dc42 any suggestions?

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

                                The critical point in the doc on stall detection for the Duet 3 Mini is this:

                                Additionally, the TMC2209 stepper driver used in Duet 3 Mini 5+ (and Duet 3 Tool board TOOL1LC once stallGuard is implemented in firmware), features stallGuard 4. This is optimised for operation with stealthChop, while its predecessor stallGuard 2 (TMC5160 and TMC2260) works with spreadCycle. You will need to adjust the speed at which stealthChop changes over to spreadCycle. This is set by M569 V parameter. The default is 2000.

                                You will need to reduce the V parameter (at least during homing) so that at the speed of the homing move, the driver is operating in stealthChop mode. By default it is only in stealthChop mode at very low speeds, too low for homing moves. See the M569 command.

                                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

                                Vetiundefined 1 Reply Last reply Reply Quote 0
                                • Vetiundefined
                                  Veti @dc42
                                  last edited by

                                  @dc42

                                  my steppers are running in stealhchop with up to 120mm/sec, still it would not trigger

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

                                    Confirm you are using firmware 3.2RC2 ?

                                    What does M569 P# report, for values of # corresponding to the drivers for the axes you are trying to home?

                                    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 0
                                    • Vetiundefined
                                      Veti @flobler
                                      last edited by

                                      @flobler
                                      can you also with stealthchop.

                                      @dc42 i configured back, and running a print, but these are the settings that i am running all the time
                                      30/12/2020, 20:19:44 M569 P0
                                      Drive 0 runs forwards, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 30 (125.0 mm/sec), pwmScaleSum 222, pwmScaleAuto 27, pwmOfsAuto 64, pwmGradAuto 22, pos 584

                                      Drive 1 runs forwards, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 30 (125.0 mm/sec), pwmScaleSum 73, pwmScaleAuto 0, pwmOfsAuto 57, pwmGradAuto 19, pos 611

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

                                        Please post your config.g file again, because the M569 commands in the one you posted earlier do not maintain stealthChop mode up to 120mm/sec.

                                        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

                                        floblerundefined 1 Reply Last reply Reply Quote 0
                                        • jay_s_ukundefined
                                          jay_s_uk
                                          last edited by jay_s_uk

                                          we've had good success with sensorless homing on the LPC port using D3 V40 after each M569 for the axis being homed.
                                          we typically suggest running

                                          M915 P0 S-63 H10 R1 ; Set very sensitive stall detect
                                          M574 X1 S3 ; configure endstop for stall detection
                                          G1 X200 H1 ; Should stall pretty much immediately
                                          

                                          to ensure that everything is working correctly. You can then tweak as required to work on your system

                                          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                          Vetiundefined 1 Reply Last reply Reply Quote 0
                                          • floblerundefined
                                            flobler @dc42
                                            last edited by flobler

                                            @dc42 that was me who posted the config πŸ™‚

                                            I can confirm that I am running 3.2RC2. I will reduce the V parameter and try again. I will report back.

                                            Thanks for the help!

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