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

    BL touch and how to define area for mesh compensation properly

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    6
    856
    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.
    • felt342undefined
      felt342
      last edited by

      Hi guys,

      Can somebody explain to me please how to set properly area for mesh compensation.

      This is how is set now, you can see what my left bottom point is -85 mm, made especially so my BL touch will measure the edge of build plate. It has set offset in Y direction from nozzle of Y-47.06.

      And this is my mesh grid coordinates defined.

      M557 X0:295 Y-85:150 S30                      ; define mesh grid
      

      Plus my axis limits:

      ; Axis Limits
      M208 X-16 Y-45 Z0 S1                          ; set axis minima
      M208 X321 Y208 Z305 S0                        ; set axis maxima
      

      022cf9a5-7e36-47e4-aa30-59233001c24a-image.png

      My concern here is if my nozzle is actually compensating at the right location if I look on to Y-85 in my first point. I do have feeling what the whole bed should be moved back by 85 mm on Y, to correctly represent compensation underneath the nozzle. I am not sure if I gave a clear issue here, but maybe somebody with more experience sees the issue here?

      There is my main files:

      ; Configuration file for Duet WiFi (firmware version 2.03)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 22:17:48 GMT+0100 (Central European Standard Time)
      
      ; General preferences
      G90                                             ; send absolute coordinates...
      M83                                             ; ...but relative extruder moves
      M550 P"own"                                     ; set printer name
      
      M667 S1                                         ; select CoreXY mode
      
      ; Network
      M552 S1                                         ; enable network
      M586 P0 S1                                      ; enable HTTP
      M586 P1 S0                                      ; disable FTP
      M586 P2 S0                                      ; disable Telnet
      
      ; Drives
      M569 P0 R-1
      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 backwards
      M569 P4 S1                                      ; physical drive 4 goes forwards
      M584 X4 Y1 Z2 E3:0                             ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1                      ; configure microstepping with interpolation
      M92 X200.8 Y200.8 Z400 E415:415			; set steps per mm
      M566 X500 Y500 Z20 E1500.00:1500.00      	; set maximum instantaneous speed changes (mm/min)
      M203 X15000 Y15000.00 Z600 E13000.00:13000.00   ; set maximum speeds (mm/min)
      M201 X4000 Y4000 Z100 E8000.00:8000.00      	; set accelerations (mm/s^2)
      M204 P1000 T1000				; printing acceleration
      M906 X1300 Y1300 Z1500 E600:600 I30             ; set motor currents (mA) and motor idle factor in per cent
      M84 S90                                         ; Set idle timeout
      
      ; Axis Limits
      M208 X-16 Y-45 Z0 S1                                ; set axis minima
      M208 X321 Y208 Z305 S0                        ; set axis maxima
      
      ; Endstops
      M574 Z1 S2                		     ; set active low and disabled endstops
      M574 X1 S0                			  ; set active high endstops
      M574 Y2 S0
      
      ; Z-Probe
      M307 H3 A-1 C-1 D-1                             ; disable heater on PWM channel for BLTouch
      M558 A10 S0.01 P9 H3 F60 T5000 R0.3                          ; set Z probe type to bltouch and the dive height + speeds
      G31 P25 X0 Y-47.06 Z2.150               ; set Z probe trigger value, offset and trigger height (positive value brings bed closer)
      M557 X0:295 Y-85:150 S30                      ; define mesh grid
      
      ; Heaters
      M141 H5 					; heater 5 is the chamber heater
      M305 X1 P5 B4725 C7.060000e-8 			; heater 5 is monitored by a E3D thermistor
      ;M307 H5 C99000 D0.05 S1.00 V0.0 B0		; disable bang-bang control for the chamber heater
      M143 H5 S90
      ;M307 H0 B0 S1.00                        	; disable bang-bang mode for the bed heater and set PWM limit
      M305 P0 T100000 B4138 R4700             	; set thermistor + ADC parameters for heater 0
      M143 H0 S150                            	; set temperature limit for bed heater 0 to 150C
      M305 P1 X200                                    ; configure PT100 for heater 1
      M143 H1 S480                                    ; set temperature limit for heater 1 to 480C
      M305 P2 X201                                    ; configure PT100 for heater 2
      M143 H2 S300                                    ; set temperature limit for heater 2 to 300C
      
      ; Fans
      M106 P0 S0 I0 F20 H-1                          ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
      M106 P1 S1 I0 F20 H-1                          ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
      M106 P2 S1 I0 F20 H-1                          ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
      
      ; Tools
      M563 P0 S"Left" D0 H1 F-1                       ; define tool 0
      G10 P0 X0 Y0 Z0                                 ; set tool 0 axis offsets
      G10 P0 S0 R175 									; Set tool 0 active and standby temperatures
      M563 P1 S"Right" D1 H2 F-1                      ; define tool 1
      G10 P1 X20.09 Y0 Z0                               ; set tool 1 axis offsets
      G10 P1 S0 R175 									; Set tool 0 active and standby temperatures
      
      ; Custom settings are not defined
      
      ; Miscellaneous
                                                 ; load saved parameters from non-volatile memory
      M501
      
      
      
      ; bed.g
      ; called to perform automatic bed compensation via G32
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 22:17:48 GMT+0100 (Central European Standard Time)
      
      M561 ; clear any bed transform
      G29  ; probe the bed and enable compensation
      
      
      ; homeall.g
      ; called to home all axes
      
      ; Home XY for Z homing
      G91                     	; relative positioning
      M913 X50 Y50	 		; set X Y motors to 50% of their normal current for homing
      G1 S1 X-321 Y272.5 F4000   	; course home X or Y
      G1 S1 X-321 F4000              	; course home X
      G1 S1 Y272.5 F4000              	; course home Y
      G1 X2 Y-3 F4000             	; move away from the endstops
      G1 S1 X-321 F200           	; fine home X
      G1 S1 Y272.5 F200               	; fine home Y
      M913 X100 Y100	 		; set X Y motors to 100% of their normal current
      
      ; Z homing section follows
      G90				; absolute positioning
      G1 X146 Y106 F4000		; Move x and Y axis over to bed center so probe is on top of bed
      
      ; Probe the bed
      M558 A1 F600 ; Set single probing at faster feed rate
      G30 ; Do a single probe to quickly home Z axis
      M558 A10 F100	 ; Set multi probing at slower feed rate
      G30 ; Probe again to get a more accurate position			; Probe the bed
      
      ; Move X and Y back Home
      G1 X0 Y0
      

      Industrial 3D printing service in the Netherlands - gagatstudio.com

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

        @felt342 said in BL touch and how to define area for mesh compensation properly:

        M208 X-16 Y-45 Z0 S1

        Y-45 would mean that your nozzle tip is 45mm off the edge of the print surface when the endstop is triggered during homing. Is that correct?

        And your BLTouch is 47mm in front of the nozzle tip?

        If that's the case, I don't think you'd want your grid spacing to try and move all the way to -85 on Y because that would be beyond where the endstop is triggered. You'd want it only as far as the reachable print surface which would be Y0.

        This is assuming that 0,0 origin point is on the front left corner of the print surface.

        Z-Bot CoreXY Build | Thingiverse Profile

        felt342undefined 1 Reply Last reply Reply Quote 0
        • felt342undefined
          felt342 @Phaedrux
          last edited by felt342

          @phaedrux

          That is correct my nozzle is offset 47 mm from BL touch.

          With these settings I am getting BL touch measurement when nozzle is located on top of 0,0 origin. But in that case BL touch is measuring 47 mm in front which I think is not very accurate representation of the mesh.

          ; Axis Limits
          M208 X-20 Y0 Z0 S1                                ; set axis minima
          M208 X321 Y208 Z305 S0                        ; set axis maxima
          
          ; Z-Probe
          G31 P25 X0 Y-47.06 Z2.150               ; set Z probe trigger value, offset and trigger height (positive value brings bed closer)
          M557 X-6:290 Y-47:150 S30                      ; define mesh grid
          
          

          IMG_9215.JPEG

          ======================================================================================================================

          With these settings I am getting BL touch measurement when nozzle is moving to Y47mm. In that case BL touch is measuring at 47+47=Y94 coordinates... which is not good.

          ; Axis Limits
          M208 X-20 Y0 Z0 S1                                ; set axis minima
          M208 X321 Y208 Z305 S0                        ; set axis maxima
          
          ; Z-Probe
          G31 P25 X0 Y-47.06 Z2.150               ; set Z probe trigger value, offset and trigger height (positive value brings bed closer)
          M557 X-6:290 Y0:150 S30                      ; define mesh grid
          
          

          IMG_9217.JPEG

          ======================================================================================================================

          With these settings I am getting BL touch measurement when the nozzle is located 47 mm in front of the bed (in the air). In that case BL touch is measuring at 0,0 coordinates which I think is right but will it be an accurate representation for the nozzle. Or it will mean what the whole bed mesh will be shifted 47 mm and when nozzle will start print at 0,0 it will use mesh compensation for this point shifted by 47 mm in a mesh?

          ; Axis Limits
          M208 X-20 Y-85 Z0 S1                                ; set axis minima
          M208 X321 Y208 Z305 S0                        ; set axis maxima
          
          ; Z-Probe
          G31 P25 X0 Y-47.06 Z2.150               ; set Z probe trigger value, offset and trigger height (positive value brings bed closer)
          M557 X-6:290 Y-85:150 S30                      ; define mesh grid
          
          

          IMG_9220.jpeg

          I hope it is clearer now more or less 🙂

          Moving BL touch closer to the nozzle will do the trick probably what I want, but I don't want to move BL touch so close to the nozzle or any heat as it's already in harsh environment as my heated chamber goes to 80 degrees...

          Industrial 3D printing service in the Netherlands - gagatstudio.com

          o_lampeundefined 1 Reply Last reply Reply Quote 0
          • o_lampeundefined
            o_lampe @felt342
            last edited by

            @felt342
            For the bed compensation it doesn't matter how far or close the sensor is from the nozzle. It calculates the compensation based on the offsets in G31 X..Y..Z..
            Only for the probeable area it makes a difference, because you can't probe the whole bed with a 47mm offset. That's the reason why we try to put the sensors as close as possible.

            felt342undefined 1 Reply Last reply Reply Quote 0
            • felt342undefined
              felt342 @o_lampe
              last edited by

              @o_lampe

              Thank you.
              Meaning what I should stick to this setting to make it right? Which locate the nozzle on top of 0,0 origin when it starts probe.

              ; Axis Limits
              M208 X-20 Y0 Z0 S1                                ; set axis minima
              M208 X321 Y208 Z305 S0                        ; set axis maxima
              ; Z-Probe
              G31 P25 X0 Y-47.06 Z2.150               ; set Z probe trigger value, offset and trigger height (positive value brings bed closer)
              M557 X-6:290 Y-47:150 S30                      ; define mesh grid
               
              

              Industrial 3D printing service in the Netherlands - gagatstudio.com

              o_lampeundefined 1 Reply Last reply Reply Quote 0
              • o_lampeundefined
                o_lampe @felt342
                last edited by

                @felt342
                I think you will get warnings from the M557 grid, because y-47 is outside of the bed. You can define the grid from the BLTouch point of view, don't care about the nozzle. The firmware know the offset, so when you ask to probe 'G30 X10 Y10' that's the probe position.

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