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

    SOLVED: Homing already homed XY axis fails

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    12
    1.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.
    • rs4raceundefined
      rs4race
      last edited by

      I'm just guessing but are you reaching axis minimum before the axes stall out?

      Check what you have for M208. I bet your stopping at the minimum and then setting that to your new home position.

      toskiumundefined 1 Reply Last reply Reply Quote 0
      • SupraGuyundefined
        SupraGuy
        last edited by

        It also seems to me that even if this works, because you're moving at 45 degrees, you will get a motor stall when the print head hits EITHER X or Y limit, with no guarantee at all the you'll have hit the other. So if your print head were at X=150, Y=10, your print head would move back to X=140, Y=0, and the motor would stall, since it cannot move Y any further. If it now thinks that X=0, you're going to have a problem.

        Lead screw driven printer, powered by Duet 2 Wifi
        MPCNC powered by Duet 2 Wifi
        CoreXY printer driven by Duet 3 6HC
        LowRider CNC powered by Duet 2 Wifi

        1 Reply Last reply Reply Quote 0
        • toskiumundefined
          toskium
          last edited by

          I deliberately positioned the head at X 150 and Y 30 and started homing. What happens is that Y hits the axis low end earlier but X continues moving to the low end and stops there and homing seems to finish as expected.

          Do you think that this behavior is any different in a second homing pass?

          1 Reply Last reply Reply Quote 0
          • toskiumundefined
            toskium @rs4race
            last edited by

            @rs4race
            Currently:
            M208 X0 Y0 Z0 S1
            M208 X300 Y300 Z410 S0

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

              @toskium said in Homing already homed XY axis fails:

              G1 S1 X-330 Y-330 F3600 ; move right/back 330mm, stopping at the endstop

              Why are you moving both X and Y when you only want to home X?

              See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Homing_files if you haven't already.

              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

              toskiumundefined 1 Reply Last reply Reply Quote 0
              • toskiumundefined
                toskium @dc42
                last edited by

                @dc42 TBH I thought I could take a shortcut since it first appeared to be working. I will change the homex and homey.g files so they only home their respective axis and try again. Maybe that is all it takes.

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

                  @dc42 said in Homing already homed XY axis fails:

                  G1 S1 X-330 Y-330 F3600 ; move right/back 330mm, stopping at the endstop

                  When you execute that on a CoreXY machine, it should move the print head until either the X or the Y axis reaches its endstop; then stop. On a Cartesian printer the move will continue until both X and Y have reached the 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

                  toskiumundefined 1 Reply Last reply Reply Quote 0
                  • toskiumundefined
                    toskium @dc42
                    last edited by toskium

                    @dc42 I modified my homex.g and homey.g files so they only home their own axis. However nothing has changed in the outcome. For testing the homex.g looks like this:

                    ;Sensorless Homing XY
                    M564 H0 		; allow movement of axis that have not been homed
                    M400 			; make sure everything has stopped before we make changes
                    M915 X Y S3 F0 R0 H400	; configure stall detection
                    M913 X40 Y40		; reduce motor current to 40% to prevent belts slipping
                    G91 			; use relative positioning
                    ;G1 Z5 F6000 S2 		; lift Z relative to current position
                    G1 X30 F4600		; move away from home
                    G1 S1 X-330 F4600 	; move right/back 330mm, stopping at the endstop
                    G1 X6 	 		; move away from home
                    M400 			; make sure everything has stopped before we reset the motor currents
                    M913 X100 Y100		; motor currents back to 100%
                    G90 			; back to absolute positioning
                    G92 X0			; Set X and Y to 0
                    M574 X1 Y1 S1 		; define active low microswitches
                    

                    What I observed is, that the G1 S1 X-330 F4600 is not executed at all. It only does G1 X30 F4600 and the G1 X6 afterwards.

                    In addition to that, if I do move X and Y at the same time, the first triggered endstop does not terminate the movement at all.

                    In case it helps, here is my config.g:

                    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool on Wed Jul 11 2018 18:31:06 GMT+0200 (W. Europe Daylight Time)
                    
                    ; General preferences
                    G90                              ; Send absolute coordinates...
                    M83                              ; ...but relative extruder moves
                    M555 P1                          ; Set firmware compatibility to look like RepRapFirmare
                    
                    M667 S1                          ; Select CoreXY mode
                    
                    ; Network
                    M550 PHypercube Evolution 001    ; Set machine name
                    M552 S1                          ; Enable network
                    ;*** Access point is configured manually via M587
                    M586 P0 S1                       ; Enable HTTP
                    M586 P1 S0                       ; Disable FTP
                    M586 P2 S0                       ; Disable Telnet
                    
                    ; Drives
                    M569 P0 S1                       ; Drive 0 goes forwards
                    M569 P1 S1                       ; Drive 1 goes forwards
                    M569 P2 S1                       ; Drive 2 goes forwards
                    M569 P3 S0                       ; Drive 3 goes forwards
                    M350 X16 Y16 Z16 E16 I1          ; Configure microstepping with interpolation
                    M92 X160 Y160 Z3200 E2649        ; Set steps per mm
                    M566 X900 Y900 Z12 E40           ; Set maximum instantaneous speed changes (mm/min)
                    M203 X12000 Y12000 Z600 E1800    ; Set maximum speeds (mm/min)
                    M201 X3000 Y3000 Z250 E120       ; Set accelerations (mm/s^2)
                    M906 X1600 Y1600 Z1600 E800 I30  ; 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 X300 Y300 Z410 S0           ; Set axis maxima
                    
                    ; Endstops
                    M574 X1 Y1 S3                    ; Set endstops controlled by motor load detection
                    M574 Z1 S2 			 ; Set endstops controlled by probe ( Z-endstop is Z-probe)
                    
                    ; Z-Probe
                    M558 P8 A3 I1 H3 R1 F480 T6000
                    G31 P100 X0 Y0 Z0.05                               ; Set Z probe trigger value, offset and trigger height
                    
                    ; Heaters
                    M307 H0 B0 S1.00                 ; Disable bang-bang mode for the bed heater and set PWM limit
                    M305 P0 T100000 B4138 C0 R4700  ; Default Values Set thermistor + ADC parameters for heater 0 (bed)
                    M143 H0 S150                     ; Set temperature limit for heater 0 to 150C (bed)
                    M305 P1 T100000 B4138 C0 R4700   ; Set thermistor + ADC parameters for heater 1 (hotend)
                    M143 H1 S350                     ; Set temperature limit for heater 1 to 350C (hotend)
                    
                    ; Fans
                    M106 P0 S0.3 I0 F500 H-1         ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                    M106 P1 S1 I0 F500 H1 T45        ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                    M106 P2 S1 I0 F500 H1 T45        ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
                    
                    ; Tools
                    M563 P0 D0 H1                    ; 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
                    
                    ; Automatic saving after power loss is not enabled
                    
                    ; Custom settings
                    M557 X0:300 Y0:300 S30 ; probe from X=15 to 285, Y=15 to 285mm with a mesh spacing of 30mm
                    
                    ; Pressure Advance
                    M572 D0 S0.06
                    
                    ; Enable use of sys/config-override.g
                    M501
                    
                    1 Reply Last reply Reply Quote 0
                    • toskiumundefined
                      toskium
                      last edited by

                      Update:

                      The repeated homing seems to work 99% now, I decreased the the current to the steppers from 1600mA to 1300mA in config.g. I am wondering if this might have been the reason behind the problem all the time.

                      The steppers I am using are the 0.9° high torque motors from E3D, in case you like to read the datasheet, it can be found here: https://e3d-online.dozuki.com/Item/High_torque_motor

                      What happens sometimes is that when the steppers get a bit temperature the stall threshold seems to be too low and it triggers early, however immediate homing again works fine, regardless the temperature.
                      Unfortunately it does not work reliable when I increase the stall threshold by 1.

                      Phaedruxundefined 1 Reply Last reply Reply Quote 1
                      • Phaedruxundefined
                        Phaedrux Moderator @toskium
                        last edited by

                        @toskium stall detection is a very tricky way to home the printer. Lots of variables and some of them change during operation. A simple switch is far more reliable.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        toskiumundefined 1 Reply Last reply Reply Quote 0
                        • toskiumundefined
                          toskium @Phaedrux
                          last edited by

                          @phaedrux It appears so, I was intrigued by the concept and less cables sounded like a nice bonus. But it is rather difficult to set up compared to a switch. It looks like it is working for now, I will mark this as solved, so nobody will invest more time in this.

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