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

    Clarification of self-leveling bed

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    14
    573
    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

      Hi guys, I modified my coreXY by creating automatic leveling with 3 motors and the system moves and seems to correct but I have some doubts about which I kindly ask your help (Duet 2wifi firmware 2.05 + duex2):

      1. G30 points to probe: do the measurements to be set starting from X0 Y0 mean up to the tip of the print nozzle or to the tip of the bltouch pin?

      2. How do I ensure that each point to be probed is probed 3 times in a row?

      Thanks in advance
      Luca

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

        @luc the XY coordinates are for the nozzle. You should define the offset for the BLTouch, from the nozzle, in your config file in the definition of the probe. You will need to check however that for all the points you probe the BLTouch will actually be over the bed πŸ™‚

        You should define the points for automatic levelling (auto tramming) in the bed.g file. This is what is run when you run auto tramming (i.e. when you give the printer the command G32, it runs bed.g).

        If you want to set up repeated probing, you can either use the A and S parameters in your probe config (M558 in config.g), or you can just add extra points in bed.g (just make sure you set the P parameters correctly!).

        I assume you have found this page:
        https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

        It should guide you through most of it but post back if you still have any questions

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