Bed leveling seems inactive - strange results (solved)



  • (Ender 3 - Duet Wifi - 2.03beta2 (2019-02-16b1) / Wifi 2.12)

    Hi,

    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:

    0_1563545535407_bed.PNG

    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:
    0_1563545675264_5501a438-265e-442e-9a88-a89740df8717.jpg

    ... and final Print:
    0_1563545701209_ebdb50de-b330-4a44-9ae6-454f314ecb93.jpg

    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!

    Cheers

    0_1563547407783_bed.g
    0_1563547410767_config.g



  • 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):

    0_1563558877720_51E95pG4xvL.SL1000.jpg

    I have been using G29 to probe a new mesh over the last dozen test prints - before and after:
    0_1563564442237_bed3.PNG

    0_1563564496740_heightmap (1).csv
    0_1563564536487_heightmap (2).csv

    I also set M557 X20:200 Y30:190 S10 to increase resolution but another test print shows the same falloff:
    0_1563564687818_75ec93b7-d0b1-4d14-8a4b-8504997e346c.jpg

    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... :
    0_1563564986608_32107bb0-cb94-4378-af0c-ef244a6956bb.jpg

    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:
    0_1563565081961_293c9300-91f1-4274-889f-0d1f30b93194.jpg

    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)

    M83;

    ;G32;
    G28;
    G29 S0; S1 to load heightmap from file / S0 for mesh update + save to file
    ;M376 H2;

    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*

    M122 output:
    *=== 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)
    Owned mutexes:
    === 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*

    Homing files:
    0_1563559220212_homeall.g
    0_1563559227657_homez.g

    PS: Sorry for any typos, I won't be able to edit them since the forum thinks my posts are spam 😛



  • 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.



  • 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?

    Cheers



  • @duetwifiuser said in Bed leveling seems inactive - strange results:

    Curious - why wouldn't the resulting heightmap be accurate without that calibration?

    Well at some point the offset distance between the nozzle and the probe trigger height must be accounted for.



  • I replaced the spring steel bed plate with a thicker one and the issue disappeared! 😃


Log in to reply