Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Strange axis not home error

    General Discussion
    4
    23
    155
    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.
    • Tinchus
      Tinchus last edited by

      Hello. This is part of my start gcode:

      T0
      G28
      G30; Home z again with probe
      G1 X0 Y0 Z50
      M400
      M141 S{chamber_temperature[0]}
      M116 C0 S5
      G28
      G10 S300
      M116
      m98 P"/macros/LimpiezaT0.g"
      G29 >>>>>>> ERRROR HAPPENS HERE
      G4 S5

      The problem IM having is that when the gcode reaches the G29, I get an error saying "insufficient axis homed". In the DWC screen I can see that the X and Z axis pass from blue to orange, like if they have not been homed. But they were since you can see a G28 before.

      The macro being calles it is just s nozzle clean routine:

      G1 X415 Y175 F8000
      G1 Y150 F8000
      G1 Y200 F8000
      G1 Y150 F8000
      G1 Y200 F8000
      G1 Y150 F8000
      G1 Y200 F8000
      G1 Y150 F8000
      G1 Y200 F8000
      G1 Y150 F8000
      G1 Y200 F8000
      G1 Y150 F8000
      G1 Y200 F8000
      G1 Y175 F8000
      G1 X400 F4000
      G1 X425 F4000
      G1 X400 F4000
      G1 X425 F4000
      G1 X400 F4000
      G1 X425 F4000
      G1 X400 F4000
      G1 X425 F4000
      G1 X400 F4000
      G1 X425 F4000
      G1 X400 F4000
      G1 X425 F4000

      Why Im getting this error?

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

        @tinchus what happens if you send G29 from the console after homing the printer?

        www.duet3d.com

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

          @tinchus

          I don't see anything wrong with this sequence.

          If you are running RRF 3, when you do a G29, it runs sys/mesh.g (if it exists)

          • Does this file exist in your system?
          • If so, can you post it?

          I tried this sequence on my delta which does not have a sys/mesh.g file (with adjustments for the size) and it works as expected, so I'm interested in seeing if you have a mesh.g

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

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

            @t3p3tony It makes the mesh levelling

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

              @alankilian

              Mesh.g has this inside:

              M400
              G28
              M913 Z75
              G29 S2
              G29 S0
              M400
              M913 Z100

              alankilian 1 Reply Last reply Reply Quote 0
              • alankilian
                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
                • T3P3Tony
                  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

                  Tinchus 1 Reply Last reply Reply Quote 0
                  • Tinchus
                    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

                    T3P3Tony fcwilt 2 Replies Last reply Reply Quote 0
                    • T3P3Tony
                      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
                      • Tinchus
                        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
                        • fcwilt
                          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 FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                          Tinchus 1 Reply Last reply Reply Quote 0
                          • Tinchus
                            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

                            fcwilt 1 Reply Last reply Reply Quote 0
                            • fcwilt
                              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 FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                              Tinchus 2 Replies Last reply Reply Quote 0
                              • Tinchus
                                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?

                                fcwilt 1 Reply Last reply Reply Quote 0
                                • Tinchus
                                  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
                                  • fcwilt
                                    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 FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                                    Tinchus 1 Reply Last reply Reply Quote 0
                                    • Tinchus
                                      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?

                                      fcwilt 1 Reply Last reply Reply Quote 0
                                      • fcwilt
                                        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 FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                                        Tinchus 1 Reply Last reply Reply Quote 0
                                        • Tinchus
                                          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.

                                          fcwilt 1 Reply Last reply Reply Quote 0
                                          • fcwilt
                                            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 FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                                            Tinchus 1 Reply Last reply Reply Quote 0
                                            • Tinchus
                                              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

                                              fcwilt 1 Reply Last reply Reply Quote 0
                                              • fcwilt
                                                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 FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                                                Tinchus 1 Reply Last reply Reply Quote 0
                                                • Tinchus
                                                  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