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

    Clarification of self-leveling bed

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    14
    610
    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.
    • lucundefined
      luc
      last edited by

      Hello and thanks for the reply. So, if I understand correctly, all the values ​​in G30 refer from X0Y0 up to the nozzle tip and the system takes into account the bltouch offset set in G31 .... Correct?

      engikeneerundefined 1 Reply Last reply Reply Quote 0
      • engikeneerundefined
        engikeneer @luc
        last edited by

        @luc Yes that's correct 🙂

        E3D TC with D3Mini and Toolboards.
        Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
        i3 clone with a bunch of mods

        1 Reply Last reply Reply Quote 0
        • PCRundefined
          PCR
          last edited by PCR

          G30 does not take the offset on the calculation. Only M557 does.

          So for example If you want to probe at X200 Y200 and your probe ist 20 mm to the left you have to have this code

          G1 X180 Y200
          G30
          

          But when you run a

          G29 S0
          

          then the offset will be taken into place.
          So If your M557 is

          M557 X5:200 Y5:200 P3
          

          and your G31 says X20 Y0 Z0

          Then the first probe point ist X20 but the head will move to X40 to compansate for that. Only keep in mind that the last Point is X200 so the firmware will try to go to X220. Sometime the carriage can not get that far because it goes into a mechanic end!

          Edit to clarify

          G30 X200 Y200 P1  
          

          will use the offset of the probe. Only a normal G30 ignores them! But the command can not be used to home Z

          1 Reply Last reply Reply Quote 0
          • lucundefined
            luc
            last edited by

            Thanks for the replies. I did some tests and I think I got better accuracy.

            I still have a doubt: In M558 I added "A3" to get the probe 3 times in the same point but I didn't get anything. I'm definitely wrong.
            This is mine: M558 P9 H5 F120 T6000, what should I do to probe 3 times for each point?

            droftartsundefined 1 Reply Last reply Reply Quote 0
            • droftartsundefined
              droftarts administrators @luc
              last edited by

              @luc See https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M558_in_RepRapFirmware_2_x_and_earlier

              Annn Maximum number of times to probe each point, default 1. Maximum, as of 2.03, is 31. Setting M558 A parameter to anything >31 set it to 0 instead of to 31
              Snnn Tolerance when probing multiple times, default 0.03mm

              The A and S parameters control multiple probing. Probing is repeated until two consecutive probe attempts produce results that differ by no more than the S parameter; then the average of those two results is used.

              So adding A3 may result in only two probes, if they are within 0.03mm of each other:
              M558 P9 H5 F120 T6000 A3 S0.03
              Don't forget if you change config.g you need to reset the board, or run M98 P"config.g" to implement new M558 command, or enter the command into the Gcode console. Check settings by sending M558 with no parameters, eg (from RRF3):

              M558
              Z Probe 0: type 1, input pin zprobe.in, output pin nil, dive height 5.0mm, probe speed 120mm/min, travel speed 6000mm/min, recovery time 0.00 sec, heaters normal, max taps 1, max diff 0.03

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              1 Reply Last reply Reply Quote 0
              • lucundefined
                luc
                last edited by

                Yes, I've been reading that guide since yesterday but something escapes me.
                I had entered this M558 P9 H5 F120 T6000 A3 without "S0.003" and it didn't work. Now I don't know if it didn't work because I didn't write "S0.003" or because I didn't reset the card.

                Is it also sufficient to turn it off and on again to reset it? If yes I had.

                1 Reply Last reply Reply Quote 0
                • PCRundefined
                  PCR
                  last edited by

                  Normal power reset is good enough. What is now you config.g?

                  1 Reply Last reply Reply Quote 0
                  • lucundefined
                    luc
                    last edited by luc

                    luc
                    Wed 23 Sep 2020, 17:47

                    At this time the leveling system seems to be working correctly. I would like to try to probe the same point 3 times in a row:

                    ; Drives
                    M569 P0 S1 ; Physical drive 0 goes forwards
                    M569 P1 S1 ; Physical drive 0 goes forwards
                    M569 P3 S0 ; Physical drive 3 goes backwards
                    M569 P2 S0 ; Drive 2 goes forwards Ant Sx
                    M569 P5 S0 ; Drive 5 goes forwards Post Center
                    M569 P6 S0 ; Drive 6 goes forwards Ant Dx
                    M584 X0 Y1 E3 ; Driver 0 controls X motor, 1 control Y, 3 control E motor
                    M584 Z2:5:6 ; Driver 2,5,6 for control the three z-axis
                    M671 X-54:149:350 Y54:374:54 S10 ; Defines leveling screw locations-Snn Maximum correction in mm to apply to each leadscrew dal nozzle
                    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
                    M92 X160.00 Y160.00 Z800.00 E880.00 ; Set steps per mm

                    ; Speeds
                    M566 X900.00 Y900.00 Z60.00 E3000.00 ; Set maximum instantaneous speed changes (mm/min) Jerk (era E1600)
                    M203 X15000.00 Y15000.00 Z600.00 E6000.00 ; Set maximum speeds (mm/min)(era Z400)
                    M201 X1000.00 Y1000.00 Z100.00 E6000.00 ; Set accelerations (mm/s^2)(era Z60)
                    M204 P3000 T2000 ; Set printing and travel accelerations

                    ; Motor currents
                    M906 X1700.00 Y1700.00 Z1700.00 E1100.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 X293 Y290 Z270 S0 ; Set axis maxima

                    ; Endstops
                    M574 X1 Y1 S0 ; Set active low and disabled endstops
                    ; M574 X1 Y1 S3 ; use sensorless homing for X and Y, endstops are at low end

                    ; Z-Probe
                    M574 Z1 S2 ; Set endstops controlled by probe
                    M307 H3 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
                    ; M307 H5 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
                    M558 P9 H5 F120 T6000 ; Set Z probe type 9 to bltouch and the dive height + speeds
                    G31 P25 X33.5 Y0 Z1.00 ; Set Z probe trigger value, offset and trigger height (0.9)
                    M557 X40:260 Y30:270 P3 ; Define mesh grid

                    ; bed.g
                    M561 ; clear any bed transform
                    G29 S2; Clear bed height map
                    ; Probe 3‐point
                    G28 ; home
                    G30 P0 X40 Y30 Z-99999 ; probe near front left corner
                    G30 P1 X149 Y267 Z-99999 ; probe near center rear
                    G30 P2 X280 Y30 Z-99999 S3 ; probe near front right corner

                    1 Reply Last reply Reply Quote 0
                    • PCRundefined
                      PCR
                      last edited by

                      @luc said in Clarification of self-leveling bed:

                      M558 P9 H5 F120 T6000

                      to

                      M558 P9 H5 F120 T6000 A3 S0.003

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

                        A3 is just saying probe up to 3 times or until you get 2 consistent results, whichever happens first. If you specify an S value it will use that for the consistency variance. The default is 0.03mm difference.

                        Why do you want 3 times each?

                        In my opinion if you want the highest accuracy you would want a high A value and a small S value and then let the probe go as many times as needed to get the accuracy you set with S.

                        For example, I use A10 and S0.003. Sometimes it will probe twice and both will be within 0.003 of each other and it's done. Other times it may take 3 or 4 or more attempts.

                        Also, if you're using a BLTouch you can increase accuracy simply by slowing down the dive speed from 120 to 60, and adding a brief pause before the probe to allow the pin and printer to settle with a R0.2 which pauses for 0.2 seconds.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        lucundefined 1 Reply Last reply Reply Quote 0
                        • lucundefined
                          luc @Phaedrux
                          last edited by

                          @Phaedrux said in Clarification of self-leveling bed:

                          Why do you want 3 times each?

                          I try and try to understand the logic of the operation.
                          I did 3 tests with three attempts and it was very interesting without the pause and without changing anything else: in two points he probed only 2 times and in one point he probed 3 times. This result makes me reflect and I try to understand why only at that point.

                          In my opinion if you want the highest accuracy you would want a high A value and a small S value and then let the probe go as many times as needed to get the accuracy you set with S.

                          For example, I use A10 and S0.003. Sometimes it will probe twice and both will be within 0.003 of each other and it's done. Other times it may take 3 or 4 or more attempts.

                          Also, if you're using a BLTouch you can increase accuracy simply by slowing down the dive speed from 120 to 60, and adding a brief pause before the probe to allow the pin and printer to settle with a R0.2 which pauses for 0.2 seconds.

                          very interesting and useful to know .... thank you very much

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

                            I suggest you do a probe repeatability test, it will show you the results of several probing moves in a row and you'll see how there is a bit of variability.

                            https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height

                            Do this procedure but run the G30 S-1 multiple times and check the results. Now you can modify some of the parameters in M558 and redo the test to see how they change the results.

                            Z-Bot CoreXY Build | Thingiverse Profile

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