In the slicer, there is the possibility to enter a chamber temperature in the filament/cooling section. In the gcode this gives “M191 S40 ; set chamber_temperature and wait for it to be reached” (40 is the temp here).
I know there is no active heating, but I would expect that the printer should be waiting until the temp is reached. But it isn’t the case. Is this not implemented or should I change some settings?
I expect it’s not implemented.
I did some digging in the printer.cfg file. I found this:
sensor_type: NTC_100K_3950_PRECISE
sensor_pin: PC0
min_temp: -273.15
max_temp: 999
gcode_id: C
Does any one know what “gcode_id: C” means?
I assume there is no thermocouple for this function as it has no chamber heater.
You could simply wait for x seconds after heating the bed. For example:
M190 S60
G4 S3600
My reading of the Klipper documentation is that this is the identifier used to reference this particular sensor (ie “sensor C”).
Actually, the meaning of the gcode M191 is to wait for the given temperature to be reached. It doesn’t assume that there is a heater to be put on. So, there is no reason not to implement it in the firmware. I will issue a feature request for this.
Right now, I pause the printing while it is waiting for the bed to reach its temperature and release it when the chamber is at the right temperature. The time elapsed may vary a lot.
You are probably right. I was wondering, because the term “gcode_id” doesn’t appear anywhere else in the printer.cfg file.
Do you see the chamber temperature anywhere in the machine interface?
Fluidd shows the chamber temp & it changes so it’s being read
As Gramps-Too stated : it is alive in fluidd.
Interesting. Thanks for answering.
May open a ticket and suggest the firmware change?
https://snapmaker.formcrafts.com/u1-troubleshooting-request
You might persuade Paxx to add it to the extended firmware.
I will open a request for firmware feature. Is the link you gave the way to do it?
I will first try the official route. I want to avoid possible double work.
This is a U1 specific link, but a troubleshooting one not a request.
Request should exist elsewhere but I think it’s ok..
We have 3 threads on this now.
Maybe the mods could combine them.
This is an easy klipper script, I use this for my U1 but not automated in a print start macro, just a single button push to start heatsoaking
[gcode_macro heat_chamber]
gcode:
G28
M140 S110
M104 T0 S150
M104 T1 S150
M104 T2 S150
M104 T3 S150
# SET_FAN_SPEED FAN=cavity_fan SPEED=0.3
G90
G0 Z50
Here’s what I have for my Voron 2 which has bed fans for air circulation but likely needs modifications for newer Klipper firmware and different hardware:
[gcode_macro HEATSOAK]
gcode:
MAYBE_HOME
SET_DISPLAY_TEXT MSG="Heating chamber: {params.CHAMBER|string}c"
G90
G0 X150 Y150 Z130 F3600
{% if printer.extruder.temperature < 150 %}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=150
{% endif %}
{% if printer.heater_bed.temperature < 120 %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={params.BED}
{% endif %}
SET_FAN_SPEED FAN=BedFans SPEED={1.0}
TEMPERATURE_WAIT SENSOR=heater_bed TARGET={params.BED} MINIMUM={params.BED}
TEMPERATURE_WAIT SENSOR='temperature_sensor CHAMBER' TARGET={params.CHAMBER} MINIMUM={params.CHAMBER} MAXIMUM=90 #MAXIMUM={params.CHAMBER|int + 1}
SET_DISPLAY_TEXT MSG="Chamber at temperature"
V2’s logic to trigger the heatsoak in print_start:
{% if params.CHAMBER is defined %}
{% if params.CHAMBER|float > 30.0 %}
{% if params.CHAMBER|float > "temperature_sensor CHAMBER"|float %}
HEATSOAK CHAMBER={params.CHAMBER} BED={params.BED}
{% endif %}
{% endif %}
{% endif %}
To implement with the U1 you either call the heatsoak macro in the printers slicer (Snorca or Orca) config or modify the print_start macro in the Fluidd interface.
Note: I do use the extended firmware, don’t know if editing macro’s is possible or persistent in stock firmware
Awesome macro! Thanks for the script!
It is: If you enable Advanced mode (Settings > Maintenance > Advanced Mode) you can edit config files and save them. They will be overwritten with the next firmware update though, so make sure to have backups.