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

    Bad mesh compensation

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

      @ducati87 said in Bad mesh compensation:

      another strange thing is that when I launch the G29, the probing starts on the opposite side of point X0Y0

      This probably means your coordinate system doesn't match the expectation of a right handed coordinate system.

      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? If not, you may need to adjust your motor rotation directions and homing directions and possibly the endstop config.

      For a corexy the easiest way to determine the proper config is to use this guide: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement

      And see this post: https://forum.duet3d.com/topic/14971/vcore-pro-core-xy-the-x-and-y-axis-home-issue/4?_=1623696301478

      Cartesian-coordinate-system.png

      Please also post your homeall.g and bed.g files.
      The results of M122 and M98 P"config.g" can be helpful as well.

      Z-Bot CoreXY Build | Thingiverse Profile

      Ducati87undefined 2 Replies Last reply Reply Quote 0
      • 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