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 GPetropoulos

      So i have installed an NPN NO inductive sensor. Since then i have been trying to get successful results with bed mesh compensation but i do not.
      0_1546104762672_Screenshot_2018-12-29 GP CR20(3).png
      Originally i tried operating the procedure as my setup was. My z end stop limit switch was below the bed surface by 2mm.

      As i thought that is the problem i moved the sensor to be close to the bed surface. Then got this result.
      0_1546104861655_Screenshot_2018-12-29 GP CR20(7).png

      Then as i could not understand why it is high again i changed the G31 value on my config.g to be positive and got this.
      0_1546104930357_Screenshot_2018-12-29 GP CR20(6).png

      Then i noticed this difference is close to the z height trigger i put on G31. My value is (0.7mm)
      So i thought i should run it with zero z height to see what happens. And i got a bette looking mesh. 0_1546105509471_Screenshot_2018-12-29 GP CR20(8).png
      This though does not solve any problem.
      When i try to print with this i get my nozzle to be a lot higher than the bed surface again. What is happening?
      Is the z height trigger not working maybe?
      I tried a test print with the mesh that showed below xy plane and the latest that shows it is close to the xy plane.
      Still the nozzle seems to be the same distance aways from the bed at both cases.

      Please be advised i have followed the procedure step by step several times today and i post this long post as i can find no solution to this problem. I have been troubleshooting more than 12 hours and still nothing.
      The posts i followed are
      1)https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation#main
      2)https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
      Main difference between those is that one states that the trigger height value should be negative.

      Thank you in advance!

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

        Adding my config text to be easier to use.

        ; Configuration file for Duet WiFi (firmware version 1.21)
        ; executed by the firmware on start-up
        ;
        ; generated by RepRapFirmware Configuration Tool v2 on Thu Dec 13 2018 23:04:14 GMT+0200 (Eastern European Standard Time)

        ; General preferences
        G90 ; Send absolute coordinates...
        M83 ; ...but relative extruder moves

        ; Network
        M550 P"pass" ; Set machine name
        M552 S1 ; Enable network
        M587 S"pass" ; Configure access point. You can delete this line once connected
        M586 P0 S1 ; Enable HTTP
        M586 P1 S0 ; Disable FTP
        M586 P2 S0 ; Disable Telnet

        ; Drives
        M569 P0 S0 ; Drive 0 goes backwards
        M569 P1 S1 ; Drive 1 goes forwards
        M569 P2 S1 ; Drive 2 goes forwards
        M569 P3 S1 ; Drive 3 goes forwards
        M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
        M92 X200.00 Y200.00 Z400.00 E415.00 ; Set steps per mm
        M566 X1200.00 Y1200.00 Z24.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
        M203 X45000.00 Y45000.00 Z600.00 E1500.00 ; Set maximum speeds (mm/min)
        M201 X2000.00 Y2000.00 Z100.00 E1000.00 ; Set accelerations (mm/s^2)
        M906 X1200.00 Y1200.00 Z560.00 E560.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
        M84 S30 ; Set idle timeout

        ; Axis Limits
        M208 X0 Y0 Z0 S1 ; Set axis minima
        M208 X235 Y200 Z250 S0 ; Set axis maxima

        ; Endstops
        M574 X1 Y1 Z1 S1 ; Set active high endstops

        ; Z-Probe
        M558 P5 I1 F0 T6000 ; Set Z probe type to switch and the dive height + speeds
        G31 P1000 X-55 Y0 Z0.4 ; Set Z probe trigger value, offset and trigger height
        M557 X20:180 Y20:200 S30 ; Define mesh grid

        ; Heaters
        M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
        M143 H0 S110 ; Set temperature limit for heater 0 to 110C
        M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
        M143 H1 S280 ; Set temperature limit for heater 1 to 280C

        ; Fans
        M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
        M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

        ; Tools
        M563 P0 D0 H1 ; Define tool 0
        G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
        G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

        ; Automatic power saving
        M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

        ; Custom settings are not configured
        M501

        1 Reply Last reply Reply Quote 0
        • Vetiundefined
          Veti
          last edited by

          why do you need a z endstop if you have a probe?

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

            @veti Safety i guess. It was installed initially so i did not bother removing it. And i did not see anywhere the need to remove the end stop. It can work along with the probe if i am not mistaken. The homing happens with endstop. Only mesh levelling happens with probe.

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

              @gpetropoulos Yes you can use multiple means of homing since it depends on how your homing files are configured which gets used. As long as the trigger heights are accurate and repeatable between them the Z0 point should be equivalent.

              I'm not sure what would explain your extreme looking heightmaps though.

              Can you post your homing files?

              M558 P5 I1 F0 T6000

              I notice your probing feedrate is set to 0. I'm not sure if that will cause a problem or if it will just fall back to using the Z axis max feed rate. I'd try setting it to something like F100 just incase it's an issue caused by probing too fast.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • Vetiundefined
                Veti
                last edited by

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

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

                  As i understand now i have been using G32 from the web interface. Still trying to understand what the difference with G29 is.

                  This is my homeall.g

                  ; 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-225 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-225 Y-220 F360 ; move slowly to X and Y axis endstops once more (second pass)
                  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)

                  ; 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

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

                    @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?

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

                    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.

                    Z-Bot CoreXY Build | Thingiverse Profile

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