How to stop print head from hitting object at end of print
had a couple of prints. 25-45mm in height that print perfect but at the end of the print as the head moves to it's end location which according to my gcode is G1 X0 Y200 Z30; home X axis
it drags and has even knocked over my printed object.
it baffles me that the printer isn't aware (by gcode or otherwise) of the object dimensions and doesn't hit it on the way to these dimensions.
is there a setting I can add this awareness so that it doesn't knock over my print?
thanks
Shawn
Re: How to stop print head from hitting object at end of print
Remove "Z30". Who added it?
Re: How to stop print head from hitting object at end of print
put the following into your end gcode before your home axis move
G91 ; relative movements
G1 F150 ; slow Z rate
G1 Z5 ; Z up 5mm
G90 ; back to absolute
Re: How to stop print head from hitting object at end of print
sorry didn't get a notification to the replies. I added Z30 as a possible solution early on and also to get the print nozzle and Pinda off the hot bed after a print and while preheating.
the code below if I understand it will change to relative height from absolute, then move at a slower Z rate up 5mm from the position it is currently in above the print and then reset itself to absolute movement values.
This I expect needs to be just before my current line that has it at an absolute end value of Z30.
Thank you , very helpful and just what I was looking for
put the following into your end gcode before your home axis move
G91 ; relative movements
G1 F150 ; slow Z rate
G1 Z5 ; Z up 5mm
G90 ; back to absolute
Re: How to stop print head from hitting object at end of print
Sometimes the printhead manages remain attached to the print when it makes this move, "plucking" the print.
Re: How to stop print head from hitting object at end of print
I use this custom end code:
G1 X100 Y200 Z200; move X axis off centre and lift extruder for cleaning
Could I change this to Z202 so even the tallest objects will not be touched at the end of printing?
What is the highest Z value that can be programmed?
Or I could use this as the "Your print is finished" signal when the Z-axes max out and rattle a bit! 😀
Re: How to stop print head from hitting object at end of print
Z_MAX in firmware is 210, but you will be hitting the stops before that (which may not be such a bad thing).
Personally I use the following:
G1 Z<Z+1.0> E-4 F7200 ; Lift and retract
G1 X0 Y200 F3600 ; move bed for easy removal
But that is slicer dependant.
Peter
Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…
Re: How to stop print head from hitting object at end of print
Z_MAX in firmware is 210, but you will be hitting the stops before that (which may not be such a bad thing).
In relative mode, I have moved things towards the non endstop sides to the point the thing hits and the belt skips. Then my heart skips. Then I spend 2 hours checking everything. It isn't awesome.
Re: How to stop print head from hitting object at end of print
Theoretically, it shouldn't get that far in X (MAX: 255) and Y (MAX: 210), but it's OK with Z - used to align both motors.
Peter
Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…
Re: How to stop print head from hitting object at end of print
OK so using this
g code as suggested. i upped the z move to 15mm from 5 however.
G91 ; relative movements
G1 F150 ; slow Z rate
G1 Z15 ; Z up 15mm
G90 ; back to absolute
G1 X0 Y200 Z30; home X axis
i still had an object get ejected the other day. It also made my Z axis uneven. no big deal ran it to the top and fixed it. so I ran a short test print to see what it is actually doing....
slow Z rate is glacial, it is very slow. but it doesn't move Z 15mm first then head for the final coordinates. it moves very slowly towards the final coordinates while slowly raising 15mm. it moves slow slow in the Z axis that I assume it made contact with the object before it had a chance to move out of the way.
is there a pause that can be put in to say don't do anything until it hits the relative 15mm THEN restore absolute and move towards final end coordinates? to me, it reads that way, but in practice that isn't what it is doing.
thanks
Shawn
Re: How to stop print head from hitting object at end of print
Hi Shawn,
G91 ; relative movements
G1 F150 ; slow Z rate
G1 Z15 ; Z up 15mm
G90 ; back to absolute
G1 X0 Y200 Z30; home X axis
If I am understanding this correctly, it's an instruction to send the extruder to a z height of 30mm which is not usually a good idea... especially if the model is taller than 30mm
regards Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
Re: How to stop print head from hitting object at end of print
actually the final code
G1 X0 Y200 Z30; home X axis
works great. that only raises the final resting place of the print head after it finishes the print.
the first 3 lines relate to the movement I am trying to modify. the immediate movement of the head at the end of the print. moving it to absolute Z 30 just gets the nozzle and PINDA off the print bed so it's not sitting right on the bed during the next reheat cycle
Re: How to stop print head from hitting object at end of print
watched it today again as it tried to crush a tall print...problem is it seems to be going DOWN not up
and the final line of the code
G1 X0 Y200 Z30; home X axis
should occur at normal speed right?
it's still happening at the ultra slow speed.
here's my code copied directly from end g-code section of slic3r
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
G91 ; relative movements
G1 F150 ; slow Z rate
G1 Z10 ; Z up 10mm
G90 ; back to absolute
G1 X0 Y200 Z30; home X axis
and this is from the last few liens of actual g-code where it tried to crush my print
M204 S1000
G1 E-0.80000 F2100.00000
G1 Z90.400 F6000.000
M107
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
G91 ; relative movements
G1 F150 ; slow Z rate
G1 Z15 ; Z up 15mm
G90 ; back to absolute
G1 X0 Y200 Z30; home X axis
M84 ; disable motors
Re: How to stop print head from hitting object at end of print
If you want to move printhead 30mm above finished print, you will have to put "G1 X0 Y200 Z30" *before* going to absolute coordinates using "G90". Otherwise you are trying to move at absolute coordinates [0,200,30]
Re: How to stop print head from hitting object at end of print
actually the final command was there previously. i simply modified the default final end G1 X0 Y200 Z5; home X axis to get the PINDA and nozzle up a little further off the heatbed. that has worked great, the issue is the fact that at the end of large prints even before I modified that code it pulls objects off the bed as it tries to home the printhead. so I came here looking for a solution. I added the code above as a possible solution.
I made a single layer print to test the code so I can watch it easier. what it is doing as written above is the following. black is code and expected mvmt red is actual result
G91 ; relative movements
G1 F150 ; slow Z rate slows
G1 Z10 ; Z up 10mm moves up
G90 ; back to absolute
G1 X0 Y200 Z30; home X axis begins a very slow descent towards the back corner of the bed still at the G1 F150 rate. the nozzle or PINDA hang on the object as it essentially negates the z move up[/b]
so I could move the nozzle higher, but that may cause issues with taller prints.
or I could have the X/Y movements complete then move the Z axis down as the last movement.
Re: How to stop print head from hitting object at end of print
that worked.
so new G-Code is as follows
G91 ; relative movements
G1 F150 ; slow Z rate
G1 Z10 ; Z up 10mm
G90 ; back to absolute
G1 X0 Y200 ; home X axis
Z30 ; reset Z axis
so now at end of print it moves Z up 10 (relative height), then it moves SLOWLY back to home location, then the final move is to raise Z to 30 (absolute). this avoids the angled descent towards home that was happening as it tried to take the straightest line to home from the top of the print and that was causing the print head to hit the print.
thanks for all the help.