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.
    • 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