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

    Strange axis not home error

    Scheduled Pinned Locked Moved
    General Discussion
    4
    23
    675
    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.
    • alankilianundefined
      alankilian @Tinchus
      last edited by

      @tinchus

      Unfortunately, that all works fine for me on my delta.

      Nothing looks wrong to my eyes in what you are doing.

      SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

      1 Reply Last reply Reply Quote 0
      • T3P3Tonyundefined
        T3P3Tony administrators @Tinchus
        last edited by

        @tinchus said in Strange axis not home error:

        @t3p3tony It makes the mesh levelling

        Ok so G29 works fine except when it is in the print start gcode?

        what happens when you comment out the m98 call in the start gcode

        Also what happens when you send the m98 P"/macros/LimpiezaT0.g" line from the console after homing and before sending G29?

        www.duet3d.com

        Tinchusundefined 1 Reply Last reply Reply Quote 0
        • Tinchusundefined
          Tinchus @T3P3Tony
          last edited by

          @t3p3tony No, I correct myself: I have just issued a G28 in the console, then G29 and all axis went to orange, and then the mesh levelling was performed OK

          T3P3Tonyundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
          • T3P3Tonyundefined
            T3P3Tony administrators @Tinchus
            last edited by

            @tinchus ok that will be because there is a G28 in the mesh.g AFAIK. When axis homing is performed the axis are marked as unhomed while the homing move runs, then once it finishes they are marked as homed again.

            www.duet3d.com

            1 Reply Last reply Reply Quote 0
            • Tinchusundefined
              Tinchus @T3P3Tony
              last edited by

              @t3p3tony If I execute m98 P"/macros/LimpiezaT0.g" the macro is excuted OK.

              If I comment the M98 in the start Gcode, the the print process goes perfect.
              I dont understan what the M98 is doing to trigger that axis error....

              1 Reply Last reply Reply Quote 0
              • fcwiltundefined
                fcwilt @Tinchus
                last edited by

                @tinchus

                Hi,

                As to the error we need to see your homeall.g file.

                But there are some other things I perhaps should mention.


                At the start of a print you are homing everything 3 times - 2 times in the start code itself (the two G28s) and once more when G29 calls mesh.g which also has a G28 in it..

                Is there a reason for doing this?


                Also in you start code you have a G30 but I don't see a G1 move to position the probe at your XY reference point.

                When using G30 by itself (which is referred to in the documentation as setting the Z=0 Datum) you need to move to a XY position that serves as the reference location.

                Some folks use one of the grid points probed when creating the height map, others, like myself, use the center of the bed.

                You need to set the Z=0 Datum when creating a height map and when loading that height map.


                In your mesh.g file I think that first M400 should be after the G28, not before it.

                Also you don't need to do G29 S2 G29 S0 - the G29 S0 is all you need.


                Thanks very much.

                Frederick

                Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                Tinchusundefined 1 Reply Last reply Reply Quote 0
                • Tinchusundefined
                  Tinchus @fcwilt
                  last edited by

                  @fcwilt the 3 G28 are there... by mistake and because while trying to solve this axis error, I was putting G28 everywhere , sorry.

                  The G39 at the start: well, there is a G28 before that so the posution I thought it was already set. The probing there is done at the center of the bed. Then I should be explicit and do a G1 X175 Y175 before the G30? Got it, I will do.

                  My homeall.g files is:

                  ; homeall.g
                  ; called to home all axes
                  ;
                  M564 H0
                  M280 P0 S17
                  T0 P0
                  G91
                  G1 Z5
                  M564 H1
                  G90

                  ; HOME X/Y
                  G91 ; relative mode
                  G1 H1 X-400 F3000 ; coarse home X or Y
                  G1 H1 Y-400 F3000
                  G1 X4 Y4 F600 ; move away from the endstops
                  G1 H1 X-10 F80 ; fine home X
                  G1 H1 Y-10 F80 ; fine home Y
                  G90 ; absolute positioning

                  ; Z HOMING
                  ; G1 X175 Y175 F5000 go to first bed probe point and home Z for beta3
                  G1 X175 Y175 F5000 ; production
                  M400
                  M913 Z55
                  G30
                  M400
                  M913 Z100

                  fcwiltundefined 1 Reply Last reply Reply Quote 0
                  • fcwiltundefined
                    fcwilt @Tinchus
                    last edited by

                    @tinchus

                    Hi,

                    OK I understand about all of the G28s.

                    Below is your homeall.g file - I have added some comments. Most of it is fine.

                    And since you leave X and Y at your XY undefinedreference point you don't need to do it again unless something you do later changes the XY position. If something does just remember to move back to your reference point when doing a G30.

                    M564 H0     ; remove this - see below
                    M280 P0 S17 ; why is this here
                    T0 P0       ; this is not typically something that is done when homing.
                    G91
                    G1 Z5       ; use G1 H2 Z5 instead which allows moving Z when it is not yet homed.
                    M564 H1     ; remove this -see above
                    G90         ; remove this as you need relative for homing x/y below
                    
                    ; HOME X/Y
                    G91               ; remove this since G90 above should not be there
                    G1 H1 X-400 F3000 ; coarse home X or Y
                    G1 H1 Y-400 F3000
                    G1 X4 Y4 F600     ; move away from the endstops
                    G1 H1 X-10 F80    ; fine home X
                    G1 H1 Y-10 F80    ; fine home Y
                    G90               ; absolute positioning
                    
                    ; Z HOMING
                    G1 X175 Y175 F5000 ; did you take into account the X and Y offsets of the probe when deciding on these X and Y values?
                    M400
                    M913 Z55
                    G30
                    M400
                    M913 Z100
                    

                    Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                    Tinchusundefined 2 Replies Last reply Reply Quote 0
                    • Tinchusundefined
                      Tinchus @fcwilt
                      last edited by

                      @fcwilt Thanks for the nfo and corrections:

                      The G91 before the G1 Z5 is because in some situations the nozzle is touching the bed (when I turn off the printer in some emergency for example). So when turned on, the first thing the machines does is move down the nozzle in order to let other movements happen.

                      G1 X175 Y175 F5000 ; did you take into account the X and Y offsets of the probe when deciding on these X and Y values? >>>>> I didnt, should I? I gues yes?

                      fcwiltundefined 1 Reply Last reply Reply Quote 0
                      • Tinchusundefined
                        Tinchus @fcwilt
                        last edited by

                        @fcwilt Also, I guess I see your point: the datum 0 I stablish with G30 right?
                        Should I move to X175 Y175 (my center), then switch to relative and move so the sensor is at the centter, then do the G30, then switch back to Absolute positioning?

                        1 Reply Last reply Reply Quote 0
                        • fcwiltundefined
                          fcwilt @Tinchus
                          last edited by

                          @tinchus said in Strange axis not home error:

                          @fcwilt Thanks for the nfo and corrections:

                          The G91 before the G1 Z5 is because in some situations the nozzle is touching the bed (when I turn off the printer in some emergency for example). So when turned on, the first thing the machines does is move down the nozzle in order to let other movements happen.

                          The first G91 is needed - it's the following G90 which is immediately followed by G91 - no need to switch to absolute then back to relative.

                          G1 X175 Y175 F5000 ; did you take into account the X and Y offsets of the probe when deciding on these X and Y values? >>>>> I didnt, should I? I gues yes?

                          Yes you should.

                          Let's say 175,175 is the center of the bed.

                          G1 X175 Y175 will move the nozzle there. But the probe is usually somewhere to the left/right and/or forward/back of the nozzle.

                          So let's say your probe offsets are X-10 and Y5.

                          To compute the needed X value for the G1 just subtract the X offset from the X value for the center of the bed.

                          175 - -10 = 185 So the parameter would be X185.

                          Do the same for the Y value.

                          175 - 5 = 165 So the parameter would be Y170.

                          G1 X185 Y170 should move the probe to the center of the bed.

                          So just to the same math using your probe's actual X and Y offset values.

                          Frederick

                          Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                          Tinchusundefined 1 Reply Last reply Reply Quote 0
                          • Tinchusundefined
                            Tinchus @fcwilt
                            last edited by

                            @fcwilt this thing about the probe is confusing me: I understand your statement but what I dont understnd is: if I move the head in a way the probe is at the center, the nozzle will not be at the center, but the machine all it cares is the nozzle. So when positioning the nozzle outseide the center and doing the G28, wont the machine think it is probing outside the center?

                            So what do I do when doing the mesh calibration? O should also position the probe and not the nozzle at the center? Following your thinking I must asume the firmware already knows Im taking into account the probe offsets?

                            fcwiltundefined 1 Reply Last reply Reply Quote 0
                            • fcwiltundefined
                              fcwilt @Tinchus
                              last edited by

                              @tinchus said in Strange axis not home error:

                              @fcwilt this thing about the probe is confusing me: I understand your statement but what I dont understnd is: if I move the head in a way the probe is at the center, the nozzle will not be at the center, but the machine all it cares is the nozzle. So when positioning the nozzle outseide the center and doing the G28, wont the machine think it is probing outside the center?

                              You are mostly correct in thinking the nozzle is what we are interested in.

                              The reason we set the Z=0 Datum (with a G30) is so that moving to Z=0 at that XY location will have the tip of the nozzle just touching the bed.

                              But since the probe is offset from the nozzle we have to do a G1 move that takes in account the probe X and Y offsets so we can probe where the nozzle will be when X=175 and Y=175.

                              So what do I do when doing the mesh calibration? O should also position the probe and not the nozzle at the center? Following your thinking I must asume the firmware already knows Im taking into account the probe offsets?

                              You always set the Z=0 Datum at the same XY reference point, in your case that seems to be a X=175, Y=175 which is the center of your bed.

                              So before creating the height map or loading the height map you always must have set the Z=0 Datum at some time prior to the creating/loading.

                              The firmware has no idea how you chose the XY point where you set the Z=0 Datum. The user (you) decide what XY position is to be your XY reference point for setting the Z=0 Datum. The firmware doesn't care.

                              Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                              Tinchusundefined 1 Reply Last reply Reply Quote 0
                              • Tinchusundefined
                                Tinchus @fcwilt
                                last edited by Tinchus

                                @fcwilt sorry, still is not clear. Following your explanation, then moving to X175 Y175, ignoring the probe offset looks lige irrelevant, because Im always doing the probing at 175,175. I understand your explanation, I dont understand your point really.
                                Yo say I decide where I set the Z datum. Ok I say it has to be at 175,175 and I move the head to taht position, in the dcumentation is not stated how do I tell the firmware that later when I move the probe to that position, the pobe position is really 175,175... because at the moment I move the nozzle following the offset of the probe, the machine all it knows is that the nozzle is at another position, not 175,175 anymore.

                                fcwiltundefined 1 Reply Last reply Reply Quote 0
                                • fcwiltundefined
                                  fcwilt @Tinchus
                                  last edited by

                                  @tinchus

                                  I'm not doing a good enough job explaining things then.

                                  Hmm..

                                  How about this.

                                  Imagine a empty square room with a smooth floor. You have a tennis ball and you drop it on the floor. It rolls to the south-west corner. You play around with dropping the ball at different locations and you find that if you drop the ball at the north-east corner it rolls all the way in a straight line to the south-west corner.

                                  You conclude that the lowest point in the room is the south-west corner and the highest point is the north-east corner.

                                  You happen to have a device that will tell you the absolute height of any point in the room.

                                  If you wish to determine the height of the highest point in the room you take it to the north-east corner and measure there. Correct?


                                  In somewhat the same way if you wish to determine the height of the center of the bed you must move the probe to the center of the bed and measure there.

                                  Does that help at all?

                                  Frederick

                                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                  Tinchusundefined 1 Reply Last reply Reply Quote 0
                                  • Tinchusundefined
                                    Tinchus @fcwilt
                                    last edited by

                                    @fcwilt I understan this and your explanation is correct, but the thing it is not clear to me is:

                                    if you want to probe the center of the bed, you are telling me to move the nozzle to X175+-offset and Y175+-offset so the probe is positioned at 175,175. But the machine doesnt know that, all the machine knows is she is at position X175+-offset and Y175+-offset , not at the center. That is my trouble into understanding this

                                    fcwiltundefined 1 Reply Last reply Reply Quote 0
                                    • fcwiltundefined
                                      fcwilt @Tinchus
                                      last edited by

                                      @tinchus said in Strange axis not home error:

                                      @fcwilt I understan this and your explanation is correct, but the thing it is not clear to me is:

                                      if you want to probe the center of the bed, you are telling me to move the nozzle to X175+-offset and Y175+-offset so the probe is positioned at 175,175. But the machine doesnt know that, all the machine knows is she is at position X175+-offset and Y175+-offset , not at the center. That is my trouble into understanding this

                                      That is true but the data obtained when probing is from the point the probe touches - which is 175,175.

                                      That data is only information about Z, there is no information about X or Y.

                                      Let's say the Z Trigger Height setting in G31 is Z2.34.

                                      When the probe, positioned at 175,175, triggers it tells the firmware the Z position at that instant was 2.34.

                                      If the setting in G31 is correct the logical Z position (where the firmware "thinks" Z is) will match the physical Z position - which is the whole purpose of setting the Z=0 Datum, getting the logical and physical positions in sync.

                                      Having established the logical Z position all subsequent Z moves should be accurate so, for example, a move G1 X175 Y175 Z0 should result in the nozzle just touching the bed at 175,175.

                                      If it does that you know that the G31 setting is correct, which is essential to creating accurate height maps.

                                      Frederick

                                      Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                      Tinchusundefined 1 Reply Last reply Reply Quote 0
                                      • Tinchusundefined
                                        Tinchus @fcwilt
                                        last edited by

                                        @fcwilt said in Strange axis not home error:

                                        That is true but the data obtained when probing is from the point the probe touches - which is 175,175.

                                        OK! Then this is the answer I was looking for. Following you explanation, the the formware is actually taking into account the probe offset when I tell it to probe the bed.

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