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

    G30 Insufficient Axes Homed For Bed Probing

    Scheduled Pinned Locked Moved
    General Discussion
    5
    79
    4.0k
    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.
    • Steve Lynchundefined
      Steve Lynch
      last edited by

      Hello! I have nailed almost every one of this new Corexy's demons, except for this one: G30 Insufficient Axes Homed For Bed Probing.

      I have been through the Faq in the Wiki, but it references a different Error Message.

      I changed all of my "Pre Z Homing Moves" to s2 instead of s1 in all of the homing files.

      I also added the M564 H0 to the config.G

      I get this error as soon as the Y axis Homes. Also, When I define the bed probing region, it saves, but always tries to do the first probe off of the bed. Is this because of the Homing not completing?

      BTW, all of the axes do show homed, and report 0 as their location after homing.

      Here's My Homeall data.

      Thanks guys! I'm learning soooo Much!

      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v2 on Fri Mar 01 2019 12:32:41 GMT-0500 (Eastern Standard Time)

      G91 ; relative positioning
      G1 Z5 F6000 S2 ; lift Z relative to current position
      M98 Pdeployprobe.g ; deploy mechanical Z probe
      G1 S2 X0 Y0 F10000 ; move quickly to X or Y endstop and stop there (first pass)
      G1 S2 X0 ; home X axis
      G1 S2 Y0 ; home Y axis
      G1 X5 Y5 F6000 ; go back a few mm
      G1 S2 X0 F360 ; move slowly to X axis endstop once more (second pass)
      G1 S2 Y0 ; then move slowly to Y axis endstop
      G90 ; absolute positioning
      G1 X190 Y150 F10000 ; go to first bed probe point and home Z
      G30 ; home Z by probing the bed

      ; Uncomment the following lines to lift Z after probing
      G91 ; relative positioning
      G1 S2 Z5 F100 ; lift Z relative to current position
      G90 ; absolute positioning

      M98 Pretractprobe.g ; retract mechanical Z probe

      1 Reply Last reply Reply Quote 0
      • Steve Lynchundefined
        Steve Lynch
        last edited by

        I also already commented out the Deploy probe, and retract probe lines, as you said, to use the internal handling for type 9 probe.

        1 Reply Last reply Reply Quote 0
        • Steve Lynchundefined
          Steve Lynch
          last edited by

          I've read every post and article I can find online pertaining to this, but can only find G0/G1 Insufficient homing referenced. I'm stumped.

          deckingmanundefined 1 Reply Last reply Reply Quote 0
          • deckingmanundefined
            deckingman @Steve Lynch
            last edited by deckingman

            @steve-lynch TBH, I'm a bit surprised that DWC reports the axes as homed.

            So what we have is that by default, the firmware will not allow axes to be moved until they have been homed. This causes a problem when we want to move Z before we home X or Y. To get around this we can either use M564 H0 to override this default behaviour or we can use S2 to move Z and ignore the end stop. The latter is safer.

            But after moving Z, we then want to home X and Y and for these moves we want to detect the end stop, not ignore it. Therefore we need to us S1 rather than S2 (which is what you have).

            But also, when in relative mode the G1 command will move by an amount, rather than to a position. So G1 X0 Y0 means move X and Y by zero mm, resulting in no movement.

            So your homeall file should look like this:

            G91 ; relative positioning
            G1 Z5 F6000 S2 ; lift Z relative to current position
            M98 Pdeployprobe.g ; deploy mechanical Z probe

            G1 S1 X-nnn Y-nnn F10000 ; move quickly to X or Y endstop and stop there (first pass) .......nnn should be set to whatever your axes maxima are so that wherever the print head is at the start, it will also move to the end stop. S1 is useed to detect the end stop.

            **The above will move both X and Y until one or other end stop triggers, so now we need to home both X and Y individually in order to trigger the other end stop switch. So add the following

            G1 S1 X-nnn F10000 ; Now do a fast move just on X and detect the end stop
            G1 S1 Y-nnn F10000; likewise Y

            G1 X5 Y5 F6000 ; go back a few mm - that's fine

            G1 S1 X-100 F360 ; move slowly to X axis endstop once more (second pass)
            G1 S1 Y-100 ; then move slowly to Y axis endstop
            In the above 2 commands I've changed S2 (ignore end stop) to S1 (detect end stop). I've used 100mm but anything greater than the 5mm that you moved away from the end stop will do

            From here on X and Y have been homed so we don't need use any "S" parameter for those axes.

            G90 ; absolute positioning
            G1 X190 Y150 F10000 ; go to first bed probe point and home Z
            G30 ; home Z by probing the bed

            Now Z has been homed so we don't need the S" that you have below

            ; Uncomment the following lines to lift Z after probing
            G91 ; relative positioning
            G1 S2 Z5 F100 ; lift Z relative to current position Take out this S2
            G90 ; absolute positioning

            M98 Pretractprobe.g ; retract mechanical Z probe

            That should get you sorted but take out the M564 H0 from your config.g. Either that or use it but take out all the S2 parameters from the above (but leave in the S1s).

            You might also want to consider dropping the motor currents at the start of homing then putting them back up at the end - it's just a bit safer in case and end stop switch fails.

            HTH

            Ian
            https://somei3deas.wordpress.com/
            https://www.youtube.com/@deckingman

            1 Reply Last reply Reply Quote 1
            • Steve Lynchundefined
              Steve Lynch
              last edited by

              Thank you so very much for your help! i apologize, I'm on vacation, and was away for a couple days... I'm back and fresh! I tried what you said EXACTLY.....

              I still get the insufficient axes homes directly after the very first move.. any idea why? It still shows all 3 axes turn blue, and homing is complete.

              Here's My amended Homeall.G,

              ; homeall.g

              G91 ; relative positioning
              G1 Z5 F6000 S2 ; lift Z relative to current position
              M98 Pdeployprobe.g ;deploy mechanical z probe
              G1 S1 X0 Y0 F10000 ;move quickly to X or Y endstop and stop there (first pass)
              G1 S1 X0 F10000 ;Now do a fast move just on X and detect end stop
              G1 S1 Y0 F10000 ;Likewise Y
              G1 X5 Y5 F6000 ;go back a few mm
              G1 S1 X50 F360 ;move slowly to X axis endstop once more (second pass)
              G1 S1 Y50 ;then move slowly to Y axis endstop
              G90 ;absolute positioning
              G1 Z5 F6000 ;lift Z relative to current position
              G90 ;absolute positioning
              G1 X190 Y150 F6000 ;go to first probe point
              G30 ;home Z by probing the bed

              ; Uncomment the following lines to lift Z after probing
              G91 ;relative positioning
              G1 Z5 F100 ;lift Z relative to current position
              G90 ;absolute positioning
              M98 Pretractprobe.g ;retract mechanical Z probe

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

                @steve-lynch said in G30 Insufficient Axes Homed For Bed Probing:

                M98 Pdeployprobe.g ;deploy mechanical z probe

                You should replace that command by M401.

                G1 Z5 F6000 ;lift Z relative to current position

                Add S2 to that command.

                @steve-lynch said in G30 Insufficient Axes Homed For Bed Probing:

                M98 Pretractprobe.g ;retract mechanical Z probe

                Replace that line by M402.

                @steve-lynch said in G30 Insufficient Axes Homed For Bed Probing:

                I still get the insufficient axes homes directly after the very first move.. any idea why? It still shows all 3 axes turn blue, and homing is complete.

                Please explain what you many by "after the very first move". Do you mean after the very first move in the homeall.g file, or something else?

                What are the contents of your deployprobe.g and retractprobe.g files?

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • Steve Lynchundefined
                  Steve Lynch
                  last edited by

                  Hi Thanks! I changed the things you asked me to, and still the same result. When I say the "first move, Yes, I mean the very first homing move...

                  Here's my probe scripts.

                  deploy just contains M280 P3 S10 I1

                  retract contains: M280 P3 S90 I1

                  1 Reply Last reply Reply Quote 0
                  • Steve Lynchundefined
                    Steve Lynch
                    last edited by

                    When I home all, the very first move moves the gantry to the front of the coreXY printer, and it hits the end stop.. this is at zero... then the x moves right, stops, and goes left to home against the end stop.. then it does the 2nd pass, and moves to bed center, where it triggers the BLTouch, clears the "not homed" light in the Web interface, then it looks like it did what it was supposed to do successfully... except for the "insufficient homed" Message which remains on screen.

                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                    • Steve Lynchundefined
                      Steve Lynch
                      last edited by

                      @dc42 does that sufficiently answer your question sir?

                      1 Reply Last reply Reply Quote 0
                      • Stephen6309undefined
                        Stephen6309
                        last edited by Stephen6309

                        Have you sent each line of the homing file by itself via the gcode console to see which line is causing the problem?

                        Steve Lynchundefined 1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @Steve Lynch
                          last edited by deckingman

                          @steve-lynch said in G30 Insufficient Axes Homed For Bed Probing:

                          When I home all, the very first move moves the gantry to the front of the coreXY printer, and it hits the end stop.. this is at zero... then the x moves right, stops, and goes left to home against the end stop.. then it does the 2nd pass, and moves to bed center, where it triggers the BLTouch, clears the "not homed" light in the Web interface, then it looks like it did what it was supposed to do successfully... except for the "insufficient homed" Message which remains on screen.

                          Have you actually got the axes all moving in the right directions according to this procedure. https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter

                          Regardless of that, your homeall.g file is still wrong. Read again what I said about using G1 S1 X-nnn, Y-nnn. That's X and Y minus a value that is the same or greater than your axis maxima rather than X0 Y0.

                          Also, take out your first G90 absolute command just before the Z5 move. That will try to move to the absolute position of 5mm from Z=0, but until Z has been homed, the firmware has no idea where Z0 is. So keep the move as relative then it will move the Z axis by 5mm from wherever it happens to be (which is what you want).

                          Edit - I was going to suggest that if tell me what you axes maxima and minima are, I'll post a homing file that you can copy and paste. But on second thoughts, you won't learn that way - it's that "catch a man a fish or teach him to fish thing" ☺

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          Steve Lynchundefined 1 Reply Last reply Reply Quote 0
                          • Steve Lynchundefined
                            Steve Lynch @deckingman
                            last edited by Steve Lynch

                            @deckingman the machine goes right when I go right, left when I go left, away and towards when I command it to be so. manual gcode moves are also correct... it took a month of playing, but I finally got it going the right way. As I've been posting ad-nauseum (probably driving you guys crazy) the left front (alpha Motor corner) is X0 Y0 max is 300 in both directions.

                            I do not understand the whole negative value thing you're referring to... so even if my end stop is zero for example, I want to tell it to home to -300?

                            Believe me, I want to learn to fish, but because of time differences and stuff, it's frustrating to wait 24 hours or more for a reply... 2 weeks have flown by, and I'm no better off than when I started. It would be wonderful to be able to give this a whirl.

                            Thanks for all your help though man! Seriously! I am learning... it's just a lot to process. I'm a CNC and laser Cutter builder... I'm super comfy with my cartesian configurations, but corexy is a new game for me.

                            deckingmanundefined 1 Reply Last reply Reply Quote 0
                            • Steve Lynchundefined
                              Steve Lynch @Stephen6309
                              last edited by

                              @stephen6309 I'll try that!

                              1 Reply Last reply Reply Quote 0
                              • Steve Lynchundefined
                                Steve Lynch
                                last edited by

                                Ok, If I enter the Gcode line by line, I get no errors.

                                If I run the Homeall, I get an error. I made your changes.... I think.... Am I closer? It still doesn't work right, but i'm learning what's what!

                                G91 ; relative positioning
                                G1 Z5 F6000 S2 ; lift Z relative to current position
                                M401 ;deploy mechanical z probe
                                ;G1 S1 X-300 Y-300 F10000 ;move quickly to X or Y endstop and stop there (first pass)
                                G1 S1 X-300 F10000 ;Now do a fast move just on X and detect end stop
                                G1 S1 Y-300 F10000 ;Likewise Y

                                G1 X5 Y5 F6000 ;go back a few mm

                                G1 S1 X50 F360 ;move slowly to X axis endstop once more (second pass)
                                G1 S1 Y50 ;then move slowly to Y axis endstop

                                G1 Z5 F6000 ;lift Z relative to current position
                                G90 ;absolute positioning
                                G1 X190 Y150 F6000 ;go to first probe point
                                G30 ;home Z by probing the bed

                                ; Uncomment the following lines to lift Z after probing
                                G91 ;relative positioning
                                G1 Z5 F100 ;lift Z relative to current position
                                G90 ;absolute positioning

                                M402 ;retract mechanical Z probe

                                deckingmanundefined 1 Reply Last reply Reply Quote 0
                                • deckingmanundefined
                                  deckingman @Steve Lynch
                                  last edited by deckingman

                                  @steve-lynch said in G30 Insufficient Axes Homed For Bed Probing:

                                  I do not understand the whole negative value thing you're referring to... so even if my end stop is zero for example, I want to tell it to home to -300?

                                  Yes. The reason is that the absolute position of 0,0 is where you want the nozzle to be when X and Y are homed. But, when you turn the printer on, the nozzle could be anywhere on the bed but the printer doesn't "know" that. You might have been working in the printer with the power off and manually moved both axes to the maximum position. But the firmware has no idea that you've done that so it has no idea where the nozzle is. Which is the whole purpose of homing - to establish a datum position.

                                  To help you understand, all moves are in fact relative. Absolute moves are moves to a certain position on the bed but this position is relative to the homed position - usually X0, Y0. For example the absolute position of X=100 in your case, means the nozzle is 100mm to the right if the edge of the bed - i.e. 100mm relative to X=0. On the other hand, what we call relative moves are relative to where the nozzle is now. In relative terms G1 X100 means move 100mm to the right from wherever the nozzle happens to be, but in absolute terms G1 X100 means move to a position which is 100mm from X =0.

                                  So until an axis has been homed (i.e. until a datum position is known) all moves have to be relative to where the nozzle is now. When we start the homing process, the nozzle could be anywhere up to the maximum travel distance in either X or Y. In order to find and trigger the end stop, we need to move in a negative direction towards where the end stop is. And because the nozzle could be at (say) X max when we turn in the printer, and we need to enure that it will travel far enough to reach the end stop, then that move must be at least equal to the X max position (it will stop before then if it triggers the end stop - providing you use S1). Doing G1 X0 Y0 won't work because in absolute terms, the firmware has no idea where X0 Y0 is because we haven't yet established that. In relative terms G1 X0 Y0 means move the head by zero mm from where it is now so that won't work either.

                                  Does that help clarify things?

                                  Ian
                                  https://somei3deas.wordpress.com/
                                  https://www.youtube.com/@deckingman

                                  1 Reply Last reply Reply Quote 0
                                  • deckingmanundefined
                                    deckingman @Steve Lynch
                                    last edited by

                                    @steve-lynch Sorry, I was typing my other lengthy post so didn't see your latest.

                                    Yes you are getting closer.

                                    You can uncomment this line - it saves a bit of time if that first move is a diagonal move which stop when one or other end stops triggers.
                                    ;G1 S1 X-300 Y-300 F10000 ;move quickly to X or Y endstop and stop there (first pass)

                                    Your second "G1 Z5 F6000 ;lift Z relative to current position" needs an S2 because at that point in time, the Z axis still hasn't been homed.

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    Steve Lynchundefined 1 Reply Last reply Reply Quote 0
                                    • Steve Lynchundefined
                                      Steve Lynch
                                      last edited by

                                      yes actually, that's kind of what I surmised... That way no matter where it is on the bed, it has a theoretical travel distance equal to the total dimensions of the build volume.. That actually makes perfect sense!
                                      Cheers!

                                      deckingmanundefined 1 Reply Last reply Reply Quote 0
                                      • deckingmanundefined
                                        deckingman @Steve Lynch
                                        last edited by

                                        @steve-lynch said in G30 Insufficient Axes Homed For Bed Probing:

                                        yes actually, that's kind of what I surmised... That way no matter where it is on the bed, it has a theoretical travel distance equal to the total dimensions of the build volume.. That actually makes perfect sense!
                                        Cheers!

                                        We seem to be typing at the same time - see my latest.

                                        Ian
                                        https://somei3deas.wordpress.com/
                                        https://www.youtube.com/@deckingman

                                        1 Reply Last reply Reply Quote 0
                                        • Steve Lynchundefined
                                          Steve Lynch @deckingman
                                          last edited by

                                          @deckingman OOps! I left that commented, because I was observing what each G code did... Forgot to free that back up! Good eye!

                                          1 Reply Last reply Reply Quote 0
                                          • Steve Lynchundefined
                                            Steve Lynch
                                            last edited by

                                            Dang it! Can ya' throw me a bone? What is it that is causing the error... It seems to be in relation to the first set of moves... this block of moves

                                            ;G1 S1 X-300 Y-300 F10000 ;move quickly to X or Y endstop and stop there (first pass)
                                            G1 S1 X-300 F10000 ;Now do a fast move just on X and detect end stop
                                            G1 S1 Y-300 F10000 ;Likewise Y

                                            as soon as the gantry starts moving, it errors... But I do not see any G28 reference in there, or G30 at this stage of the Gcode.... is it right in front of me?

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