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

    Wrong position after homing axes

    Scheduled Pinned Locked Moved
    General Discussion
    3
    54
    3.8k
    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.
    • CoolM8undefined
      CoolM8
      last edited by

      I did not want to be rude. I just wanted to clarify what I'am trying to solve. Any help is welcome and I am thankful for all your support. Too sad it has not helped yet.

      G31 P1 does not do anything. Do I understand correctly that it should set the probe trigger value? Should the change be visible in the web view?

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

        In the gcode console, what does M558 return?

        Try sending
        M558 P1 H5 F120 T6000
        G31 P500 X40 Y0 Z0.35

        Then alter your homeall "first probe point" to move the probe to the center of the bed. Say G1 X100 Y100. Before the G30.

        and then test homing all.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • CoolM8undefined
          CoolM8
          last edited by

          @phaedrux said in Wrong position after homing axes:

          G31 P500 X40 Y0 Z0.35

          Hmm, this is strange. Now it behaves completely different. The final position after G30 is now at X100 Y100 but the probed point which should be X100 Y100 is done at X0 Y100.

          As long is I do not execute G30 the axes are working correctly. Homing X and Y puts the head to left front corner, G1 X100 Y100 moves the head to the center. According to the documentation I have set the front left corner to be 0,0. Somehow after G30, X100 Y100 is 0,0.

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

            That definitely doesn't make sense. Are you sure you don't have any G92 commands in your homing files?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • CoolM8undefined
              CoolM8
              last edited by

              No, I don't see any G92 commands in my homing files.

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

                Could you upload your config files here? It would be helpful to see first hand everything that's going on. Slicer start gcode as well, since you stated it happens when starting a print, but otherwise works fine.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • CoolM8undefined
                  CoolM8
                  last edited by

                  I haven't had time the last couple of time.
                  The problem happens not only when starting a print, but also when i execute homeall or home Z. Starting a print executes G30 first, homeall and home Z execute G30 at the ind.
                  I wonder why G30 is modifying my X Axis. I thought it should not do it when no Parameter is passed with it.
                  The config.g is not much different now, that what I have in the first post. Here it is:

                  ; General preferences
                  M111 S1 ; Debugging off
                  G21 ; Work in millimetres
                  G90 ; Send absolute coordinates...
                  M83 ; ...but relative extruder moves
                  M555 P2 ; Set firmware compatibility to look like Marlin
                  M564 H0 S0

                  M208 X0 Y0 Z0 S1 ; Set axis minima
                  M208 X180 Y180 Z205 S0 ; Set axis maxima
                  M669 K0

                  ; Endstops
                  M574 X1 Y1 S0 ; Define active low and unused microswitches
                  M574 Z1 S2
                  M558 P1 H5 F120 T6000
                  M557 X0:180 Y15:180 S20 ; Define mesh grid
                  G31 P500 X40 Y0 Z0.35 ; Set Z probe trigger value, offset and trigger height

                  ; Drives
                  M569 P0 S0 ; Drive 0 goes forwards
                  M569 P1 S1 ; Drive 1 goes forwards
                  M569 P2 S0 ; Drive 2 goes forwards
                  M569 P3 S1 ; Drive 3 goes forwards
                  M350 X32 Y32 Z8 E16 I0 ; Configure microstepping without interpolation
                  M92 X157.4804 Y157.4804 Z533.3333 E832 ; Set steps per mm
                  M566 X1200 Y1200 Z480 E120 ; Set maximum instantaneous speed changes (mm/min)
                  M203 X8100 Y8100 Z300 E1200 ; Set maximum speeds (mm/min)
                  M201 X500 Y500 Z100 E250 ; Set accelerations (mm/s^2)
                  M906 X1200 Y1200 Z1100 E1100 I30 ; Set motor currents (mA) and motor idle factor in per cent
                  M84 S30 ; Set idle timeout

                  ; Heaters
                  M143 S290; Set maximum heater temperature to 310C
                  M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
                  M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
                  ;M305 P1 R4700 T100000 B4388
                  M305 P1 X200

                  ; 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

                  ; Network
                  M550 PUltimaker ; Set machine name
                  M552 S1 ; Enable network and acquire dynamic address via DHCP

                  ; Fans
                  M106 P0 S1 I0 F500 H1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
                  ;M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
                  ;M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

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

                    @coolm8 said in Wrong position after homing axes:

                    ; Go to first bed probe point and home Z
                    G1 X0 Y15 F1800

                    Have you changed the position used to probe the bed as I suggested earlier?

                    If the Probe is +40 in X away from the nozzle, when you try and move the nozzle to X0, the probe would be at -40 in X over the edge of the bed. Get what I mean?

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • CoolM8undefined
                      CoolM8
                      last edited by CoolM8

                      When i run G1 X0 Y15 F1800 before Z is homed it goes to the right position.
                      After G30 X0 it is actually 58mm away from real X0. With the current config I can move below 0 to X-58 until I hit the endstop.

                      It makes no difference if configured Probe to have an offset in X or not. G31 P500 X40 Y0 Z0.35 or G31 P500 X0 Y0 Z0.35 both configs bring the same result. I don't understand how the offset of 58mm is calculated.

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

                        Ideally you should position the probe so that it's in the center of the bed before sending G30 to probe. Have you tried changing your homeall to do that?

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • CoolM8undefined
                          CoolM8
                          last edited by

                          Yes, when my single probing point before G30 is the middle, the printer thinks it is the 0,0 position after G30. But when my single probing point before G30 is X0 Y15 the printer takes X58 Y15 as 0,0.

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

                            Do you think you could upload your config.g and homing files as they currently are?

                            The firmware will only do what it's told via gcode, so there is something somewhere that's telling it to do something that results in this current behaviour. Having it all in front of me at once makes it a lot easier to sort through.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 0
                            • CoolM8undefined
                              CoolM8
                              last edited by

                              I haven't found the time too look at it. Now I think I might have found something:

                              When I home X and Y it works fine and when the endstops trigger, the print head stops immediately. But when when i manually control the print head movement or homing Z, the motors do not stop wen the endstop triggers. Therefore when homing Z moves to X0, it hits the endstop but it does not stop the motor. So I end up with an Offset in X.

                              What I see is, the manual movement through WebControl sends this: G1 X-210 F1200.
                              Homing sends this: G1 X-210 F1200 S1
                              So the S1 parameter makes the edstops work. Now G30 must be using the move commands without S1.

                              When I do the following change in config.g:
                              M564 H0 S0 to M564 H0 S1
                              Then, both G1 X-210 F1200 S1 works as does G1 X-210 F1200. That's because it limits the axis by calculation and not by the endstops anymore. However, G30 still hits the endstop but the motor keeps running for a short time as seen in the video here:
                              https://youtu.be/9m7Y-PwS-pI

                              How can I force G30 to make use of the axis limitation as well? Or can I somehow use the endstops all the time without using the calculated axes?

                              Phaedruxundefined 1 Reply Last reply Reply Quote 0
                              • CoolM8undefined
                                CoolM8
                                last edited by

                                When I move to X100 Y100 in homeZ and then call G30, why does G30 move anyway? In the documentations it says: "Probe the bed at the current XY position".

                                HomeZ.g:
                                ; Lift Z relatively to current position
                                G91
                                G1 Z5 F6000 S2

                                ; Back to absolute positioning
                                G90

                                ; Go to first bed probe point and home the Z axis
                                G1 X100 Y100 F6000
                                G30

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

                                  @CoolM8 said in Wrong position after homing axes:

                                  when when i manually control the print head movement or homing Z, the motors do not stop wen the endstop triggers.

                                  This is as expected. The endstops are only acting when there is a homing move (G1 S1).

                                  G30 doesn't do any X or Y movement. You have to position the probe manually first. G30 will only move the Z axis.

                                  @CoolM8 said in Wrong position after homing axes:

                                  why does G30 move anyway?

                                  I don't know, I haven't seen your full config yet.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  1 Reply Last reply Reply Quote 0
                                  • CoolM8undefined
                                    CoolM8
                                    last edited by

                                    This is my full config.g:

                                    ; General preferences
                                    M111 S1 ; Debugging off
                                    G21 ; Work in millimetres
                                    G90 ; Send absolute coordinates...
                                    M83 ; ...but relative extruder moves
                                    M555 P2 ; Set firmware compatibility to look like Marlin
                                    M564 H0 S1

                                    M208 X0 Y0 Z0 S1 ; Set axis minima
                                    M208 X180 Y180 Z205 S0 ; Set axis maxima
                                    M669 K0

                                    ; Endstops
                                    M574 X1 Y1 S0 ; Define active low and unused microswitches
                                    M574 Z1 S2
                                    M558 P1 H5 F120 T6000
                                    M557 X0:180 Y15:180 S20 ; Define mesh grid
                                    G31 P500 X40 Y0 Z0.35 ; Set Z probe trigger value, offset and trigger height

                                    ; Drives
                                    M569 P0 S0 ; Drive 0 goes forwards
                                    M569 P1 S1 ; Drive 1 goes forwards
                                    M569 P2 S0 ; Drive 2 goes forwards
                                    M569 P3 S1 ; Drive 3 goes forwards
                                    M350 X32 Y32 Z8 E16 I0 ; Configure microstepping without interpolation
                                    M92 X157.4804 Y157.4804 Z533.3333 E832 ; Set steps per mm
                                    M566 X1200 Y1200 Z480 E120 ; Set maximum instantaneous speed changes (mm/min)
                                    M203 X8100 Y8100 Z300 E1200 ; Set maximum speeds (mm/min)
                                    M201 X500 Y500 Z100 E250 ; Set accelerations (mm/s^2)
                                    M906 X1200 Y1200 Z1100 E1100 I30 ; Set motor currents (mA) and motor idle factor in per cent
                                    M84 S30 ; Set idle timeout

                                    ; Heaters
                                    M143 S290; Set maximum heater temperature to 310C
                                    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
                                    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
                                    ;M305 P1 R4700 T100000 B4388
                                    M305 P1 X200

                                    ; 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

                                    ; Network
                                    M550 PUltimaker ; Set machine name
                                    M552 S1 ; Enable network and acquire dynamic address via DHCP

                                    ; Fans
                                    M106 P0 S1 I0 F500 H1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
                                    ;M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
                                    ;M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

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

                                      And homing files?

                                      Z-Bot CoreXY Build | Thingiverse Profile

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

                                        @CoolM8 said in Wrong position after homing axes:

                                        M564 H0 S1

                                        i have pointed out to you earlier that this should not be in the config. why do you insist on having that in your config?

                                        1 Reply Last reply Reply Quote 0
                                        • CoolM8undefined
                                          CoolM8
                                          last edited by

                                          @Veti
                                          I had M564 H0 in there, because i was used to be able to move the printhead without homed axes with the original printer hardware. When I remove completely, I cannot even home any of my axes, always getting: G0/G1: insufficient axes homed. This is also the case when I have M546 H1 S1.

                                          homeX:
                                          ; Lift Z relative to current position
                                          G91
                                          G1 Z5 F6000
                                          G90

                                          ; Move quickly to X axis endstop and stop there (first pass)
                                          G1 X-210 F1200 S1

                                          ; Go back a few mm
                                          G91
                                          G1 X5 F6000
                                          G90

                                          ; Move slowly to X axis endstop once more (second pass)
                                          G1 X-210 F360 S1

                                          ; Lower Z again
                                          G91
                                          G1 Z-5 F6000
                                          G90

                                          homeY:
                                          ; Lift Z relative to current position
                                          G91
                                          G1 Z5 F6000
                                          G90

                                          ; Move quickly to Y axis endstop and stop there (first pass)
                                          G1 Y-210 F1800 S1

                                          ; Go back a few mm
                                          G91
                                          G1 Y5 F6000
                                          G90

                                          ; Move slowly to X axis endstop once more (second pass)
                                          G1 Y-210 F360 S1

                                          ; Lower Z again
                                          G91
                                          G1 Z-5 F6000
                                          G90

                                          homeZ:
                                          ; Lift Z relatively to current position
                                          G91
                                          G1 Z5 F6000 S2

                                          ; Back to absolute positioning
                                          G90

                                          ; Go to first bed probe point and home the Z axis
                                          G1 X100 Y100 F6000
                                          G30

                                          ; Uncomment the following lines to lift Z after probing
                                          ;G91
                                          ;G1 Z5 F100
                                          ;G90

                                          homeall:
                                          ; homeall.g
                                          ; called to home all axes
                                          ;
                                          ; generated by RepRapFirmware Configuration Tool on Wed Apr 19 2017 22:18:05 GMT+0200 (W. Europe Daylight Time)

                                          ; Relative positioning
                                          G91

                                          ; Lift Z
                                          G1 Z5 F6000

                                          ; Course home X and Y
                                          G1 X-210 Y-210 F1800 S1

                                          ; Move away from the endstops
                                          G1 X5 Y5 F6000

                                          ; Fine home X and Y
                                          G1 X-210 Y-210 F360 S1

                                          ; Absolute positioning
                                          G90

                                          ; Go to first bed probe point and home Z
                                          G1 X100 Y100 F1800

                                          G30

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

                                            Thanks for providing the homing files. Makes it much easier.

                                            @CoolM8 said in Wrong position after homing axes:

                                            G0/G1: insufficient axes homed.

                                            This is due to the Z moves to lift the print head above the bed before the axis are homed. M564 H0 is the brute force way of removing the check.

                                            Trying to run homez before x and y are homed means that the G1 XY move you have in there has no reference point. X and Y must be homed before homing Z.

                                            To correct the insufficient homed axis error without using M564 H0 you must add S2 to the Z moves in your homing files.

                                            For example:

                                            homeX:
                                            ; Lift Z relative to current position
                                            G91
                                            G1 Z5 F6000
                                            G90
                                            
                                            ; Move quickly to X axis endstop and stop there (first pass)
                                            G1 X-210 F1200 S1
                                            
                                            ; Go back a few mm
                                            G91
                                            G1 X5 F6000
                                            G90
                                            
                                            ; Move slowly to X axis endstop once more (second pass)
                                            G1 X-210 F360 S1
                                            
                                            ; Lower Z again
                                            G91
                                            G1 Z-5 F6000
                                            G90
                                            

                                            Would become:

                                            homeX:
                                            ; Lift Z relative to current position
                                            G91
                                            G1 Z5 F6000 S2
                                            G90
                                            
                                            ; Move quickly to X axis endstop and stop there (first pass)
                                            G1 X-210 F1200 S1
                                            
                                            ; Go back a few mm
                                            G91
                                            G1 X5 F6000
                                            G90
                                            
                                            ; Move slowly to X axis endstop once more (second pass)
                                            G1 X-210 F360 S1
                                            
                                            ; Lower Z again
                                            G91
                                            G1 Z-5 F6000 S2
                                            G90
                                            

                                            Note the S2 on the Z move to raise and lower the print head.

                                            The same would apply to the homey, homez and homeall files.

                                            Here's a check list to go through to ensure that homing works properly.

                                            • 0,0 places the nozzle on the front left corner of the print surface
                                            • if the endstop position is beyond 0,0 the axis minima should be negative, this can help account for any offset and keep parts properly positioned on the bed. This means if the nozzle is at the corner of the bed but still needs to move 10mm to the left to trigger the endstop, your axis minima for X is -10.
                                            • X+ moves to the right, Y+ moves to the back
                                            • homing direction moves towards the endstops
                                            • The probe should be positioned so that it is in the middle of the print surface before the G30 command
                                            • the XY probe offset and Z trigger height should be measured and inputted into G31 in config.g

                                            Z-Bot CoreXY Build | Thingiverse Profile

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