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

Need help understand dual Z auto bed compensation

Scheduled Pinned Locked Moved Solved
Duet Hardware and wiring
2
11
699
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
    supernovae
    last edited by supernovae 5 Jan 2019, 00:54 1 May 2019, 00:42

    I've built a 300x300x400 hyper cube evo and i'm just working out my first print kinks and i'm struggly to understand how the auto bed compensation works with my dual Z.

    Settings:

    ; Drives
    M569 P1 S0 ; Drive 0 goes backwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S1 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M569 P4 S1 ; Drive 4 goes backwards
    M584 X0 Y1 Z2:4 E3 ; Drive 0 controls X, Drive 1 controls Y, Drive 2:4 controls Z, Drive 3 controls E
    ; Motor order: Left (1), Right (2)
    M671 X-35:335 Y150:150 S3 ; Location of the Lead Screws

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X285 Y295 Z390 S0 ; Set axis maxima

    ; Endstops
    M574 X1 S1 ; Set active High endstops (S1=SENSORED) (X-MIN(1)) (S3=SENSORLESS)
    M574 Y1 S3 F0 R0 ; Set active High endstops (S1=SENSORED) (Y-MIN(1)) (S3=SENSORLESS)
    M574 Y1 S3 ; Set endstops controlled by motor load detection
    M574 Z1 S2 ; Use zprobe and home to min
    M915 X Y S7 R0 F0 ; set X and Y to sensitivity 7, do nothing when stall, unfiltered

    ; 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
    M558 P9 H5 F120 T6000 ; Set Z probe type to bltouch and the dive height + speeds
    G31 P25 X-24 Y-19 Z0.22 ; Set Z probe trigger value, offset and trigger height
    M557 X25:270 Y25:290 S20 ; Define mesh grid

    My bed.g

    M561 ; clear any bed transform, otherwise homing may be at the wrong height
    G31 X0 Y0 ; don't want any probe offset for this
    G28 ; home the printer

    ;*** Remove the following line if your Z probe does not need to be deployed
    M98 Pdeployprobe.g ; deploy the mechanical Z probe

    G30 P0 X35.0 Y150.0 Z-99999 ; probe near a leadscrew
    G30 P1 X270.0 Y150.0 Z-99999 S2 ; probe near a leadscrew

    ;*** Remove the following line if your Z probe does not need to be retracted
    M98 Pretractprobe.g ; retract the mechanical Z probe

    When i run the bed level, i get different results no matter how many times I run it and when i see it run, it seems backwards from what i have setup - is that how it actually works?

    Going to post a onedrive video with the video of this:

    https://1drv.ms/v/s!Am5Hp5N4mwbxpYE846t30O5FthISgQ

    1 Reply Last reply Reply Quote 0
    • undefined
      supernovae
      last edited by supernovae 5 Jan 2019, 00:48 1 May 2019, 00:48

      First run of bed gave this:
      Leadscrew adjustments made: 2.098 -1.566, points used 2, deviation before 1.188 after 0.000

      Then 2nd run gave this:

      Leadscrew adjustments made: 2.141 -1.603, points used 2, deviation before 1.213 after 0.000

      1 Reply Last reply Reply Quote 0
      • undefined
        supernovae
        last edited by 1 May 2019, 01:29

        0_1556674134771_Annotation 2019-04-30 202821.png

        That is what i get after running the auto bed compensation and then running a run mesh grid compensation

        1 Reply Last reply Reply Quote 0
        • undefined
          supernovae
          last edited by 1 May 2019, 01:30

          is the X/Y/Z arrows 0,0 or is that at the full 300/300 corner? not sure what the perspective of the image is 🙂

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator
            last edited by 1 May 2019, 05:23

            @supernovae said in Need help understand dual Z auto bed compensation:

            G31 X0 Y0 ; don't want any probe offset for this

            Why don't you want probe offsets for this? X0 Y0 would be your nozzle. The BlTouch is not your nozzle. You need to tell the system where the probe is in relation to the nozzle. Hence the offset.

            Your video shows you probing no where close to your leadscrews. You want to probe with the BLtouch as close as possible. If it's really out of level you may need to rerun it a few times until the adjustments made barely change anymore. Then you'll probably want to rehome Z once with the probe in the center of the bed to re-establish your Z0 point. Then run mesh grid compensation.

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 1 May 2019, 06:12 Reply Quote 0
            • undefined
              Phaedrux Moderator
              last edited by 1 May 2019, 05:24

              Have you seen this? https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • undefined
                supernovae @Phaedrux
                last edited by supernovae 5 Jan 2019, 06:19 1 May 2019, 06:12

                @phaedrux

                That G31 was in the file I used to start with, i didn't put that mention in there 🙂

                So it should probe near the lead screws - i'm not sure why its probing the exact opposite.

                I did a manual bed level and managed to get a test cube done to confirm some setup. Maybe after some sleep the setup for this dual z level will click - i obviously have something backwards since it is doing the probe like its rotated 90 degrees on wrong x/y

                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by 1 May 2019, 06:27

                  The arrows on the mesh compensation image indicate 0,0 and that should be the front left of the bed in order for the coordinates to make sense.

                  Are you sure you have your motors turning the right way?

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    supernovae
                    last edited by 1 May 2019, 13:36

                    I can home to 0,0 and it does what I expect. I have homing set to the front left and the motors go there when i Home all. Using the head movement functions I see correct movements when i advance X/Y/Z

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      supernovae
                      last edited by 1 May 2019, 15:32

                      It was a mirrored configuration... once i printed my test cube i saw it was mirrored... did the cable swap/flip a zillion times until i got it working again. 0,0 homes correctly, xyz move and now my dual z is near the lead screws. I think i just needed to sleep on it 😄 thanks for the help!!

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Phaedrux Moderator
                        last edited by 1 May 2019, 21:03

                        Glad you got it sorted out.

                        The coreXY setup guide describes a motor test you can do to ensure things are moving correctly. Also, as you realized, just because it homes to the right place doesn't mean it's not mirrored, since you're able to correct for the mixup by specifying the direction of homing in your files.

                        https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Movement_section

                        For a CoreXY or H-Bot machine, RepRapFirmware assumes that the motor connected to the X motor output moves the head in the +X and +Y directions when it runs forwards, and that the Y motor moves the head in +X and -Y directions when it runs forwards. [Note: firmware 1.18 and earlier assumes that the motor connected to the Y motor output moves the head in the -X and +Y directions when it runs forwards]. So you can start with these M569 commands in config.g:

                        M569 P0 S0 ; X motor runs forwards
                        M569 P1 S0 ; Y motor runs forwards
                        Then test for the correct X motor movement by sending these commands from the console:

                        G91
                        G1 S2 X10 F3000
                        If the head moves diagonally in the +X and +Y directions, all is well. If it moves in the -X and -Y directions, change the S parameter to S1 in the M569 P0 command. If it moves towards +X and -Y, or towards -X and +Y, turn the power off and swap the X and Y motor connections.

                        When you have the X motor moving correctly, test the Y motor by sending from the console:

                        G91
                        G1 S2 Y10 F3000
                        For firmware 1.19 and later: If the head moves diagonally in the +X and -Y directions, all is well. If it moves in the -X and +Y directions, change the S parameter in the M569 P1 command to S1.

                        For firmware 1.18 and earlier: If the head moves diagonally in the -X and +Y directions, all is well. If it moves in the +X and -Y directions, change the S parameter in the M569 P1 command to S1.

                        Important: make sure that you have chosen a right-hand axis system. That is, looking down on the printer the +Y direction should be 90 degrees anticlockwise from the +X direction. If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints.

                        Z-Bot CoreXY Build | Thingiverse Profile

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