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

Probing issues

Scheduled Pinned Locked Moved
Using Duet Controllers
4
33
2.8k
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.
  • undefined
    medicusdkfz
    last edited by medicusdkfz 17 Jan 2021, 07:45

    Hi,

    I noticed the following when probing: When generating a height compensation mesh, the sensor does not show the reached depth at every point. This is represented by the P-value in the display and in the web gui. I have entered a P-value of 500. What is the background for this and how can I achieve a clean measurement at every point of the mesh? This worries me a lot, because this leads to massive problems with the first print layer. Because the determined heights are then obviously not correct. The same happens with quad gantry levelling.But there is also no error message that the measurement is not complete. For background understanding: I have a Voron 2.4 with 4 Z-belts and a bed aligning gantry. My probe used is a SuperPinda from Prusa (NPN, 5V, 3 mm trigger depth). Mainboard: D3 6HC with RRF3.2

    M558 K0 P5 C"io4.in" H3 F150 T18000 A5 S0.01 B0 R0.2
    G31 P500 X0 Y25 Z0.845

    my mesh routine:

    ; Heat the bed to 110C
    M291 P"Heating up the bed..." R"Probing New Bed Mesh" T5
    M190 S110
    ; Set the hotend to 270C
    M291 P"Heating up the hotend..." R"Bed Mesh" T5
    G10 P0 S260
    M116
    ; ignore current heightmap
    M561
    ; Level the gantry again while everything is hot
    M291 P"QGL while everything is hot..." R"Bed Mesh" T5
    G32
    M98 P"/macros/print_scripts/do_nozzle_wipe.g"
    M98 P"/macros/print_scripts/do_nozzle_wipe.g"
    ; Probe a new bed mesh!
    M291 P"Probing now!" R"Bed Mesh" T5
    ;M98 P"/macros/Mesh/mesh_121_points.g"
    ;M98 P"/macros/Mesh/mesh_81_points.g"
    M98 P"/macros/Mesh/mesh_49_points.g"
    ;M98 P"/macros/Mesh/mesh_36_points.g"
    ;M98 P"/macros/Mesh/mesh_25_points.g"
    ;M98 P"/macros/Mesh/mesh_16_points.g"
    M98 P"/macros/print_scripts/goto_bed_center_probe.g"
    G1 Z5
    G30
    G1 Z5
    G29 S0
    ; Done, move to center and turn off heat
    M98 P"/macros/print_scripts/goto_bed_center.g"

    my QGL macro:

    ; bed.g
    ; Called to align the gantry to the bed plane via G32
    ; Clear any bed transform
    M561
    ; Turn off noisy Extruder motor
    M84 E
    ; Home all axes
    if !move.axes[0].homed || !move.axes[1].homed
    echo "Printer was not homed. Homing now."
    G28
    ; Lower currents, speed & accel
    M98 P"/macros/print_scripts/speed_probing.g"
    ;M98 P"/macros/print_scripts/z_current_low.g"
    M98 P"/macros/print_scripts/xy_current_low.g"
    ; Probe the bed at 4 points multiple times
    while true
    if iterations = 7
    abort "Too many auto calibration attempts"
    G30 P0 X10 Y28 Z-99999 ; probe near front left belt
    if result != 0
    continue
    G30 P1 X10 Y315 Z-99999 ; probe near back left belt
    if result != 0
    continue
    G30 P2 X340 Y315 Z-99999 ; probe near back right belt
    if result != 0
    continue
    G30 P3 X340 Y28 Z-99999 S4 ; probe near front right belt
    if result != 0
    continue
    if move.calibration.initial.deviation <= 0.007
    break
    ; If there were too many errors or the deviation is too high - abort and notify user
    echo "Repeating calibration because deviation is too high (" ^ move.calibration.initial.deviation ^ "mm)"
    ; end loop
    echo "Auto calibration successful, deviation", move.calibration.initial.deviation ^ "mm"
    ; Restore high currents, speed & accel
    M98 P"/macros/print_scripts/speed_printing.g"
    M98 P"/macros/print_scripts/xy_current_high.g"
    ;M98 P"/macros/print_scripts/z_current_high.g"
    G28 Z
    M98 P"/macros/print_scripts/goto_bed_center.g"
    G1 Z5

    my home.g:

    ; homez.g
    ; called to home the Z axis
    ; do nothing if XY is not homed yet
    if move.axes[0].homed && move.axes[1].homed
    G91 ; relative positioning
    G1 H2 Z10 F6000 ; lift Z relative to current position
    G90 ; absolute positioning
    M98 P"/macros/print_scripts/speed_probing.g"; Setup low speed & accel
    ; Home Z microswitch
    M98 P"/macros/print_scripts/goto_z_switch.g"
    G1 H1 Z-600 F360 ; move Z down until the endstop is triggered
    G1 Z4 F1800 ; go back a few mm
    G1 H1 Z-600 F80 ; move slowly to Z axis endstop once more (second pass)
    G92 Z-0.45; <-- using a Z-microswitch; height difference from the switch to the plate surface
    G1 Z10
    M98 P"/macros/print_scripts/speed_printing.g"; Restore normal speed & accel
    M98 P"/macros/print_scripts/goto_bed_center.g"

    Thank you for your help again,
    Pierre

    1 Reply Last reply Reply Quote 0
    • undefined
      medicusdkfz
      last edited by medicusdkfz 17 Jan 2021, 10:14

      First I do a homing of all axes. Then a quad gantry levelling when everything is heated. But the distortion due to heating will probably not always be the same either. That's why I make a new 49-points mesh before each printout. I initiate this with a G30. Only the values there are very fluctuating, by up to 0.2 mm. Therefore, it occasionally happens that the initial height is not correct when printing and the nozzle rams into the bed or is too high. But as I understand it, the measurement should be stable. Even my Prusa, which was worlds cheaper, does this without a problem.

      Also the PINDA is one of the most accurate inductive sensors on the market. I am getting desperate as I have tested and tried a lot. Even the use of a BLtouch has not really led to success. If things don't get better, I will have to switch to SKR boards and Klipper.

      The printer is aligned well. The prints, as long as they have a small footprint, are perfect. No line distortion or anything else that might indicate that the linear rails are out of alignment or there might be distortion in the gantry area.

      1 Reply Last reply Reply Quote 0
      • undefined
        medicusdkfz
        last edited by medicusdkfz 17 Jan 2021, 10:23

        For me the G30 S-3 before a mesh bed leveling seems more logical than a simple G30... The G30 depends on the trigger height set in config.g. But this could vary with the increasing temperature of the heat bed. So it would be better to have the actual height difference between the sensor and the bed. Or am I wrong?
        Right now I have a trigger height in G31 from 2 mm. Does it makes a difference, when I set it to 0.5 or 0 mm? Then the sensor maybe should sense at every probing point...

        undefined 1 Reply Last reply 17 Jan 2021, 11:29 Reply Quote 0
        • undefined
          fcwilt @medicusdkfz
          last edited by 17 Jan 2021, 11:29

          @medicusdkfz said in Probing issues:

          For me the G30 S-3 before a mesh bed leveling seems more logical than a simple G30

          G30 S-3 assumes the current Z position value is correct and can be used to determine how far the probe moved when it was triggered.

          You want to use G30 to set the Z=0 datum - which assumes the Z trigger height value in G31 is correct.

          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

          undefined 1 Reply Last reply 17 Jan 2021, 12:20 Reply Quote 0
          • undefined
            medicusdkfz @fcwilt
            last edited by medicusdkfz 17 Jan 2021, 12:20

            @fcwilt But this doesn't solve, that the trigger signal isn't shown in the right way... And the G30 S-3 have to have the same distance all over the bed after a mesh or at the gantry level probing points. But that isn't so...

            undefined 1 Reply Last reply 17 Jan 2021, 12:31 Reply Quote 0
            • undefined
              fcwilt @medicusdkfz
              last edited by 17 Jan 2021, 12:31

              @medicusdkfz said in Probing issues:

              But this doesn't solve, that the trigger signal isn't shown in the right way

              I don't know what you mean.

              And the G30 S-3 have to have the same distance all over the bed after a mesh or at the gantry level probing points. But that isn't so...

              Again I don't know what you mean.

              Using G30 to set the Z=0 datum is only done at one XY position and always at the same position.

              I use the center of the bed as that position.

              You need to set the Z=0 datum before...

              • creating the height map for mesh compensation using G29
              • loading an existing height map previously created using G29

              You need to set the Z=0 datum after...

              • using the manual bed leveling assistant (if you do that)
              • using the auto bed leveling feature (if you do that)

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

              undefined 1 Reply Last reply 17 Jan 2021, 12:37 Reply Quote 0
              • undefined
                medicusdkfz @fcwilt
                last edited by medicusdkfz 17 Jan 2021, 12:37

                @fcwilt I also do this. You can see it in my code snippets above...But sometimes you can see a trigger value of P=1000 in the web gui (with a red background) or on the display and sometimes not. And for my opinion it has to sense always - of course with a small difference, but it has to sense... That's my problem. I don't trust the hardware... And I've tried it with different z-values in the G31 from -0.1 up to 2 mm...

                undefined 1 Reply Last reply 17 Jan 2021, 15:29 Reply Quote 0
                • undefined
                  fcwilt @medicusdkfz
                  last edited by 17 Jan 2021, 15:29

                  @medicusdkfz said in Probing issues:

                  @fcwilt I also do this. You can see it in my code snippets above...But sometimes you can see a trigger value of P=1000 in the web gui (with a red background) or on the display and sometimes not. And for my opinion it has to sense always - of course with a small difference, but it has to sense... That's my problem. I don't trust the hardware... And I've tried it with different z-values in the G31 from -0.1 up to 2 mm...

                  But using that G30 S-3 changes the Z trigger height setting in G31 meaning the result of the subsequent G30 will be wrong.

                  Also I'm not sure why you find you have to run have that conditional code in your bed.g file. My bed.g simply probes the bed near the locations of each of the three Z steppers and I invoke bed.g twice with two G32. That always obtains accurate leveling.

                  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
                  • undefined
                    medicusdkfz
                    last edited by 17 Jan 2021, 17:25

                    I suppose I still have a thinking error when calibrating the Z height in G31. So far I have followed the instructions in the wiki. I have done a homing of all axes, then a quad gantry levelling and a G28 Z again.

                    All this at 110 degrees bed temperature and heated the nozzle to 260 degrees. Then I moved the nozzle to the center of the bed and lowered it to the paper surface so that the paper could still be moved with some resistance. Then followed a G92 Z0 and several G1 Z5 and G30 S-1 commands.
                    The determined value was then entered in config.g as Z-value at G31.
                    But actually, after G92 Z0, I should have moved the inductive sensor over the former nozzle position in the middle of the bed, right? I have an offset Y-position from nozzle to sensor of 25 mm....
                    Of course, it would be best if the sensor position would match the nozzle position. This would mean that I get reliable values only from Y > 25, because I can drive with my nozzle only to Y=0 but not into the minus...

                    undefined 1 Reply Last reply 17 Jan 2021, 18:47 Reply Quote 0
                    • undefined
                      medicusdkfz
                      last edited by 17 Jan 2021, 18:44

                      ... and now I get the error again and again: "Warning: the height map has a substantial Z offset. Suggest use Z-probe to establish Z=0 datum, then re-probe the mesh."
                      To fix the mesh bed levelling is getting me me mad...

                      The papertest with G28 Z (z microswitch) is ok!

                      undefined 1 Reply Last reply 17 Jan 2021, 19:01 Reply Quote 0
                      • undefined
                        fcwilt @medicusdkfz
                        last edited by 17 Jan 2021, 18:47

                        @medicusdkfz

                        You seem to be on the right track.

                        Yes you want to probe the spot where you touched the nozzle to the bed.

                        I always use the center of the bed for both of those operations.

                        Of course after you determine the correct value for the Z trigger height parameter for the G31 you have to be sure that the G31 command gets executed.

                        The probe X and/or Y offsets will limit where you can move the probe to as you near the edges of the bed - that's perfectly normal.

                        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
                        • undefined
                          fcwilt @medicusdkfz
                          last edited by 17 Jan 2021, 19:01

                          @medicusdkfz said in Probing issues:

                          ... and now I get the error again and again: "Warning: the height map has a substantial Z offset. Suggest use Z-probe to establish Z=0 datum, then re-probe the mesh."
                          To fix the mesh bed levelling is getting me me mad...

                          The papertest with G28 Z (z microswitch) is ok!

                          So you do the equivalent of...

                          • move to Z=5
                          • move the nozzle to the center of the bed
                          • jog Z so to just touch the nozzle to the bed
                          • execute G92 Z0 to establish the Z=0 position
                          • move to Z=5
                          • move the probe to the center of the bed
                          • execute G30 S-1 to determine the probe trigger height
                          • enter that value into G31 as the Z trigger height parameter
                          • execute the G31 command with the new parameter (however you do that)

                          Now at that point to verify that all is working as it should be I...

                          • move to Z=5
                          • execute G30 to set the Z=0 datum using the new G31 Z trigger height parameter
                          • move to Z=5
                          • move the nozzle to the center of the bed
                          • move to Z=1 and use a 1mm thickness gauge to verify the gap (or move to Z=0 and use paper)

                          All should be good.

                          Now to make all that easier I have created a few macros to save time and keystrokes.

                          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 1
                          • undefined
                            medicusdkfz
                            last edited by 17 Jan 2021, 19:43

                            That all is logic and clear to me and is working right now. But when I perform the G30 and perform a mesh bed levelling (G29 S0) I get this warning...

                            undefined 1 Reply Last reply 17 Jan 2021, 20:26 Reply Quote 1
                            • undefined
                              fcwilt @medicusdkfz
                              last edited by 17 Jan 2021, 20:26

                              @medicusdkfz said in Probing issues:

                              That all is logic and clear to me and is working right now. But when I perform the G30 and perform a mesh bed levelling (G29 S0) I get this warning...

                              You need to go back and do the G30 with G29 to create a new height map.

                              Then the G30 with G29 S0 should load the height map without issue.

                              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
                              • undefined
                                medicusdkfz
                                last edited by medicusdkfz 17 Jan 2021, 20:51

                                Sorry, that is exactly what I have done (line 32 in my mesh.g)... And than I get this warning!

                                But thank you for your help!

                                undefined 1 Reply Last reply 17 Jan 2021, 21:01 Reply Quote 0
                                • undefined
                                  fcwilt @medicusdkfz
                                  last edited by fcwilt 17 Jan 2021, 21:01

                                  @medicusdkfz said in Probing issues:

                                  Sorry, that is exactly what I have done (line 32 in my mesh.g)... And than I get this warning!

                                  I cannot find where you execute G30 after leveling the gantry but before creating the height map.

                                  In the bed.g file I see where you execute G28 Z but in the homez.g file I see that you are homing to an end stop switch but I don't see G30.

                                  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
                                  • undefined
                                    medicusdkfz
                                    last edited by 17 Jan 2021, 21:34

                                    In my mesh macro you will find in line 15 a G32 command and after that before the G29 S0 the G30...

                                    undefined 1 Reply Last reply 17 Jan 2021, 21:39 Reply Quote 0
                                    • undefined
                                      fcwilt @medicusdkfz
                                      last edited by 17 Jan 2021, 21:39

                                      @medicusdkfz said in Probing issues:

                                      In my mesh macro you will find in line 15 a G32 command and after that before the G29 S0 the G30...

                                      Yes I see that but you also have to do a G30 BEFORE creating the height map as well as before loading a height map.

                                      Also remember that you don't need to load the height map after just creating it - the height map remains loaded after creation until something else unloads it.

                                      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
                                      • undefined
                                        medicusdkfz
                                        last edited by medicusdkfz 18 Jan 2021, 07:07

                                        I have done all this, but this doesn't explain the warning... I go a step further and perform with every print a mesh. I know, that's an overkill, but I suppose, that the thermal expansion is not consistent. But again: I don't understand the warning...

                                        @medicusdkfz said in Probing issues:

                                        ... and now I get the error again and again: "Warning: the height map has a substantial Z offset. Suggest use Z-probe to establish Z=0 datum, then re-probe the mesh."
                                        To fix the mesh bed levelling is getting me me mad...

                                        The papertest with G28 Z (z microswitch) is ok!

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          medicusdkfz
                                          last edited by 18 Jan 2021, 14:29

                                          Is there any perspective of help here? If it has a professional service, I would also pay for it... The issue is important to me and I would like to get it solved!

                                          undefined jay_s_ukundefined 2 Replies Last reply 18 Jan 2021, 14:34 Reply Quote 0
                                          8 out of 33
                                          • First post
                                            8/33
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA