I was wondering if it is possible to pause a print, home the axis, then have the printer pick up where it left off. I am using pronterface, and there is the pause button which i have used before, but never tried moving the axis.
I’ve tried this before for me it’s usually fine if you manipulate XY movements but changing the Z it doesn’t like going back to the height it was at when printing.
Not 100% sure I understand what you’re asking…butttttttt… I have heard of people with motor problems that add a line of code with every Z movement (with their slicer) to home X and Y, then continue.
But yes, if your homing sensors are precise enough, you should be able to home, then continue
I don’t use pronterface but +1 for Repetier. Does what you are talking about flawlessly with the exception of messing with the z axis, as aidan_canavan says.
If you are looking for filament change there is a custom gcode inmarlin you can send… It pauses the print and ejects the filament for you and moves the axis to an easy place to change. Sorry don’t know the gcode off the top of my head since it’s part of the graphic menu on my printer.
I have 2 files called pause.g and resume.g upon my reprap Omerod 2 (using reprap 1.09 firmware) which when a pause button is pressed on the web control panel it will run the commands in the file below
Shown below:
; pause.g
; Put G/M Codes in here to run when a print is paused using M25 or M226
M83
G1 E-10 F3600
G91
G1 Z+5 F200
G90
G1 X0 Y0 F6000
I then press a resume button which calls and runs the commands within resume.g Shown below:
; resume.g
; Put G/M Codes in here to run when a paused print is resumed using M24
G90
G1 X105 Y100 F6000
G1 R1
M83
G1 E10 F3600
This will work if your endstop sensors are accurate enough to derive the exact same home position every time, otherwise you might resume a few tenths of a mm off position and get very poor results. You can try it with a thin walled calibration object it will be very obvious if it does not resume precisely where it needs too.
If you are printing from the SD card on the graphical LCD unit, then you can use the ‘kill’ button which I have remapped to a ParkPause function.
In my case, when I press the LCD button ( the kill button, not the rotary encoder ) the printing pauses, Z axis lifts +5mm, X goes to 5, Y to 225 ( which brings the print bed forward for inspection ).
To resume, I press the rotary encoder button and the printer returns to its print position, and resumes printing.
If I do need to kill, I can use the ParkPause to pause print, and then reset the Arduino board.
Yes Newer versions of Pronterface have those buttons on the Control Panel but I find that Cuman from Makerbot is better for some STL files the Resume is only good if you stop the Print yourself.
Can’t speak for pronterface, but at least on my Bukito controlled by octoprint, I can pause and move the extruder anywhere I want using the web interface (useful for clearing jams without oozing on or overheating the print). On resume it snaps right back to the next print instruction. Just try it out and see what happens. Be sure to keep a finger ready on the power switch in case weird things occur.
Two caveats:
You shouldn’t power cycle the printer during the pause state. In my case at least I believe the offsets from zero are stored on the printer, so cutting power will wipe them and likely have your print resume some distance above the incomplete part. If you do home the heads first, maybe this won’t be an issue. Experimentation is in order.
If you home or otherwise move the extruder below the plane of the exposed print top, on resume the printer might pick a shortest path to the next instruction that crashes it through the print! So my suggestion would be to reposition it a bit above before hitting resume.
Thanks. I see you already posted a reference and link on Github. Wow, wouldn’t it be just awesome to have ones own code or even just the core of the idea included in the Marlin software.
That’s the power of Open Source, anyone can contribute to advance the software (here Marlin) for everyone’s benefit. I was always sceptical about Open Source (How can people who never met collaborate and produce software?) but it really works.