Temperature control for Heating Bed
-
Cold-bed printing is possible...
...even if the results are not always as desired!
-
@bernardomattiucci, I agree that cold bed printing (or cooler bed temperature printing) is possible. I am simply suggesting that changing the nature of the heater cycling will not save you money. Reducing the average bed temperature most certainly will save money. The colder the average temperature of the bed, the more you will save on the energy bills. A one degree difference as originally suggested will not reduce your energy consumption by a noticeable amount.
I also have run into the problem of a print taking part of the glass surface with it - I have seen that primarily with PETG when the bed temperature is too high for the amount of initial layer squish that is set up. If I run into this kind of a thing I usually reduce the bed temperature by 5C or so and most of the time that lowers the adhesion of PETG to glass enough so that the print no longer rips out chunks of glass. -
@jens55 the value of 1° was only as an example. I think I can print well from 40 to 50°C without any problem.
For the glass problem, I have to revise the settings of the first layer because this is PLA.
Tomorrow I will do some more tests--I have plenty of space anyway (600x600 mm) -
@bernardomattiucci, wow, I have never (as far as I can recall) seen this with PLA. Looking at the second photo (the bottom of the completed model), I see 'lines' that would indicate that you do not have too much squish. I tend to adjust things so that I can just barely see the lines or there is just a 'hint' of lines. The picture only shows a small section of lines so I don't know if maybe you didn't do a surface scan and the lower end of the model (with the biggest chunk of glass) had more squish. Also be aware that glass getting ripped out is not an instant process. Glass can be weakend from other prints and then fail at a completely unrelated moment. Are you only printing in PLA or did you print another material at roughly the same spot that could have caused the glass to weaken?
-
Ho aggiornato da qualche giorno l'asse X della mia stampante (progettata e costruita da me) e sto facendo delle prove. Il pezzo in foto è uno dei supporti (aggiornato) dell'asse Z (4 motori indipendenti). Stampo solo PLA al momento perché mi è più facile per le impostazioni dello slicer (ideamaker).
DI sicuro il vetro ha subito diverse sollecitazioni... e dovrò cambiarlo.
Nei prossimi giorni lo tolgo ed uso il tappetino in foto... applicato direttamente sull'alluminio.Speriamo mi permetta di fare gli altri 3 pezzi che mi servono!
-
@bernardomattiucci , sadly I have no idea what you just said and I have never used Google translate ....
-
Why not just set the bed temp for second layer onward to a lower temp in your slicer?
1200watts is only used when it's in full on heat up mode. Once it's reached the set temp the controller only turns the heater on to maintain, which is very little if it's as insulated as you say. So not much of a gain really.
-
@jens55
SorryI have been upgrading the X-axis of my printer (designed and built by me) for a few days now and am doing some testing. The piece in the picture is one of the (upgraded) Z-axis mounts (4 independent motors). I am only printing PLA at the moment because it is easier for me for slicer settings (ideamaker).
FOR SURE the glass has been under several stresses--and I will have to change it.
In the next few days I will remove it and use the mat in the photo--applied directly to the aluminum.Hopefully it will allow me to make the other 3 pieces I need!
(I use https://www.deepl.com/translator )
-
I have already set various levels of bed heating. It starts with 50°.... at the 5th level it goes down to 40°... then at the 15th level I set it to 30°C... and this temperature is kept constant, especially in summer, even when, from the 25th level on, the bed heater is turned off.
But I would have preferred to set a more direct and simple control...with the temperature being kept always between 40 and 50°C, for example!
-
Well you certainly could use conditional gcode and the daemon.g file to monitor the temp after a certain layer and have the heater stay off until the temp drops to a certain level.
Seems the same behaviour as setting the second layer temp to that lower temp, but you could make it more gradual programmatically if you wanted.
-
@bernardomattiucci I agree that you won't save any noticeable energy consumption, but it could be done using conditional gcode. One way would be to have a "flag" variable which has two states "up" and "down". You'd need to constantly monitor the bed temperature using deamon.g or some such. Start by setting the "flag" variable to "up" and the bed set temperature to 50. Then when the bed temperature reaches 50, you reverse the flag and set the bed temperature set point to 40. When it reaches 40, set the flag to up and the bed temperature to 50. You'd need to set the heater fault tolerance to be more than 10 degrees. That's a clunky way of doing it but it might work.
-
I missed the presence of the daemon.g file.
i will now study the topic
-
if {state.status} = "processing" if {heat.heaters[1].active} > 0 var bedtemp = {heat.heaters[0].current} if {job.layer} < 20 if var.bedtemp < 40 M140 S50 if var.bedtemp > 50 M140 S40 else M140 S0
Could it work like this?
-
@bernardomattiucci said in Temperature control for Heating Bed:
if {state.status} = "processing" if {heat.heaters[1].active} > 0 var bedtemp = {heat.heaters[0].current} if {job.layer} < 20 if var.bedtemp < 40 M140 S50 if var.bedtemp > 50 M140 S40 else M140 S0
Could it work like this?
Not really. For any temperature between 40 and 50, the bed will be turned off. If it drops below 40, the set point will be set to 50. But then in the next iteration, if the bed is at (say) 41 then the set point will change to zero so it will never reach 50.
-
@deckingman
my bed normally reaches 50.1 or 50.2 °C when the temperature is set to 50°C.
There are very specific conditions in the code...
IF the temperature drops below 40°, M140 S50 is set.
IF the temperature rises above 50°, M140 S40 is set.So if the temperature is between 40.1 and 49.9°C, theoretically nothing should happen.
It seems to work for me.
I'm testing it...but I'm already well past layer 20, so the bed is now off (constant temperature of 33°C until I open the doors).Mostly I'm interested in whether or not the IF sequence makes the code too heavy...
-
@bernardomattiucci ........but you've got else M140 S0. If temp is below 40, then M140 S50. It temp is above 50, then M140 S40. So if temp is between 40 and 50, then neither of those conditions will be met so the "else" will apply (M140 S0). Which means that the bed will be turned off at any temperature above 40, and on at temperature below 40 effectively controlling it at 40. If that's what you want to do then simply use M140 S40 and be done with it.
-
@deckingman the else is part of the job layer check, not the temperature check so it will only be turned off when the job is equal to or above 20 layers
-
@deckingman As @jay_s_uk said, That M140 S0 is related to layer control and is activated from layer 20 and up. This is because, after 3 hours of printing, the bed temperature is stable at 30°C and is more than enough to maintain the part. So there is no need, at the moment, to have the bed heater on (in winter we will see...).
-
@bernardomattiucci said in Temperature control for Heating Bed:
@deckingman As @jay_s_uk said, That M140 S0 is related to layer control and is activated from layer 20 and up. This is because, after 3 hours of printing, the bed temperature is stable at 30°C and is more than enough to maintain the part. So there is no need, at the moment, to have the bed heater on (in winter we will see...).
Ahh - apologies for missing that "else" being related to the layer value. So, yes, I'd have thought your proposal should work.
-
I modified the code slightly to keep the heater on at the set temperature of 50° for the first 5 layers.
if {state.status} = "processing" if {heat.heaters[1].active} > 0 if {job.layer} > 5 if {job.layer} < 20 if {heat.heaters[0].current} < 40 M140 S50 if {heat.heaters[0].current} > 50 M140 S40 else M140 S0 else M140 S50
the problem is that, at the beginning of printing, I get the following error:
Error: in file macro line 3 column 27: meta command: cannot convert operands to same type
The error occurs when I manually activate the heaters (hotend and bed) and then run the press