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

    Changing Z offset with BLTouch

    Scheduled Pinned Locked Moved
    General Discussion
    6
    29
    2.3k
    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.
    • cbrunnem2undefined
      cbrunnem2 @fcwilt
      last edited by

      @fcwilt i just powered on my printer. when its off, the bed sags a bit so i immediately homed xyz. height map looks good. babystepping was always at 0

      i did the following commands:
      G1 x100y100
      g29 s2
      G1 z0 (stepped down till nozzle is on bed)
      G92 z0
      g30 s-1 put that number in config.g under the g31 line
      restarted board
      homed xyz
      G1 x100y100
      g29 s2
      G1 z0 (stepped down till nozzle is on bed)
      g92 z0
      g1 z10
      g1 z0 (nozzle is still on bed)
      G30 (it stops at 3.1mm which is what i have in g31)
      g1 z0 (nozzle is too high.... by -.85 which ironically, is the about what the math would say my previous number should be at -2.31)

      im at a lose here.... what am i doing wrong

      fcwiltundefined 1 Reply Last reply Reply Quote 0
      • cbrunnem2undefined
        cbrunnem2 @BoA
        last edited by

        @BoA should i be doing a whole bed mesh at the start of every print? is that what you are saying?

        might be worth it if i can figure out this problem as a hole. check my last response. with the current issue, id be wasting so much time probing hte bed just to have to babystep or ruin a print.

        1 Reply Last reply Reply Quote 0
        • cbrunnem2undefined
          cbrunnem2 @BoA
          last edited by

          @BoA also, there is a g28 xy so those axis get homed. G30 at x100y100 should mean my heightmap is valid to load and use?

          1 Reply Last reply Reply Quote 0
          • cbrunnem2undefined
            cbrunnem2
            last edited by

            i added a G30 before G29 in my bed.g to see if that would help. it did not. i assume this is good practice and should be left?

            BoAundefined 2 Replies Last reply Reply Quote 0
            • BoAundefined
              BoA @cbrunnem2
              last edited by BoA

              @cbrunnem2 I think You created a little bit of chaos in the files trying to solve the issue. Let's sort things out.

              1. make sure homex.g and homey.g do only X and Y and Y homing, and nothing more.
              2. make sure homez.g does only homing Z using probe. For example:
              G91
              G1 H2 Z5 F12000    ; lift Z relative to current position
              G90                 ; absolute positioning
              G1 X100 Y100 F12000
              M558 F1200
              G30                 ; home Z by probing the bed
              M558 F120
              G30                 ; home Z by probing the bed
              
              1. make sure homeall.g is homing X and Y and calls homez.g For example:
              G91                 ; relative positioning
              G1 H1 X5.0 Y5.0 F1200
              G1 H1 X-260 Y-221.5 F3000
              M98 P"homez.g"
              G90
              

              After that calling G28 should home all axes, and going to Z=0 position like G1 X100 Y100 Z0 results in nozzle just barely touching the bed.

              Next step would be to set bed/gantry leveling using bed.g
              BTW - make sure

              M671 X200:200 Y-133:567 S15
              

              is correct. This seems a little strange looking where Your bed.g probes for bed/gantry leveling.

              G30 P0 X5 Y100 Z-99999     ; probe near a leadscrew, half way along Y axis
              G30 P1 X225 Y100 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
              G28 Z
              

              should be enough, use screws coordinates that are correct for Your printer.

              After that calling G28 and G32 should result in homing all axes and pribing bed in 2 (or more) points and bed leveled and re-homing Z axis.

              Soo... in Your startup gcode in slicer You should have

              G28
              G32
              

              sequence

              If Z trigger height is set correctly, that should give You correct-ish first layer without babystepping.

              After that works, You can call G29 S0 to probe the bed and save heightmap and after G32 add G29 S1 to startup gcode

              cbrunnem2undefined 1 Reply Last reply Reply Quote 0
              • BoAundefined
                BoA @cbrunnem2
                last edited by

                @cbrunnem2 For reference my startup code in prusa slicer

                G90 ; use absolute coordinates
                M83 ; extruder relative mode
                M144 S1
                M140 S[first_layer_bed_temperature] ; set bed temp
                G10 P0 R120 S[first_layer_temperature_0]
                M116 H0
                G28 ; home all without mesh bed level
                G32 ; gantry leveling
                G29 S1; mesh bed compensation
                
                1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @cbrunnem2
                  last edited by

                  @cbrunnem2

                  So when you do that single G30 the nozzle is touching the bed?

                  What is the behavior you see?

                  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

                  cbrunnem2undefined 1 Reply Last reply Reply Quote 0
                  • cbrunnem2undefined
                    cbrunnem2 @fcwilt
                    last edited by

                    @fcwilt when I use g30, the bltouch triggers and stops the bed. if I then use g1 z0, I then have to move the bed up manually till the bed touches. it's about .7mm now.

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

                      @cbrunnem2 said in Changing Z offset with BLTouch:

                      @fcwilt when I use g30, the bltouch triggers and stops the bed. if I then use g1 z0, I then have to move the bed up manually till the bed touches. it's about .7mm now.

                      Keep tweaking the G31 setting until Z=0 results in the nozzle just touch the bed.

                      Because my printing surface is not hard like glass or metal I use Z=1 as my test position and have a 1mm thickness gauge that I use to check the gap. Otherwise the nozzle might just make an indent in the surface when I'm tweaking G31.

                      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
                      • cbrunnem2undefined
                        cbrunnem2 @BoA
                        last edited by

                        @BoA Thank you for your response.

                        1. my homex/homey are exactly as you mention
                        2. i will fix my homez. i have no M558 calls in my homez. could be the issue? see below for my homez current gcode.
                        3. will fix my homeall file as well.
                        4. i will double check my M671 values. the printer bed is actually 400mm x 400mm but i am only currently using a small portion so i lowered my bed mesh size to get better results and speed things up. i believe the Y positions are correct. i know the x positions are correct.
                        5. should i do the bed leveling more than once? when reseting my board or powering it on, my bed has to be releveled as it sags a bit. typically 2 bed levels gets it super close.
                        6. on your last comment about doing a G29 S0... i should do that after fixing all of my homing issues and before a print right?
                        ; homez.g
                        ; called to home the Z axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jul 21 2021 18:08:02 GMT-0400 (Eastern Daylight Time)
                        G91             ; relative positioning
                        G1 H2 Z5 F3600  ; lift Z relative to current position
                        G90             ; absolute positioning
                        G1 X100 Y100 F3600 ; go to first probe point
                        G30            ; home Z by probing the bed
                        G32 ;
                        g30 s-1;
                        G29 s1;
                        
                        BoAundefined 1 Reply Last reply Reply Quote 0
                        • BoAundefined
                          BoA @cbrunnem2
                          last edited by BoA

                          @cbrunnem2
                          Ad. 2 - I have M558 just to change probing speed - first fast pass for less acurate, and second slower for better accuracy
                          Ad. 4 - The closer to leadscrews You probe the better the results will be (more accurate). This has nothing to do with area used for printing or mesh leveling. It is just to make sure bed.g will set left and right bed motors correctly too keep bed parallel to the gantry. G32 is not the same feature as mesh bed leveling. G32 makes sure the bed and gantry are parallel to eachother. Mesh leveling (G29) compensates for bed beeing not perfectly flat.
                          Ad. 5 - In general it should be fine doing it once, but nothing wrong with doing it more than once
                          Ad. 6. for homez.g put only homing z there.

                          ; homez.g
                          ; called to home the Z axis
                          ;
                          ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jul 21 2021 18:08:02 GMT-0400 (Eastern Daylight Time)
                          G91             ; relative positioning
                          G1 H2 Z5 F3600  ; lift Z relative to current position
                          G90             ; absolute positioning
                          G1 X100 Y100 F3600 ; go to first probe point
                          G30            ; home Z by probing the bed
                          

                          that is enough for it.

                          Then in slicer You have a startup g-code, where You should have:
                          homing - G28
                          bed leveling - G32 (this will execute bed.g with probing next to leadscrews, and re-home Z)
                          mesh compensation enabled G29 S1

                          Bed probing before each print depends on how stable geometry Your bed has.

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