OK guys, I finally found what the issue is, or at least kind of where it’s coming from.
As some of you (and myself) suspected, my hot end is not reaching the reported temperature. I previously blamed the low readings on my IR thermometer on not being able to point the laser directly at the hotend, but it seems it was reporting accurate readings (around 95C when klipper reports 200C).
Now, here’s where things get a little weird. At this point, I’ve used multiple thermistors, but swapped in a new one anyways. My board also has a pin for a second extruder thermistor, so I plugged it in to that one and changed the pin in my printer.cfg. No change.
I tried switching the bed and hot end thermistors on the board and in printer.cfg, no change.
I changed the thermistor “sensor type” from “EPCOS 100K B57560G104F” (same as the bed) to “Generic 3950”, no change.
I found an article about tuning your pullup_resistance value. My cfg file did not have this value specified, so I added a line and started with the default of 4700, which made no difference (I’m assuming this value is loaded from the sensor type by default?). I toyed with the values until my thermometer read ~220C when setting the printer to that temp. However, to achieve this I had to adjust the pullup_resistance from 4700 to 13k+ (far beyond what should be needed) which makes klipper report 6C at room temp (print bed reports 27C). Unsurprisingly, I can hand-feed all the filament I want, but the temp reading is only now only accurate at 220C rather than only being accurate at room temp.
The thermistor, I feel, can be removed from the suspect list, as multiple thermistors exhibit identical properties.
I also feel the motherboard can be removed as well; there are three pins for thermistors, all three show accurate readings for the bed but identically inaccurate readings for the nozzle.
This only leaves software/ firmware, which I find incredibly odd for three reasons. For one, the printer was not even shut off in between “working” and “not working”; I successfully completed a print, and without shutting down, updating any configs, changing any settings etc., I swapped out the nozzle, and the printer hasn’t worked since. Second, both the bed and nozzle thermistor are configured exactly the same, so if the nozzle is not set up properly the bed should be wrong too. Finally, Klipper is really straightforward and it’s easy to configure things that commonly need configuring, it doesn’t seem right that a configuration got changed and I’m completely incapable of finding what happened and fixing it.
As a Temporary FixTM, I’m inclined to get a nice reliable probe thermometer, calibrate a pullup resistance value for common print temps, then updating my cfg whenever I want to change temps more than ~5c. This is obviously not even close to an ideal solution, but I don’t know what else to try. Everyone else I’ve seen with this issue has resolved it either through hardware replacement or fixing settings, and I’ve tried all I can with both.
My only idea of the top of my head is trying another heater block. Make sure you use thermal paste as well to help with heat transfer. I know those probably won’t help, though. I posted, though, to mention I was running a BIQU B1(Peice of Crap) using BIQU’s HS2 V2 lite(love that, though) extruder. One print went fine, and then I was suddenly overextruding. I had to change my steps from 930 to 250 or so. Then, after powering down and turning back on, my number needed to return to the 930 value. Very weird, especially without a shutdown.
I’m actually on my third heat block! (I replaced the stock one, then broke a heat break inside the thread and had to order a third.)
That’s a super strange problem that you had. I had a similar one with my printer a year ago on the stock firmware where I randomly had to adjust the stepper as well.