Welcome! Log In Create A New Profile

Advanced

Wait for bed heat up after first layer, wait for bed cool down

Posted by GreatGrizzly 
Wait for bed heat up after first layer, wait for bed cool down
March 08, 2016 11:54AM
Hey everyone, you might be able to help me.

I print many objects sequentially using one of those zebra build plates on a Printrbot 2015. I have encountered two issues that would be nice to avoid without too much hacking.

Usually, I heat my PLA up to 190 and leave my build plate at room temperature (about 22c) for the first layer to increase adhesion, then heat the bed up to 80 to fight warping of big objects. This works very well, however what I am looking for is a sure fire way to make sure the bed is fully heated before the second layer is started. I cant seem to find an option in slic3r to wait until the bed is heated after the first layer. Right now I use a 2 layer high brim and guesswork with the brim size to force the printer to do something to let the bed heat up before starting the 2nd layer. This is not guaranteed to work for obvious reasons.

Is there some way to do this better?

The second issue is bed cool down. For max adhesion for prints I need the bed to be at room temperature. However when I move on to the next part, the bed is still likely hot. The printer will start printing immediately if the temperature is set to 0. This might cause parts to pop off the bed as the bed is being cooled, and shrink, while the part is being printed. I work around this by forcing a starting temperature of 25c, which is above what the room temperature is, forcing the printer to wait for cool down. However, if I pick a temperature that is to low, the print will never start. This is more guesswork that seems like it could be automated, but I am not an expert so I am down for suggestions as to even if this is possible to automate.

What does the community think? Would these be good features to include in slic3r? Any way to automate these?

Edited 2 time(s). Last edit at 03/08/2016 01:00PM by GreatGrizzly.
Re: Wait for bed heat up after first layer, wait for bed cool down
March 08, 2016 07:18PM
It shouldn't be necessary to go to room temperature for first-layer adhesion. 80C is far too hot for PLA, significantly above glass transition temperature. You're trying to use the heated bed to do the job of an enclosure. Normal PLA bed temperatures are in the 45-55C range. An enclosure makes a world of difference for larger parts and you wouldn't need to mess with temperature cycling.

Slic3r just generates g-code. It doesn't have any control over how that g-code is interpreted. According to the wiki, the only stock firmware that waits for the bed to approach a setpoint from either direction is Marlin, and only if you pass M190 with an R parameter instead of an S parameter. If you're running Marlin, you can insert M190 R[some temperature higher than room temperature but low enough] before each subsequent item. With any other firmware, you'd have to edit and re-flash the firmware to change this behavior.

Edited 1 time(s). Last edit at 03/08/2016 07:20PM by IMBoring25.
Re: Wait for bed heat up after first layer, wait for bed cool down
March 09, 2016 11:52AM
Quote
IMBoring25
It shouldn't be necessary to go to room temperature for first-layer adhesion. 80C is far too hot for PLA, significantly above glass transition temperature. You're trying to use the heated bed to do the job of an enclosure. Normal PLA bed temperatures are in the 45-55C range. An enclosure makes a world of difference for larger parts and you wouldn't need to mess with temperature cycling.

Slic3r just generates g-code. It doesn't have any control over how that g-code is interpreted. According to the wiki, the only stock firmware that waits for the bed to approach a setpoint from either direction is Marlin, and only if you pass M190 with an R parameter instead of an S parameter. If you're running Marlin, you can insert M190 R[some temperature higher than room temperature but low enough] before each subsequent item. With any other firmware, you'd have to edit and re-flash the firmware to change this behavior.

It shouldn't be necessary, but life is never perfect and I dont have the luxury of having an enclosure.. Is there a way for slicer to force a wait for bed warm up after the first layer without modifying the GCode after generation? My printrbot uses Marlin firmware, though an older version.

I looked at the GCode of a file that is generated by slic3r (See attached file). It looks like Slic3r is using M140 S75 to wait for the bed temperature to be reached, Which according to the GCode Wiki means to NOT wait for the bed to reach temperature. This contradicts the very comment in the GCode that was created by Slic3r:

Quote
M140 S75 ; wait for bed temperature to be reached

This now looks like a bug with slic3r, not an issue of the PrintrBots firmware.

Thanks for the using "R instead of S" tip. That will help with the waiting for bed to cool issue. Now for the second layer problem...

Edited 2 time(s). Last edit at 03/09/2016 01:45PM by GreatGrizzly.
Attachments:
open | download - Filter.gcode (276.8 KB)
Re: Wait for bed heat up after first layer, wait for bed cool down
March 09, 2016 10:46PM
I would agree M190 would be a more appropriate bed temperature reset than M140 in extreme situations, but most people who use that function start out hotter for bed adhesion and then cool the bed for subsequent layers and don't change it nearly as radically as you're wanting to do. For most firmwares, in that usage, it wouldn't wait anyway and they wouldn't typically want to wait for it if it did.

I've not gone to the trouble to learn Perl yet, but a post-processing script that replaces M140 S with M190 R should be trivially simple and can then be set to run automatically in your Slic3r configuration.
Re: Wait for bed heat up after first layer, wait for bed cool down
March 10, 2016 04:58PM
In that case it makes sense for Slic3r to use M190 R by default. I opened a defect on Slic3r GITHub
Sorry, only registered users may post in this forum.

Click here to login