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

    Autolevel with NPN NO Inductive sensor problems

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    24
    1.6k
    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.
    • GPetropoulosundefined
      GPetropoulos
      last edited by

      Should i really eliminate my z endstop though? Not even keep it as a backup? What will then give my z=0 value? The probe?

      Here is the config override:

      ; config-override.g file generated in response to M500 at 2018-12-29 18:07
      ; This is a system-generated file - do not edit
      ; Heater model parameters
      M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1
      M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0
      M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
      M307 H3 A340.0 C140.0 D5.5 S1.00 V0.0 B0
      M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
      M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
      M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
      M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
      G10 L2 P1 X0.00 Y0.00 Z0.00
      G10 L2 P2 X0.00 Y0.00 Z0.00
      G10 L2 P3 X0.00 Y0.00 Z0.00
      G10 L2 P4 X0.00 Y0.00 Z0.00
      G10 L2 P5 X0.00 Y0.00 Z0.00
      G10 L2 P6 X0.00 Y0.00 Z0.00
      G10 L2 P7 X0.00 Y0.00 Z0.00
      G10 L2 P8 X0.00 Y0.00 Z0.00
      G10 L2 P9 X0.00 Y0.00 Z0.00

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

        It's not really a backup. The endstop would only trigger and stop movement while doing a G1 move with an S1 switch as done in the homing files to seek the endstop. Hitting the endstop at any other time would have no effect.

        So yes, for testing at least, I would suggest trying to use your probe in the homing file to set Z0

        So it would change from this

        G1 S1 Z-255 F1800       ; move Z down stopping at the endstop
         G90                     ; absolute positioning
        G92 Z0                  ; set Z to axis minimum (you may want to adjust this)
        

        To this

        G90   ; absolute positioning
        G1 X150 Y150 ; move probe to bed center
        G30 ; probe the bed
        G1 X0 Y0  ; return to home position
        

        Z-Bot CoreXY Build | Thingiverse Profile

        GPetropoulosundefined 1 Reply Last reply Reply Quote 0
        • GPetropoulosundefined
          GPetropoulos @Phaedrux
          last edited by

          @phaedrux said in Autolevel with NPN NO Inductive sensor problems:

          @veti said in Autolevel with NPN NO Inductive sensor problems:

          i would assume that to be the different trigger height from probe and endstop.

          Yes, but the probe trigger height would only come into play using G30 and anywhere else that probes. The endstop "trigger height" would be set in the homing files.

          @gpetropoulos said in Autolevel with NPN NO Inductive sensor problems:

          G92 Z0 ; set Z to axis minimum (you may want to adjust this)

          Is the nozzle actually touching the bed at the point the endstop switch is triggered?

          Yes

          Also we should confirm what firmware version you're using.

          Firmware version: 2.02RC6(RTOS) (2018-12-15b2)

          I also notice you're loading config-override.g at the end of your config.g, can you post the contents of that as well?

          @gpetropoulos said in Autolevel with NPN NO Inductive sensor problems:

          G1 S1 Z-255 F1800 ; move Z down stopping at the endstop
          G90 ; absolute positioning
          G92 Z0 ; set Z to axis minimum (you may want to adjust this)

          As a test, you could replace this section of your homeall with a G1 move to position the probe at center, and then a G30 to probe the bed. Then run a G29. This would eliminate the endstop switch from the equation entirely.

          The main difference between G29 and G32 is that G29 uses a mesh of points to compensate for the geometry of the bed, whereas G32 uses bed.g to create a simple plane of a few points. It can also be used to do mechanical bed leveling depending on how you have bed.g setup. If you're just trying to correct for the shape of the bed, G29 is superior.

          1 Reply Last reply Reply Quote 0
          • GPetropoulosundefined
            GPetropoulos @Phaedrux
            last edited by

            @phaedrux said in Autolevel with NPN NO Inductive sensor problems:

            It's not really a backup. The endstop would only trigger and stop movement while doing a G1 move with an S1 switch as done in the homing files to seek the endstop. Hitting the endstop at any other time would have no effect.

            So yes, for testing at least, I would suggest trying to use your probe in the homing file to set Z0

            So it would change from this

            G1 S1 Z-255 F1800       ; move Z down stopping at the endstop
             G90                     ; absolute positioning
            G92 Z0                  ; set Z to axis minimum (you may want to adjust this)
            

            To this

            G90   ; absolute positioning
            G1 X150 Y150 ; move probe to bed center
            G30 ; probe the bed
            G1 X0 Y0  ; return to home position
            

            When i probe the bed does it do a g92 as well? How will i tell it where zero is? There is a trigger height value to be used to direct this one but how do i do that?
            My trigger value is 0.7mm.
            So do i give a G92 Z0.7 after it probes?

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

              G92 is not necessary when using G30. It will use the configuration provided in M558 and G31 to set the Z height.

              The trigger height in G31 Z tells the firmware how far away from the bed the nozzle is when the probe triggers. So when it triggers during G30, it knows it's that high above the bed, and therefore, Z0 is established. The X and Y portion of G31 tells the firmware where the probe is in relation to the nozzle. G29 also uses the information from M558 and G31.

              Makes sense?

              Z-Bot CoreXY Build | Thingiverse Profile

              GPetropoulosundefined 1 Reply Last reply Reply Quote 0
              • GPetropoulosundefined
                GPetropoulos @Phaedrux
                last edited by

                @phaedrux Yes certainly.

                Let me try this. I think i understand the problem now. So my homing hits the endstop and gets a zero value from there. So the z trigger height is not used. That is why depending on the z end stop distance we see different heights in the above pictures. So the 0.7 (my z trigger) reflected on the distance from the z end stop 0..

                One more thing. When typing the z trigger in G31 should it be negative?
                eg G31 P1000 X-55 Y0 Z0.7
                OR
                G31 P1000 X-55 Y0 Z-0.7

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

                  It should be the value you get from doing the G30 S-1 procedure you linked above.

                  It will only be a negative value in cases where the nozzle ends up pressing down into the surface of the bed, like when using a nozzle contact probe like a piezoelectric.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  GPetropoulosundefined 1 Reply Last reply Reply Quote 0
                  • GPetropoulosundefined
                    GPetropoulos @Phaedrux
                    last edited by

                    @phaedrux I mean it is not really negative but is it written like that? Writing it as a positive in the G31 gave the blue mesh result above which is below the xy plane.

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

                      @gpetropoulos No you shouldn't flip the sign on it. The probe triggers before the nozzle touches the bed, correct? No after? That would be a positive value.

                      I'm hoping that after we change your homing file to use G30, and re run G29, we will get a better result.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      GPetropoulosundefined 1 Reply Last reply Reply Quote 0
                      • GPetropoulosundefined
                        GPetropoulos @Phaedrux
                        last edited by

                        @phaedrux Certainly that solves the mesh problem at least. This looks much more consistent.
                        I used a negative value on G31. I am pretty sure that is it. I will run a test print and see for sure now.

                        0_1546111884213_Screenshot_2018-12-29 GP CR20(9).png

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

                          Using a negative value for G31 isn't consistent with how it should be working.
                          https://duet3d.dozuki.com/Wiki/GCode#Section_G31_Set_or_Report_Current_Probe_status

                          Use this to get the value.
                          https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • GPetropoulosundefined
                            GPetropoulos
                            last edited by

                            Updating my new Homeall using the z probe as z endstop.

                            ; homeall.g
                            ; called to home all axes
                            ;
                            ; generated by RepRapFirmware Configuration Tool v2 on Thu Dec 13 2018 23:04:14 GMT+0200 (Eastern European Standard Time)
                            G91 ; relative positioning
                            G1 Z5 F6000 S2 ; lift Z relative to current position
                            G1 S1 X-235 Y-220 F6000 ; move quickly to X and Y axis endstops and stop there (first pass)
                            G1 X5 Y5 F6000 ; go back a few mm
                            G1 S1 X-235 Y-220 F360 ; move slowly to X and Y axis endstops once more (second pass)
                            G90 ; absolute positioning
                            G1 X160 Y100 F6000 ; move probe to bed center
                            G30 F1000 ; probe the bed
                            G1 X0 Y0 Z2 F6000 ; return to home position and 2mm higher than the surface

                            ; 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

                            Phaedruxundefined 1 Reply Last reply Reply Quote 0
                            • GPetropoulosundefined
                              GPetropoulos
                              last edited by

                              @phaedrux Not clear to me yet. I will try with positive then first and report back.

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

                                @gpetropoulos Yes that looks good, except that G30 won't take an F parameter. It will use the F value given in M558 in config.g. I suggested a value of 100 earlier.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                GPetropoulosundefined 1 Reply Last reply Reply Quote 0
                                • GPetropoulosundefined
                                  GPetropoulos @Phaedrux
                                  last edited by

                                  @phaedrux Yeah probably. I tried the 100 and was too slow. 😄 I have F1000 in my M558 and probably that is being used. I started the test print and seems to be working like a charm. 🙂

                                  Thank you very much. I would not manage to get it done this fast without your help. Cheers!
                                  Wish you the best and a Happy New Year mate.

                                  So for anyone confused set positive value for trigger height in G31 command!!

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

                                    Glad it's working properly now. I think the issue was a result of Z0 being set differently than what the G31 trigger height would have given, and the difference was resulting in the huge offset from the Z plane in the heightmap.

                                    Z-Bot CoreXY Build | Thingiverse Profile

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