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

    Triple Z Axis G32 Bed Traming

    Scheduled Pinned Locked Moved
    General Discussion
    6
    30
    2.1k
    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.
    • fcwiltundefined
      fcwilt @Turricann
      last edited by

      @Turricann said in Triple Z Axis G32 Bed Traming:

      Changed Bed.g to

      G30 P0 X170 Y30 Z-99999 ; probe near a leadscrew middle right
      G30 P2 X-180 Y-170 Z-99999 ; probe near a leadscrew Front left
      G30 P1 X-190 Y190 Z-99999 S3 ; probe near a leadscrew rear left and calibrate 3 motors

      Your config.g file says you leadscrews are at these locations:

      M671 X170:-180:-190 Y30:-170:-190 S20 ;

      Your bed.g file is probing these same locations.

      How can that be?

      Normally your leadscrews would be outside the bed min/max values and the probing inside the min/max values.

      Frederick

      Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

        @Turricann said in Triple Z Axis G32 Bed Traming:

        G1 H2 X30 Y0 F1200 ; go to first probe point
        G30 ; home Z by probing the bed

        Don't use H2 on that G1 move before the G30.

        @Turricann said in Triple Z Axis G32 Bed Traming:

        G28 Z ;homing is set to center of bed.
        G30 S-1

        What's in your homez now?

        Why G30 S-1?

        Z-Bot CoreXY Build | Thingiverse Profile

        Turricannundefined 1 Reply Last reply Reply Quote 0
        • gloomyandyundefined
          gloomyandy
          last edited by

          @fcwilt Depending on how the bed is supported probing at the same locations as specified by M671 may be correct. M671 is really specifying the positions of the pivots used to support the bed. On some beds this will be the position of the leadscrew, but on others (particularly ones using a kinematic mount) it may actually be a point under/within the bed. So for instance in my case I have bed supports arms that run (on a linear rail) from the leadscrews to a pivot point that is inside/under the bed. The support arm is in effect rigidly attached to the frame/leadscrew and the bed pivots around the other end of the support arm where it meets the bed. On many printers the mount point to the bed is rigid and the bed in effect pivots at the leadscrew.

          The G32 process basically fits a plane to a set of probed points to obtain the current plane of the bed and then attempts to adjust the height of the pivot points so that the resultant adjusted plane is level.

          1 Reply Last reply Reply Quote 0
          • A Former User?
            A Former User
            last edited by

            Here is my WORKING files for my 3 lead-screw core-xy

            DISCLAIMER: These files work for ME, they might not be considered the right or wrong way to do things but they are done the way I like them to be done.

            ; Config for CoreXY 
            ;
            ; General preferences
            ;
            G90                                                                            ; Operate the motion system with absolute positioning moves
            M83                                                                            ; Operate the Extruder with relative positioning moves
            M669 K1                                                                        ; Set the machine to operate in CoreXY mode
            M552 S1                                                                        ; Enable Network
            M550 P"Core-XY"                                                                ; Set Machine Name
            ;
            ; Drives (121.XX) denotes the Can-Bus address that the toolboard LC1 is operating on
            ;
            M671 X-31:332:150 Y-10:-10:350 S5                                              ; The Z axis pivot point locations to allow true levelling to be undertaken
            M584 E121.0 S1                                                                 ; Drive mapping for the toolboard LC1 
            M584 X0.4 Y0.5 Z0.1:0.2:0.3                                                    ; Drive mapping for the mainboard 6HC
            M569 P121.0 S1                                                                 ; Driver 121.0 is connected to the extruder motor output (Driver 0) on the toolboard LC1 & goes forwards
            M569 P0.1 S0                                                                   ; Driver 0.1 is connected to the Z1 axis motor (Front Left) on the mainboard 6HC & goes backwards
            M569 P0.2 S0                                                                   ; Driver 0.2 is connected to the Z2 axis motor (Front Right) on the mainboard 6HC & goes backwards
            M569 P0.3 S0                                                                   ; Driver 0.3 is connected to the Z3 axis motor (Centre Rear) on the mainboard 6HC & goes backwards
            M569 P0.4 S0                                                                   ; Driver 0.4 is connected to the X axis motor on the mainboard 6HC & goes backwards
            M569 P0.5 S0                                                                   ; Driver 0.5 is connected to the Y axis motor on the mainboard 6HC & goes backwards
            M350 X16 Y16 Z16 E16 I1                                                        ; The stepper motors microstepping & interpolation amount
            M92 X160.00 Y160.00 Z800.00 E480.00                                            ; Steps per mm of each stepper motor
            M566 X700.00 Y700.00 Z160.00 E160.00                                           ; The maximum instantaneous speed changes expressed in (mm/min) that the stepper motors are allowed to achieve
            M203 X6000.00 Y6000.00 Z1200.00 E1200.00                                       ; The maximum speeds expressed in(mm/min) that the stepper motors are allowed to achieve
            M201 X1000.00 Y1000.00 Z1000.00 E1000.00                                       ; The maximum accelerations expressed in(mm/s^2 that the stepper motors are allowed to achieve
            M906 X800 Y800 Z800 E600 I30                                                   ; The maximum motor currents expressed in(mA) & idle factor  expressed as a % that the stepper motors are allowed to achieve
            M84 S30                                                                        ; The idle timeout
            ;
            ; Axis Limits
            ;
            M208 S1 X-12 Y-20 Z-1                                                          ; Each axis's minimum travel locations
            M208 S0 X300 Y320 Z300                                                         ; Each axis's maximum travel locations
            ;
            ; Endstops
            ;
            M574 X1 S1 P"121.io1.in"                                                       ; The X endstop is located at the X axis's minimum location & is mapped/connected to the io1.in port on the toolboard LC1 
            M574 Y1 S1 P"io3.in"                                                           ; The Y endstop is located at the Y axis's minimum location & is mapped/connected to the io3.in port on the mainboard 6HC
            M574 Z1 S2                                                                     ; The Z probe acts as a Z axis endstop & is located at Z axis's minimum & mapped/connected to the io0 port on the toolboard LC1
            ;
            ; Z-Probe
            ;
            ;M950 S0 C"121.io0.out"                                                        ; Create servo pin 0 for BLTouch
            M558 P8 C"121.io0.in" H5 F100 T6000                                            ; The Z probe is of type 8 & is mapped/connected to 121.io0.in port on the toolboard LC1 
            ;M558 P8 C"io6.in" H5 F100 T6000                                               ; TEST FOR THE IR SENSOR CONNECTED DIRECTLY TO THE MAIN BOARD
            ;G31 X28 Y-38 Z0.117 P25                                                       ; FOR THE BL TOUCH The Z probe's trigger value, offsets & trigger height
            G31 X-18 YO Z-0.400 P50                                                        ; FOR THE MINI IR PROBE ON THE TOOL BOARD
            M557 X5:270 Y0:280 S44.1                                                       ; The mesh grid's defined points
            ;
            ; Bed Heater
            ;
            M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"Bed"                            ; Sensor0 is a thermistor & mapped/connected to the temp0 port on the mainboard 6HC
            M950 H0 C"out0" T0                                                             ; The bed heater output is mapped/connected to the out0 port & mapped/connected to sensor0 on the mainboard 6HC
            M307 H0 B0 S1.00                                                               ; The bed heater is set to PWM & limited
            M140 H0                                                                        ; The heated bed is mapped/connected to heater0 port on the mainboard 6HC
            M143 H0 S120                                                                   ; The heated bed it temperature limited to 120C on heater0 on the mainboard 6HC
            ;
            ; Hot End Heater
            ;
            M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 A"Hot End"           ; Sensor1 is a thermistor & mapped/connected to the temp1 on the toolboard LC1  (B4725)  
            M950 H1 C"121.out0" T1                                                         ; The hot end heater optput is mapped/connected to the out1 port & mapped/connected to sensor1 on the toolboard LC1
            M307 H1 A312.4 C202.6 D15 S1 V24.2 B0                                          ; Testing
            M143 H1 S310                                                                   ; The hot end temperature is limited to 310C on heater1 on the toolbaord LC1
            ;
            ; Fans
            ;
            M950 F0 C"121.out1"                                                            ; The part cooling fan (fan0)is mapped/connected to out1 on the toolboard LC1
            M106 P0 S0 H-1 C"Part Cooling Fan"                                             ; The part cooling fan (fan0)is set to value 0 & thermostatic control is turned off
            M950 F1 C"121.out2"                                                            ; The hot end cooling fan(fan1)is mapped/connected to out2 on the toolboard LC1
            M106 P1 S255 H-1                                                               ; The hot end cooling fan(fan1)is set to value 1 & thermostatic control turned off
            ; 
            ; Tools
            ;
            M563 P0 D0 H1 F0 S"Hot End"                                                    ; Tool 0's definition
            G10 P0 X0 Y0 Z1                                                                ; Tool 0's axis offsets
            G10 P0 R0 S0                                                                   ; Tool 0 is set to active & it's standby temperature is set to 0C
            ;
            ; Misc Settings
            ;
            ;T0                                                                            ; Define which tool is selected at start up
            M501                                                                           ; Run any config-overide settings
            
            
            ; bed.g
            ;
            ; called to perform automatic bed compensation via G32
            ;
            G28                         ; Home all axis's
            G30 P0 X2 Y-2 Z-99999       ; Probe near the front left lead-screw
            G30 P1 X152 Y278 Z-99999    ; Probe near the rear lead screw 
            G30 P2 X290 Y-2 Z-99999 S3  ; Probe near the front right lead-screw
            G30 P0 X2 Y-2 Z-99999       ; Probe near the front left lead-screw (Second Pass)
            G30 P1 X152 Y278 Z-99999    ; Probe near the rear lead screw (Second Pass)
            G30 P2 X290 Y-2 Z-99999 S3  ; Probe near the front right lead-screw (Second Pass) 
            G91                         ; Switch to relative positioning moves
            G1 H2 Z1 F8000              ; Drop the Z axis (the bed) relative to its current position
            G90                         ; Revert back to absolute positioning moves
            G1 X160 Y155 F8000          ; Position the nozzle at the centre of the bed
            G30                         ; Probe and set the height as probed
            
            ; homeall.g
            ;
            ; called to home all axes
            ;
            G91                     ; Switch to relative positioning moves
            G1 H2 Z5 F6000          ; Drop the Z axis (the bed) by 5mm relative to it's current position
            G1 H1 X-350 F6000       ; Fast travel the X axis close to it's endstop & stop 
            G1 H2 Z-5 F6000         ; Raise the Z axis (the bed) by 5mm relative to it's current position
            G1 H2 Z2 F6000          ; Drop the Z axis (the bed) by 2mm relative to it's current position
            G1 H1 Y-350 F6000       ; Fast travel the Y axis close to it's endstop & stop 
            G1 H0 X175 Y170 F6000   ; Fast travel both X & Y to place the probe at the bed centre
            G90                     ; Revert back to absolute positioning moves
            G30                     ; Raise the Z axis (the bed) and stop when probe is triggered and set Z to the trigger height
            
            
            1 Reply Last reply Reply Quote 0
            • Turricannundefined
              Turricann @Phaedrux
              last edited by

              @Phaedrux Yes i realized what i had done late as i posted it and removed the H2 on the G1 move you will have to bear with me this is my first attempt @ setting up a 3D printer.

              @jay_s_uk
              Yes everything is in the correct order triple checked this including M671 and probe points.

              @fcwilt you are correct the lead screw points are outside the bed area however the probe points are the position where the bed mount attaches to the bed unless you know of a way to put an offset in for the actual positions ?

              @gloomyandy your description fits my bed setup.

              @CaLviNx just reading through your config should the M671 command come after M584 not before ?
              Referance https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors.

              ; bed.g
              ; called to perform automatic bed compensation via G32
              ;

              M561 ; clear any bed transform

              G28 ; home all

              G30 P0 X170 Y30 Z-99999 ; probe near a leadscrew middle right
              G30 P2 X-180 Y-170 Z-99999 ; probe near a leadscrew Front left
              G30 P1 X-190 Y190 Z-99999 S3 ; probe near a leadscrew rear left and calibrate 3 motors

              G1 X0 Y0 F8000
              G30 Z

              ; homez.g
              ; called to home the Z axis
              ;
              G91 ; relative positioning
              G1 H2 Z5 F6000 ; lift Z relative to current position
              G90 ; absolute positioning
              G1 X0 Y0 F6000 ; go to first probe point
              G30 ; use probe to find Z 0
              G91 ; relative positioning
              G1 Z10 F6000 ; lift Z relative to current position
              G90 ; absolute positioning

              A Former User? fcwiltundefined Phaedruxundefined 3 Replies Last reply Reply Quote 1
              • A Former User?
                A Former User @Turricann
                last edited by

                @Turricann said in Triple Z Axis G32 Bed Traming:

                @CaLviNx just reading through your config should the M671 command come after M584 not before ?

                Which part of my disclaimer did you not understand ?

                1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @Turricann
                  last edited by

                  @Turricann said in Triple Z Axis G32 Bed Traming:

                  @fcwilt you are correct the lead screw points are outside the bed area however the probe points are the position where the bed mount attaches to the bed unless you know of a way to put an offset in for the actual positions ?

                  How is it possible to probe at the lead screw locations? How can the probe get to those location without colliding with the lead screws?

                  The M671 values should be the actual XY position of each leadscrew while the G30 XY positions should be somewhere on the bed.

                  Frederick

                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                  jay_s_ukundefined Turricannundefined 2 Replies Last reply Reply Quote 0
                  • jay_s_ukundefined
                    jay_s_uk @fcwilt
                    last edited by

                    @fcwilt or the kinematic mount positions

                    Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                    A Former User? 1 Reply Last reply Reply Quote 0
                    • A Former User?
                      A Former User @jay_s_uk
                      last edited by

                      @jay_s_uk said in Triple Z Axis G32 Bed Traming:

                      @fcwilt or the kinematic mount positions

                      That's a more accurate explanation

                      @fcwilt some printers the lead screws only job is to move the axis, and they can also have pivots used to eliminate over constraining that axis

                      fcwiltundefined 1 Reply Last reply Reply Quote 0
                      • Turricannundefined
                        Turricann @fcwilt
                        last edited by Turricann

                        @fcwilt I understand what you mean, i had taken it as the M671 command needed to match the commands in the bed.g
                        ie the probe points but i have now updated the potions to match the actual lead screw position leveling seem to work better now but i need to run the leveling process twice as the first run did not adjust the offset correctly.

                        output from the console.
                        G32
                        Leadscrew adjustments made: 1.999 1.920 3.028, points used 3, (mean, deviation) before (-0.548, 3.417) after (-0.000, 0.000)
                        Leadscrew adjustments made: 0.057 -0.082 1.163, points used 3, (mean, deviation) before (-2.838, 3.845) after (0.000, 0.000)
                        1/2/2021, 5:09:05 PM G32
                        Leadscrew adjustments made: 1.166 1.972 2.849, points used 3, (mean, deviation) before (-0.292, 2.602) after (-0.000, 0.000)
                        Leadscrew adjustments made: 0.115 -0.163 0.823, points used 3, (mean, deviation) before (-2.285, 3.068) after (0.000, 0.000)

                        fcwiltundefined 1 Reply Last reply Reply Quote 0
                        • fcwiltundefined
                          fcwilt @A Former User
                          last edited by fcwilt

                          @CaLviNx said in Triple Z Axis G32 Bed Traming:

                          @jay_s_uk said in Triple Z Axis G32 Bed Traming:

                          @fcwilt or the kinematic mount positions

                          That's a more accurate explanation

                          @fcwilt some printers the lead screws only job is to move the axis, and they can also have pivots used to eliminate over constraining that axis

                          That was not the point I was trying to make.

                          My question dealt with how it was possible to probe the lead screw position (or the mount position).

                          And as we now see the OP misunderstood what the parameters to M671 should have been.

                          Frederick

                          Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                          1 Reply Last reply Reply Quote 0
                          • fcwiltundefined
                            fcwilt @Turricann
                            last edited by

                            @Turricann said in Triple Z Axis G32 Bed Traming:

                            @fcwilt I understand what you mean, i had taken it as the M671 command needed to match the commands in the bed.g
                            ie the probe points but i have now updated the potions to match the actual lead screw position leveling seem to work better now but i need to run the leveling process twice as the first run did not adjust the offset correctly.

                            You still seem to be having a problem. On my printer two runs are always enough to get it spot on.

                            Does a single G30 to set the Z=0 datum work as expected? If you move to Z=0 is the nozzle touching (or nearly so) the bed?

                            Frederick

                            Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                              @Turricann said in Triple Z Axis G32 Bed Traming:

                              G1 X0 Y0 F6000 ; go to first probe point
                              G30 ; use probe to find Z 0

                              The position of the probe for the G30 should match between homez and homeall (and any other place you are setting Z0)

                              Z-Bot CoreXY Build | Thingiverse Profile

                              Turricannundefined 1 Reply Last reply Reply Quote 0
                              • Turricannundefined
                                Turricann @fcwilt
                                last edited by

                                @fcwilt

                                Doing a single G30 probes the bed @X0, Y0(Bed center), Doing a G1 Z0 the nozzle moves so its touching the bed.

                                fcwiltundefined 1 Reply Last reply Reply Quote 0
                                • Turricannundefined
                                  Turricann @Phaedrux
                                  last edited by

                                  @Phaedrux I see i had not set the probe offset, however the bed is still not tramming correctly any other thoughts ?

                                  1 Reply Last reply Reply Quote 0
                                  • fcwiltundefined
                                    fcwilt @Turricann
                                    last edited by

                                    @Turricann said in Triple Z Axis G32 Bed Traming:

                                    @fcwilt

                                    Doing a single G30 probes the bed @X0, Y0(Bed center), Doing a G1 Z0 the nozzle moves so its touching the bed.

                                    Thanks.

                                    Seems like your Z probe is configured and working correctly.

                                    Perhaps the following may help:

                                    I don't do multiple passes in my bed.g - just one. And I also end the bed.g processing with setting the Z=0 datum at the center of the bed.

                                    I obtain multiple passes by ending my homez.g file with two G32 commands.

                                    Frederick

                                    Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                    Turricannundefined 1 Reply Last reply Reply Quote 0
                                    • Turricannundefined
                                      Turricann @fcwilt
                                      last edited by

                                      @fcwilt

                                      I have changed the M671 leadscrew Positions from where the leadscrews are to the pivot points under the bed as in @CaLviNx config.g example.

                                      The bed leveling now seems more consistant,
                                      1/2/2021, 9:51:43 PM G32
                                      Leadscrew adjustments made: 0.291 0.320 0.311, points used 3, (mean, deviation) before (0.307, 0.010) after (-0.000, 0.000)
                                      1/2/2021, 9:50:43 PM G32
                                      Leadscrew adjustments made: 0.307 0.299 0.307, points used 3, (mean, deviation) before (0.305, 0.004) after (-0.000, 0.000)
                                      1/2/2021, 9:49:43 PM G32
                                      Leadscrew adjustments made: 0.308 0.294 0.297, points used 3, (mean, deviation) before (0.300, 0.005) after (-0.000, 0.000)

                                      fcwiltundefined 2 Replies Last reply Reply Quote 0
                                      • fcwiltundefined
                                        fcwilt @Turricann
                                        last edited by

                                        @Turricann said in Triple Z Axis G32 Bed Traming:

                                        @fcwilt

                                        I have changed the M671 leadscrew Positions from where the leadscrews are to the pivot points under the bed as in @CaLviNx config.g example.

                                        The bed leveling now seems more consistant,
                                        1/2/2021, 9:51:43 PM G32
                                        Leadscrew adjustments made: 0.291 0.320 0.311, points used 3, (mean, deviation) before (0.307, 0.010) after (-0.000, 0.000)
                                        1/2/2021, 9:50:43 PM G32
                                        Leadscrew adjustments made: 0.307 0.299 0.307, points used 3, (mean, deviation) before (0.305, 0.004) after (-0.000, 0.000)
                                        1/2/2021, 9:49:43 PM G32
                                        Leadscrew adjustments made: 0.308 0.294 0.297, points used 3, (mean, deviation) before (0.300, 0.005) after (-0.000, 0.000)

                                        Did you try adding the G30 in your bed.g file to set the Z=0 datum after the leveling phase?

                                        Your bed seems level but has a Z offset.

                                        Frederick

                                        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                        1 Reply Last reply Reply Quote 0
                                        • fcwiltundefined
                                          fcwilt @Turricann
                                          last edited by

                                          @Turricann said in Triple Z Axis G32 Bed Traming:

                                          I have changed the M671 leadscrew Positions from where the leadscrews are to the pivot points under the bed as in @CaLviNx config.g example.

                                          @dc42 - is that the correct way to set M671 for printers with kinematic mounts?

                                          Thanks.

                                          Frederick

                                          Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                          A Former User? jay_s_ukundefined 2 Replies Last reply Reply Quote 0
                                          • A Former User?
                                            A Former User @fcwilt
                                            last edited by

                                            @fcwilt said in Triple Z Axis G32 Bed Traming:

                                            @Turricann said in Triple Z Axis G32 Bed Traming:

                                            I have changed the M671 leadscrew Positions from where the leadscrews are to the pivot points under the bed as in @CaLviNx config.g example.

                                            @dc42 - is that the correct way to set M671 for printers with kinematic mounts?

                                            Thanks.

                                            Frederick

                                            Sigh, this is yet another reason I add a disclaimer....

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