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

    Changing Z offset with BLTouch

    Scheduled Pinned Locked Moved
    General Discussion
    6
    29
    2.7k
    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 @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 E3D MS/TC setup and a RatRig Hybrid. 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 E3D MS/TC setup and a RatRig Hybrid. 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