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

mesh bed compensation

Scheduled Pinned Locked Moved
General Discussion
4
6
324
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
    R006
    last edited by 10 Jun 2024, 12:34

    Hey,

    I am currently using a Cartesian XY printer with a Duet2 board running RepRap firmware 3.5.1, and I am experiencing some issues with mesh bed compensation. My printer has a glass bed measuring 500x500 mm.

    ; define mesh grid
    M557 X35:500 Y35:500 S25
    M376 H5

    Here is a question
    Does Mesh Bed Compensation have limitation?

    20240610_162225.jpg

    According to the heightmap, the back area of the bed is lower than the rest. This causes problems with print adhesion in that region. Despite my attempts at mesh bed compensation, prints are still not sticking well in the lower area.

    The probing method I am using a BL-Touch sensor.

    so any suggestions? @dc42 @Phaedrux

    undefined 1 Reply Last reply 11 Jun 2024, 13:20 Reply Quote 0
    • undefined
      droftarts administrators @R006
      last edited by 11 Jun 2024, 13:20

      @R006 How is the BLTouch configured? What is it's offset from the nozzle? Do you home the bed at X0 Y0, rather than in the middle? Your bed has nearly 2mm of deviation, which is pretty bad, and should be visually obvious, especially if you put a straight edge across the bed.

      As for bed mesh, there aren't any particular limitations. If the bed mesh doesn't seem accurate, it's usually that the probe is measuring somewhere different to where the nozzle is at the same coordinates (ie probe offset is wrong) or that there is enough movement of the carriage/hotend that the nozzle offset is either under or over-exaggerating the measured distance at each point.

      Ian

      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

      undefined 1 Reply Last reply 12 Jun 2024, 05:55 Reply Quote 0
      • undefined
        R006 @droftarts
        last edited by 12 Jun 2024, 05:55

        hey,

        The offset of BL-touch is X0 Y0 used as of now.
        but when i add offset G31 X-29.8 Y-28.5 Z2.55 P500 (actual) there is warning, "Warning: Skipping grid point (30.0, 250.0) because Z probe cannot reach it" and many more same kind of warning at different point, but mostly at centre.

        with X0 Y0, without mesh, just by auto-level, if nozzle reach the (450,450) coordinate, the nozzle quite away from bed(visually),

        Z homed at bottom (500,500). then bring it up to (0,0), then auto-level using centre height & then mesh learned.
        also tried average trigger height at 5 points, but yet the problem remain same.

        Note: machine is guide rod based

        Please provide some suggestions? how to i find the problem's root cause?

        Suggest some method to find the problem's root cause whether with carriage or with mesh settings

        undefined undefined 2 Replies Last reply 12 Jun 2024, 07:21 Reply Quote 0
        • undefined
          gloomyandy @R006
          last edited by 12 Jun 2024, 07:21

          @R006 Is this using the version of RRF that you have compiled? What changes have you made? Post your full config.g file and the output from M122 so we can see how you have things configured.

          undefined 1 Reply Last reply 12 Jun 2024, 10:45 Reply Quote 0
          • undefined
            R006 @gloomyandy
            last edited by R006 6 Dec 2024, 10:46 12 Jun 2024, 10:45

            Is this using the version of RRF that you have compiled? What changes have you made?
            I am currently using the RRF 3.5.1 firmware for my Duet board. I have downloaded the bin file available on your website.

            Post your full config.g file and the output from M122 so we can see how you have things configured.
            config.g

            ; Drives
            M569 P0 S1
            M569 P1 S1
            M569 P2 S1
            M569 P3 S1
            M569 P4 S1
            M569 P5 S1
            M584 X0 Y1 Z2:3:4 E5
            M350 X32 Y32 Z16 E16 I1
            M92 X66.68 Y66.68 Z1600 E932.00
            M566 X600.00 Y600.00 Z300.00 E600.00
            M203 X9000.00 Y9000.00 Z300.00 E6000.00
            M201 X1500.00 Y1500.00 Z70.00 E250.00
            M906 X2000 Y2000 Z2000 E800 I50
            M84 S30
            M208 X0 Y0 Z0 S1
            M208 X500 Y500 Z507.3 S0
            M950 S0 C"exp.heater3"
            M558 P9 C"^zprobe.in" H5 F120 T6000
            G31 P500 X0 Y0 Z2.55
            M671 X-25.40:509.60:242.60 Y-38.95:-38.95:511.30 S5.0 F1.2
            ; define mesh grid
            M557 X35:500 Y35:500 S25
            M376 H5
            M575 P1 S1 B57600
            M501
            M911 S21 R22.5 P"M913 X0 Y0 G91 M83 G1 Z5 E-5 F1000"

            M122

            power up + 00:00:11 [debug] === Diagnostics ===
            power up + 00:00:11 [debug] RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later
            power up + 00:00:11 [debug] Board ID: 0JD0M-9P6B2-NJ4S8-6JKDG-3SD6J-1V7LL
            power up + 00:00:11 [debug] Used output buffers: 3 of 26 (11 max)
            power up + 00:00:11 [debug] === RTOS ===
            power up + 00:00:11 [debug] Static ram: 23256
            power up + 00:00:11 [debug] Dynamic ram: 73080 of which 12 recycled
            power up + 00:00:11 [debug] Never used RAM 16796, free system stack 190 words
            power up + 00:00:11 [debug] Tasks:
            power up + 00:00:11 [debug] NETWORK(1,ready,22.1%,519)
            power up + 00:00:11 [debug] HEAT(3,nWait 5,0.0%,328)
            power up + 00:00:11 [debug] Move(4,nWait 5,0.0%,359)
            power up + 00:00:11 [debug] MAIN(1,running,70.6%,737)
            power up + 00:00:11 [debug] IDLE(0,ready,7.2%,29)
            power up + 00:00:11 [debug] , total 100.0%
            Owned mutexes:
            power up + 00:00:11 [debug] Aux(MAIN)
            power up + 00:00:11 [debug] === Platform ===
            power up + 00:00:11 [debug] Last reset 00:00:11 ago, cause: power up
            power up + 00:00:11 [debug] Last software reset time unknown, reason: User, Gcodes spinning, available RAM 12260, slot 2
            power up + 00:00:11 [debug] Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
            power up + 00:00:11 [debug] Error status: 0x08
            power up + 00:00:11 [debug] Aux0 errors 0,0,0
            power up + 00:00:11 [debug] MCU temperature: min 29.7, current 32.4, max 32.4
            power up + 00:00:11 [debug] Supply voltage: min 23.9, current 23.9, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
            power up + 00:00:11 [debug] Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
            power up + 00:00:11 [debug] Events: 0 queued, 0 completed
            power up + 00:00:11 [debug] Driver 0: standstill, SG min n/a
            power up + 00:00:11 [debug] Driver 1: standstill, SG min n/a
            power up + 00:00:11 [debug] Driver 2: standstill, SG min n/a
            power up + 00:00:11 [debug] Driver 3: standstill, SG min n/a
            power up + 00:00:11 [debug] Driver 4: standstill, SG min n/a
            power up + 00:00:11 [debug] Driver 5:
            power up + 00:00:11 [debug] Driver 6:
            power up + 00:00:11 [debug] Driver 7:
            power up + 00:00:11 [debug] Driver 8:
            power up + 00:00:11 [debug] Driver 9:
            power up + 00:00:11 [debug] Driver 10:
            power up + 00:00:11 [debug] Driver 11:
            power up + 00:00:11 [debug] Date/time:
            power up + 00:00:11 [debug] 1970-01-01 00:00:00
            power up + 00:00:11 [debug] Cache data hit count 418188220
            power up + 00:00:11 [debug] Slowest loop: 428.12ms; fastest: 0.20ms
            power up + 00:00:11 [debug] I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
            power up + 00:00:11 [debug] === Storage ===
            Free file entries: 9
            power up + 00:00:11 [debug] SD card 0 detected, interface speed: 20.0MBytes/sec
            power up + 00:00:11 [debug] SD card longest read time 3.5ms, write time 197.0ms, max retries 0
            power up + 00:00:11 [debug] === Move ===
            DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
            power up + 00:00:11 [debug] no step interrupt scheduled
            power up + 00:00:11 [debug] Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
            power up + 00:00:11 [debug] === DDARing 0 ===
            Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
            power up + 00:00:11 [debug] === Heat ===
            power up + 00:00:11 [debug] Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
            power up + 00:00:11 [debug] === GCodes ===
            power up + 00:00:11 [debug] Movement locks held by null
            power up + 00:00:11 [debug] HTTP is idle in state(s) 0
            power up + 00:00:11 [debug] Telnet is idle in state(s) 0
            power up + 00:00:11 [debug] File is idle in state(s) 0
            power up + 00:00:11 [debug] USB is idle in state(s) 0
            power up + 00:00:11 [debug] Aux is ready with "M122" in state(s) 0
            power up + 00:00:11 [debug] Trigger is idle in state(s) 0
            power up + 00:00:11 [debug] Queue is idle in state(s) 0
            power up + 00:00:11 [debug] LCD is idle in state(s) 0
            power up + 00:00:11 [debug] Daemon is idle in state(s) 0
            power up + 00:00:11 [debug] Autopause is idle in state(s) 0
            power up + 00:00:11 [debug] Q0 segments left 0
            power up + 00:00:11 [debug] Code queue 0 is empty
            power up + 00:00:11 [debug] === Filament sensors ===
            check 0 clear 34451
            power up + 00:00:11 [debug] Extruder 0 sensor: no data received
            power up + 00:00:11 [debug] === Network ===
            power up + 00:00:11 [debug] Slowest loop: 0.40ms; fastest: 0.00ms
            power up + 00:00:11 [debug] Responder states:
            power up + 00:00:11 [debug] HTTP(0)
            power up + 00:00:11 [debug] HTTP(0)
            power up + 00:00:11 [debug] HTTP(0)
            power up + 00:00:11 [debug] FTP(0)
            power up + 00:00:11 [debug] Telnet(0)
            power up + 00:00:11 [debug] HTTP sessions: 0 of 8
            power up + 00:00:11 [debug] === WiFi ===
            Interface state: disabled
            Module is disabled
            Failed messages: pending 0, notrdy 0, noresp 0
            power up + 00:00:11 [debug] Socket states:
            power up + 00:00:11 [debug] 0
            power up + 00:00:11 [debug] 0
            power up + 00:00:11 [debug] 0
            power up + 00:00:11 [debug] 0
            power up + 00:00:11 [debug] 0
            power up + 00:00:11 [debug] 0
            power up + 00:00:11 [debug] 0
            power up + 00:00:11 [debug] 0
            power up + 00:00:19 [warn] Warning: VIN under-voltage event (9.3V)
            1 Reply Last reply Reply Quote 0
            • undefined
              Phaedrux Moderator @R006
              last edited by 12 Jun 2024, 19:48

              @R006 said in mesh bed compensation:

              Please provide some suggestions? how to i find the problem's root cause?

              Twist in the XY gantry movement can alter the print head position and change the angle of the print head, meaning the bltouch to nozzle offset is incorrect at those positions. This is the usual cause for when the mesh doesn't seem to work correctly in certain areas of the bed such as those shown on your map near the back. This is also a common area for the X Y gantry to have inconsistencies in the build.

              One way to check this is to set your M558 probe type to P0 which enables manual probing. With manual probing you will be prompted to manually jog the nozzle down to touch the bed surface.

              Z-Bot CoreXY Build | Thingiverse Profile

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