Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Solved Strange highmap problem

    Tuning and tweaking
    3
    4
    145
    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.
    • S1lencer
      S1lencer last edited by

      Hi i have a slight problem adjusting my bed via meshbedleveling. Out of some strange behavior my G29 responds with a highmap some 5 or 6mm too deep. Mean deviation is acceptable, but i don't now if this works for printing in Case of compensating.

      Here is a picture of the highmap:
      1afcbfb6-45a2-4585-a4f1-4e840a4a9fc9-image.png

      Here is my config:

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Mar 12 2021 17:14:12 GMT+0100 (Mitteleuropäische Normalzeit)
      
      ; General preferences
      G4 S1
      G90                                                                        ; send absolute coordinates...
      M83                                                                        ; ...but relative extruder moves
      M550 P"ToolChanger"                                                        ; set printer name
      M669 K1                                                                    ; select CoreXY mode
      
      ; Network
      M552 P192.168.178.111 S1                                                           ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                                                                 ; enable HTTP
      M586 P1 S0                                                                 ; disable FTP
      M586 P2 S0                                                                 ; disable Telnet
      
      ; Drives
      M569 P0.0 S1                                                               ; physical drive 0.0 goes forwards 				Drive 0 X
      M569 P0.1 S1                                                               ; physical drive 0.1 goes forwards 				Drive 1 Y
      M569 P0.2 S1                                                               ; physical drive 0.2 goes forwards 				Drive 2 Z
      M569 P121.0 S1                                                             ; physical drive 121.0 goes forwards 			Drive Toolboard 121 E0
      M569 P122.0 S1                                                             ; physical drive 122.0 goes forwards 			Drive Toolboard 120 E1
      M569 P0.3 S0                                                               ; physical drive 0.3 goes forwards 				Drive 3 E2
      M569 P0.4 S0                                                               ; physical drive 0.4 goes forwards 				Drive 4 E3
      M569 P0.5 S0                                                               ; physical drive 0.5 goes forwards 				Drive 5 Coupler
      
      
      M584 X0.0 Y0.1 Z0.2 C0.5 E121.0:122.0:0.3:0.4                              ; set drive mapping
      
      M350 C8 I0                                                                 ; configure microstepping without interpolation
      M350 X16 Y16 Z16 E16:16:16:16 I1                                           ; configure microstepping with interpolation
      M92 X80.14 Y80.14 Z1600.00 C100 E417.10:417.10:466.793:466.793             ; set steps per mm
      M566 X400 Y400 Z8.00 C2 E40:40:6000:6000                                       ; set maximum instantaneous speed changes (mm/min)
      M203 X35000 Y35000 Z1200 C5000 E6000:6000:6000:6000                        ; set maximum speeds (mm/min)
      M201 X6000.00 Y6000.00 Z400.00 C400 E1200.00:1200.00:6500.00:6500.00       ; set accelerations (mm/s^2)
      M906 X1800 Y1800 Z1330 C400 E1200:1200:1200:1200 I30                       ; set motor currents (mA) and motor idle factor in per cent
      M84 S120                                                                   ; Set idle timeout
      
      ;Stall Detection
      M915 C S5 F0 H200 	  												    	; Coupler
      
      ;Stall Detection
      M915 X Y S4 F0 H400 												     	; X / Y Axes
      
      ; Axis Limits
      M208 X-56.5 Y-57.5 Z-6 C0 S1                                               ; set axis minima
      M208 X353.5 Y360 Z308 C260 S0                                                ; set axis maxima
      
      ; Endstops
      M574 X1 S3                                                                 ; configure sensorless endstop for low end on X
      M574 Y1 S3                                                                 ; configure sensorless endstop for low end on Y
      M574 Z1 S2				                                                   ; configure active-high endstop for low end on Z via pin io2.in
      
      ; Z-Probe
      ;M558 P1 R1 C"!io3.in" H10 F2400 A4 S0.05 T6000                                      ; set Z probe type to effector and the dive height + speeds NORMALERWEISE S0.03
      M558 P1 R1.0 C"!io3.in" H7 F500 T10000                                      ; set Z probe type to effector and the dive height + speeds
      G31 P500 X0 Y0 Z0                                                         ; set Z probe trigger value, offset and trigger height
      M557 X5:295 Y5:295 S40                                                     ; define mesh grid
      
      ; Heaters
      ;Bed
      M308 S0 P"temp0" Y"pt1000"                                                 ; configure sensor 0 as PT1000 on pin temp0
      M950 H0 C"out0" T0                                                         ; create bed heater output on out0 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 S125                                                               ; set temperature limit for heater 0 to 125C
      
      ;Extruder 0
      M308 S1 P"121.temp0" Y"pt1000"                                             ; configure sensor 1 as PT1000 on pin 121.temp0
      M950 H1 C"121.out0" T1                                                     ; create nozzle heater output on 121.out0 and map it to sensor 1
      M307 H1 B0 S1.00                                                           ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S350                                                               ; set temperature limit for heater 1 to 350C
      
      ;Extruder 1
      M308 S2 P"122.temp0" Y"pt1000"                                             ; configure sensor 2 as PT1000 on pin 122.temp0
      M950 H2 C"122.out0" T2                                                     ; create nozzle heater output on 122.out0 and map it to sensor 2
      M307 H2 B0 S1.00                                                           ; disable bang-bang mode for heater  and set PWM limit
      M143 H2 S350                                                               ; set temperature limit for heater 2 to 350C
      
      ;Extruder 2
      M308 S3 P"spi.cs0" Y"rtd-max31865"                                         ; configure sensor 3 as thermocouple via CS pin spi.cs0
      M950 H3 C"out1" T3                                                         ; create nozzle heater output on out1 and map it to sensor 3
      M307 H3 B0 S1.00                                                           ; disable bang-bang mode for heater  and set PWM limit
      M143 H3 S350                                                               ; set temperature limit for heater 3 to 350C
      
      ;Extruder 3
      M308 S4 P"spi.cs1" Y"rtd-max31865"                                         ; configure sensor 4 as thermocouple via CS pin spi.cs1
      M950 H4 C"out2" T4                                                         ; create nozzle heater output on out2 and map it to sensor 4
      M307 H4 B0 S1.00                                                           ; disable bang-bang mode for heater  and set PWM limit
      M143 H4 S350                                                               ; set temperature limit for heater 4 to 350C
      
      ; Fans
      M950 F0 C"121.out2+out2.tach" Q2500                                        ; create fan 0 on pin 121.out1 and set its frequency
      M106 P0 C"Tool 1 Lüfter" S1 H1 T45                                         ; set fan 0 name and value. Thermostatic control is turned on
      
      M950 F1 C"122.out2+out2.tach" Q2500                                        ; create fan 1 on pin 121.out2 and set its frequency
      M106 P1 C"Tool 2 Lüfter" S1 H2 T45                                         ; set fan 1 name and value. Thermostatic control is turned on
      
      M950 F2 C"out9" Q500													   ; create fan 2 on pin out7 and set its frequency
      M106 P2 C"Bauteilkühlung 1" S0 H-1                                         ; set fan 2 name and value. Thermostatic control is turned off
      
      M950 F3 C"out5+out5.tach" Q500                                             ; create fan 3 on pin out8 and set its frequency
      M106 P3 C"Bauteilkühlung 2" S0 H-1                                         ; set fan 3 name and value. Thermostatic control is turned off
      
      M950 F4 C"out8" Q2500                                                      ; create fan 4 on pin out9 and set its frequency
      M106 P4 C"Tool 3 Lüfter" S1 H3 T45                                         ; set fan 4 name and value. Thermostatic control is turned on
      
      M950 F5 C"out7" Q2500                      		                           ; create fan 5 on pin out4 and set its frequency
      M106 P5 C"Tool 4 Lüfter" S1 H4 T45                                         ; set fan 5 name and value. Thermostatic control is turned on
      
      M950 F6 C"out4+out4.tach" Q25000                                           ; create fan 5 on pin out5 and set its frequency
      M106 P6 C"Boardkühlung 1" S1 H1:2:3:4 T45                                  ; set fan 6 name and value. Thermostatic control is turned on
      
      M950 F7 C"!out6+out6.tach" Q25000                                          ; create fan 6 on pin out6 and set its frequency
      M106 P7 C"Gehäusekühlung" S1 H1:2:3:4 T45                                  ; set fan 7 name and value. Thermostatic control is turned on
      
      ; Tools
      M563 P0 D0 H1 F0:2:3                                                       ; 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
      
      M563 P1 D1 H2 F0:2:3                                                       ; define tool 1
      G10 P1 X0 Y0 Z0                                                            ; set tool 1 axis offsets
      G10 P1 R0 S0                                                               ; set initial tool 1 active and standby temperatures to 0C
      
      M563 P2 D2 H3 F0:2:3                                                       ; define tool 2
      G10 P2 X0 Y0 Z0                                                            ; set tool 2 axis offsets
      G10 P2 R0 S0                                                               ; set initial tool 2 active and standby temperatures to 0C
      
      M563 P3 D3 H4 F0:2:3                                                       ; define tool 3
      G10 P3 X0 Y0 Z0                                                            ; set tool 3 axis offsets
      G10 P3 R0 S0                                                               ; set initial tool 3 active and standby temperatures to 0C
      
      ; Custom settings
      M593 F50					                                               ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/)
      M376 H15					                                               ; bed compensation taper
      
      ;tool offsets
      G10 P0 X19.8 Y58 Z-3.275		                                           ; T0 Hemera 0.5mm Nozzle
      G10 P1 X18.8 Y58 Z-3.1				                                       ; T1 Hemera 0.4mm Nozzle
      G10 P2 X-9 Y39 Z-3.44				                                       ; T2 E3D V6 Bondtech 0.4mm Nozzle
      G10 P3 X-9 Y39 Z-5.39				                                       ; T3 Prometheus Bondtech 0.4mm Nozzle
      
      ; Deselect tools
      T-1
      
      ; Pressure Advance
      M572 D0 S0.05 					                                           ; pressure advance T0
      M572 D1 S0.05 					                                           ; pressure advance T1
      M572 D2 S0.2 					                                           ; pressure advance T2
      M572 D3 S0.2 					                                           ; pressure advance T3
      
      ; Heater model parameters
      M307 H0 B0 R0.162 C1661.3 D30.91 S1.00 V24.0
      M307 H1 B0 R2.147 C289.1:220.0 D5.22 S1.00 V23.7
      M307 H2 B0 R2.322 C197.6:173.7 D5.69 S1.00 V23.6
      M307 H3 R1.607 C273.7:225.8 D6.01 S1.00 V23.9
      M307 H4 R2.114 C239.508:194.630 D7.77 S1.00 V23.9 B0 I0
      
      ; Miscellaneous
      M575 P1 S1 B57600                                                          ; enable support for PanelDue
      M501                                                                       ; load saved parameters from non-volatile memory
      M911 S20 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"                         ; set voltage thresholds and actions to run on power loss
      

      here is my bed.g:

      ; Bed Mesh Leveling
      
      G28 Z
      
      G1 S2 Z3 F500		; lift Z 3mm
      
      ;G31 P{sensors.probes[0].value[0] + 15}							;for analog reading of precision Piezo
      G29
      
      ;disable mesh leveling, needs to be enabled at the start of your print and disabled again when finished.
      G29 S2
      
      ; Park the head
      G1 X-20 Y0 F50000
      
      

      here is my homeall:

      ; homeall.g
      ; called to home all axes
      
      M98 Phomec.g			; Home C (ToolHead)
      
      M98 Phomey.g			; Home Y
      
      M98 Phomex.g			; Home X
      
      M98 Phomez.g			; Home Z
      
      G1 X-20 Y-0 Z5 F15000		; Park
      
      

      here is my homec:

      ; homec.g
      ; called to home the C axis (coupler)
      
      ;crashc
      G92 C260
      M913 C50			; C MOTOR TO 40% CURRENT
      G1 C-260 F2400  ; drive the C-axis to the stop
      M913 C100			; C MOTOR TO 100% CURRENT
      G1 C1 F50000
      G92 C0
      
      ;Open Coupler
      M98 P/macros/Coupler - Unlock
      

      here is my homex:

      ; homex.g
      ; called to home the x axis
      
      G91 			; use relative positioning
      
      G1 H2 X0.5 Y-0.5 F10000		; energise to avaoid false triggers during sensorless homing
      
      M400 			; make sure everything has stopped before we make changes
      G4 P100			; wait 100ms
      
      M913 X30 Y30 		; drop motor currents to 50%
      M915 H200 X Y S2 R0 F0 	; set X and Y to sensitivity 3, do nothing when stall, unfiltered
      
      G1 H2 Z3 F5000		; lift Z 3mm
      G1 H1 X-400 F3000 	; move left 400mm, stopping at the endstop
      G1 H1 X2 F2000 		; move away from end
      G1 H2 Z-3 F1200		; lower Z
      G90 			; back to absolute positioning
      
      M400 			; make sure everything has stopped before we reset the motor currents
      G4 P100			; wait 100ms
      M913 X100 Y100 		; motor currents back to 100%
      

      here is my homey:

      ; homey.g
      ; called to home the Y axis
      
      G91 			; use relative positioning
      
      G1 H2 X0.5 Y-0.5 F10000		; energise to avaoid false triggers during sensorless homing
      
      M400 			; make sure everything has stopped before we make changes
      G4 P100			; wait 100ms
      
      M913 X30 Y30 		; drop motor currents to 20%
      M915 H200 X Y S2 R0 F0 	; set X and Y to sensitivity 3, do nothing when stall, unfiltered
      
      
      G1 H2 Z3 F5000		; lift Z 3mm
      G1 H1 Y-400 F3000 	; move to the front 400mm, stopping at the endstop
      G1 H1 Y2 F2000 		; move away from end
      G1 H2 Z-3 F1200		; lower Z
      G90 			; back to absolute positioning
      
      M400 			; make sure everything has stopped before we reset the motor currents
      G4 P100			; wait 100ms
      M913 X100 Y100 		; motor currents back to 100%
      

      here is my homez:

      ; homez.g
      ; called to home the Z axis
      
      T-1       ;just in case there is a tool coupled, go try to drop it at the dock
      
      M98 P/macros/Coupler - Unlock	;Open Coupler
      
      G91 				; Relative mode
      G1 H2 Z5 F5000			; Lower the bed
      G90				; back to absolute positioning
      
      G1 X150 Y150 F50000		; Position the endstop above the bed centre
      
      G91 				; Relative mode
      
      G4 P1000				; wait 500msec
      ;G31 P{sensors.probes[0].value[0] + 15}
      ;G30                     ; Probe the bed at the current XY position. 
                              ; When the probe is triggered, set the Z coordinate 
      						; to the probe trigger height.
      G1 Z-300 H1 F500		; Move Z down until the switch triggers (first pass)
      
      G4 P100				; wait 100msec
      G1 Z5 F2400			; Lift Z
      
      G4 P1000				; wait 100msec
      ;G31 P{sensors.probes[0].value[0] + 50}
      ;G30                     ; Probe the bed at the current XY position. 
                              ; When the probe is triggered, set the Z coordinate 
      						; to the probe trigger height.
      G1 Z-300 H1 F500		; Move Z down until the switch triggers (second pass)
      
      G4 P100				; wait 100msec
      G1 Z5 F5000			; Drop the Bed
      
      G90				; Back to absolute positioning
      
      

      and here is for example my tool0 pre, post and free:

      ; tfree0.g
      ; called when tool 0 is freed
      
      ;Drop the bed
      G91
      G1 Z4 F1000
      G90
      
      ;mesh levelling off
      G29 S2
      
      ;Purge nozzle
      ;M98 Ppurge_r.g
      
      ;Move In
      G53 G1 X320.9 Y280 F50000
      G53 G1 Y307 F50000
      G53 G1 Y332.5 F5000
      
      ;Open Coupler
      M98 P/macros/Coupler - Unlock
      
      ;fan off
      M106 P2 S0
      
      ;Move Out
      G53 G1 Y280 F50000
      
      
      ; tpost0.g
      ; called after tool 0 has been selected
      
      ;heatup
      M116 P0
      
      ;prime nozzle
      ;M98 Pprime_r.g
      
      ;mesh levelling on
      G29 S1
      
      ;PCF fan on
      M106 P2 R2
      
      
      ; tpre0.g
      ; called before tool 0 is selected
      
      ;Unlock Coupler
      M98 P/macros/Coupler - Unlock
      
      ;Move to location
      G1 X320.5 Y280 F50000
      
      ;Move in
      G1 Y307 F50000
      
      ;Collect
      G1 Y332.5 F2500
      
      ;Close Coupler
      M98 P/macros/Coupler - Lock
      
      ;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
      ;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool!
      G91
      G1 Z10 F1000
      G90
      
      ;Move Out
      G1 Y280 F4000
      
      

      and last but not least here is my Highmap

      RepRapFirmware height map file v2, min error -6.153, max error -5.886, mean -6.000, deviation 0.056
      axis0,axis1,min0,max0,min1,max1,radius,spacing0,spacing1,num0,num1
      X,Y,5.00,295.00,5.00,295.00,-1.00,40.00,40.00,8,8
       -5.919, -5.969, -5.986, -5.986, -5.994, -6.052, -6.036, -5.969
       -5.911, -5.952, -5.961, -5.969, -5.986, -6.028, -6.028, -5.961
       -5.886, -5.952, -5.969, -5.977, -6.003, -6.028, -6.036, -5.961
       -5.894, -5.952, -5.969, -5.986, -5.986, -6.052, -6.036, -5.969
       -5.903, -5.961, -5.969, -5.961, -5.994, -6.028, -6.052, -5.977
       -5.903, -5.961, -5.969, -5.977, -5.994, -6.061, -6.077, -6.011
       -5.944, -6.003, -6.028, -6.011, -6.036, -6.094, -6.111, -6.036
       -6.003, -6.044, -6.069, -6.036, -6.077, -6.119, -6.153, -6.102
      
      

      My Question is, what did i do wrong here?
      My printer is a self build toolchanger. Has 4 tools and a build volume of 300mm³.

      Thx for the help.

      1 Reply Last reply Reply Quote 0
      • jens55
        jens55 last edited by jens55

        Looks like maybe you didn't set your z zero before you started the bed mapping routine ?
        This is just a quick guess without going through all your config files though.

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

          Your homez uses the z endstop to homez. The z min height is -6mm. There's your 6mm offset.

          You should use the probe to home z with a G30 before doing the mesh with G29 so that it has an accurate Z0 position that matches the probe offset.

          Z-Bot CoreXY Build | Thingiverse Profile

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

            @phaedrux said in Strange highmap problem:

            Your homez uses the z endstop to homez. The z min height is -6mm. There's your 6mm offset.

            You should use the probe to home z with a G30 before doing the mesh with G29 so that it has an accurate Z0 position that matches the probe offset.

            Thx fo the info will try that and report the results but it sounds plausible ;).

            Edit: Some 30min later, the Problem is solved, thank you very much.

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