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

    Mesh Bed Compensation with inductive probe

    Scheduled Pinned Locked Moved
    General Discussion
    4
    14
    805
    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.
    • fcwiltundefined
      fcwilt @Work Horse XL
      last edited by

      @Work-Horse-XL

      Hi,

      Notice in your homeall.g and homez.g files there is a G92 Z0.

      That is telling the firmware that the current actual Z position is Z=0. But that is only true if your Z endstop switch triggers at exactly Z=0.

      Have you adjusted your Z endstop switch so that is true?

      On my printer the Z endstop switch actually triggers a bit above zero. For purposes of this discussion lets say it actually triggers at Z=1.

      So instead of G92 Z0 I would have G92 Z1 - that puts the firmware Z position in sync with the actual Z position.


      Aside from that you need to use your Z probe to set the Z=0 datum at the following times:

      • before creating the height map
      • before loading the height map

      To set the Z=0 datum you use a single G30 command.

      But before doing that you need to use a G1 command to position the Z probe at a suitable XY position - which is usually the center of the bed.

      Whenever you set the Z=0 datum you ALWAYS use the same XY position.

      I create a macro to do this so I am assured of using the same XY position every time.

      The X and Y min/max values of my bed are -150 and 150, so the center of the bed is at X=0 Y=0.

      To move the probe that position I have to take into account the XY offsets of my Z probe which are X0 and Y-25.

      So my set Z=0 datum macro looks like:

      G90
      G91 X0 Y25
      G30

      Hope that helps

      Frederick

      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

      1 Reply Last reply Reply Quote 0
      • Garfieldundefined
        Garfield
        last edited by Garfield

        Sounds like you did stuff right, you don't need G30, G30 simply tells the system to perform one probe. The previous poster is moving to the centre of his bed and probing he just has a macro to get there. I don't understand the G92 Z1 bit - G92 Z0 tells the system that wherever the nozzle is now in space that is Z=0. It is from that point that everything gets referenced for Z - no idea what G92 Z1 would do beyond telling the printer that the current nozzle position is exactly 1mm above the bed - pretty dangerous command if it is actually closer.

        The nozzle shouldn't be at zero ever unless you deliberately put it there. The first height you see in status when laying down the first layer should be whatever your first layer height is - so what is it showing ?

        You absolutely that the printer is correctly configured in the slicer - no Z offsets etc, absolutely sure that layer 1 isn't actually at 2.15 or something - the print is on the slicer bed when you slice it not elevated? - can you run preview in your slicer to see at what layer stuff appears.

        Look for the first G1 Z in your print gcode - what does it say ? for a first layer of 0.15 the first G1 Z should be G1 Z0.150 or similar depending on your slicer.

        Sorry if this all sounds a little basic but going for the complex first isn't always the best approach - if the printer can mesh level successfully and you seem to have a good trigger height I don't think it is the printer.

        edit : Do not put G92 Z0 in ANY of your homing files - I think this is your problem.

        You do not set Z using G92 when probing you use G30. G30 sets Z to the trigger height when it probes. You have no G30 ....

        I think your homeall.g is messed up - there's no Z in there, your homez.g is also messed up -

        This is my homez.g

        ; homez.g
        ; called to home the Z axis
        G91 ; relative mode
        G1 H2 Z4 F200 ; raise head 4mm to ensure it is above the Z probe trigger height
        G90 ; back to absolute mode
        G1 X152 Y152 F3000 ; put head over the centre of the bed, or wherever you want to probe
        G30 ; lower head, stop when probe triggered and set Z to trigger height
        

        my Homeall.g

        ; homeall.g
        ; called to home all axes
        ;
        
        G91                     ; relative positioning
        G1 H1 X-320 F1500 ; coarse home X
        G1 X4 F360 ; move away from the X endstop
        G1 H1 X-10 F250 ; fine home X
        
        G1 H1 Y-320 F1500 ; coarse home Y
        G1 Y4 F360 ; move away from the Yendstop
        G1 H1 Y-10 F250 ; fine home Y
        
        G1 H2 Z4 F200 ; raise head 4mm to ensure it is above the Z probe trigger height
        G90                     ; absolute positioning
        G1 X167 Y152 F2500 ; put head over the centre of the bed, or wherever you want to probe
        G30 ; lower head, stop when probe triggered and set Z to trigger height
        
        
        1 Reply Last reply Reply Quote 0
        • Work Horse XLundefined
          Work Horse XL
          last edited by

          Thank you guy's. I have been busy the last few days and have not had the time to look at the printer. I will take this and see what I can do. Thank you for the examples that helps me considerably on this.

          I will report back soon.

          Thank you

          1 Reply Last reply Reply Quote 0
          • Work Horse XLundefined
            Work Horse XL
            last edited by

            Guys It's working great now. Thank you so much.

            Removed the G92 Z0. Then adjusted the trigger point to get rid of the baby steps and it did great.

            I have one other question I have dual Z motors and right now I set level with the dual end stops I have on each side. This works fine. My question is How would I take advantage of Auto bed leveling or do I really need it at this point.

            Thank you again

            Darrin

            fcwiltundefined 1 Reply Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt @Work Horse XL
              last edited by

              @Work-Horse-XL said in Mesh Bed Compensation with inductive probe:

              I have one other question I have dual Z motors and right now I set level with the dual end stops I have on each side. This works fine. My question is How would I take advantage of Auto bed leveling or do I really need it at this point.

              How are the two Z steppers connected to the board?

              The configuration only shows drive mapping of Z0.3.

              Frederick

              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

              Work Horse XLundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @Work Horse XL
                last edited by Phaedrux

                @Work-Horse-XL said in Mesh Bed Compensation with inductive probe:

                ; Custom settings
                M584 X0:1 Y2 Z3:4 E5 ; assign stepper motor channels
                M376 H10

                Your M584 command must come earlier in config.g. Currently you have two of them. Replace the first one with your second.

                https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M584_Set_drive_mapping

                Z-Bot CoreXY Build | Thingiverse Profile

                Work Horse XLundefined 1 Reply Last reply Reply Quote 0
                • Garfieldundefined
                  Garfield
                  last edited by

                  Other than a mesh bed level every now an then I don't bother, you are limited to what you can do automatically anyhow depending on your bed mounts. Unless you use a kinematic mount the mount points are likely to be pretty rigid so offsetting the steppers could lead to binding. Once it is as level as you can get it mechanically it shouldn't change unless you abuse the machine / move it around etc - all depends how rigid things are, the more rigid you make it the more accurate things need to be.

                  The mesh bed level works slightly differently and attempts to compensate for bed inconsistencies - got to confess though I'm not entirely sure how Dave implements it.

                  1 Reply Last reply Reply Quote 1
                  • Work Horse XLundefined
                    Work Horse XL @Phaedrux
                    last edited by

                    @Phaedrux Thank you Phaedrux is the M376 H10 in the correct location?

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

                      Yeah that one doesn't matter. I just included it for positional context in our file.

                      Z-Bot CoreXY Build | Thingiverse Profile

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

                        You likely can use auto bed leveling.

                        Since you have dual Z endstops can we assume the you home the bed without any issues?

                        If the Z homing is working well are the endstops adjusted to get the best bed leveling when homing?

                        Frederick

                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                        Work Horse XLundefined 1 Reply Last reply Reply Quote 0
                        • Work Horse XLundefined
                          Work Horse XL @fcwilt
                          last edited by

                          @fcwilt Z stepper are on plug 3 and 4 driver output on the Duet 3 board.

                          1 Reply Last reply Reply Quote 0
                          • Work Horse XLundefined
                            Work Horse XL @fcwilt
                            last edited by

                            @fcwilt Yes the dual end stops works very well. The more I think about it, it's best like it is. This is a very ridged large plat form printer. Moving the Z independently is likely going to bind things or could. It now seems to be working really good. Just did a small print and I'm happy with the results.

                            I know it will have more issues as it's newly built, and it has been a struggle getting to this point.

                            Thank you very much for the help.

                            fcwiltundefined 1 Reply Last reply Reply Quote 0
                            • fcwiltundefined
                              fcwilt @Work Horse XL
                              last edited by

                              @Work-Horse-XL said in Mesh Bed Compensation with inductive probe:

                              Moving the Z independently is likely going to bind things or could.

                              Keep in mind that if the Z probing used for auto leveling determines the bed is level the Z steppers will not be activated.

                              If the bed was very slightly off level then the Z steppers would only make tiny adjustments.

                              Frederick

                              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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