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.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by

      What's in your homeall.g?

      Z-Bot CoreXY Build | Thingiverse Profile

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

        @Phaedrux
        ; homeall.g
        ; called to home all axes
        ;
        ; generated by RepRapFirmware Configuration Tool v3.1.10 on Sun Dec 20 2020 20:21:04 GMT+0000 (Greenwich Mean Time)

        M400 ; wait til stuff stops
        M913 X30 Y30 ; drop motor currents to 30%
        M201 X1000 Y1000 ; reduce acceleration on X/Y to stop false triggers
        M915 P0.0:0.1 S2 R0 F0 H400 ; both motors because corexy; Sensitivity 2, don’t take action, don’t filter, 400steps/sec

        G91 ; set relative

        G1 Z5 F600 H2 ; clear the bed

        G1 H1 X-400 F4000 ; move left 400mm, stopping at the endstop
        G1 X120 F1200 ; move away from end
        G1 H1 Y-400 F4000 ; move 400mm, stopping at the endstop
        G0 Y20 F1200 ; move away from end
        G1 Z-5 F480 H2 ; bed back to original height
        G90 ; back to absolute positioning

        M400 ; wait again
        M913 X100 Y100 ; motor currents back to 100%
        G0 X0 Y0 F3600 ; move to center of bed
        G91 ; relative positioning
        G1 H2 Z5 F480 ; lift Z relative to current position
        G90 ; absolute positioning
        G1 H2 X30 Y0 F1200 ; go to first probe point
        G30 ; home Z by probing the bed

        ; Uncomment the following lines to lift Z after probing
        G91 ; relative positioning
        G1 Z5 F480 ; lift Z relative to current position
        G90 ; absolute positioning

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

          @fcwilt

          Changed Bed.g to

          ; 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

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

          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk
            last edited by

            You need to make sure everything is in the same order.
            So the mapping for the z axis should be front left, front right, rear.
            M671 should also be in that order.
            Finally, your probe points should also be in the same order.
            You can change the order but it should be the same in all places.

            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

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA