mesh bed compensation
-
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?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.
-
@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
-
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
-
@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.
-
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)
-
@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.