Nozzle rams into bed when not near center
-
@Phaedrux said in Nozzle rams into bed when not near center:
Include your homedelta.g and bed.g as well as the out put put M122 and M98 P"config.g" please.
homedelta.g bed.gM122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later Board ID: 08DGM-917DA-G4MSJ-6JTD6-3S86L-19N7A Used output buffers: 3 of 24 (6 max) === RTOS === Static ram: 25712 Dynamic ram: 92664 of which 336 recycled Exception stack ram used: 392 Never used ram: 11968 Tasks: NETWORK(ready,764) HEAT(blocked,1232) MAIN(running,3816) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:02:19 ago, cause: power up Last software reset at 2021-01-20 13:59, reason: User, spinning module GCodes, available RAM 11944 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 2.6, current 8.6, max 8.7 Supply voltage: min 12.7, current 12.8, max 13.0, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max 0/378 Driver 1: standstill, SG min/max 0/391 Driver 2: standstill, SG min/max 0/369 Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 2021-01-20 15:47:44 Cache data hit count 413972580 Slowest loop: 3.60ms; fastest: 0.06ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 160, MinFreeDm: 154, MaxWait: 126689ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 5, completed moves: 5, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Stack records: 2 allocated, 0 in use 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 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: 15.46ms; fastest: 0.00ms 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.23 WiFi MAC address 60:01:94:2e:12:42 WiFi Vcc 3.38, reset reason Turned on by main processor WiFi flash size 4194304, free heap 23648 WiFi IP address 192.168.1.36 WiFi signal strength -55dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled
Have you seen these?
https://duet3d.dozuki.com/Wiki/Calibrating_a_delta_printer
https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareDeltaPrinterI have read them and followed them, yes.
-
Cura start gcode?
-
@Phaedrux said in Nozzle rams into bed when not near center:
Cura start gcode?
G32 ; auto-calibration G21 ; metric values G90 ; absolute positioning M107 ; start with the fan off G92 E0 ; zero the extruded length G1 F4000 E3 ; extrude 3mm of feed stock G92 E0 ; zero the extruded length again G1 F{speed_travel}
-
Thanks. I'm not a delta user, so I can't really see anything that is obvious to my eyes, but at least we now have all your relevant files posted so someone with a better feel for deltas might spot something off.
-
Contrary to many (most?) other duet (+ smart effector) delta users, I do NOT include G32 in my slicer's start gcode. I've found that, depending on the filament in use, the bit of ooze from the nozzle can impact the calibration negatively.
What I typically do is, whenever I change the filament to something that requires different heating parameters, I heat the bed and plate to what new filament requires, clean the nozzle (cleaning filament, then wire brush the nozzle until there's no oozing whatsoever) and manually run G32 a few times until the deviation values are consistent, and then save that to config-override.g (via M500.)
(I have the re-running of G32 automated via conditional gcode, but it's best to do everything manually until you understand what's going on.)
Then in my slicer config, I use G28 (to just home the printer) before it starts printing.
-
@deltwalrus, please run G29 after auto calibration and shown us the resulting height map.
-
G29 89 points probed, min error -0.240, max error 0.062, mean -0.035, deviation 0.046
-
the picture please
-
Sorry about that.
-
did you use M500 to save the calibration or did you put the values in config.g?
-
I did not run an M500 immediately after running the mesh grid compensation, no. I wasn't aware that was necessary, I figured it stored that information automatically after it ran. Thanks for the tip on that.
I will run another auto-calibration, then another mesh bed compensation routine, then I will run an M500 and try the print again.
As a side note, is there ever an instance where you would not want to store the results of a calibration or mesh bed routine? Shouldn't that be done automatically (in a macro maybe)?
-
No change in behaviour after running calibration, G29, M500, then starting print. Nozzle hits the bed near the "top left" part of the print, starts to actually rotate the glass bed with it, and even managed to dislodge one of the magnetic arms from the ball before the emergency stop halted the motion and reset the board.
-
This post is deleted! -
@deltwalrus said in Nozzle rams into bed when not near center:
I figured it stored that information automatically after it ran.
It does, but only while the printer is powered on. The values are lost after a power cycle unless they are either saved to config-override.g with M500 and adding M501 to the end of config.g to load it. Or manually copying the resulting calibration command into config.g
-
@deltwalrus said in Nozzle rams into bed when not near center:
I did not run an M500 immediately after running the mesh grid compensation, no. I wasn't aware that was necessary, I figured it stored that information automatically after it ran. Thanks for the tip on that.
G32 not G29.
-
I just got the new mirrors today, will test them for thermal suitability then give the problematic print another go.
-
It appears either my old glass plate was warped, or in the process of removing it and installing the mirror I fixed this issue, because a larger print is going right now and the bed ramming seems to be resolved.
Go figure.