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

    Bad mesh compensation

    Scheduled Pinned Locked Moved
    General Discussion
    5
    24
    962
    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.
    • Ducati87undefined
      Ducati87 @Phaedrux
      last edited by

      @phaedrux

      bed.g:

      M561
      ;M671 X47:270 Y190:190 S3						   ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
      G28
      ; level the bed
      ;while iterations <=3 && move.calibration.initial.deviation >= 0.1
      	G30 P0 X47 Y190 Z-99999    ; probe near ball stud #1
      	G30 P1 X270  Y190 Z-99999 S2   ; probe near ball stud #2
      	;second stage
      	G30 P0 X47 Y190 Z-99999    ; probe near ball stud #1
      	G30 P1 X270  Y190 Z-99999 S2   ; probe near ball stud #2
      	;third stage
      	G30 P0 X47 Y190 Z-99999    ; probe near ball stud #1
      	G30 P1 X270  Y190 Z-99999 S2   ; probe near ball stud #2
      	;fourth stage
      	G30 P0 X47 Y190 Z-99999    ; probe near ball stud #1
      	G30 P1 X270  Y190 Z-99999 S2   ; probe near ball stud #2
      	;fifth stage
      	G30 P0 X47 Y190 Z-99999    ; probe near ball stud #1
      	G30 P1 X270  Y190 Z-99999 S2   ; probe near ball stud #2
      	;sixth stage
      	G30 P0 X47 Y190 Z-99999    ; probe near ball stud #1
      	G30 P1 X270  Y190 Z-99999 S2   ; probe near ball stud #2
      	M400
      	echo "Gantry deviation of " ^ move.calibration.initial.deviation ^ "mm obtained."
      	
      G1 H1 Z8
      
      
      
      

      homeall.g:

      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:18 GMT+0200 (Ora legale dell’Europa centrale)
      ;M400
      ;M913 X50 Y50
      ;M915 X F0 H400 S3 R0
      ;M915 Y F0 H400 S2 R0
      ;G91               		; relative positioning
      ;G1 H2 Z5 F7200          ; lift Z relative to current position
      ;G1 H1 X5 F5000
      ;G1 H1 X-305 F5000 S1		; move quickly to X or Y endstop and stop there (first pass)
      ;G1 H1 X10	
      M98 P"homex.g"
      
      ;G1 H1 Y5 F5000 
      ;G1 H1 Y-305 F5000 S1		; move quickly to X or Y endstop and stop there (first pass)
      ;M913 X100 Y100			     ; X motors to 100% current
      ;G90
      ;G1 X120 Y170 F7000           ; go to first bed probe point and home Z
      ;G91                ; relative positioning
      ;G1 H2 Z5 F7200     ; lift Z relative to current position
      ;G90                ; absolute positioning
      ;G1 X110 Y210 F7000           ; go to first bed probe point and home Z
      ;G4 P750             ; pause
      ;G91
      
      M98 P"homey.g"
      
      ;BLTouch Z
      ;G30
      ;G90
      ;G1 Z10 F500
      
      M98 P"homez.g"
      
      
      
      
      1 Reply Last reply Reply Quote 0
      • Ducati87undefined
        Ducati87 @Phaedrux
        last edited by

        @phaedrux said in Bad mesh compensation:

        M98 P"config.g"

        M98 P"config.g"
        HTTP is enabled on port 80
        FTP is disabled
        TELNET is disabled
        Error: Driver 0 does not support mode 'stealthChop'
        Error: Driver 1 does not support mode 'stealthChop'
        Error: Driver 3 does not support mode 'stealthChop'
        Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 267C
        
        M122
        === Diagnostics ===
        RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet WiFi 1.02 or later
        Board ID: 08DLM-996RU-N85S4-7JTDJ-3SN6T-9S93Q
        Used output buffers: 3 of 24 (24 max)
        === RTOS ===
        Static ram: 23460
        Dynamic ram: 73840 of which 104 recycled
        Never used RAM 14676, free system stack 93 words
        Tasks: NETWORK(ready,177) HEAT(blocked,308) MAIN(running,378) IDLE(ready,20)
        Owned mutexes: WiFi(NETWORK)
        === Platform ===
        Last reset 00:14:30 ago, cause: power up
        Last software reset at 2021-06-14 18:07, reason: User, GCodes spinning, available RAM 14960, slot 1
        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
        Error status: 0x0c
        Aux0 errors 0,0,0
        MCU temperature: min 21.3, current 31.4, max 31.7
        Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
        Driver 0: position 35360, standstill, SG min/max 0/171
        Driver 1: position -31200, standstill, SG min/max 0/166
        Driver 2: position 3165, standstill, SG min/max 0/147
        Driver 3: position 0, standstill, SG min/max not available
        Driver 4: position 0, standstill, SG min/max 0/139
        Driver 5: position 0
        Driver 6: position 0
        Driver 7: position 0
        Driver 8: position 0
        Driver 9: position 0
        Driver 10: position 0
        Driver 11: position 0
        Date/time: 2021-06-15 15:16:45
        Cache data hit count 1029472552
        Slowest loop: 65.57ms; fastest: 0.17ms
        I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
        === Storage ===
        Free file entries: 10
        SD card 0 detected, interface speed: 20.0MBytes/sec
        SD card longest read time 1.7ms, write time 2.6ms, max retries 0
        === Move ===
        DMs created 83, maxWait 186021ms, bed compensation in use: mesh, comp offset 0.000
        === MainDDARing ===
        Scheduled moves 309, completed moves 309, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
        === AuxDDARing ===
        Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
        === Heat ===
        Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
        Heater 1 is on, I-accum = 0.0
        === GCodes ===
        Segments left: 0
        Movement lock held by null
        HTTP is idle in state(s) 0
        Telnet is idle in state(s) 0
        File is idle in state(s) 0
        USB is idle in state(s) 0
        Aux is idle in state(s) 0
        Trigger is idle in state(s) 0
        Queue is idle in state(s) 0
        LCD is idle in state(s) 0
        Daemon is idle in state(s) 0
        Autopause is idle in state(s) 0
        Code queue is empty.
        === Network ===
        Slowest loop: 39.64ms; fastest: 0.00ms
        Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
        HTTP sessions: 1 of 8
        - WiFi -
        Network state is active
        WiFi module is connected to access point 
        Failed messages: pending 0, notready 0, noresp 0
        WiFi firmware version 1.25
        WiFi MAC address 98:f4:ab:d1:e5:99
        WiFi Vcc 3.36, reset reason Turned on by main processor
        WiFi flash size 4194304, free heap 23872
        WiFi IP address 192.168.178.7
        WiFi signal strength -62dBm, mode 802.11n, reconnections 0, sleep mode modem
        Clock register 00002002
        Socket states: 0 0 0 0 0 0 0 0
        
        1 Reply Last reply Reply Quote 0
        • jay_s_ukundefined
          jay_s_uk @Ducati87
          last edited by

          @ducati87 said in Bad mesh compensation:

          M671 X-15:290 Y114:114 S6

          why are you setting the Y screw location at Y114 but then you're probing at Y190?

          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

          Ducati87undefined 1 Reply Last reply Reply Quote 0
          • Ducati87undefined
            Ducati87 @jay_s_uk
            last edited by

            @jay_s_uk

            Y114 is the right probe position in front of the lead screw.

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

              your homeall just calls the individual homing files, can you post those?

              0,0 is expected to be the front left corner of the build plate.
              -x moves to the left, +x moves to the right
              -y moved to the front, +y moves to the back

              Does this match what you have?

              Z-Bot CoreXY Build | Thingiverse Profile

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

                @phaedrux said in Bad mesh compensation:

                your homeall just calls the individual homing files, can you post those?

                0,0 is expected to be the front left corner of the build plate.
                -x moves to the left, +x moves to the right
                -y moved to the front, +y moves to the back

                Does this match what you have?

                yes they are matched.

                homex:

                ; homex.g
                ; called to home the X axis
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:18 GMT+0200 (Ora legale dell’Europa centrale)
                M400
                M913 X50
                M400
                M201 X200
                M915 X F0 H400 S1 R0
                G91               ; relative positioning
                ;G1 H2 Z5 F7200    ; lift Z relative to current position
                G1 H2 Z10 F7000
                G1 H1 X-305 F5000 ; move quickly to X axis endstop and stop there (first pass)
                G1 H2 X10 F7200       ; go back a few mm
                G1 H1 X-305 F3000  ; move slowly to X axis endstop once more (second pass)
                G1 H2 X15 F7200   ; lower Z again
                G90               ; absolute positioning
                M400
                M201 X4000
                M913 X100
                M400
                
                

                homey:

                ; homey.g
                ; called to home the Y axis
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:19 GMT+0200 (Ora legale dell’Europa centrale)
                G91               ; relative positioning
                M913 Y50
                M201 Y100
                M915 Y F0 H400 S1 R0
                ;G1 H2 Z5 F7200          ; lift Z relative to current position
                G1 H1 Y-305 F5000 		; move quickly to X or Y endstop and stop there (first pass)
                G1 H1 Y10	
                ;G1 H1 Y-100 F5000        ; home Y axis
                M913 Y100
                M201 Y4000
                G90               ; absolute positioning
                
                

                homez:

                ; homez.g
                ; called to home the Z axis
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:19 GMT+0200 (Ora legale dell’Europa centrale)
                G91                ; relative positioning
                ;G1 H2 Z5 F7200     ; lift Z relative to current position
                ;G90                ; absolute positioning
                G1 H1 Z10 F800
                G1 X140 Y174 F7000           ; go to first bed probe point and home Z
                G4 P750             ; pause
                G91
                
                ;Probe Z
                G30
                G90
                ;G1 Z10 F500
                
                
                
                Phaedruxundefined 1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator @Ducati87
                  last edited by

                  @ducati87 said in Bad mesh compensation:

                  G1 H1 Y-305 F5000 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 Y10

                  This is not correct. The second move G1 H1 Y10 should not have H1 if it's a back off move it should just be G1 Y10

                  @ducati87 said in Bad mesh compensation:

                  G1 H2 Z10 F7000 G1 H1 X-305 F5000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X10 F7200 ; go back a few mm G1 H1 X-305 F3000 ; move slowly to X axis endstop once more (second pass) G1 H2 X15 F7200 ; lower Z again

                  H2 should only be used on Z moves to allow the Z axis to move before being homed. It should not be used on XY moves. There is also an error in the block above where the Z axis is lifted, but then the X axis is moved when the comment says to lower the Z axis.

                  M671 X-15:290 Y114:114 S6

                  Does driver 2 match the motor at the first XY position?
                  Does driver 4 match the motor at the second XY position?

                  G31 P500 X37 Y72 Z-1.044
                  You have a rather large offset on Y axis. If there is some tilt it can produce different trigger heights depending on XY position.

                  Your Z trigger height is negative. Is that correct? That would mean the nozzle is pushing a full 1mm into the surface of the bed when the probe triggers? Depending on the probe type this may be the case. What type of probe is it?

                  Z-Bot CoreXY Build | Thingiverse Profile

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

                    @phaedrux said in Bad mesh compensation:

                    @ducati87 said in Bad mesh compensation:

                    G1 H1 Y-305 F5000 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 Y10

                    This is not correct. The second move G1 H1 Y10 should not have H1 if it's a back off move it should just be G1 Y10

                    @ducati87 said in Bad mesh compensation:

                    G1 H2 Z10 F7000 G1 H1 X-305 F5000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X10 F7200 ; go back a few mm G1 H1 X-305 F3000 ; move slowly to X axis endstop once more (second pass) G1 H2 X15 F7200 ; lower Z again

                    H2 should only be used on Z moves to allow the Z axis to move before being homed. It should not be used on XY moves. There is also an error in the block above where the Z axis is lifted, but then the X axis is moved when the comment says to lower the Z axis.

                    M671 X-15:290 Y114:114 S6

                    Does driver 2 match the motor at the first XY position?
                    Does driver 4 match the motor at the second XY position?

                    G31 P500 X37 Y72 Z-1.044
                    You have a rather large offset on Y axis. If there is some tilt it can produce different trigger heights depending on XY position.

                    Your Z trigger height is negative. Is that correct? That would mean the nozzle is pushing a full 1mm into the surface of the bed when the probe triggers? Depending on the probe type this may be the case. What type of probe is it?

                    thank you for your reply.

                    M671 X-15:290 Y114:114 S6

                    Does driver 2 match the motor at the first XY position?
                    Does driver 4 match the motor at the second XY position?

                    yes both of them.

                    G31 P500 X37 Y72 Z-1.044
                    You have a rather large offset on Y axis. If there is some tilt it can produce different trigger heights depending on XY position.

                    I reduced the gap between the probe and the bed and now the right value is 0.750.

                    The problem between the left and right side is a bit better than before but the compensation is not perfect.
                    The right side is still a bit upper than the left side but the compensation doesn't work as well.
                    Maybe I should to change the probe or install a bltouch in order to improve the accuracy.

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

                      What is the probe? Reducing the distance between nozzle and probe may help.

                      Can you post a photo of your heightmap image?

                      Z-Bot CoreXY Build | Thingiverse Profile

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

                        @phaedrux said in Bad mesh compensation:

                        What is the probe? Reducing the distance between nozzle and probe may help.

                        it's a normal inductive probe NPN.

                        Schermata 2021-06-15 alle 21.54.24.png

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

                          Have you leveled the bed manually to get it more or less even to the nozzle tip first?

                          Z-Bot CoreXY Build | Thingiverse Profile

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

                            @phaedrux said in Bad mesh compensation:

                            Have you leveled the bed manually to get it more or less even to the nozzle tip first?

                            do you mean the z offset?

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

                              No i mean manually leveling the bed to try and eliminate as much tilt as possible.

                              Z-Bot CoreXY Build | Thingiverse Profile

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

                                @phaedrux said in Bad mesh compensation:

                                No i mean manually leveling the bed to try and eliminate as much tilt as possible.

                                No I'm not. Yes but why there is this problem with automatic leveling?

                                engikeneerundefined 1 Reply Last reply Reply Quote 0
                                • engikeneerundefined
                                  engikeneer @Ducati87
                                  last edited by

                                  @ducati87 you only have two z lead screws, at the max and min of the x axis (left/right), so the G32 levelling can only level along the x axis. From you heightmap image, it looks like your heightmap is very level in X as expected 🙂

                                  You should probably try mechanically levelling your bed a bit better from front to back. From your first image, it seems that's the direction the issue is in?

                                  E3D TC with D3Mini and Toolboards.
                                  Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
                                  i3 clone with a bunch of mods

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

                                    Yes it seems a large Y tilt, possibly related to the large Y offset of the probe.

                                    Z-Bot CoreXY Build | Thingiverse Profile

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

                                      @phaedrux
                                      is there any chance to fix it?

                                      maybe I should to move the probe in a better position.

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

                                        It's always best to have the probe as close to the nozzle as possible.

                                        Z-Bot CoreXY Build | Thingiverse Profile

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

                                          @phaedrux said in Bad mesh compensation:

                                          It's always best to have the probe as close to the nozzle as possible.

                                          ok I will try to move the probe in a better position. thank you so much.

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