bed mesh problem with Delta after upgrade to 3.3 from 2.05_1
-
I've upgrade my SeeMeCNC Rostock v3.2 from firmware 2.05 to 3.3 following the normal guides. Everything is working properly (and I'm able to complete prints) when I just use G32 for the auto cal.
This is a older printer that is nearing the end of it's life so the best correction I can get is around 0.03 to 0.05 after a pair of S8 G32 runs.
However, when I run a G29 to do a bed mesh I get the error:
When I check the height map this is what I see:
I do not home (28) at the end of my bed.g and I have it set to run a autocal and then directly the G29.When I let it try to print with the mesh active it does bed dive and try to reach a point below the print surface.
Any ideas?
11/28/2021, 2:27:30 PM M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet Ethernet 1.02 or later Board ID: 08DGM-917NK-F2MSW-6JKDG-3S86S-KZ5JD Used output buffers: 1 of 24 (18 max) === RTOS === Static ram: 23876 Dynamic ram: 70544 of which 0 recycled Never used RAM 19996, free system stack 116 words Tasks: NETWORK(ready,29.8%,229) HEAT(delaying,0.0%,330) Move(notifyWait,0.1%,303) MAIN(running,70.1%,128) IDLE(ready,0.0%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:52:52 ago, cause: software Last software reset at 2021-11-28 13:34, reason: User, GCodes spinning, available RAM 17348, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Step timer max interval 0 MCU temperature: min 15.4, current 16.9, max 18.0 Supply voltage: min 14.2, current 14.5, max 14.6, 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 44211, standstill, SG min/max 0/783 Driver 1: position 55653, standstill, SG min/max 0/778 Driver 2: position 68827, standstill, SG min/max 0/804 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: 2021-11-28 14:27:28 Cache data hit count 4294967295 Slowest loop: 71.79ms; 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 19.2ms, write time 13.8ms, max retries 0 === Move === DMs created 83, maxWait 184993ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 2253, completed moves 2253, 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 Heater 0 is on, I-accum = 0.7 Heater 1 is on, I-accum = 0.0 === 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: 41.03ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 2 of 8 Interface state active, link 100Mbps full duplex
-
here is your mesdh.g
; mesh.g M117 Bed Map - Heating Bed ; display message G28 ; home M140 S80 ; set bed temp M190 S80 ; wait for bed temp M140 S0 ; bed heat off G32 M558 P8 I0 A10 S0.01 R0.4 C"zprobe.in" H8 F1500 T6000 ; HOTEND PROBEset Z probe type to switch and the dive height + speeds M557 R140 S14 ; HOTEND PROBE define mesh grid G29 S2 ; clear height map G29 S0 ; run mesh calibration M500 ; save results to EEPROM ;G28 ; home M375 ; load heightmap ;M84 ; motors off M117 End Mesh Probe Calibration ; display message
You need to add G30 to probe the bed and establish a Z datum before starting the mesh
best to do that in the center of the bed so I would add a line to move the probe to the center of the bed, then probe with a single G30 at that point, the start the mesh bed levelling
-
Per the Duet Wiki: https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation#Section_Establish_a_Z_0_datum_using_the_Z_probe the Delta AutoCalibration (G32) should produce a Z-0 and be used for Delta machines instead of G30.
G30 isn't the recommended way to set Z height for the delta configuration as it is basically a multiple z-axis bot.
If the Wiki is wrong I'm happy to try with a G30.
-
@baenwort I find its easiest to home using G28, then do a single probe with G30 and then run G32 and save the results. That gets the homed height correct. And then from there, a G32 should be all that's needed at the beginning of a print
-
@baenwort doing G32 immediately followed by G29 is the correct method. However, one thing I notice is that you change the probing speed (M558 F parameter) between the G32 and the G29 S0. What happens if you remove the M558 line from mesh.g so that you use the same parameters for G32 and G29?
Also, if you are going to use G29 S2, put it before G32 instead of after.
You don't need the M375 command in mesh.g because the height map will be loaded anyway after G29 S0.
-
@dc42 said in bed mesh problem with Delta after upgrade to 3.3 from 2.05_1:
Also, if you are going to use G29 S2, put it before G32 instead of after.
If you do this, remove the G29 S1 from the end of your bed.g as well.
-
Thanks!
I'll give these a try tonight after I get the kids in bed.
This has been frustrating as I like my flex plate system overall but without mesh compensation it isn't as good as glass for large bed filling prints.
I didn't run G29 when I had just glass and a doping agent. But I find that the mag sticker and flex plate added enough nonuniformity that I need it once I get away from the center of the bed.
-
@dc42 So it seems that the F parameter being different or the G32/G29 S2 order change was what did it. I'm going to try testing tomorrow to see which of the two changes was the causative one.
I hope it is just the F parameter change as I'd like to keep the G29 S1 load in the bed.g as I run a G32 before every print and I'd rather not forget a G29 S1 load.
-
So I tried with only the F change and it fixed it. The G29 S2 positioning did not affect the mesh to cause the problem I am seeing.
-
@baenwort said in bed mesh problem with Delta after upgrade to 3.3 from 2.05_1:
So I tried with only the F change and it fixed it. The G29 S2 positioning did not affect the mesh to cause the problem I am seeing.
I'm glad you solved it. I think what's happening is that the trigger height depends on the probing speed, at least at high speeds, because of the response characteristics of the sensor.
-
-
-
Seems so. It is a Duet Smart Probe based system from SeeMeCNC. Being a strain probe I expected maybe some difference but this was a rather large difference in results.
It makes me think I might want to spend some time tuning the F parameter.