topic_solved Bed leveling seems inactive - strange results (solved)
(Ender 3 - Duet Wifi - 2.03beta2 (2019-02-16b1) / Wifi 2.12)
I am experiencing a small issue with ABl, first layer adhesion seems to taper off radially from the bed center and this doesn't match with my mesh at all:
I am using G29 S0; in my slicer's start code and tried adding G32 with 5 probe points before but with the same result (I still don't really understand if G32 is another implementation of G29 or just a 'wrapper' for the bed.g file).
Resulting first layer:
... and final Print:
Mesh looks consistent over multiple G29 runs and I don't think the bed's PEI surface is to blame / non uniform...
Any ideas are much apreciated - many thanks in advance!
G32 just calls bed.g. Bed.g could contain whatever you want. The old way of generating a multipoint plane has been deprecated in favour of the mesh generated by G29. You can approximate the old way of doing it by using a sparse mesh grid, if your bed is quite flat and you want to probe quickly before each print. Alternatively, if your print bed is fairly stable, you can do a very detailed grid only occasionally, and save the resulting heightmap and reload it before printing.
You could try increasing the mesh density to see if your current grid is missing some dips or something.
What is your probe?
Can you post your homing files and slicer start gcode as well?
If you print a test pattern like this with and without the mesh enabled, how does it look? 0_1563555254190_bedlevel_nozzle_0.4_200x200-0.3-0.8.stl
Thanks a lot for the explaination of G32 - now I get it.
My inductive probe is a clone of what Prusa calls the PINDA... I think. Using it on this printer and an Ender 2 with Marlin - it seems to give good repeatability (if I keep an eye on temperature):
I have been using G29 to probe a new mesh over the last dozen test prints - before and after:
I also set M557 X20:200 Y30:190 S10 to increase resolution but another test print shows the same falloff:
I don't think it's a density issue since I tried with half the grid spacing and the amount of offset visible in the print doesn't match the probe points anyway.
M122 tells me that mesh compensation is in use and I can see Z adjusting when I command X or Y moves.
I tried to print your test pattern (thanks for taking the time so create/select one that matches my build plate dimensions!) and well... :
It looks better than it is - since I tuned my Z-offset in the middle of the bed, some of the lines are partly floating / I could see them "fall" from the nozzle onto the bed:
Since my Z-offset makes no sense (I have to step the nozzle down to -0.6 till it catches a piece of paper but setting that offset in the slicer makes it damage the bed - about -0.26 seems to work) and bed compensation is not working I am afraid to bring the nozze down further... just bought a new spring steel plate and managed to put on a bubble-free PEI sheet
My slicer's (Prusa Slicer 2) start GCode:
*M203 X30000.00 Y30000.00 Z300.00 E1500.00 ; Set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z100.00 E5000.00 ; Set accelerations (mm/s^2)
M566 X600.00 Y600.00 Z18.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
G29 S0; S1 to load heightmap from file / S0 for mesh update + save to file
G1 X5 Y20 Z2 F5000.0 ; move to start-line position
G1 X5 Y20 Z0.0 F5000.0 ; move to start-line position -0.25
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
G92 E0 ; reset extruder
G1 X5 Y20 Z0.2 F5000.0 ; move to start-line position
G1 X5 Y133.0 Z0.2 F1500.0 E10 ; draw 1st line
;G1 E-4.08000 F3600.00000; retract
G1 X5 Y200.0 Z0.2 F6000.0 ; finish 1st line
G1 Z1.0 F3000 ; move z up little to prevent scratching of surface
G1 X20 Y180.0 Z-0.0 F9000.0 ; zig
G1 X35 Y200.0 Z-0.0 F9000.0 ; zag
;G1 X5 Y200.0 Z-0.0 F1500.0 E15 ;
G92 E0 ; reset extruder*
*=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03beta2 running on Duet WiFi 1.02 or later
Board ID: 08DGM-9T6BU-FG3SN-6J1DL-3SJ6M-18WVG
Used output buffers: 1 of 20 (17 max)
=== RTOS ===
Static ram: 25532
Dynamic ram: 91736 of which 0 recycled
Exception stack ram used: 396
Never used ram: 13408
Tasks: NETWORK(ready,544) HEAT(blocked,1236) MAIN(running,3816) IDLE(ready,196)
=== Platform ===
Last reset 00:49:09 ago, cause: software
Last software reset at 2019-07-19 19:12, reason: User, spinning module GCodes, available RAM 13428 bytes (slot 3)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 24.6, current 24.8, max 24.9
Supply voltage: min 24.2, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: standstill, SG min/max not available
Driver 1: standstill, SG min/max not available
Driver 2: standstill, SG min/max not available
Driver 3: standstill, SG min/max not available
Driver 4: standstill, SG min/max not available
Date/time: 2019-07-19 20:01:11
Cache data hit count 4294967295
Slowest loop: 1.11ms; fastest: 0.08ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
=== Move ===
Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms, Underruns: 0, 0
Scheduled moves: 222, completed moves: 222
Bed compensation in use: mesh
Bed probe heights: 0.000 0.000 0.000 0.000 0.000
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
=== GCodes ===
Segments left: 0
Stack records: 2 allocated, 1 in use
Movement lock held by null
http is idle in state(s) 0 0
telnet is idle in state(s) 0
file is idle in state(s) 0
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon is idle in state(s) 0
queue is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 180.81ms; fastest: 0.08ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
- WiFi -
Network state is running
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.21
WiFi MAC address 84:f3:eb:42:a7:3d
WiFi Vcc 3.43, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 15208
WiFi IP address 192.168.178.30
WiFi signal strength -44dBm, reconnections 0, sleep mode modem
Socket states: 0 0 0 0 0 0 0 0*
PS: Sorry for any typos, I won't be able to edit them since the forum thinks my posts are spam
- WiFi -
From your config file it looks like you haven't measured your probe trigger height
G31 P500 X-42 Y2 Z0.0
Z0 would mean that the probe only triggers when the nozzle is actually touching the bed.
Use this procedure to measure your trigger height. https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
Your heightmap can't be accurate if you don't have the correct trigger height set.
G1 X62 Y28 F6000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed
From your homeall it looks like you're homing Z by probing a corner. You should ideally probe the center of the bed to get the best average Z height measurement.
duetwifiuser last edited by
Thank you so much for your suggestions!
I moved the Z homing point to the bed's center and set the trigger height.
Sadly, it didn't make any difference (aside from moving Z down by the probe's measured offset) .
Curious - why wouldn't the resulting heightmap be accurate without that calibration?
I replaced the spring steel bed plate with a thicker one and the issue disappeared!