Duet maestro and weirdness on start gcode
-
@veti here is the beginning of the gcode:
; external perimeters extrusion width = 0.42mm
; perimeters extrusion width = 0.42mm
; infill extrusion width = 0.50mm
; solid infill extrusion width = 0.42mm
; top infill extrusion width = 0.42mm
; first layer extrusion width = 0.42mmM107
G28 W ; home all without mesh bed level
G0 Z70 F500 ; get head above bed to keep it cool
M106 P1 S255 ; Turn on fan
M140 S75 ; set bed temp
M104 S180
M190 S75 ; wait for bed temp
M104 S180
G28 W ; home all without mesh bed leveing
G29 S0 ; mesh bed leveling
M106 S0 ; Turn off fan
M104 S235 ; set extruder temp
M109 S235 ; wait for extruder temp
G1 Y0.0 F5000 ; go outside print area
G92 E0 ; reset extrusion distance
G1 X70.0 E9 F1000 ; intro line
G1 X140 E12.5 F1000 ; intro line
M572 D0 S0.07 ; Pressure advance
; Filament gcode
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
G1 E-1.00000 F2100.00000
G1 Z0.250 F9000.000
; PURGING FINISHED
G1 X130.316 Y151.203
G1 E1.00000 F2100.00000
M204 S1000
G1 F900
G1 X183.884 Y151.203 E1.95815
G1 X183.884 Y164.498 E0.48600
G1 X130.316 Y164.498 E1.95816
G1 X130.316 Y151.263 E0.48380
G1 X130.682 Y151.569 F9000.000
G1 F900
G1 X183.518 Y151.569 E1.93137
G1 X183.518 Y164.131 E0.45921
G1 X130.682 Y164.131 E1.93137
G1 X130.682 Y151.629 E0.45702
G1 X131.049 Y151.935 F9000.000It does not contain full G1 Y0 X2 Z0.5 F7000 ; go outside print area command with set x coordinate but since i added it, has same outcome.
-
@agniusm said in Duet maestro and weirdness on start gcode:
G28 W ; home all without mesh bed level
Why the W parameter?
-
@dc42 It was from prusa start script but its not there now. No change still. Probably had no effect anyway.
-
@agniusm said in Duet maestro and weirdness on start gcode:
G1 Y0.0 F5000 ; go outside print area
G92 E0 ; reset extrusion distance
G1 X70.0 E9 F1000 ; intro line
G1 X140 E12.5 F1000 ; intro lineI say again, it looks like you're missing G90 and G91 commands here. G1 Y0 makes no sense in the context of a relative move. But the next movements are to extrude a prime like, which would require a relative move.
-
What firmware versions are your Duet WiFi and Duet maestro running?
Are there any error messages on the GCode Console when this happens?
-
Maestro on 2.02RC5. My duet wifi(eth now) runs 2.03 but it have never done that but start script is almost the same.
I have not noticed any errors in the gcode console but i will keep an eye.
It finishes mesh bed compensation, and then sort of glitches 1mm or so and stays at that last spot -
here is the video:
https://youtu.be/Eaedp-ZMEvg
I have updated to 2.03 and still same. -
you never answered Phaedrux post about switching to absolute positioning for those moves.
-
@veti I dont know why would it be different as my duet wifi works ok with the same script.
P.S. OK. I have figured it out.
I have placed my move to the fron of the bed before these:
M104 S[first_layer_temperature] ; set extruder temp
M109 S[first_layer_temperature] ; wait for extruder temp
and now it works -
Case closed;
-
Re-opened. Looks like it does it random. I don't know what is happening. Whenever i sliced with the new start script it went and did how it suppose to. Now prints finished and i started same file again and it again remained at the back of the bed and purged mid air.
-
as Phaedrux has said multible times in this thread, you need to make sure that when the code is executed it needs to be in absolute positioning . so add the correct G90 and G91 commands to your code.
-
@veti do i need to add it just for that move or the whole start script?
-
try with a G90 at the beginning
-
@agniusm By way of explanation, a relative move such as G1 X10, Y10 will move the print head by 10mm positive in both the X and Y directions. Whereas in absolute mode, that same G1 X10 Y10 will move the print head to the position which is 10mm in both X and Y from the homed position (usually 0,0).
So for example if the print head started at X50 , Y60 then relative G1 X10 Y10 will move the print head another 10mm in each direction and it will end up at X60 Y70. But in absolute mode starting with the print head in that same position of X50 Y60 that same G1 X10 Y10 command will move the print to X10 Y10 so it will move minus 40mm in X and minus 50mm in Y.
In actual fact, all moves have to be relative to some point in space. So absolute moves mean go to an XY position relative to the homed position. Therefore it follows that if the homed position hasn't been established, then any absolute moves aren't going to work properly.
In summary, use relative to move by an amount, use absolute to move to a position (relative to the homed position).
-
@phaedrux said in Duet maestro and weirdness on start gcode:
@agniusm said in Duet maestro and weirdness on start gcode:
G1 Y0.0 F5000 ; go outside print area
G92 E0 ; reset extrusion distance
G1 X70.0 E9 F1000 ; intro line
G1 X140 E12.5 F1000 ; intro lineI say again, it looks like you're missing G90 and G91 commands here. G1 Y0 makes no sense in the context of a relative move. But the next movements are to extrude a prime like, which would require a relative move.
So the snippet above would become
G90 ; absolute positioning G1 Y0 X0 F5000 ; go outside print area G92 E0 ; reset extrusion distance G91 ; relative positioning G1 X70.0 E9 F1000 ; intro line G1 X140 E12.5 F1000 ; intro line
-
@deckingman Thanks. Yes, i am familiar with what those command do and how they work.
Adding G90 at the begining of the move and G91 after seems to have solved the problem, at least on couple prints i did so far.
Thanks