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

Mesh Compensation not working (left side higher than right)

Scheduled Pinned Locked Moved
Tuning and tweaking
3
10
443
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.
  • undefined
    ThePfeiffenator
    last edited by 20 Feb 2022, 02:34

    Here is my heightmap.

    Heightmap.JPG

    When I try and do a print with Mesh compensation enabled or not the left side is always higher than the right. I know that it is trying as I have seen the motors move, but it doesn't seem like it has any noticeable affect.

    Here is my Config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.3.0 on Tue Aug 03 2021 11:42:17 GMT-0500 (Central Daylight Time)
    ; General preferences
    M575 P1 S1 B57600 ; enable support for PanelDue
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"HyperCube" ; set printer name
    M669 K1 ; select CoreXY mode
    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S1 ; enable FTP
    M586 P2 S1 ; enable Telnet
    ; Drives
    M569 P0 S0 ; physical drive 0 goes forwards
    M569 P1 S0 ; physical drive 1 goes forwards
    M569 P2 S0 ; physical drive 2 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E409.00 ; set steps per mm
    M566 X900.00 Y900.00 Z99.60 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z600.00 E3000.00 ; set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z200.00 E10000.00 ; set accelerations (mm/s^2)
    M906 X950 Y950 Z950 E950 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X271 Y290 Z280 S0 ; set axis maxima
    ; Endstops
    M574 X1 S3 F0 R0 ; Set active High endstops (S1=SENSORED) (X-MIN(1)) (S3=SENSORLESS)
    M574 Y0 S3 F0 R0 ; Set active High endstops (S1=SENSORED) (Y-MIN(1)) (S3=SENSORLESS)
    M574 X1 Y1 S3 ; Set endstops controlled by motor load detection
    M574 Z1 S2 ; configure sensorless endstop for low end on Y and X
    M915 X Y S7 R0 F0
    ; Z-Probe
    M950 S0 C"exp.heater7" ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H3 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-2 Y-38 Z1.25 ; set Z probe trigger value, offset and trigger height
    M557 X15:250 Y15:250 S20 ; define mesh grid
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    ; Fans
    ;M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    ;M106 C"PartCoolingFan" P0 S0 H-1 B1 ; set fan 0 value. Thermostatic control is turned off
    ;M950 F1 C"fan1" Q500 ;HOTEND FAN create fan 1 on pin fan1 and set its frequency
    ;M106 C"HotendFAN" P1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    M950 F0 C"fan0" Q500
    M106 P0 S0 H-1 B1
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    ; Tools
    M563 P0 D0 H1 F1 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
    ; Custom settings are not defined
    M671 X50:250:250:50 Y250:250:50:50 P0.5 ; point1 (50,250), point2 (250,250), point3 (250,50), point4 (50,50)
    ; Miscellaneous
    M501 ; load saved parameters from non-volatile memory
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

    Let me know if you need anything else. I have never felt so dumb in my life trying to figure this thing out.

    1 Reply Last reply Reply Quote 0
    • undefined
      Phaedrux Moderator
      last edited by 20 Feb 2022, 05:38

      Please post the results of M122 and M98 P"config.g"
      Also please post your homing files, bed.g, mesh.g, and your slicer start gcode.

      Z-Bot CoreXY Build | Thingiverse Profile

      undefined 1 Reply Last reply 20 Feb 2022, 23:25 Reply Quote 0
      • undefined
        ThePfeiffenator @Phaedrux
        last edited by 20 Feb 2022, 23:25

        @phaedrux Here are the things you requested. Though I do not see a mesh.g file.

        M122

        M122
        === Diagnostics ===
        RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later
        Board ID: 08DGM-917DA-G4MS8-6JTD2-3SJ6T-T9VB8
        Used output buffers: 3 of 24 (11 max)
        === RTOS ===
        Static ram: 23876
        Dynamic ram: 75240 of which 12 recycled
        Never used RAM 15288, free system stack 184 words
        Tasks: NETWORK(ready,10.2%,251) HEAT(delaying,0.0%,314) Move(notifyWait,0.1%,364) MAIN(running,86.3%,461) IDLE(ready,3.4%,29), total 100.0%
        Owned mutexes:
        === Platform ===
        Last reset 00:00:27 ago, cause: power up
        Last software reset at 2022-02-19 20:13, reason: User, GCodes spinning, available RAM 15288, slot 2
        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
        Error status: 0x00
        Aux0 errors 0,0,0
        Step timer max interval 0
        MCU temperature: min 17.4, current 20.0, max 20.3
        Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
        Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
        Driver 0: position 0, standstill, SG min/max not available
        Driver 1: position 0, standstill, SG min/max not available
        Driver 2: position 0, standstill, SG min/max not available
        Driver 3: position 0, standstill, SG min/max not available
        Driver 4: position 0, standstill, SG min/max not available
        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: 2022-02-20 17:19:19
        Cache data hit count 1031252570
        Slowest loop: 4.70ms; 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.5ms, write time 0.0ms, max retries 0
        === Move ===
        DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
        === MainDDARing ===
        Scheduled moves 0, completed moves 0, 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
        === 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: 183.36ms; fastest: 0.00ms
        Responder states: HTTP(2) HTTP(2) 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.22
        WiFi MAC address bc:dd:c2:89:9f:4c
        WiFi Vcc 3.36, reset reason Turned on by main processor
        WiFi flash sizeSocket states: 4 2 0 0 0 0 0 0

        M98 P"config.g"

        HTTP is enabled on port 80
        FTP is enabled on port 21
        TELNET is enabled on port 23

        homeall.g

        ; homeall.g
        ; called to home all axes
        ;
        ; generated by RepRapFirmware Configuration Tool v3.3.0 on Tue Aug 03 2021 11:42:18 GMT-0500 (Central Daylight Time)
        M561
        M400
        M913 X70 Y70 ; drop motor current to 70%
        M400 G91; relative positioning
        G1 H2 Z10 F12000 ; lift Z relative to current position
        G1 H1 X-320.5 F10000 ; move quickly to X axis endstop and stop there (first pass)
        G1 H2 X5 F12000 ; go back a few mm
        G1 H1 X-320.5 F7000 ; move slowly to X axis endstop once more (second pass)
        G1 H2 Z-10 F6000 ; lower Z again
        G90 ; absolute positioning
        M400
        M913 X100 Y100 ; return current to 100%
        M400
        M400
        M913 X70 Y70 ; drop motor current to 70%
        M400 G91; relative positioning
        G1 H2 Z10 F12000 ; lift Z relative to current position
        G1 H1 Y-320.5 F10000 ; move quickly to X axis endstop and stop there (first pass)
        G1 H2 Y5 F12000 ; go back a few mm
        G1 H1 Y-320.5 F7000 ; move slowly to X axis endstop once more (second pass)
        G1 H2 Z-10 F6000 ; lower Z again
        G90 ; absolute positioning
        M400
        M913 X100 Y100 ; return current to 100%
        M400
        ; BLTouch prep so we don't catch the probe pin on the edge of the bed
        ;
        M280 P7 S160 I1 ; Alarm Release and Push-Pin UP just in case it's in alarm and deployed
        M402 ; Retract probe just in case it's down
        ; Drop the bed for travel
        ;
        G91 ; Relative positioning
        G1 Z5 F200 H2 ; Lower bed 5mm to ensure it is below the trigger height
        ; Move probe into position
        ;
        G90 ; absolute positioning
        G1 X145 Y145 F4000 ; Move x and Y axis over to bed center so probe is on top of bed
        ; Set lower speeds for homing
        ;
        M566 Z5 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
        M203 Z400 ; Set maximum speeds (mm/min)
        M201 Z100 ; Set maximum accelerations (mm/s^2)
        ; Probe the bed
        ;
        M558 A1 F350 ; Set single probing at faster feed rate
        G30 ; Do a single probe to home our Z axis
        M558 A10 F100 ; Set tripple probing at slower feed rate
        G30 ; Probe again to get a more accurate position
        ; Set normal speeds again
        ;
        M566 Z60 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
        M203 Z600 ; Set maximum speeds (mm/min)
        M201 Z600 ; Set maximum accelerations (mm/s^2)
        ; Uncomment the following lines to lift Z after probing
        ;G91 ; relative positioning
        ;G1 Z3 F100 ; lift Z relative to current position
        ;G90 ; absolute positioning

        Bed.g

        ; bed.g
        ; called to perform automatic bed compensation via G32
        ;
        ; generated by RepRapFirmware Configuration Tool v3.3.0 on Tue Aug 03 2021 11:42:17 GMT-0500 (Central Daylight Time)
        M561 ; clear any bed transform
        G29 ; probe the bed and enable compensation

        Start G-code

        M107 ;start with the fan off
        G28 ;auto home
        M109 S235;
        G1 X0 Y20 Z0.2 F3000 ; get ready to prime
        G92 E0 ; reset extrusion distance
        G1 Z1.0 F3000 ; move z up little to prevent scratching of surface
        G1 X2 Y20 Z0.3 F5000.0 ; move to start-line position
        G1 X5 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line
        G1 X5 Y200.0 Z0.3 F5000.0 ; move to side a little
        G1 X5 Y20 Z0.3 F1500.0 E30 ; draw 2nd line
        ; G1 E27 F3000 ; retract filament 3mm
        G92 E0 ; reset extruder
        ; done purging extruder
        G1 Z1.0 F3000 ; move z up little to prevent scratching of surface
        G29 S1;
        1 Reply Last reply Reply Quote 0
        • undefined
          Phaedrux Moderator
          last edited by Phaedrux 21 Feb 2022, 05:29

          A couple things to check.

          Make sure your axis directions are correct.

          -X should move left, +X should move right
          -Y should move to the front of the bed, +Y to the back.

          Double check your probe offsets keeping those directions in mind. Your current offset says the probe is 2mm to the left of the nozzle and 38mm in front of it. Is that right?

          Also check the probe trigger height using G30 S-1 at different points on the bed. Ideally it should be consistently the same everywhere on the bed. See if you notice it changing at different points. This could explain incorrect positioning.

          If those are all correct, please do a first layer test print once with the mesh enabled and once with it disabled using a test file like this.

          bedlevel_nozzle_0.4_200x200-0.3-0.8.stl

          @thepfeiffenator said in Mesh Compensation not working (left side higher than right):

          bed compensation in use: none

          Your M122 shows that the mesh isn't enabled, but based on your gcode it would only be enabled at the start of the print, which is fine. But you can send M122 during a print to make sure it shows "bed compensation in use: mesh"

          Z-Bot CoreXY Build | Thingiverse Profile

          undefined 2 Replies Last reply 21 Feb 2022, 22:09 Reply Quote 0
          • undefined
            ThePfeiffenator @Phaedrux
            last edited by ThePfeiffenator 21 Feb 2022, 22:09

            @phaedrux

            So I probed in 5 points around the bed via G30 S-1.

            Center: Stopped at height 1.253 mm

            Rear Left: Stopped at height 1.072 mm

            Rear Right: Stopped at height 0.885 mm

            Front Right: Stopped at height 1.138 mm

            Front Left: Stopped at height 1.065 mm

            So they are definitely different. I use a BL Touch, do you think I have a defective one? Or do you know what might cause my deviations?

            fcwiltundefined 1 Reply Last reply 22 Feb 2022, 02:20 Reply Quote 0
            • undefined
              ThePfeiffenator @Phaedrux
              last edited by 22 Feb 2022, 01:27

              @phaedrux So I did some more investigating and found that my bed is level to my x axis, but here is my new height map, which causes it to compensate incorrectly by moving the bed up when it is in fact level on either side.

              6635d4d9-db5a-4c16-b829-757f24c015cd-image.png

              1 Reply Last reply Reply Quote 0
              • fcwiltundefined
                fcwilt @ThePfeiffenator
                last edited by 22 Feb 2022, 02:20

                @thepfeiffenator said in Mesh Compensation not working (left side higher than right):

                @phaedrux

                So I probed in 5 points around the bed via G30 S-1.

                Center: Stopped at height 1.253 mm

                Rear Left: Stopped at height 1.072 mm

                Rear Right: Stopped at height 0.885 mm

                Front Right: Stopped at height 1.138 mm

                Front Left: Stopped at height 1.065 mm

                So they are definitely different. I use a BL Touch, do you think I have a defective one? Or do you know what might cause my deviations?

                Are you thinking they should all be similar? They would only be similar if all the points you probed were at the same Z height.

                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
                • undefined
                  Phaedrux Moderator
                  last edited by 22 Feb 2022, 02:36

                  Perhaps I should have been more specific on the use of G30 S-1.

                  You should use this method as described for setting the offset in G31.

                  https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing#calibrate-the-z-probe-trigger-height

                  Resetting Z0 using G92 Z0 at each location you wish to test at before sending G30 S-1

                  Z-Bot CoreXY Build | Thingiverse Profile

                  undefined 1 Reply Last reply 22 Feb 2022, 03:40 Reply Quote 0
                  • undefined
                    ThePfeiffenator @Phaedrux
                    last edited by 22 Feb 2022, 03:40

                    @phaedrux Oh yeah, the trigger height is correct in the center of the bed, but on the sides it is not.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Phaedrux Moderator
                      last edited by 22 Feb 2022, 04:27

                      There could be something out of square with the frame, or the printhead is tilting a bit.

                      If you do that G92 Z0 G30 S-1 test in a row along the bed moving towards where it gets out does it slowly increase as it goes?

                      Z-Bot CoreXY Build | Thingiverse Profile

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