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.
    • Tinchusundefined
      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?

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

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

        www.duet3d.com

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

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

            @t3p3tony It makes the mesh levelling

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

              @alankilian

              Mesh.g has this inside:

              M400
              G28
              M913 Z75
              G29 S2
              G29 S0
              M400
              M913 Z100

              alankilianundefined 1 Reply Last reply Reply Quote 0
              • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA