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

    BLtouch - Mesh doesnt works nice

    Scheduled Pinned Locked Moved
    General Discussion
    4
    11
    873
    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.
    • xenon2008undefined
      xenon2008
      last edited by

      Hello together!

      Hi, everyone!
      To be honest, I have a big problem (at least that's it for me ..) because I am simply not satisfied with the Mesh and BL Touch on my Sapphire Pro.

      First of all, I would like to say that I have built a Duet 2 Wifi into the printer for a long time and also an original BL Touch.
      Unfortunately, this always causes problems.
      And somehow it worked or did so again to some extent.

      In the last few days I've been desperate and now I'm at a point where I don't know any more ...

      No matter what settings I try and how often I try the bed or how fast ... it just doesn't work properly.

      At one point I am too close for the extruder to click and at another point I am far too far away so that the entire PETG clings to the nozzle until the nozzle is closed.

      It can't be due to the permanent pressure plate either, as I've already tried a sanded FR4 and a PEI plate.

      I just don't understand why he doesn't balance the mesh properly for me anymore ...

      Do you have another idea? I'm currently so far and am considering giving up because I just can't do anything anymore ....

      Here is my current config.g:

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Sep 13 2020 21:49:48 GMT+0200 (Mitteleuropäische Sommerzeit)
      
      ; General preferences
      G90                                            ; send absolute coordinates...
      M83                                            ; ...but relative extruder moves
      M550 P"Sapphire Pro"                           ; set printer name
      M669 K1                                        ; 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 S1                                     ; physical drive 0 goes forwards
      M569 P1 S0                                     ; physical drive 1 goes backwards
      M569 P2 S1                                     ; physical drive 2 goes forwards
      M569 P3 S0                                     ; physical drive 3 goes backwards
      M584 X0 Y1 Z2 E3                               ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z1600.00 E415.00             ; set steps per mm
      ;M566 X720.00 Y720.00 Z120.00 E300.00           ; set maximum instantaneous speed changes (mm/min)
      M205 X8 Y8 Z0.6 E5                              ; Set max instantaneous speed change in mm/sec jerk - Z fährt langsamer & ruhiger nach unten beim Drucken / vorher 0.6 bei Z
      ;M205 X8 Y8 Z5 E5                               ; Set max instantaneous speed change in mm/sec jerk = Original
      M203 X12000.00 Y12000.00 Z300.00 E6000.00      ; set maximum speeds (mm/min)
      M201 X2000.00 Y2000.00 Z120.00 E1500.00        ; set accelerations (mm/s^2)
      M906 X1250 Y1250 Z1000 E1000 I30               ; set motor currents (mA) and motor idle factor in per cent
      M84 S180                                       ; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                               ; set axis minima - (OLD Z-1 so that Bed Mesh Leveling could go negative also)
      M208 X220 Y205 Z210 S0                         ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"!xstop"                           ; configure active-high endstop for low end on X via pin !xstop
      M574 Y1 S1 P"ystop"                            ; configure active-high endstop for low end on Y via pin ystop
      M574 Z1 S2 P"zstop"                            ; NEW = configure Z-probe endstop for low end on Z /// OLD = configure active-high endstop for low end on Z via pin zstop
      M591 D0 P1 C"e0stop" S1						   ; Enable filament monitoring when printing from SD card - simple sensor (high signal when filament present) - Connected to e0stop
      
      ; Z-Probe
      ;M558 P0 H5 F120 T6000                          ; disable Z probe but set dive height, probe speed and travel speed
      ;M557 X15:215 Y15:195 S20                       ; define mesh grid
      M950 S0 C"exp.heater3"							; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F100 T9000	A2			; set Z probe type to bltouch and the dive height + speeds + probe each Point 2x times
      G31 X0 Y-40 Z1.780 P25
      ;M557 X15:215 Y15:195 S20                       ; define mesh grid - "Original"
      M557 X0:220 Y0:205 S20                          ; define mesh grid - Neu - dadurch kommt der BLTouch auch weiter an den Rand des Bettes
      M376 H3 										; Taper compensation at Z=3mm 
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                        ; map heated bed to heater 0
      M143 H0 S150                                   ; set temperature limit for heater 0 to 120C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S270                                   ; set temperature limit for heater 1 to 270C
      
      ; Fans
      M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
      
      ; Tools
      M563 P0 D0 H1 F0                               ; define tool 0
      G10 P0 X0 Y0 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
      M912 P0 S-12,45							  	   ; CPU Temperature Calibrating
      
      ; Miscellaneous
      M501                                           ; load saved parameters from non-volatile memory
      T0
      

      Greetings from Austria

      JoergS5undefined 1 Reply Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @xenon2008
        last edited by JoergS5

        @xenon2008 said in BLtouch - Mesh doesnt works nice:

        G31 X0 Y-40 Z1.780 P25

        Hello, the config looks ok for me, you can check that the G31 offsets are ok: if your X axis is positive to the right and Y with positive in direction to the back, then X0 Y-40 means it is at the same X position like the nozzle and in front of the nozzle. If not, then the compensation will be at the wrong position later.

        Other reasons need more information from you side:

        • do you measure with nozzle and bed heated up to the temperature when you later start printing?
        • content of mesh.g and an image of heightmap.csv
        • how is the procedure to create the mesh? (G29, G30 etc) => so please post the homeall.g and homex/y/z files, config-override and mesh.g, bed.g if they exist
        • are there possible mechanical reasons => please post images of the printer
        • is BLTouch working? Please check retractprobe.g and deployprobe.g, you can test retract and deploy manually by M401 and M402 (when running your code after this, it shall be im retracted state)
        xenon2008undefined 1 Reply Last reply Reply Quote 0
        • xenon2008undefined
          xenon2008 @JoergS5
          last edited by xenon2008

          @joergs5
          the Offsets are OK. the BlTouch ist in front of the Nozzle (Y-40)

          • Yes i always measure only the heated bed with same temperature & hotend "cold"

          • BLTouch is working

          • how i create a mesh? i Enter M561 in Console Und then G29

          Bed mesh:

          d6a54a5e-ff9a-4cb2-b1df-f420aadd3937-grafik.png
          but i can not find a mesh.g file?

          bed.g

          ; bed.g
          ; called to perform automatic bed compensation via G32
          ;
          ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Sep 13 2020 21:49:48 GMT+0200 (Mitteleuropäische Sommerzeit)
          M561 ; clear any bed transform
          G29  ; probe the bed and enable compensation
          
          

          Homeall:

          ; homeall.g
          ; called to home all axes
          ;
          ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Sep 13 2020 21:49:48 GMT+0200 (Mitteleuropäische Sommerzeit)
          G91                     ; relative positioning
          G1 H2 Z5 F6000          ; lift Z relative to current position
          G1 H1 X-225 Y-215 F1800 ; move quickly to X or Y endstop and stop there (first pass)
          G1 H1 X-225             ; home X axis
          G1 H1 Y-215             ; home Y axis
          G1 X5 Y5 F6000          ; go back a few mm
          G1 H1 X-225 F360        ; move slowly to X axis endstop once more (second pass)
          G1 H1 Y-215             ; then move slowly to Y axis endstop
          
          ;selbst ergänzt für BL-Touch
          G90 G1 X110 Y142.5 F2000   ; Move BL-Touch to the center of the bed
          M558 F150                ; Set the probing speed
          G30
          M558 F75                 ; Set a slower probing speed
          G30
          ;G1 H1 Z-225 F360        ; move Z down stopping at the endstop (ist vom Optischen Endstop)
          G90                      ; absolute positioning
          G1 Z10 F6000 			 ; Rapidly move the Z axis to 
          ;G92 Z0                  ; set Z position to axis minimum (you may want to adjust this) - (ist vom Optischen Endstop)
          
          ; Uncomment the following lines to lift Z after probing
          ;G91                    ; relative positioning
          ;G1 Z5 F100             ; lift Z relative to current position
          ;G90                    ; absolute positioning
          
          
          

          HomeX:

          ; homex.g
          ; called to home the X axis
          ;
          ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Sep 13 2020 21:49:48 GMT+0200 (Mitteleuropäische Sommerzeit)
          G91               ; relative positioning
          G1 H2 Z5 F6000    ; lift Z relative to current position
          G1 H1 X-225 F1800 ; move quickly to X axis endstop and stop there (first pass)
          G1 X5 F6000       ; go back a few mm
          G1 H1 X-225 F360  ; move slowly to X axis endstop once more (second pass)
          G1 H2 Z-5 F6000   ; lower Z again
          G90               ; absolute positioning
          
          
          

          HomeY:

          ; homey.g
          ; called to home the Y axis
          ;
          ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Sep 13 2020 21:49:48 GMT+0200 (Mitteleuropäische Sommerzeit)
          G91               ; relative positioning
          G1 H2 Z5 F6000    ; lift Z relative to current position
          G1 H1 Y-215 F1800 ; move quickly to Y axis endstop and stop there (first pass)
          G1 Y5 F6000       ; go back a few mm
          G1 H1 Y-215 F360  ; move slowly to Y axis endstop once more (second pass)
          G1 H2 Z-5 F6000   ; lower Z again
          G90               ; absolute positioning
          
          
          

          HomeZ:

          ; Home Z Axis
          
          ;selbst ergänzt für BL-Touch damit dieser "sicher" zur Mitte des Bettes gefahren werden kann!
          G91               		 ; relative positioning
          G1 H2 Z5 F6000    		 ; lift Z relative to current position 
          
          G90 G1 X110 Y142.5 F2000   ; Move BL-Touch to the center of the bed
           
          M558 F150                ; Set the probing speed
          G30
          M558 F75                 ; Set a slower probing speed
          G30
          G90 					 ; Make sure we are in absolute mode
          G1 Z10 F6000 			 ; Rapidly move the Z axis to Z=10
          

          one other Thing.... some people told my i could be an "Temperature Drift" from the BL TOuch because i have enclosured the printer?

          JoergS5undefined Gixxerfastundefined 3 Replies Last reply Reply Quote 0
          • JoergS5undefined
            JoergS5 @xenon2008
            last edited by JoergS5

            @xenon2008 in newer firmware, bed.g and mesh.g are used for bed leveling and mesh compensation code. It's no problem if it doesn't exist. (G29 calls mesh.g and if it not exists, it runs G29 S0).

            I am no expert for mesh code review, but others will be able to check (maybe not at weekend). I'll tell you if I find an error. => I don't see an error

            I've not heard of temperatur drift of BLTouch before, but if the expansion of the push pin is meant, this effect should be minimal, as the pin is not very long.

            You can check whether mesh compensation is active while printing by calling M122. There is a line which tells you whether mesh compensation is active.

            Please post config-override.g also, because in your config.g is a M501 to load one.

            1 Reply Last reply Reply Quote 0
            • JoergS5undefined
              JoergS5 @xenon2008
              last edited by JoergS5

              @xenon2008 maybe the Z jerk and maximum speed changes

              M205 X8 Y8 Z0.6 E5

              are too low, because for mesh compensation Z needs to change values fast. The M376 H3 is at the lower limit also (20 * maximum error), so together the allowed speed change may be too low.

              I tried to make a calculation: jerk 0.6 mm/s, bed is uneven by 0.3 mm on 100 mm, speed 200 mm/s, this may be too slow for Z jerk, because in 1/2 second it needs to correct 0.3 mm at the lowest level. Firmware could slow down speed, but I did not look how it behaves.

              Instead of mesh compensation, you could also try to make the bed more flat. Maybe heating the bed up results in the bending result by the 4 screws. The bed needs a little bit space to expand when heating up. Loosing two screws at the side where it bends (or having a slot where the screws can slide about 1/2 mm) could prevent the bending. You may not need such an elaborated solution like this one: https://drmrehorst.blogspot.com/2017/07/ultra-megamax-dominator-3d-printer-bed.html but this blog gives good information about what I mean. To verify whether heating up bends the bed, you could make a BLTouch measurement with the bed unheated. But of course the bed could be unflat already.

              xenon2008undefined 1 Reply Last reply Reply Quote 0
              • xenon2008undefined
                xenon2008 @JoergS5
                last edited by

                @joergs5
                Good Morning from Austria,

                Sorry i hope my English Skills are not too terrible 😧

                Here is my config-override.g:

                ; config-override.g file generated in response to M500 at 2022-01-06 11:57
                ; This is a system-generated file - do not edit
                ; Heater model parameters
                M307 H0 R0.334 C176.800:176.800 D1.40 S1.00 V24.2 B0 I0
                M307 H1 R2.743 C173.112:173.112 D5.79 S1.00 V24.1 B0 I0
                ; Workplace coordinates
                G10 L2 P1 X0.00 Y0.00 Z0.00
                G10 L2 P2 X0.00 Y0.00 Z0.00
                G10 L2 P3 X0.00 Y0.00 Z0.00
                G10 L2 P4 X0.00 Y0.00 Z0.00
                G10 L2 P5 X0.00 Y0.00 Z0.00
                G10 L2 P6 X0.00 Y0.00 Z0.00
                G10 L2 P7 X0.00 Y0.00 Z0.00
                G10 L2 P8 X0.00 Y0.00 Z0.00
                G10 L2 P9 X0.00 Y0.00 Z0.00
                
                

                And i double checked, i am at the latest Firmware
                Board: Duet 2 WiFi (2WiFi)
                Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.3 (2021-06-15)
                Version von Duet WiFi Server: 1.26

                Regarding Z Jerk & Acceleration, which values would you suggest here?

                I am of the opinion that I have read somewhere here in the forum that this does not seem to have any influence on the mesh, but unfortunately I can no longer find the post

                JoergS5undefined 1 Reply Last reply Reply Quote 0
                • martin7404undefined
                  martin7404
                  last edited by martin7404

                  With the thin Alu heatbed of Sapphire it is possible to have 0.2 deviations.
                  What surface are you using glass, spring steel or sticker?
                  Try this get 4 or 5 mm mirror 220x220 and put it on the bed then level it with something like this over the 4 screws
                  link text

                  Run bed mesh
                  My sapphire pro have holes for 3 and for 4 screws. I am using 3 screw setup

                  Muldex IDEX Duet2+Duex5
                  Custom CoreXY 600x400 Hemera , Duet3+Toolboard+1HCL closed loop
                  Sapphire Pro with Duet2, with closed-loop motors
                  custom high temp E3D tool changer with Duet2+Duex

                  1 Reply Last reply Reply Quote 0
                  • JoergS5undefined
                    JoergS5 @xenon2008
                    last edited by JoergS5

                    @xenon2008 said in BLtouch - Mesh doesnt works nice:

                    Regarding Z Jerk & Acceleration, which values would you suggest here?

                    A common value for jerk is 50 mm/min, so for your mm/s about 1, speed should be ok.

                    I would try to fix the flatness of plate on the right side, however. Because although mesh will allow printing, your object will be curved at that side, however.

                    xenon2008undefined 1 Reply Last reply Reply Quote 0
                    • xenon2008undefined
                      xenon2008 @JoergS5
                      last edited by

                      @joergs5 i will try 1mm/s Jerk.

                      I print on a FlexSteel Plate with 1mm FR4 and/or a FlexSteel Plate with smooth PEI.

                      i also use a 6mm Aluminum Plat over the Heated Bed, but i think this is an "sapphire issue" with this "hanging bed"...

                      1 Reply Last reply Reply Quote 0
                      • Gixxerfastundefined
                        Gixxerfast @xenon2008
                        last edited by

                        @xenon2008 Yes, temperature drift is absloutely a thing, which is why I don't run a permantly attached inductive probe but instead a magnetically attached mechanical switch probe (Klicky probe).

                        Also, it has been established that an enclosed aluminium frame moves and bends quite a lot while heated. The thermal expansion of aluminium is about 0,2 mm over a length of 300 mm with a delta T of 30° C.

                        Steel rails attached to aluminium extrusions will cause bending because of a diffrence in thermal expansion coefficients of the different materials.

                        So in order to get predictable results with an enclosed printer one has to calibrate Z with the same circumstances each time or using some automatic Z-calibration routine which is a bit more complicated.

                        That aside, how does your startup configuration look like? Do you have separate startup macro or do you have it in your slicer configuration?

                        Do you load the mesh file during print start or do you always run a G32/G29 before printing?

                        Have you read this bit ? https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation specifically this part: https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation#Section_Establish_a_Z_0_datum_using_the_Z_probe

                        Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                        Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                        Ender 3 Pro with BTT SKR-2 + RRF

                        xenon2008undefined 1 Reply Last reply Reply Quote 0
                        • xenon2008undefined
                          xenon2008 @Gixxerfast
                          last edited by

                          @gixxerfast said in BLtouch - Mesh doesnt works nice:

                          @xenon2008 Yes, temperature drift is absloutely a thing, which is why I don't run a permantly attached inductive probe but instead a magnetically attached mechanical switch probe (Klicky probe).

                          Also, it has been established that an enclosed aluminium frame moves and bends quite a lot while heated. The thermal expansion of aluminium is about 0,2 mm over a length of 300 mm with a delta T of 30° C.

                          Steel rails attached to aluminium extrusions will cause bending because of a diffrence in thermal expansion coefficients of the different materials.

                          So in order to get predictable results with an enclosed printer one has to calibrate Z with the same circumstances each time or using some automatic Z-calibration routine which is a bit more complicated.

                          That aside, how does your startup configuration look like? Do you have separate startup macro or do you have it in your slicer configuration?

                          Do you load the mesh file during print start or do you always run a G32/G29 before printing?

                          Have you read this bit ? https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation specifically this part: https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation#Section_Establish_a_Z_0_datum_using_the_Z_probe

                          i Load the saved Mesh through the Slicers Start Code

                          I understand, i also have a 2.4 Voron in Build (its finish, but i dont have time to configure it ...) and know about the klicky...

                          But then i must "live" with that "problem" ....
                          Because i dont know how i could solve that with a inductive probe, and i dont could install a klicky on my Sapphire ^^

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