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

    Duet 3 mini 5+ wifi sensorless homing - Help

    Scheduled Pinned Locked Moved
    General Discussion
    6
    45
    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.
    • Karimundefined
      Karim
      last edited by Karim

      Hey Guys I am trying to setup sensorless Homing on a Voron 0.2 . I can get X to home but Y only home when I click on Home Y, It does not work with Home All.

      ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.15 on Sat Feb 04 2023 22:42:11 GMT-0500 (Eastern Standard Time)
      
      ; General preferences
      M575 P1 S1 B57600                                    ; enable support for PanelDue
      G90                                                  ; send absolute coordinates...
      M83                                                  ; ...but relative extruder moves
      M550 P"Zero"                                         ; set printer name
      M669 K1                                              ; select CoreXY mode
      
      ; Network
      M551 P"###"                                         ; set password
      M552 S1                                              ; enable network
      M586 P0 S1                                           ; enable HTTP
      M586 P1 S0                                           ; disable FTP
      M586 P2 S0                                           ; disable Telnet
      
      ; Drives
      M569 P0.1 S1 D2 F3 B2 Y5:3                           ; physical drive 0.1 goes forwards
      M569 P0.2 S1 D2 F3 B2 Y5:3                           ; physical drive 0.2 goes forwards
      M569 P0.0 S1 D3 V50                                  ; physical drive 0.0 goes forwards
      M569 P0.3 S1 D2                                      ; physical drive 0.3 goes forwards
      ;M915 X Y R0 F0
      
      M584 X0.1 Y0.2 Z0.0 E0.3                             ; set drive mapping
      ;M592 D0.3 A0.01139 B0.00088                         ;Set Non-Linear Extrusion
      
      M350 X16 Y16 Z16 E16 I1                              ; configure microstepping with interpolation
      M92 X80 Y80 Z400.00 E400 		                     ; set steps per mm
      M566 X480 Y480 Z100 E1200 P1		                 ; set maximum instantaneous speed changes (mm/min)
      
      M203 X18000.00 Y18000.00 Z1800.00 E12000              ; set maximum speeds (mm/min)
      M201 X10000 Y10000 Z200.00 E2500                      ; set accelerations (mm/s^2)
      M906 X650 Y650 Z300 E550 I40                          ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                               ; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                      ; set axis minima
      M208 X120 Y120 Z120 S0                                ; set axis maxima
      
      ; Endstops
      M574 X2 S3 ;P"^io3.in"                                ; configure switch-type (e.g. microswitch) endstop for high end on X via pin !^io3.in
      M574 Y2 S3 ;P"^io5.in"                                ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !^io5.in
      M574 Z2 S1 P"^io6.in"                                 ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin !^io6.in
      
      ; Z-Probe
      ;M950 S1 C"out6"                                      ; assign GPIO port 1 to out6 (Servo header), servo mode
      M558 P0 ;P5 K0 C"^io1.in" R0.1 A5 H1 F600:400 T6000
      ;G31 X-37 Y-5 Z9.7
      M557 X0:120 Y0:120 P3
      M671 X60:5:115 Y5:-10:115 P0.5                        ; adjusting screws
      
      ; Heaters
      M308 S0 P"temp0" Y"thermistor" T100000 B4138          ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0                                    ; create bed heater output on out0 and map it to sensor 0
      M307 H0 R0.616 K0.698:0.000 D3.15 E1.35 S1.00 B0 V24
      
      M140 H0                                               ; map heated bed to heater 0
      M143 H0 S120                                          ; set temperature limit for heater 0 to 120C
      M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
      M950 H1 C"out1" T1                                    ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                                      ; disable bang-bang mode for heater  and set PWM limit
      M307 H1 R2.997 K0.563:0.238 D5.72 E1.35 S1.00 B0 V24.1
      M143 H1 S300                                          ; set temperature limit for heater 1 to 300C
      
      M308 S2 P"temp2" Y"thermistor" A"Chamber" T100000
      M308 S11 Y"drivers" A"Duet stepper drivers"
      
      ; Fans
      M950 F0 C"out3" ;Q250				                  ; create fan 0 on pin out3 and set its frequency
      M106 P0 S0 H-1 C"Part"                                ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"out5" ;Q500                                 ; create fan 1 on pin out5 and set its frequency
      M106 P1 S1 H1 T45 C"Hotend"                           ; set fan 1 value. Thermostatic control is turned on
      M950 F2 C"out4"
      M106 P2 C"Filter" S0 H-1
      ; Tools
      M563 P0 S"Main" D0 H1 F0                              ; define tool 0
      G10 P0 X0 Y0 Z0                                       ; set tool 0 axis offsets
      G10 P0 R0 S0                                          ; set initial tool 0 active and standby temperatures to 0C
      
      ; Custom settings are not defined
      
      M671 X60:5:115 Y5:-10:115 P0.5 ; adjusting screws
      
      ; Miscellaneous
      T0                                                    ; select first tool
      M280 P1 S1
      M400
      M280 P1 S-1
      
      M98 P"/sys/lib/init.g"
      
      ; homeall.g
      ; called to home all axes
      
      M84 X Y
      M400						    ; Wait for current moves to finish
      M569 P0.1 D3 V10				; X -> B axis reduce V parameter so driver operates in stealthChop
      M569 P0.2 D3 V10				; Y -> A axis reduce V parameter so driver operates in stealthChop
      G4 P200						    ; Pause for 200ms to let StealthChop do some sh!t
      M17 X Y						    ; Energize Motors X Y
      M913 X60 Y60				    ; drop motor current to 20%
      G4 P200						    ; Pause for 200ms to let StealthChop do some sh!t
      M915 X S0 R0 F0 H200		    ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
      M915 Y S2 R0 F0 H200		    ; Sensitivity -5 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
      G4 P200						    ; wait 200ms
      G91						        ; set relative
      G1 H1 Z10 F1500				    ; lower Z relative to current position
      M400                            ; Wait for moves to finish
      G1 H1 X-1 F3000                 ; Move X axis back a little bit to clear stall flag if it's triggered
      G1 H1 Y-1 F3000                 ; Move Y axis back a little bit to clear stall flag if it's triggered
      M400                            ; Wait for moves to finish
      G4 P200						    ; wait 200ms
      G1 H1 X350 F3500			    ; [ First Pass ] move quickly to X axis endstop and stop there
      M400
      
      G1 H1 Y300 F3500			    ; [ First Pass ] move quickly to Y axis endstop and stop there
      M400
      ;reset motors
      M913 X100 Y100				    ; return current to 100%
      M569 P0.1 D2					; Take driver out of StealthChop Mode
      M569 P0.2 D2					; Take driver out of StealthChop Mode
      
      ;z home
      G1 H1 Z300 F800                 ; move Z down until the endstop is triggered
      M400
      G1 H2 Z-5 F300                  ;back away
      G1 H1 Z300 F60                  ;second pass
      G4 S1						    ; wait 1s
      G90
      G92 Z119.5                      ; set Z position to axis minimum
      M400
      
      ;G1 Z{global.Nozzle_CL} F1500  ; lift Z to nozzle clearance
      M400
      ;M915 X Y R0					   ; Disable Logging and lower stall detection
      
      ;====================
      ; homeX.g
      ;====================
      ; called to home the X axis
      
      M84 X
      M400						    ; Wait for current moves to finish
      M569 P0.1 D3 V10				; X -> B axis reduce V parameter so driver operates in stealthChop
      M569 P0.2 D3 V10				; Y -> A axis reduce V parameter so driver operates in stealthChop
      G4 P200						    ; Pause for 200ms to let StealthChop do some sh!t
      M17 X						    ; Energize Motors X Y
      M913 X60 Y60				    ; drop motor current to 20%
      G4 P200						    ; Pause for 200ms to let StealthChop do some sh!t
      M915 X S0 R0 F0 H200		    ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
      G4 P200						    ; wait 200ms
      G91					            ; set relative
      G1 H1 Z10 F1500				    ; lower Z relative to current position
      M400                            ; Wait for moves to finish
      G1 H1 X-0.5 F3000               ; Move X axis back a little bit to clear stall flag if it's triggered
      ;G1 H1 Y-0.5 F3000              ; Move Y axis back a little bit to clear stall flag if it's triggered
      M400                            ; Wait for moves to finish
      G4 P200						    ; wait 200ms
      G1 H1 X350 F3500			    ; [ First Pass ] move quickly to X axis endstop and stop there
      M400
      G1 H2 Z-10 F6000				; lift Z relative to current position
      G90						        ; absolute positioning
      M400						    ; Wait for current moves to finish
      M913 X100 Y100				    ; return current to 100%
      M569 P0.1 D2					; Take driver out of StealthChop Mode
      M569 P0.2 D2					; Take driver out of StealthChop Mode
      
      ;====================
      ; homeY.g
      ;====================
      ; called to home the Y axis
      
      M84 Y
      M400						    ; Wait for current moves to finish
      M569 P0.1 D3 V10				; X -> B axis reduce V parameter so driver operates in stealthChop
      M569 P0.2 D3 V10				; Y -> A axis reduce V parameter so driver operates in stealthChop
      G4 P200						    ; Pause for 200ms to let StealthChop do some sh!t
      M17 Y						    ; Energize Motors X Y
      M913 X60 Y60				    ; drop motor current to 20%
      G4 P200						    ; Pause for 200ms to let StealthChop do some sh!t
      M915 Y S2 R0 F0 H200		    ; Sensitivity -5 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
      G4 P200						    ; wait 200ms
      G91						        ; set relative
      G1 H1 Z10 F1500				    ; lower Z relative to current position
      M400                            ; Wait for moves to finish
      ;G1 H1 X-0.5 F3000              ; Move X axis back a little bit to clear stall flag if it's triggered
      G1 H1 Y-0.5 F3000               ; Move Y axis back a little bit to clear stall flag if it's triggered
      M400                            ; Wait for moves to finish
      G4 P200						    ; wait 200ms
      G1 H1 Y350 F3500			    ; [ First Pass ] move quickly to X axis endstop and stop there
      M400
      G1 H2 Z-10 F6000				; lift Z relative to current position
      G90						        ; absolute positioning
      M400						    ; Wait for current moves to finish
      M913 X100 Y100				    ; return current to 100%
      M569 P0.1 D2					; Take driver out of StealthChop Mode
      M569 P0.2 D2					; Take driver out of StealthChop Mode
      
      moth4017undefined 1 Reply Last reply Reply Quote 0
      • moth4017undefined
        moth4017 @Karim
        last edited by

        @Karim you might find it easier to create your home x,y,z macros first a d in home all just call the macros in your home all like below
        ;homeall.g
        M98 P" homex.g"
        M98 P" homey.g"
        M98 P"homez.g"

        <

        Karimundefined 1 Reply Last reply Reply Quote 0
        • Karimundefined
          Karim @moth4017
          last edited by

          @moth4017 ok really never made a macro.

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

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

              someone beat me to it here is my home.g file

              ; homeall.g
              echo "G28 Home all.g "
              M561						;clear bed transforms   (same as G29 S2)
              M98 P"/sys/homey.g"  		;P define the parameter and is not part of the name
              M98 P"/sys/homex.g"  		;P define the parameter and is not part of the name
              M98 P"/macros/ProbePickUp"	; probe pick up
              M98 P"/sys/homez.g" 		;P define the parameter and is not part of the name
              M98 P"/macros/ProbeDropOff"	; probe drop off
              

              <

              Karimundefined 1 Reply Last reply Reply Quote 0
              • Karimundefined
                Karim @moth4017
                last edited by Karim

                @moth4017 ok did that now X home then Z home then Y home. Before X Y Z in this way.

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

                  @Karim im not sure what type of printer you have but you will need to do the homing in the sequence you require.

                  eg. X Y Z

                  <

                  Karimundefined 1 Reply Last reply Reply Quote 0
                  • Karimundefined
                    Karim @moth4017
                    last edited by

                    @moth4017 this is a corexy voron O.2 . This is first time setting up sensorless homing. So really don’t know if homing is working right.

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

                      @Karim do you have sensorless homing working on x and y yet?

                      <

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

                        this is what i have on my duet3 mini5, your need to reconfigure the steppers and current and travel speed for the voron

                        ; homex.g
                        echo "home x stelh chop mode"
                        M569 P0.0										; Check status in console
                        M569 P0.1										; Check status in console
                        G91                                             ; relative positioning
                        M569 P0.0 S1 D3 V10                             ; set to stealth chop
                        M569 P0.1 S1 D3 V10								; set to stealth chop
                        M915 P0.0 S10 F0 R1 H150                   		; Configure Z-Axis Stall Detection 
                        M915 P0.1 S10 F0 R1 H150						; Configure Z-Axis Stall Detection 
                        
                        echo "stall detection setup"
                        M17 X Y											; Check status in console
                        G1 P140											;pause to allow the drivers to characterise the motor    
                        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 stall							
                        
                        echo "lower motor current"
                        M913 X30 Y30									; Lower motor current %
                        G4 P150											; wait 150ms
                        M574 X1 Y2 S3									; Configure Z-Axis stall detection homing
                        M569 P0.0										; Check status in console
                        M569 P0.1										; Check status in console
                        		
                        echo "home x"
                        G1 H1 X-350 F6000
                        G1 H2 X10 Y10
                        G1 H1 X-350 F6000
                        G1 H2 X10 Y10; Home Z-Axis actuators independently
                        M569 P0.0										; Check status in console
                        M569 P0.1										; Check status in console
                        G90 											; absolute positioning
                        ;G1 X150 F6000									; move to center of bed
                        
                        ;revert back 
                        echo "after revert back"
                        M915 P0.0 S128 F0 R1 H550                   		; Configure Z-Axis Stall Detection 
                        M915 P0.1 S128 F0 R1 H550						; Configure Z-Axis Stall Detection 
                        M913 X100  Y100									; Reset motor current %
                        M569 P0.0 S1 D2									; reset motors back to spread cycle,
                        M569 P0.1 S1 D2									; reset motors back to spread cycle,
                        M569 P0.0										; Check status in console
                        M569 P0.1										; Check status in console
                        

                        <

                        Karimundefined 1 Reply Last reply Reply Quote 0
                        • Karimundefined
                          Karim @moth4017
                          last edited by

                          @moth4017 yes I have X & Y it working. But it still need tuning.

                          Karimundefined 1 Reply Last reply Reply Quote 0
                          • Karimundefined
                            Karim @Karim
                            last edited by

                            @Karim Hey guys does belt tension have anything to do with sensorless homing.

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

                              @Karim I've not found that belt tension makes much difference

                              <

                              Karimundefined 1 Reply Last reply Reply Quote 0
                              • Karimundefined
                                Karim @moth4017
                                last edited by Karim

                                @moth4017 ok,
                                I am having Y stall sometime when homing.

                                M915 X S0 R0 F0 H200		    ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
                                M915 Y S2 R0 F0 H200		    ; Sensitivity -5 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
                                

                                So I find changing the S value in Y makes it move. is that the right way of fixing it.

                                M915 X S0 R0 F0 H200		    ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
                                M915 Y S2 R9 F0 H200		    ; Sensitivity 9 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
                                
                                moth4017undefined dc42undefined 2 Replies Last reply Reply Quote 0
                                • moth4017undefined
                                  moth4017 @Karim
                                  last edited by

                                  @Karim

                                  its kind of a balancing act between the motor current , speed and s value ,

                                  it took me quite a while to get them reliable , for some reason i found the tmc2209 and more difficult than others to get reliable

                                  <

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

                                    @Karim if it tends to stall at the start of the homing move then you probably need to reduce the acceleration of that axis when homing. Recent versions of RRF support command M201.1 for this purpose.

                                    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

                                    blt3dpundefined 1 Reply Last reply Reply Quote 0
                                    • blt3dpundefined
                                      blt3dp @dc42
                                      last edited by

                                      @Karim Just following up on if you got it to work, I've got to do the same thing for my v0.1, I'm upgrading to the v0.2 as well.

                                      My 3D Printing YouTube Channel
                                      Better Living Through 3D Printing

                                      Follow me on Instagram and Twitter
                                      Instagram
                                      Twitter

                                      Karimundefined 1 Reply Last reply Reply Quote 0
                                      • Karimundefined
                                        Karim @blt3dp
                                        last edited by Karim

                                        @blt3dp I am still testing, it still random stall when homing.

                                        Karimundefined 1 Reply Last reply Reply Quote 0
                                        • Karimundefined
                                          Karim @Karim
                                          last edited by

                                          Ok Guys so My XY homes ok, but I have this problem every time the printer first power up and I try to home all Axis, X axis would not move, but I can home X along and it work ok. After I have a successful Home all the problem goes away till power off and on printer the it starts again.

                                          ; homeall.g
                                          ;  called to home all axes
                                           
                                          
                                          M98 P"/sys/homez.g"        
                                          M98 P"/sys/homex.g"  		
                                          M98 P"/sys/homey.g"  		
                                           
                                          G1 F9000 X60 Y60 Z60
                                          
                                          moth4017undefined 1 Reply Last reply Reply Quote 0
                                          • moth4017undefined
                                            moth4017 @Karim
                                            last edited by

                                            @Karim hi i had this issue too so i just increased the current a little on the axis that stalled

                                            <

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