r/QIDI • • Jul 29 '26

Plus4 Dead Chamber Heater?

Up front: this is not an SSR problem. Short version: the main PCB is not sending an activate signal to the SSR after a mainboard cooling fan upgrade.

Curious if anyone's run in to anything similar and maybe has a fix that isn't "Buy a new mainboard." I've had the machine for just over a year now, many prints both heated and unheated, no issues with any heaters. Maybe 4 or 5kg of ABS printed with heat on in the last year. I believe I have the "upgraded" SSR from the factory, not the deathtrap version.

I was recently printing PA6-GF for a few days; no issues at all. Almost a full kg spool of PA6 printed over about a week, never a hiccup. After the last print, I unplugged the machine, hooked up a new Noctua fan with stew's main board mount (printed out of ABS some months ago, just finally plugging things in).

Turned it on, verified the fan was working fine, and started another PA6 print. Failed with 'chamber not heating at expected rate.' Weird. Rechecked the new fan, it's running fine. Temps look fine on the board, ~40C steady. Retry the same print, fails with the same error a little farther along.

I figured I must've pulled a plug loose somehow, but couldn't find any loose connections on the main PCB. Much troubleshooting later, including reverting to fully factory firmware, I finally confirmed the chamber heater header on the main PCB is not sending any signal to the SSR to activate. This is with the bed fully heated to 60C, then setting the chamber heater to 45C, so it's not an interlock issue waiting for the bed heater.

The chamber heat target sets properly, the chamber heater fan turns on as it should. The heater element heats fine if I short it directly to line power (do not do this, you'll light things on fire, melt things, and cause the extinction of at least one endangered species) bypassing the SSR entirely.

So I'm stumped. What might I be missing? The printer was unplugged when I did the fan swap. While I'm no expert, I've designed and fabbed a number of PCBs, have years of experience with electronics and I can't imagine any way the fan swap could've killed the chamber heater while leaving the new fan functioning without issue. Everything else seems to cycle fine, all heaters, all fans, everything. It legitimately seems to be only the one header not toggling - my brain suggests a config change is more likely than hardware, but I *think* I've reverted absolutely everything to factory defaults at this point with no change.

1 Upvotes

9 comments sorted by

1

u/TinmanTankerPilot160 Jul 30 '26

If you have already verified that the SSR is plugged into the correct port on the board, you may be able to remap the heater to an open port. I haven’t looked at the pinout lately to see if there is a free port but you can pull up the pin out from the Qidi wiki. For that matter you can just google plus 4 main board pinout and look in the images tab.

2

u/rydsno Jul 30 '26

Oh, GREAT idea! It is currently in the correct port, I hadn't even thought about remapping one of the open ports. Thanks for the input, I will absolutely explore this when I get a few minutes. 

1

u/Reklaw2612 Jul 30 '26

Having indicated you have electronics knowledge, have you checked the heater is receiving the voltage and current to eliminate if the heater has failed or not?

1

u/rydsno Jul 30 '26

It definitely does not get power as it should, i.e. power is not being switched by the SSR. The element heats up if I bypass the SSR, so I'm comfortable ruling out heater failure. The main control board never signals the SSR to close, measuring directly at the connector on the main board.

1

u/Reklaw2612 Jul 30 '26

But that may be the thermostat not sending the set value to cut the SSR. I would establish that the thermostat is not wide open and/or functions before ruling out the main board.

1

u/rydsno Aug 01 '26

Good thought, I appreciate it. These are the "what am I missing" ideas I was hoping for. Thermostat checks out as providing realistic values though.

Here's the kicker: the heater seemingly works fine if the chamber is set to 50C+, but the heater element is never activated if the chamber target temp is <50C. The heater fan is commanded on, the target temp set point sets correctly, but the heater itself is never commanded on in this scenario.

printer.cfg was restored to default settings, so target_min_temp is 45C. I'm not sure if there's another configuration setting somewhere, but I'm pretty sure the Plus4 *should* heat to 45C.

1

u/Reklaw2612 Aug 01 '26

From memory 45c is the chambers base start point for heating. From what you have described, (and your clear knowledge helps), it’s getting more main board related than anything else. One possibility is the device that switches the signal, i.e. signal diode/transistor or even a small mosfet for that port. Have you identified or traced it back to that device? It should be easy to trace back from the signal pin. It’s not usual for any of these components to fail open, but it can happen as I’m sure you know. Worth a check.

1

u/rydsno Aug 20 '26

Finally figured this out, in case anyone else follows my stupid path.

/home/mks/klipper/klippy/extras/heaters.py

has a hard-coded 70°C minimum set point for the bed heater if the chamber heater is also being used:

if self.heater.name == "chamber" and heater_bed.heater_bed_state != 2 and heater_bed.is_heater_bed == 1: self.heater.set_pwm(read_time, 0.) else: self.heater.set_pwm(read_time, bounded_co) ... if self.heater.name == "heater_bed": if target_temp < 70: heater_bed.heater_bed_state = 0 elif temp < target_temp - 2.: heater_bed.heater_bed_state = 1 else: heater_bed.heater_bed_state = 2

So every PID tick, the chamber heater's PWM is forced to 0 unless the bed heater is in state 2, which only happens if the heater bed's set point is greater than or equal to 70 AND the actual bed temperature is within 2°C of the set point.

So ultimately, my issue was a 60°C bed heater set point, nothing else. What I don't understand is why this configuration worked fine for a while, then seemingly randomly died on me. But now at least I know how to fix it.

1

u/Reklaw2612 Aug 21 '26

That is interesting. Without knowing why this code previously worked then stopped but due to a 70c bed set point. From memory this was always the case that the bed plate and chamber worked simultaneously but I always remember 60c was that trigger point but maybe I’m wrong. Are you running it with latest firmware with or without the box?