Configuring chamber heating for OrcaSlicer on Qidi

Anyone using orca Slicer V1.8.0 was able to make the Heater chamber control works properly? there is some controls to add inside the printer.cfg but so far no success for me. I switch to orca after having some weird lines and artifacts every time that I used supports on QIDI Slicer, It appears Qidi slicer automatically changes layer high on the entire print when you need support (excluding organic supports).

Im still a noob when talking about G-codes, so there is a possibility that I messed up something.

here are the codes Orca asks to add to the config file.

If you want to use Orca’s chamber temperature control feature, check that printer.cfg has added the following M191 macro.
To add it: go to Fluidd web interface–configuration, copy the following code to the top of the printer.cfg document, SAVE&RESATART

[gcode_macro M191]
gcode:
    {% set s = params.S|float %}
    {% if s == 0 %}
        # If target temperature is 0, do nothing
        M117 Chamber heating cancelled
    {% else %}
        SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={s}
        # Orca: uncomment the following line if you want to use heat bed to assist chamber heating
        M140 S90
        TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
        M117 Chamber at target temperature
    {% endif %}

I’m still using QIDISlicer for my Qidi X-Max 3; the interface in OrcaSlicer is different enough from prusa-slicer that I haven’t gotten used to it.

I don’t see a reference to chamber_heater in printer.cfg

Qidi have (somewhat weirdly) named the chamber heater hot. See this from printer.cfg:

[heater_generic hot]
#gcode_id:
#   使用M105查询温度时使用的ID。
#   必须提供此参数。
heater_pin:PB10
max_power:1.0
sensor_type:NTC 100K MGB18-104F39050L32
sensor_pin:PA1

control = watermark
max_delta: 1.0
#pid_Kp=63.418 
#pid_Ki=1.342 
#pid_Kd=749.125

min_temp:-100
max_temp:70

(The chinese comment is a generic translation of the documentation for gcode_id which they have also commented out. Not sure why they left it in there at all.)

Try using hot instead of chamber_heater in the definition of M191 provided by Orca.

I will try that as soon my EMMC arrives. tks

1 Like

Hello Michael, my Emmc arrived yesterday, replacing the chamber_heater with hot didn’t work. I guess I will be stuck with Qidi slicer when printing abs or other filaments that require chamber heating. Anyways, tks for your help.

This should not be difficult to fix.

You replaced chamber_heater with hot in both places?

What do you mean by “didn’t work” — were there errors? Did it not wait?

If you go to the fluidd console and send M191 S40 what do you see, and what happens with the printer?

Replacing to hot got me a message on the screen”unknown command HOT”

Even using orca original G-code got me some errors. The print starts normally but chamber heat doesn’t turn On at all.

“unknown command HOT” looks like an error editing the printer.cfg file

Please paste here the actual complete M191 macro definition you added.

[gcode_macro M191]
gcode:
    {% set s = params.S|float %}
    {% if s == 0 %}
        # If target temperature is 0, do nothing
        M117 Chamber heating cancelled
    {% else %}
        SET_HEATER_TEMPERATURE HEATER=hot TARGET={s}
        # Orca: uncomment the following line if you want to use heat bed to assist chamber heating
        M140 S90
        TEMPERATURE_WAIT SENSOR="heater_generic hot" MINIMUM={s-1} MAXIMUM={s+1}
        M117 Chamber at target temperature
    {% endif %}

Where are you seeing the “unknown command HOT” message?

I pasted into my printer.cfg exactly what you had right after the M141 definition, and then commented out the M140 definition because I set bed temperature separately and I don’t want to create confusion there.

After saving and restarting, M191 S40 worked fine for me.

Note that you can paste between two lines that have only three single backquote characters for unformatted text:

```
configuration file content here
```

I edited your post to do that before cutting and pasting so that it would be exactly what you written (except for commending out the M140).

The M191 S0 handling in there is weird. I don’t think it matters because I’d use M141 S0 anyway — waiting for zero temperature is unlikely to be something you would ever use even if it is below freezing around your printer. But probably it should include calling SET_HEATER_TEMPERATURE HEATER=hot TARGET=0 before the M117 Chamber heating cancelled

Here’s my new M191 which I put right after M141:

[gcode_macro M191]
gcode:
    {% set s = params.S|float %}
    {% if s < 25 %}
        # Do not wait for temperature to get below max room temperature
        SET_HEATER_TEMPERATURE HEATER=hot TARGET={s}
        M117 Chamber heating too low to wait
    {% else %}
        SET_HEATER_TEMPERATURE HEATER=hot TARGET={s}
        TEMPERATURE_WAIT SENSOR="heater_generic hot" MINIMUM={s-1} MAXIMUM={s+1}
        M117 Chamber at target temperature
    {% endif %}    

Hi Michael, I was traveling for work, I will try this G-code and let you know. Using this G-code were you able to control chamber heater through the filament tab settings Just like Qidi Slicer?

Michael using your g-code I keep getting the same message ‘unknown command:M191’ on the console tab.

Using orca g-code after M141, the chamber is now heating before anything else, even before bed mesh. after the chamber reacher the selected temperature, it turns off by it self remains off and then the prints starts.

Im deffinetly doing something wrong here.

I will reach orca developers and try to get this fix for the next update.

I didn’t put it into my slicer printer configuration presets because I preheat manually instead. But gcode is gcode…

There must be a syntax error in your printer.cfg then.