Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
dscheyh

Pause function for UM1 (compared to UM2 with Cura 14.03)

Recommended Posts

With the recent firmware update in Cura 14.03 for the Ultimaker 2 the pause function has been added. I tried it and it works great. The printed moves to the zero position (left front corner) when paused. After resuming it moves exactly to the position where it has stopped and continues printing. Really great stuff! :)

I tried today to pause a print on the Ultimaker 1. But compared to the UM2 pause, at the UM1 the printhead stays at the position where it just is and stops printing when paused. Impact: the hot nozzle melts the printed object below slowly away and hot filament comes out of the nozzle. Result: a big filament bobble around the nozzle and melted object at this point. Aarrghh.... :sad:

It would be great to have the same implementation of the pause function for the Ultimaker 1 as it is for the Ultimaker 2.

 

Share this post


Link to post
Share on other sites

@ Dim3nsioneer:

I would suggest to also modify the Stop behavior in the same attempt... :-)

Behavior:

Pause: memory current position, lift a few mm, move to 0/0, go back to memorized position after resume

Stop: lift a few mm, move to 0/0 (would stop damaging prints even if not finalized...)

Do you think, we can find a solution?? :-)

 

Share this post


Link to post
Share on other sites

Pause: memory current position, lift a few mm, move to 0/0, go back to memorized position after resume

Stop: lift a few mm, move to 0/0 (would stop damaging prints even if not finalized...)

 

Could I suggest that a slight but important change to the above;

When pause is pressed:

Fast move off to a safe (empty) spot, to avoid stringing

Retract

Lift

Move to home

Lock motors

Just a thought, because the Z motor cannot move fast and always leaves a big strand of plastic. Actually I would like to see this as the end behavior too.

:c)

Cheers.

 

Share this post


Link to post
Share on other sites

Ok, this is what the UM2 is doing (derived from the firmware).

pause print:

- stores the current position of all axis

- empty buffer continue until buffer is empty

- retracts predefined amount

- lifts head by 20mm if z<170mm, by 2mm if z<200mm or not if z>200mm

- moves head to park position

- disables extruder steppers

resume print:

- moves to saved position

- continues printing

abort print:

- stop printing

- retract filament (by 20mm^3)

- home all (really all? also z?) axis

- release steppers

Maybe an UM2 user could check this list?

Question is, what should Marlin(1) do?

In the case of aborting the print, I don't see any serious issue.

Case 'pause print': I see a consensus about lifting the head if possible, move to a (fixed!) safe position in x/y (not homing, because it would destroy any settings made by G92 commands) and holding the x and y stepper active.

I see an issue with the retract. As the standard UM1 settings do not know a preset for retraction there are three possibilities:

1) hard coded amount for retract

2) using the experimental(!) G10/G11 commands if firmware retract amount is defined, if not defined: 1)

3) no retract

What do you think?

 

Share this post


Link to post
Share on other sites

- empty buffer

 

It waits for the buffer to be empty, it does not throw away anything. Other then that, seems you're right.

I use the G10, G11 commands in the Ultimaker2, but I did had to fix a few things in there. I think those fixes have made it into the main Marlin branch by now. However, by default, support for them is not enabled! So be warned about that.

 

Share this post


Link to post
Share on other sites

It waits for the buffer to be empty, it does not throw away anything. Other then that, seems you're right.

I use the G10, G11 commands in the Ultimaker2, but I did had to fix a few things in there. I think those fixes have made it into the main Marlin branch by now. However, by default, support for them is not enabled! So be warned about that.

 

Thank you for clarification and for checking. I actually meant it exactly in that way, but it was misleading. I edited it in the post above.

About G10/G11: I saw it is labelled as 'ONLY PARTIALLY TESTED' in standard Marlin. Thus I set it to second priority. The other catch with it is that the retraction/priming amount has to be set with an M207/8 if it shouldn't be 3mm which is quite small for an UM1 (maybe 3mm is a quite reasonable value for other hotends).

 

The only important addition for the change filament option, to me would be the fixing/locking of the X,Y, steppers.

and perhaps +20mm of extra retraction, to be extra sure the new inserted filament has passed the bowdentube fitting.

But for only a pause function that is not necessary.

 

I suggest to test changes one after the other and not to do too much at once. I didn't have a look at the change filament option so far. At the moment I think it is important to have a consensus about how the options should work. Otherwise we might get a I-am-not-happy-with-the-new-print-dialog-effect... :shock: if you know what I mean... ;)

 

Share this post


Link to post
Share on other sites

I suggest to test changes one after the other and not to do too much at once. I didn't have a look at the change filament option so far. At the moment I think it is important to have a consensus about how the options should work. Otherwise we might get a I-am-not-happy-with-the-new-print-dialog-effect... :shock: if you know what I mean... ;)

 

OMG No please no! :oops: :eek:

All those discussions make me want to write/Shout in my own language sometimes haha.

My only idea was, those 2 functions are almost the same, so you might combine them?

For changing filament you can even forget the 60mm of extra retraction, not to much work to do that by hand.

Even better, maybe you can copy the change filament part and paste it into the pause part?

We don't want to delete features :p

 

Share this post


Link to post
Share on other sites

Reading your posts make me happy as there are a few people have the same intentions as me.

I'm with Dim3nsioneer - one step after the other :-)

So here my two cents:

@ abort print, I dont think that retract is necessarry. If oozing, ok, print is aborted anyway, string can be cut manually and nozzle has to be primed anyway at next print ( I guess - but please correct me if I'm wrong)

@ pause, retract is possible as the same value can be defined for resume. Furter there will be limited oozing using e.g. 16 or 20mm.

I'm very interested in how this can be done in Marlin.

@ Dim3nsioneer, could you please give me a quick hint where I can find the corresponding sections in Marlin...?

Share this post


Link to post
Share on other sites

@ pause, retract is possible as the same value can be defined for resume. Furter there will be limited oozing using e.g. 16 or 20mm.

I'm very interested in how this can be done in Marlin.

 

I once had a very bad experience (clog) with a retract value larger tan 12mm... so I would stick to a smaller value...

 

@ Dim3nsioneer, could you please give me a quick hint where I can find the corresponding sections in Marlin...?

 

For the UM1, part of it is in marlin_main.cpp and part in ultralcd.cpp. Of course, language.h is also engaged... for the UM2 it's even more distributed.

EDIT: I forgot one important point in the recent discussion. What about temperatures?

I guess the bed should stay on in all cases, but what about the hotend(s)?

 

Share this post


Link to post
Share on other sites

Good morning! :-)

Thank you for the hint - I will take a look.

Ok, as I have a bit of different setup of my second nozzle, if 12mm or less works better, we should choose this or even better set it via config.h.

For me, 16 works fine.

For pause, the temp should stay or just lower to a parking temp where it dont ooze - app. 180 deg(??), heatbed unchanged as we dont want to pop off the part.

At stop, cool down everything and fan 0 is the safest way. Sure, restart the print might need some time when alow cooling the system, but you have to remove the bad print anyway and from my point of view it's just a matter of safety...

Imagine, you forget it and grab onto a hot bed...

Share this post


Link to post
Share on other sites

OK. I have a very first version of the UM2 pause feature running on the UM1. It requires that firmware retraction is enabled, brings the 'M601' command with it and still has a small bug that the display is blank for some seconds. And it leads to underextrusion after resuming as the nozzle is still oozing a bit during the pause. This could be compensated with the additonal un-retraction length of the firmware retraction. Both bed and hotend are kept on temperature. The x/y/z-steppers are blocked for the predefined time (60s), the e-steppers are free.

Any comments so far?

If someone want's to play lab bunny, you're welcome (I would need your configuration.h and configuration_adv.h). But be warned, it's a B.R.A.T.P.-O.S. version... (yep, I just invented that abbreviation... ;) it means BE READY AT THE POWER-OFF SWITCH).

edit: A well-known man at UM just reminded me that the switch filament option in Marlin (I think it's not switched on by default) does about the same what the UM2 pause feature does. So you may try this with the standard Marlin code from ErikZalm.

edit2: I managed to avoid that the steppers for x/y/z are released.

 

Share this post


Link to post
Share on other sites

Today I had a few minutes to take a look into the filament change routine M600 as mentioned above.

Honestly I don´t think that it is in the current implementation usefull as "pause" function as it is

- (good point) parking the head by moving z and XY to a predefined position and

- (bad point) retracting the filament by a initial value, then again by 100mm as it is intended for change and beeps until a filament is loaded and the putton is pushed...

There is also a discussion on github (initial: https://github.com/ErikZalm/Marlin/pull/378)

So (without testing it on my machine) I think that´s a bit too much and we should go forward with your solution Dim3nsioneer.

B.t.w. - the reason for that the feeder stepper is released is that it has to be primed before resuming the print - isn´t??

 

Share this post


Link to post
Share on other sites

Thanks for the links. I have to read thoroughly through that discussion before making the next step. What I don't want to do is a solution which is good for the Utlimaker only. And the Ultimaker fork of Marlin is for configuration purpose only I learned recently from Daid.

In general I think the second retract is not necessary for just a pause. It has the purpose to prepare the filament change. And it can quite easily be skiped. The same goes for the beeping...

Daid implemented a M601 for the pause feature of the UM2. Major parts of the M601 are identical with the already existing M600. However, there are a few UM2-specialities in the M601. This is ok as Ultimaker2Marlin is an independent repository. But it's a no-go for the RepRap-wide repository of standard Marlin.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Our picks

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 2 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!