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

    Homing and bed levelling dont employ Bltouch xy offset RFF3.3

    Scheduled Pinned Locked Moved
    Firmware installation
    3
    10
    360
    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.
    • mpolyundefined
      mpoly
      last edited by mpoly

      Hello,
      I am trying to setup a 400x400 blv with triple z axis, and for the love of God cannot understand why when homing and running G32, my probe offset doesnt come into play. Instead, the nozzle is going to the specified locations instead of the probe. Can someone please take a look at my relative files and tell me where i have screwed up. Thanks in advance for all help.
      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.4 on Thu Oct 07 2021 18:26:46 GMT+0300 (Eastern European Summer Time)

      ; General preferences
      M575 P1 S1 B19200 ; enable support for PanelDue
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"MYBLV" ; set printer name
      M669 K1 ; select CoreXY mode

      ; Network
      M552 S1 P"3dworx" ; enable network
      M586 P0 S1 ; enable HTTP
      M586 P1 S0 ; disable FTP
      M586 P2 S0 ; disable Telnet

      ; Drives
      M671 X405:205:3 Y-10:-8:-10 S20 ; The Z axis pivot point locations to allow true levelling to be undertaken
      M569 P0 S1 ; physical drive 0 goes forwards
      M569 P1 S1 ; physical drive 1 goes forwards
      M569 P2 S1 ; physical drive 2 goes forwards
      M569 P3 S1 ; physical drive 3 goes forwards
      M584 X0 Y1 Z4:2:5 E4 ; three Z motors connected to driver outputs 4, 2 and 11
      M671 X468:200:-58 Y-25:468:-25 S5 ; leadscrews at front left, rear middle and front right
      M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z800.00 E389.00 ; set steps per mm
      M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z1200.00 E900.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z100.00 E250.00 ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1000 E800 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 X400 Y400 Z360 S0 ; set axis maxima

      ; Endstops
      M574 X0 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y0 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z1 S2 ; configure Z-probe endstop for low end on Z

      ; Z-Probe
      M950 S0 C"duex.pwm5" ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H10 F600 T12000 ; set Z probe type to bltouch and the dive height + speeds
      M584 X0 Y1 Z4:2:5 E4 ; three Z motors connected to driver outputs 4, 2 and 11
      G31 P500 X57 Y-4.2 Z5 ; set Z probe trigger value, offset and trigger height
      M557 X60:360 Y60:360 S60 ; define mesh grid

      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
      M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0 ; map heated bed to heater 0
      M143 H0 S100 ; set temperature limit for heater 0 to 100C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 R2.263 C201.3:201.3 D11.65 S1.00 V25.3 ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S350 ; set temperature limit for heater 1 to 350C

      ; Fans
      M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S1 H1 T45 ; set fan 0 value. Thermostatic control is turned on
      M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off

      ; Tools
      M563 P0 D0 H1 F0 ; define tool 0
      G10 P0 X-57 Y4.2 Z0 ; set tool 0 axis offsets
      G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

      ; Custom settings are not defined

      ; Miscellaneous

      M911 S22 R23.5 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

      bed file

      ; bed.g
      ; called to perform automatic bed compensation via G32
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.4 on Thu Oct 07 2021 18:26:46 GMT+0300 (Eastern European Summer Time)
      ; this script compensates for what the Z offset is
      ; so if G31 P500 X-30 Y-15 Z1.7 then first probe will be at
      ; X30 Y20 (when G30 P0 X0 Y5)
      M561 ; clear any bed transform

      M671 X405:205:3 Y-10:-8:-10 S20 ; The Z axis pivot point locations to allow true levelling to be undertaken
      G30 P0 X400 Y0 Z-99999 ; Probe near Front left leadscrew
      G30 P1 X400 Y400 Z-99999 ; PROBE POINT 2 Rear Left
      G30 P2 X200 Y400 Z-99999 ; Probe near Rear Middle leadscrew
      G30 P3 X60 Y400 Z-99999 ; PROBE POINT 4 Rear Right
      G30 P4 X200 Y200 Z-99999 ; PROBE POINT 5 Center
      G30 P5 X200 Y0 Z-99999 ; PROBE POINT 6 Front Middle
      G30 P6 X60 Y0 Z-99999 S3 ; Probe near Front Right leadscrew and calibrate the 3 motors to achieve self leveling

      homeall file

      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.4 on Thu Oct 07 2021 18:26:46 GMT+0300 (Eastern European Summer Time)

      G91 ; relative positioning
      G1 H2 Z5 F6000 ; lift Z relative to current position
      G1 H1 Y-400 ; home Y axis
      G1 Y5 F6000 ; go back a few mm
      G1 H1 Y-400 ; then move slowly to Y axis endstop
      G1 H1 X-405 ; home X axis
      G1 X5 F6000 ; go back a few mm
      G1 H1 X-400 F360 ; move slowly to X axis endstop once more (second pass)
      G90 ; absolute positioning
      G1 X200 Y200 F6000 ; go to first bed probe point and home Z
      G30 ; home Z by probing the bed
      G91 ; relative positioning
      G1 Z5 F100 ; lift Z relative to current position
      G90 ; absolute positioning

      homez file

      ; homez.g
      ; called to home the Z axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.4 on Thu Oct 07 2021 18:26:46 GMT+0300 (Eastern European Summer Time)

      G91 ; relative positioning
      G1 H2 Z5 F6000 ; lift Z relative to current position
      G90 ; absolute positioning
      G1 X200 Y200 F10000 ; go to first probe point
      G30 ; home Z by probing the bed
      G91 ; relative positioning
      G1 Z5 F100 ; lift Z relative to current position
      G90 ; absolute positioning

      gloomyandyundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
      • gloomyandyundefined
        gloomyandy @mpoly
        last edited by

        @mpoly I'd be surprised if it is not taking the offset into account in the G32 code as that uses G30 with X Y coordinates and they usually refer to the probe position. In the case of homing they just use normal g1 commands so can't really take the offset into account (how would they know?). If the G32 is really not using your offsets I'd check that there is not an error in the G31 that describes the probe, try running M98 p"config.g" to see if there are any errors or run m31 (no parameters) to see if the settings are correct.

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

          @mpoly

          For the bed leveling pick the three points near the lead screws and just use those.

          It's quick and as accurate as needed.


          When using the syntax G30 P# Xaaa Ybbb Z-99999 the point probed should be X=aaa and Y=bbb.

          If not something is wrong.

          And, of course, the XY motion system has to be physically able to move the probe to the specified points.


          The only time you need to worry about the probe offsets is when you are trying to probe a given point with just a plain G30.

          Then you need to do the math to get the probe where you want it to be and use a G1 to move the probe there.


          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          mpolyundefined 1 Reply Last reply Reply Quote 0
          • mpolyundefined
            mpoly @gloomyandy
            last edited by

            @gloomyandy said in Homing and bed levelling dont employ Bltouch xy offset RFF3.3:

            M98 p"config.g"

            this is the result i get from your suggestions

            10/12/2021, 3:06:17 PM m31
            Warning: M31: Command is not supported

            10/12/2021, 3:05:39 PM M98 p"config.g"
            HTTP is enabled on port 80
            FTP is disabled
            TELNET is disabled

            Thank you for your input

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

              @mpoly Sorry that should have been G31, not M31

              mpolyundefined 1 Reply Last reply Reply Quote 0
              • mpolyundefined
                mpoly @fcwilt
                last edited by

                @fcwilt said in Homing and bed levelling dont employ Bltouch xy offset RFF3.3:

                G30 P# Xaaa Ybbb Z-99999

                I have chosen points that the probe is physically able to reach. Doing a single g30 with coordinates doesnt consider the offsets, unfortunately.
                Any more ideas? What else could be wrong besides syntax errors in my config.g or bed.g?

                fcwiltundefined 1 Reply Last reply Reply Quote 0
                • mpolyundefined
                  mpoly @gloomyandy
                  last edited by

                  @gloomyandy
                  No problem,
                  well
                  g31
                  Z probe 0: current reading 0, threshold 500, trigger height 5.000, offsets X57.0 Y-4.2

                  all is fine, but still its not taking it into effect with g32

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

                    @mpoly So if you run G30 P0 X200 Y200 Z-9999 what happens and what are the X and Y coordinates displayed by DWC after the probe has completed?

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

                      @mpoly said in Homing and bed levelling dont employ Bltouch xy offset RFF3.3:

                      @fcwilt said in Homing and bed levelling dont employ Bltouch xy offset RFF3.3:

                      G30 P# Xaaa Ybbb Z-99999

                      I have chosen points that the probe is physically able to reach. Doing a single g30 with coordinates doesnt consider the offsets, unfortunately.
                      Any more ideas? What else could be wrong besides syntax errors in my config.g or bed.g?

                      When you say "single G30" do you mean G30 Xaaa Ybbb? That syntax is not supported.

                      The usually reason for probing a single point is to set the Z=0 Datum. To do that you need to use a normal G1 Xaaa Ybbb command to move to the desired location, taking into account the parameters aaa and bbb need to be computed based on probe offsets.

                      The a plain G30 will probe at the current XY location and set the Z=0 Datum.


                      If I completely misunderstood your post please correct me.

                      Thanks.

                      Frederick

                      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                      1 Reply Last reply Reply Quote 0
                      • mpolyundefined
                        mpoly
                        last edited by

                        Thank you both for your efforts and time, i DID find my mistake after all. You know, sometimes my brain is so crippled that i cannot see clearly. Somehow i added the same offsets to Tool 0 script. All is good now..

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