Another Homing Challenge - Print Starts at Current Pos
-
I hope this is a very simple problem, but has baffled me for over a month. Using Duet V3.3 , Wifi 1.6 and DWC 3.30 and Cura 4.8.0.
Here is the problem statement, when starting a print, the z axis begins printing at whatever Z state the printer is at + first layer height and I cannot figure out why. It is as if the axis gets a G92 for Z after homing because the new Z value is at the print first layer height, but it is off the bed by Z after homing. I can manually add more Z and print again, and it will start at that new Z +first layer height. Mesh is confirmed invoked.Homing of all axis are very robust. Confirming with command line M28, G30, or stepping to Z=0 and consistently confirms Z=0.
I then tried putting G90 in the start code to make sure an errant G91 was floating around and finally gave up. Please help me figure this out.
Also here is a snapshot of the G code.
;Generated with Cura_SteamEngine 4.8.0
T0
M140 S65
M104 S245
M109 S245
M82 ;absolute extrusion mode
G28 ; home
;G29 S1 ;Load Mesh
G90 ; Absolute Positioning
G1 E1 F300 ;Extrude 1mm
M83 ;relative extrusion mode
G1 F2100 E-0.85
;LAYER_COUNT:121
;LAYER:0
M107
G1 F1800 Z0.6
G0 F4800 X105.874 Y105.579 Z0.6
;TYPE:SKIRTBTW - the forum posting guide says to use "Up Arrow" to upload file..Forum does not have this feature. I was looking to get copies of my files to share here and wondered if there was a neat feature option to group files from DWC and poked atthat, but saw no path. I intended to hit "cancel", but hit "open" instead without any filename (empty) and poof, my config.g file has vaporized. I searched high and low for any file created in the last 24 hours. This is kind of a cruddy software bug. My Config.backup is shared here, but is a few days old...not sure what state that was in. homez.g homeall.g heightmap.csv bed.g config (2).g
-
I would look at the Z value in the duet web control before you start the print and the nozzle is up above the bed. Does it say Z=0? I'd also look at this value after a manually applied T0 (did it change?) and T-1 (again any change?) .
My suspicion is that there may be a tool offset (G10) that needs to be set or adjusted.
-
@mikeabuilder
Thanks for the comments.
Home All, HomeZ & commands of G28 and G30 (all for good measure) result in bed being properly homed and at correct height physically and reported. I can confirm 0mm is 0m at the bed and display. The BL repeatability is 0.02mm on repeat probing.
It is only when I invoke a print job that the problem appears. The DWC will state first layer height, e.g., 0.3mm, but will be at whatever height the Z axis was at when print was initiated.
In the start code, I have tested blank, w G28, no G28 (printer is homed), added extraG90, added Mesh or removed it...basically all options. The end result is the same whereby Z axis starts print and current Z height.
Again this can be manipulated. For example, I can home axis, change Z to 20mm (or anything) and start print job. The DWC will say report first layer height @ 0.3mm but is now physically @ 20.3mm. Hope that makes sense? -
@tommyb
Post the first 100 lines or so of an affected print. -
@owend
Issue occurs on all print files. Here is more of the same gcode from above. I just noticed I did not include the first layer (duh).
FLAVOR:RepRap
;TIME:2401
;Filament used: 3.806m
;Layer height: 0.45
;MINX:126.636
;MINY:144.069
;MINZ:0.3
;MAXX:183.364
;MAXY:165.931
;MAXZ:58.8
;Generated with Cura_SteamEngine 4.8.0
T0
M140 S65
M104 S245
M109 S245
M82 ;absolute extrusion mode
G28 ; homeM83 ;relative extrusion mode
G1 F2100 E-0.85
;LAYER_COUNT:131
;LAYER:0
M107
G1 F1800 Z0.6
G0 F4800 X128.489 Y145.729 Z0.6
;TYPE:SKIRT
G1 F1800 Z0.3
G1 F2100 E0.89064
G1 F1800 X129.014 Y145.295 E0.05604
G1 X129.587 Y144.925 E0.05611
G1 X130.199 Y144.625 E0.05607
G1 X130.674 Y144.449 E0.04167
G1 X130.992 Y144.347 E0.02747
G1 X131.652 Y144.177 E0.05607
G1 X132.328 Y144.086 E0.05611
......finish layer 1
;MESH:NONMESH
G0 F1800 X174.765 Y152.667 Z0.75 -
DO you have a start.g file in your sys directory? That runs before every print and maybe there's something in it causing mischief.
But I suspect not because you've got a G28 in the part file which should rehome all axes at the beginning of the print. Is this rehoming happening?
And what is in your homeall.g file? Maybe something in there is not homing the Z properly. This could be the case if you home your axes one by one from the web interface and not via the homeall button.
Another debug tactic would be to look at the Z in the web interface when it starts extruding. Does it say 0.3, or the higher?
-
@mikeabuilder Quickly check with great hope that there is a Start.g file ...and no such luck, no start file.
I have homed by ALL, by axis and by individual G28 and G30 verification...all perform normally. Z=0 in all case both actual and display.
I suppose I could try a different Z starting point prior to each of these executions...I'll report back. But as I mentioned, I removed all slicer based start codes (blank field) and even tried a lone G90 Absolute Coord in the Slicer start code. This should have forced the axis to use the previously verified Axis conditions. What happens is the DWC reports first layer height @ Z=0.3 from the existing Z height. It appears that a G92 is getting inserted before the print starts.Is there a debug mode to see all streaming executions? That would be the most helpful right now.
-
@tommyb - I'm out of suggestions. I'm not one of the Duet folks or an expert on the code. It would be nice if a debug mode listed all commands.
Check out the M111 command. I haven't used it but it looks like it might do the trick. I believe the output would get put into the logfile, so you would probably need to enable logging with the M929 command. If you go this route, you may also want to use M118 to insert your own messages into the log file (like one at the beginning of various files to tell you that particular file is starting to execute).
I'm hoping one of the SW-smart folks on this forum will add their wisdom.
-
; homeall.g
; called to home all axes
M561 ; clear any bed compensation;
M400 ; Finish MoveG91 ; relative positioning
M402 ; retract probeG1 H2 Z10 F6000 ; lift Z relative to current position
M913 X40 Y40 Z30 ; drop motor current to 30%
M400 ; Finish MoveG1 H1 X-330.5 F4500 ; move quickly to X axis endstop and stop there (first pass)
G1 H1 y-320.5 F4500 ; move quickly to y axis endstop and stop there (first pass)G1 H2 X5 F6000 ; go back a few mm
G1 H2 Y5 F6000 ; go back a few mmG1 H1 X-320.5 F4000 ; move to X axis endstop once more (second pass)
G1 H1 y-320.5 F4000 ; move to X axis endstop once more (second pass)M400 ; Complete motion
M913 X100 Y100 ; return current to 100%G1 X48 ; Move to edge of bed from home X=0
G92 X0 Y0 ; Set Origin
G90 ; absolute positioningG1 X150 Y150 F7000 ; go to Center bed probe point and home Z
G30 ; home Z by probing the bed
G29 S1 ; Load Mesh heightmap.csv;G1 X10 Z3 F7000 ; Move to lower left
Your homeall reduced the motor current of X Y Z and then returns only X and Y to their normal values. I think your Z motor is just stalling.
-
@phaedrux You are brilliant. This indeed was the issue.
Thank you!No luck finding the Solved button - please tag this as so.
Also not sure if anybody noticed, "upload" without a file name deletes files...could be noted as a bug.
-
@tommyb said in Another Homing Challenge - Print Starts at Current Pos:
Also not sure if anybody noticed, "upload" without a file name deletes files...could be noted as a bug.
Not sure what you mean.
-
@tommyb said in Another Homing Challenge - Print Starts at Current Pos:
No luck finding the Solved button - please tag this as so.
Click on the Topic Tools icon (the little gear) and select "ask as question". Then click on it again and select "mark as solved".
-
-