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

    Need help with mesh bed levelling

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    4
    22
    2.8k
    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.
    • medicusdkfzundefined
      medicusdkfz
      last edited by medicusdkfz

      Hello,

      I'm struggeling with the mesh bed levelling in RRF3. I use an inductive probe (temperature stable SuperPinda) for homing and quad gantry levelling (qgl) of my Voron 2.4. For Z-homing I go to the highest point of the heat bed. It's not in the middle of the heat bed. Is it necessary to home Z at a special point before I do a mesh bed levelling (mbl)? Where is the reference point for the mesh? Is it at 0/0? Is it P0?
      Every time I do homing, qgl and then a mbl, I get no good result. When I activate the mesh after all the procedures, I should have a consistent Z-height all over the bed. But I haven't...
      The 4 corners of the qgl are consistent with the Z-height!

      Thank you for your help,
      Pierre

      1 Reply Last reply Reply Quote 0
      • medicusdkfzundefined
        medicusdkfz
        last edited by

        Bildschirmfoto 2020-12-29 um 12.24.42.png

        1 Reply Last reply Reply Quote 0
        • Vetiundefined
          Veti
          last edited by

          the reference point is the point where you probed with bed with g30 during homing.

          1 Reply Last reply Reply Quote 0
          • medicusdkfzundefined
            medicusdkfz
            last edited by

            After I do a G29 S1, I have to do a homing with G30 Z-9999?

            Thank you,
            Pierre

            Vetiundefined 1 Reply Last reply Reply Quote 0
            • Vetiundefined
              Veti @medicusdkfz
              last edited by

              @medicusdkfz said in Need help with mesh bed levelling:

              After I do a G29 S1, I have to do a homing with G30 Z-9999?

              no before you do a G29 S1 you need to do a G30

              1 Reply Last reply Reply Quote 0
              • medicusdkfzundefined
                medicusdkfz
                last edited by

                Without any parameter?

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

                  @medicusdkfz said in Need help with mesh bed levelling:

                  Without any parameter?

                  G30 by itself is used to set the Z=0 datum.

                  You first need to move to your XY reference point - I use the center of the bed.

                  Setting the Z=0 datum needs to be done when creating the height map and when loading the height map.

                  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
                  • medicusdkfzundefined
                    medicusdkfz
                    last edited by

                    I see! I've tried it and it works... I'm very happy! Thank you for your help!!!!!

                    Pierre

                    Vetiundefined 1 Reply Last reply Reply Quote 0
                    • Vetiundefined
                      Veti @medicusdkfz
                      last edited by

                      @medicusdkfz said in Need help with mesh bed levelling:

                      I see! I've tried it and it works... I'm very happy! Thank you for your help!!!!!

                      what firmware version are you running? because if you did not do that, there should have been a warning in the console

                      1 Reply Last reply Reply Quote 0
                      • medicusdkfzundefined
                        medicusdkfz
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • medicusdkfzundefined
                          medicusdkfz
                          last edited by medicusdkfz

                          A happy new year to you all!

                          Sorry, I still have trouble. In a first attempt it looked good. But yesterday I did a print over the whole bed with a lot of trouble. After homing and qgl, I go to the middle of the bed and do a G30. Then I do a very fine mesh bed levelling with 420 points. Before printing I do again a G30 and activate the mesh with G29 S1. But then I have a bad first layer. When I activate my mesh without printing after a G30 in the middle of the bed, I have inconsistent Z-heights in the paper test. I guess, that I should have at every point inside the mesh coordinates the same heights under the nozzle. But it isn't! Any suggestions?

                          Thank you very much,
                          Pierre

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

                            @medicusdkfz

                            After doing a G30 at the center of the bed have you verified that the Z position is correct?

                            If you move to Z=0 is the tip of the nozzle touching (or almost touching) the bed?

                            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
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              Can you show us your gcode commands being executed?
                              What is in your slicer start gcode and any of the files called from there. homeall.g, bed.g, etc

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • medicusdkfzundefined
                                medicusdkfz
                                last edited by medicusdkfz

                                I solved my problem... First layer with 0.2mm height...

                                image0.JPG

                                1 Reply Last reply Reply Quote 0
                                • medicusdkfzundefined
                                  medicusdkfz
                                  last edited by

                                  Based on the configuration of Fulg (Voron Discord) - many thanks to you...

                                  config.g:

                                  ; Configuration file for Duet 3 (firmware version 3)
                                  ; executed by the firmware on start-up
                                  
                                  ; General preferences
                                  M111 S0                 							; Debugging off
                                  G21                     							; Work in millimetres
                                  G90                     							; Send absolute coordinates...
                                  M83                     							; ...but relative extruder moves
                                  M555 P2                 							; Set firmware compatibility to look like Marlin
                                  M575 P1 B57600 S1       							; Comms parameters for PanelDue
                                  M564 S1 H1              							; Forbid axis movements when not homed
                                  
                                  ; Network
                                  M552 P0.0.0.0 S1                           			; enable network and acquire dynamic address via DHCP
                                  M554 P0.0.0.0										; gateway
                                  M553 P255.255.255.0									; subnet mask
                                  M586 P0 S1                                          ; enable HTTP
                                  M586 P1 S1                                         	; enable FTP (for remote backups)
                                  M586 P2 S0                                         	; disable Telnet
                                  
                                  ; General setup
                                  M669 K1                 							; Select CoreXY mode (2.03 and up)
                                  M550 PVoron 2.4 350mm^3                           	; set printer name
                                  
                                  ; Drives for XY
                                  M569 P0.4 S1                                       	; A motor (X)
                                  M569 P0.5 S0                                       	; B motor (Y)
                                  
                                  ; Drives for Z
                                  M569 P0.0 S1                                       	; Front left 
                                  M569 P0.1 S0                                       	; Back left
                                  M569 P0.2 S1                                       	; Back right
                                  M569 P0.3 S0                                       	; Front right
                                  
                                  ; Drive for extruder 
                                  M569 P1.0 S1                                       	; physical drive 1.0 goes forwards
                                  M572 D0 S0.025										; pressure advance
                                  
                                  ; Motor mapping and steps per mm
                                  M584 X0.4 Y0.5 Z0.0:0.1:0.2:0.3 E1.0				; set drive mapping
                                  M350 X16 Y16 Z16 E16 I1         					; Use 1/16 microstepping with interpolation everywhere
                                  M92 X160 Y160 Z800              					; Set XYZ steps per mm (0.9deg motors)
                                  M92 E410                        					; Set Extruder steps per mm
                                  
                                  ; Drive currents
                                  M906 X1200 Y1200 Z1200 E600     					; XYZ and E current
                                  M906 I30                        					; Idle current percentage
                                  M84 S120                        					; Idle timeout
                                  
                                  ; Accelerations and speed
                                  M98 P"/macros/print_scripts/speed_printing.g"
                                  
                                  ; Axis travel limits
                                  M208 X0 Y1 Z-4 S1                                	; set axis minima
                                  M208 X346 Y355 Z320 S0                             	; set axis maxima
                                  
                                  ; Endstops
                                  M574 X2 S1 P"!io1.in"                               ; X Hall effect endstop
                                  M574 Y2 S1 P"!io2.in"                               ; Y Hall effect endstop
                                  M574 Z0 P"nil"										; no Z endstop
                                  
                                  ; Z-Probe
                                  M558 K0 P8 C"^io4.in" I1 H3 F200 T18000 A5 S0.01 B0 R0.2 	; set Z probe type to switch and the dive height + speeds
                                  G31 P1000 X0 Y23.5 Z2.000                            	; set Z probe trigger value, inductive probe offset and trigger height (Papiertest, G92 Z0 setzen und anschliessend G30 S-1/G1 Z5 mehrfach wiederholen -> Höhe = Offset
                                  
                                  M558 K1 P8 C"io3.in" T18000 F60 H2 A10 S0.005 R0.2
                                  G31 K1 P500 X0 Y0 Z-0.489            					; Z switch offset (if positive, greater value = lower nozzle. if negative, more negative = higher nozzle)
                                  
                                  M671 X-62:-62:407.5:407.5 Y-1:429:429:-1 S20        	; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right)
                                  
                                  M557 X10:340 Y30:320 S33:29                         	; Anfahrtpunkte für Sonde!!! define mesh grid (for G29) - überschreibt Grideinstellungen in DOW nach Neustart
                                  
                                  ; Hotbed (dual thermistor setup)
                                  M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Keenovo"    				; configure sensor 0 as thermistor on pin temp0 (heater sensor)
                                  M308 S2 P"temp2" Y"thermistor" T100000 B3950 A"Heizbett direkt"      	; configure sensor 2 as thermistor on pin temp2
                                  M950 H0 C"out0" T2 Q10                                					; Heater --> SSD-Steuerung
                                  M307 H0 A261.9 C549.2 D0.7 V24.0 B0			   							; Heater 0 model: gain 261.9, time constant 549.2, dead time 0.7, max PWM 1.00, calibration voltage 24.0, mode PID
                                  M140 P0 H0                                            						; Map heated bed to heater 0 - Keenovo 220V, 750W
                                  M143 H0 P1 T0 A2 S125 C0                                    ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 115°C. Use Heater monitor 1 for it
                                  M143 H0 P2 T0 A1 S130 C0                                    ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 125°C. Use Heater monitor 2 for it
                                  M143 H0 S120                                                ; Set bed heater max temperature to 120°C, use implict monitor 0 which is implicitly configured for heater fault
                                  M307 H0 B1 S0.9                                             ; Enable Bang Bang mode and set PWM to 60% to avoid warping
                                  
                                  ; Hotend
                                  M308 S1 P"temp1" Y"thermistor" T500000 B4723 C1.196220e-7 A"Mosquito"      	; Thermistor R-Wert eicht die Temp R3950
                                  M950 H1 C"out1" T1                                 							; Heater
                                  M307 H1 A593.7 C180.4 D7.6 V24.0 B0				   							; Heater 1 model: gain 593.7, time constant 180.4, dead time 7.6, max PWM 1.00, calibration voltage 24.0, mode PID
                                  M143 H1 S350																; Sets temperature limit for extruder - Mosquito
                                  
                                  ; DHT22 sensor
                                  ;M308 S10 P"0.spi.cs0" Y"dht22"       A"Chamber Temp"    ; Temperature (connected to cs0 port on the temp daughterboard slot
                                  ;M308 S11 P"S10.1"     Y"dhthumidity" A"Chamber Hum[%]"  ; Humidity
                                  
                                  ; MCU sensors
                                  M308 S3 Y"mcu-temp" A"MCU"
                                  M308 S4 Y"drivers" A"Duet Drivers"
                                  
                                  ; Main fans
                                  M950 F0 C"1.out6" Q500                             	; Part cooling fan
                                  M106 P0 S0 B0.1 H-1                                	; Default off; booststart for 0.1s (B0.1); thermostatic control off 
                                  M950 F1 C"out7" Q500                           	   	; Hotend cooling fan
                                  M106 P1 S255 H1 T50                                	; Default on; thermistatic control on above 50C
                                  
                                  ; Aux fans (option to control daughter board fans based on main board temp sensor coming in RRF3.3, for now has to be manual)
                                  M950 F2 C"1.out7" Q500                              ; Electronics compartment fan 1
                                  M106 P2 S1.0 H-1                                    ; Default on; thermostatic control off 
                                  M950 F3 C"1.out8" Q500                              ; Electronics compartment fan 2
                                  M106 P3 S1.0 H-1									; Default on; thermostatic control off 
                                  
                                  M950 F6 C"out8" Q500								; Noctua exhaust filter fan
                                  M106 P6 S0 H-1										; Default off 
                                  
                                  ; LED-Stripes
                                  ;M950 F5 C"out9" Q500								; LED-Streifen rechts --> derzeit nicht installiert
                                  ;M106 P5 S1.0 H-1                                   ; Default on; thermostatic control off
                                  
                                  ; Misc
                                  M912 P0 S-4                         				; MCU temperature calibration (yours will be different)
                                  M572 D0 S0.01                       				; Pressure Advance
                                  M592 D0 A0.015 B0.0012 L0.2         				; Non-linear extrusion
                                  M376 H10                            				; Fade mesh out compensation over 10mm Z
                                  
                                  ; Tools
                                  M563 P0 D0 H1 F0                    				; Define tool 0 using fan 0 for M106
                                  G10 P0 X0 Y0 Z0                     				; Set tool 0 axis offsets
                                  G10 P0 R0 S0                        				; Set initial tool 0 active and standby temperatures to 0C
                                  
                                  ; DAA tuning (you will need to change this for your slicer)
                                  ;M593 F26.6                          				; Cura 4.5 stock profile @ 40mm/s outer printing speed
                                  M593 F42.5                          				; PrusaSlicer @ 40mm/s outer perimeter
                                  M80                                 				; turn on PSU & mains voltage
                                  M501                                				; load config-override.g
                                  T0                                  				; select tool 0
                                  
                                  ; workaround for bug in 3.2beta3, M143 needs to be done after all M950, M307, M140 and M141. https://forum.duet3d.com/topic/19031/m143-issue/25?_=1605986986974
                                  M143 H0 S115
                                  M143 H1 S350
                                  

                                  homeall.g:

                                  ; homeall.g
                                  ; called to home all axes
                                  
                                  ; Relative positioning
                                  G91
                                  
                                  ; Lower currents, speed & accel
                                  M98 P"/macros/print_scripts/xy_current_low.g"
                                  ;M98 P"/macros/print_scripts/z_current_low.g"
                                  M98 P"/macros/print_scripts/speed_probing.g"
                                  
                                  ; Lift Z relative to current position if needed
                                  if !move.axes[2].homed
                                    G1 Z10 F9000 H1
                                  elif move.axes[2].userPosition < 10
                                    G1 Z10 F9000
                                  
                                  ; Coarse home X or Y
                                  G1 X600 Y600 F2400 H1
                                  
                                  ; Coarse home X
                                  G1 X600 H1
                                  
                                  ; Coarse home Y
                                  G1 Y600 H1
                                  
                                  ; Move away from the endstops
                                  G1 X-5 Y-5 F9000
                                  
                                  ; Fine home X
                                  G1 X600 F360 H1
                                  
                                  ; Fine home Y
                                  G1 Y600 H1
                                  
                                  ; Absolute positioning
                                  G90
                                  
                                  ; Home Z microswitch
                                  M98 P"/macros/print_scripts/goto_z_switch.g"
                                  G30 K1 Z-9999
                                  if move.axes[2].userPosition < 5
                                  	G1 Z5
                                  
                                  ; Restore high currents, speed & accel
                                  M98 P"/macros/print_scripts/xy_current_high.g"
                                  ;M98 P"/macros/print_scripts/z_current_high.g"
                                  M98 P"/macros/print_scripts/speed_printing.g"
                                  

                                  mesh.g:

                                  ; give one last chance to cancel...
                                  M291 P"This will replace the existing bed mesh. Are you sure?" R"Bed Mesh" S3
                                  
                                  ; Level the gantry so we can park the carriage in the middle of the bed
                                  G32
                                  M98 P"/macros/print_scripts/goto_bed_center.g"
                                  
                                  ; Heat the bed to 100C
                                  M291 P"Heating up the bed..." R"Probing New Bed Mesh" T5
                                  M190 S100
                                  
                                  ; Set the hotend to 250C
                                  M291 P"Heating up the hotend..." R"Bed Mesh" T5
                                  G10 P0 S250
                                  M116
                                  
                                  ; Level the gantry again while everything is hot
                                  M291 P"QGL while everything is hot..." R"Bed Mesh" T5
                                  G32
                                  
                                  ; ignore current heightmap
                                  M561
                                  
                                  ; Establish final Z ref
                                  M291 P"Final Z ref..." R"Bed Mesh" T5
                                  M98 P"/macros/print_scripts/do_nozzle_wipe.g"
                                  M98 P"/macros/print_scripts/do_nozzle_wipe.g"
                                  G28 Z
                                  
                                  ; Get the reference Z offset
                                  M291 P"Get reference Z offset..." R"Bed Mesh" T5
                                  M98 P"/macros/print_scripts/goto_bed_center.g"
                                  if move.axes[2].userPosition < 5
                                  	G1 Z5
                                  G30 K0 S-1
                                  G1 Z5
                                  G30 K0 S-1
                                  G1 Z5
                                  G30 K0 S-1
                                  G1 Z5
                                  G30 K0 S-3
                                  G1 Z5
                                  
                                  ; Probe a new bed mesh!
                                  M291 P"Probing now!" R"Bed Mesh" T5
                                  M557 X10:340 Y30:320 S41.25:36.25; 81 Anfahrtpunkte für Sonde!!! define mesh grid (for G29) - überschreibt Grideinstellungen in DOW nach Neustart
                                  G29 S0
                                  
                                  ; Done, move to center and turn off heat
                                  M98 P"/macros/print_scripts/goto_bed_center.g"
                                  if move.axes[2].userPosition < 5
                                  	G1 Z5
                                  G10 P0 S0
                                  M140 S0
                                  
                                  M291 P"Done!" R"Bed Mesh" T5
                                  

                                  bed_probe_points.g:

                                  ;###### Pierre ######
                                  ;G30 K0 P0 X10 Y26 Z-99999; probe near front left belt
                                  ;G30 K0 P1 X10 Y315 Z-99999; probe near back left belt
                                  ;G30 K0 P2 X340 Y315 Z-99999; probe near back right belt 
                                  ;G30 K0 P3 X340 Y26 Z-99999 S4; probe near front right belt
                                  ;####################
                                  
                                  ;####### fulg #######
                                  G30 K0 P0 X340 Y315 Z-99999
                                  G30 K0 P1 X340 Y26 Z-99999
                                  G30 K0 P2 X10 Y26 Z-99999
                                  G30 K0 P3 X10 Y315 Z-99999 S4
                                  ;####################
                                  

                                  bed.g:

                                  ; bed.g
                                  ; Called to align the gantry to the bed plane via G32
                                  
                                  ; Clear any bed transform
                                  M561
                                  
                                  ; Turn off noisy Extruder motor
                                  M84 E
                                  
                                  ; Home all axes
                                  G28
                                  
                                  ; Lower currents, speed & accel
                                  M98 P"/macros/print_scripts/speed_probing.g"
                                  ;M98 P"/macros/print_scripts/z_current_low.g"
                                  M98 P"/macros/print_scripts/xy_current_low.g"
                                  
                                  ; Probe the bed at 4 points, x3 for more precision
                                  M558 K0 H5 F240   ; reduce depth range, probe slower for better repeatability
                                  M98 P"/sys/bed_probe_points.g"
                                  M558 K0 H4 F240   ; reduce depth range, probe slower for better repeatability
                                  M98 P"/sys/bed_probe_points.g"
                                  
                                  while true
                                    if iterations = 5
                                      abort "Too many auto calibration attempts"
                                    
                                    	M558 K0 H1 F60    ; reduce depth range, probe slower for better repeatability
                                  	M98 P"/sys/bed_probe_points.g"
                                    if result != 0
                                      continue
                                    
                                    if move.calibration.initial.deviation <= 0.005
                                      break
                                  
                                  ; If there were too many errors or the deviation is too high - abort and notify user  
                                    echo "Repeating calibration because deviation is too high (" ^ move.calibration.initial.deviation ^ "mm)"
                                  
                                  echo "Auto calibration successful, deviation", move.calibration.initial.deviation ^ "mm"
                                  
                                  ; Restore high currents, speed & accel
                                  M98 P"/macros/print_scripts/speed_printing.g"
                                  M98 P"/macros/print_scripts/xy_current_high.g"
                                  ;M98 P"/macros/print_scripts/z_current_high.g"
                                  if move.axes[2].userPosition < 5
                                  	G1 Z5
                                  G28 Z
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • medicusdkfzundefined
                                    medicusdkfz
                                    last edited by medicusdkfz

                                    Is it possible to define the number of probing attempts with the inductive probe while mesh bed leveling or a G30 at the probing point to increase the accuracy? Sometimes the first value is bad. But 3 or 4 are better...

                                    Vetiundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
                                    • Vetiundefined
                                      Veti @medicusdkfz
                                      last edited by

                                      @medicusdkfz said in Need help with mesh bed levelling:

                                      Is it possible to define the number of probing attempts with the inductive probe while mesh bed leveling or a G30 at the probing point to increase the accuracy? Sometimes the first value is bad. But 3 or 4 are better...

                                      yes

                                      https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_type
                                      the A parameter.

                                      but you already have it at 5

                                      you could also try reducing the F parameter

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

                                        @medicusdkfz said in Need help with mesh bed levelling:

                                        Is it possible to define the number of probing attempts with the inductive probe while mesh bed leveling or a G30 at the probing point to increase the accuracy? Sometimes the first value is bad. But 3 or 4 are better...

                                        You can force the averaging of a fixed number of readings by setting the M558 S parameter to -1 and setting the A parameter to the desired number of readings - see the M558 command docs.

                                        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
                                        • medicusdkfzundefined
                                          medicusdkfz
                                          last edited by

                                          Thank you for your help!

                                          1 Reply Last reply Reply Quote 0
                                          • medicusdkfzundefined
                                            medicusdkfz
                                            last edited by medicusdkfz

                                            @Veti When do I need a G30 and when a G30 S-2 with mesh bed levelling? My first probe is a Z microswitch at the Voron 2.4. This is my reference also for temperature issues with the inductive probe. After homing and levelling the quad gantry, I want to do my mesh. At the process of creating a mesh I have to do what, before I perform a G29 S0?

                                            At the process of using an existing mesh I have to do what, before I perform a G29 S0?

                                            Today I had the warning again with the z datum...

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