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

    [1.21RC3] Homeall don't work any more

    Scheduled Pinned Locked Moved
    General Discussion
    5
    17
    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.
    • AS-3D Druckundefined
      AS-3D Druck
      last edited by

      Hi there,

      since i updated my Firmware Today my Printer cann't home it self anymore because of that:

      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.

      I tryed to set the S2 Parameter but i got no sucess for my homeall.g
      My single home Commands work (homex/y/z.g).

      Here is my homeall.g

      [[language]]
      ; More about M915 and how to set it up you can find here: 
      ; https://duet3d.com/wiki/G-code#M915:_Configure_motor_stall_detection
      
      ; Setup Stall Detection on CoreXY
      ; M574 X3 Y3 S3						; set endstops to use motor stall
      
      ; Lift Z relative to current position
      G91
      G1 Z10 F6000 S2
      G90
      
      M913 X50 Y50						; reduce motor current to 50% to prevent belts slipping
      G91							; use relative positioning
      
      ; Home Y
      G1 S3 Y-500 F4000					; move the X to max until it detects the min Point
      G92 Y0							; set Y min Point
      G1 Y30 							; move Y away from min Point
      M400							; wait untill Y is done
      G1 S3 Y500 F4000					; move the Y to min until it detects the min Point
      G1 Y-30						; move Y away from max Point
      
      ; Home X
      G1 S3 X-500 F4000					; move the X to max until it detects the min Point
      G92 X0							; set X min Point
      G1 X30    						; move X away from min Point
      M400							; wait untill X is done
      G1 S3 X500 F4000					; move the Y to min until it detects the min Point
      G1 X-100						; move X away from max Point
      G90							; back to absolute positioning
      
      M913 X100 Y100 Z100					; motor currents back to normal
      
      ; Home Z
      G1 X168 Y95 F2000 					; put head over the centre of the bed, or wherever you want to probe
      G30                					; lower head, stop when probe triggered and set Z to trigger height
      
      ; Lift Z relative to current position
      G91
      G1 Z10 F6000
      G90
      
      M400							; make sure everything has stopped before we reset the motor currents
      ; M915 X Y S3 F0 R3					; Pause the Print and restart after crashing in to something
      
      

      It tryes to home Y and after that it should home X but it moves Y aswell and ended up with a weired Y home move and got a wrong Y position and so on…
      Is it PLS possible to deactivate that S2 Parameter and let me do what i what with my Axis even if they are not homed?

      Best regards
      AS-3D Druck / Andre

      1 Reply Last reply Reply Quote 0
      • resamundefined
        resam
        last edited by

        DC42: I think a new gcode to "allow unhomed moves" would be nice, similar to "M302: Allow cold extrudes".

        1 Reply Last reply Reply Quote 0
        • kazolarundefined
          kazolar
          last edited by

          the move away commands must now contain S2 (things like G1 X30)

          1 Reply Last reply Reply Quote 0
          • AS-3D Druckundefined
            AS-3D Druck
            last edited by

            @kazolar For the X and Y you mean?

            Best regards
            AS-3D Druck / Andre

            1 Reply Last reply Reply Quote 0
            • AS-3D Druckundefined
              AS-3D Druck
              last edited by

              Here is the Result:
              Video: https://www.youtube.com/watch?v=rNLMseNgcQk

              [[language]]
              ; More about M915 and how to set it up you can find here: 
              ; https://duet3d.com/wiki/G-code#M915:_Configure_motor_stall_detection
              
              ; Setup Stall Detection on CoreXY
              ; M574 X3 Y3 S3						; set endstops to use motor stall
              
              ; Lift Z relative to current position
              G91
              G1 Z10 F6000 S2
              G90
              
              M913 X50 Y50						; reduce motor current to 50% to prevent belts slipping
              G91							; use relative positioning
              
              ; Home Y
              G1 S3 Y-500 F4000					; move the X to max until it detects the min Point
              G92 Y0							; set Y min Point
              G1 Y30 S2							; move Y away from min Point
              M400							; wait untill Y is done
              G1 S3 Y500 F4000					; move the Y to min until it detects the min Point
              G1 Y-30						; move Y away from max Point
              
              ; Home X
              G1 S3 X-500 F4000					; move the X to max until it detects the min Point
              G92 X0							; set X min Point
              G1 X30 S2						; move X away from min Point
              M400							; wait untill X is done
              G1 S3 X500 F4000					; move the Y to min until it detects the min Point
              G1 X-100						; move X away from max Point
              G90							; back to absolute positioning
              
              M913 X100 Y100 Z100					; motor currents back to normal
              
              ; Home Z
              G1 X168 Y95 F2000 					; put head over the centre of the bed, or wherever you want to probe
              G30                					; lower head, stop when probe triggered and set Z to trigger height
              
              ; Lift Z relative to current position
              G91
              G1 Z10 F6000 S2
              G90
              
              M400							; make sure everything has stopped before we reset the motor currents
              ; M915 X Y S3 F0 R3					; Pause the Print and restart after crashing in to something
              
              

              Best regards
              AS-3D Druck / Andre

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

                Read the upgrade notes.

                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
                • AS-3D Druckundefined
                  AS-3D Druck
                  last edited by

                  @dc42:

                  Read the upgrade notes.

                  This:

                  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.

                  Did it already this is why there are S2 Commands in the GCode.
                  Pls explain what you wanna say.

                  Best regards
                  AS-3D Druck / Andre

                  1 Reply Last reply Reply Quote 0
                  • nickpgreundefined
                    nickpgre
                    last edited by

                    I have a CoreXY so sending any movements using S2 for X and Y won't result to a movement on a single axis.
                    Instead, even without having any axis homed, I still use S1 ie. G1 S1 X10
                    I only use S2 for the Z as described in the notes.

                    I don't know if this is the correct way but I won't exceed any limits

                    My home all script is as shown below:

                    G91                     ; relative positioning
                    G1 S2 Z5 F1000          ; lift Z relative to current position
                    
                    ; << Home XY >>
                    G1 S1 X-305 Y-305 F6000 ; move quickly to X or Y endstop and stop there (first pass)
                    G1 S1 X-305             ; home X axis
                    G1 S1 Y-305             ; home Y axis
                    G1 S1 X5 Y5 F1000       ; go ahead a few mm
                    G1 S1 X-10 F800         ; go back to X endstop slower this time
                    G1 S1 Y-10 F800         ; go back to Y endstop slower this time
                    G90 
                    
                    ; << Home Z >>
                    M98 Phomez.g 
                    
                    

                    and this is my Z homing:

                    
                    G91                   ; relative positioning
                    G1 S2 Z5 F1000        ; Lift nozzle
                    G90                   ;  absolute positioning
                    
                    m401                  ; or M98 Pdeployprobe.g deploy mechanical Z probe
                    G91                   ; relative positioning
                    G1 S1 Z-500 F1000     ; Lower bed fast 
                    G1 S2 Z5 F1000        ; Lift bed fast 
                    G90
                    M402                  ; or M98 Pretractprobe.g to retract mechanical Z probe
                    
                    ;<<< Probe Bed >>>
                    G30                   ; Probe at current XY
                    
                    G91                   ; relative positioning
                    G1 S2 Z5 F150         ; lift Z 5 mm
                    G90                   ; absolute positioning
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

                      In your homeall script, this line:

                      G1 S1 X5 Y5 F1000 ; go ahead a few mm

                      probably won't work because X and Y are already homed at that point. But as they are homed, you can omit the S parameter completely from that line.

                      In your homez script, the only line where it's essential to have the S2 parameter is the first G1 line. After that the Z axis is homed, so G1 commands without the S parameter will work too.

                      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
                      • nickpgreundefined
                        nickpgre
                        last edited by

                        @dc42:

                        In your homeall script, this line:

                        G1 S1 X5 Y5 F1000 ; go ahead a few mm

                        probably won't work because X and Y are already homed at that point. But as they are homed, you can omit the S parameter completely from that line.

                        In your homez script, the only line where it's essential to have the S2 parameter is the first G1 line. After that the Z axis is homed, so G1 commands without the S parameter will work too.

                        Well spotted! Thanks

                        1 Reply Last reply Reply Quote 0
                        • AS-3D Druckundefined
                          AS-3D Druck
                          last edited by

                          @dc42:

                          In your homeall script, this line:

                          G1 S1 X5 Y5 F1000 ; go ahead a few mm

                          probably won't work because X and Y are already homed at that point. But as they are homed, you can omit the S parameter completely from that line.

                          In your homez script, the only line where it's essential to have the S2 parameter is the first G1 line. After that the Z axis is homed, so G1 commands without the S parameter will work too.

                          Can you please explain me in DETAIL what i did wrong or even missed?

                          //EDIT:
                          Updated my first Post to my current homeall.g

                          Best regards
                          AS-3D Druck / Andre

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

                            How does homing behave now, with your modified homeall.g file?

                            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
                            • AS-3D Druckundefined
                              AS-3D Druck
                              last edited by

                              This is what it does:
                              Video: https://youtu.be/RsNC2eTbQls

                              Again the homeall.g:

                              [[language]]
                              ; More about M915 and how to set it up you can find here: 
                              ; https://duet3d.com/wiki/G-code#M915:_Configure_motor_stall_detection
                              
                              ; G4 P20000
                              
                              ; Setup Stall Detection on CoreXY
                              ; M574 X3 Y3 S3						; set endstops to use motor stall
                              
                              ; Lift Z relative to current position
                              G91
                              G1 Z10 F6000 S2
                              G90
                              
                              M913 X50 Y50						; reduce motor current to 50% to prevent belts slipping
                              G91							; use relative positioning
                              
                              ; Home Y
                              G1 S3 Y-500 F4000					; move the Y to max until it detects the min Point
                              G92 Y0							; set Y min Point
                              G1 Y30 							; move Y away from min Point
                              M400							; wait untill Y is done
                              
                              ; Home X
                              G1 S3 X-500 F4000					; move the X to max until it detects the min Point
                              G92 X0							; set X min Point
                              G1 X30 							; move X away from min Point
                              M400							; wait untill X is done
                              G90							; back to absolute positioning
                              
                              M913 X100 Y100 Z100					; motor currents back to normal
                              
                              ; Home Z
                              G1 X168 Y95 F2000 					; put head over the centre of the bed, or wherever you want to probe
                              G30                					; lower head, stop when probe triggered and set Z to trigger height
                              
                              ; Lift Z relative to current position
                              G91
                              G1 Z10 F6000 
                              G90
                              
                              M400							; make sure everything has stopped before we reset the motor currents
                              ; M915 X Y S3 F0 R3					; Pause the Print and restart after crashing in to something
                              
                              

                              It moves for some Reason the X in to + instead of - for homing.

                              Best regards
                              AS-3D Druck / Andre

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

                                1. Why are you using G1 S3 xcommands for homing, instead of G1 S1 commands?

                                2. Which firmware were you using before the upgrade?

                                3. If you position the head near the centre of the bed, then send G91, do subsequent G1 S1 moves make the head move in the correct direction? e.g. G1 S1 X10 should move the head 10mm in the +X direction, assuming the X endstop isn't triggered.

                                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
                                • AS-3D Druckundefined
                                  AS-3D Druck
                                  last edited by

                                  @dc42:

                                  1. Why are you using G1 S3 xcommands for homing, instead of G1 S1 commands?

                                  2. Which firmware were you using before the upgrade?

                                  3. If you position the head near the centre of the bed, then send G91, do subsequent G1 S1 moves make the head move in the correct direction? e.g. G1 S1 X10 should move the head 10mm in the +X direction, assuming the X endstop isn't triggered.

                                  1. I use G1 S3 to home the axis without Endstop.
                                  Can i use S1 instead?

                                  2. Before 1.21RC2

                                  3. I will test this.

                                  Best regards
                                  AS-3D Druck / Andre

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

                                    If you mean you want to home the X and Y axes using stall detection, you should still use G1 S1 commands. It is in the M574 command that you use S3 to select stall detection endstops.

                                    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
                                    • AS-3D Druckundefined
                                      AS-3D Druck
                                      last edited by

                                      @dc42:

                                      If you mean you want to home the X and Y axes using stall detection, you should still use G1 S1 commands. It is in the M574 command that you use S3 to select stall detection endstops.

                                      If i try S1 instead it dosen't detect a collision anymore.
                                      With S3 it does.

                                      I tested you're 3. Point and it moves like it should in the right Direction.

                                      Best regards
                                      AS-3D Druck / Andre

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