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.
One thing you’re overlooking here is the connection between the hot end and the control board. Perhaps a ribbon cable has gone bad and one of the wires inside is on the verge of snapping completely in two? This would cause inaccurate, high resistance values giving you a lower nozzle temperature as well as give you intermittent and worsening issues. You could just swap it out or use a multimeter to check the resistance from one end of the ribbon cable to the other.
Frankly I’m impressed you’ve managed to troubleshoot this far. Just normal/common printer issues often cause me to step away from printing for months at a time due to the frustration.
One thing you’re overlooking here is the connection between the hot end and the control board.
The Neptune 3 is a ghetto ass printer that doesn’t have a hotend control board. Haha. There are separate wires for the heat cartridge and thermistor that run all the way from the unit to the printers motherboard under the bed. Since I’ve swapped thermistors multiple times, I’ve more or less confirmed the connection is good.
Frankly I’m impressed you’ve managed to troubleshoot this far.
Me too! Haha. I would normally have long given up, but I’m DM’ing a DnD game, and not being able to print out minis, terrain, obstacles etc is actually having a larger-than-I’d-like effect on things.
Are you saying that the wire is all in one piece from the thermistor to the board, with no other connectors in-between? Meaning that replacing the thermistor also replaces the whole wire?
Precisely, I’ve seen a lot of printers have a control board on the hot end to which the heat cartridge and thermistor are connected, with a ribbon cable running from the hot end control board to the main motherboard.
My printer does not have this secondary control board. There is a 1.5m wire running from the thermistor all the way to the main motherboard, same as the heat cartridge. Replacing the unit means replacing the entire connection, from unit to motherboard
You could also have a thermistor with a connector on the wire near the toolhead, even if you don’t have a toolboard. Old E3D thermistors had only about 15cm of wire attached to them.
I’m not sure what you mean. Where does this 15cm of wire go to, if not a control board or simply a wire extension that runs to the main motherboard?
To an extension exactly. That’s why the other poster was suggesting to check the wiring, because it’s a common setup.
One word of caution re IR thermometers, the emissivity of the surface you’re aiming at is going to massively impact its reading. From earlier photos it looked like you have a nickel plated block, most IR thermometers are preset to expect a 0.95 emmisivity (1 being a perfect black body), bare metals tend to be closer to 0 with polished nickel being 0.05, oxidised being in the middle 0.5 ish. Why I mention this is unless you are adjusting the thermometer for the expected emissivity it will totally underreport the surface temperature.
Other thing to consider is that surface temp and midblock temps can differ, forced convection from fans will totally contribute to that. Definitely like your idea of an accurate prove thermometer, I’d be super wary of changing your pullup resistance base on the ir reading, could definitely have it way too warm. Short term, you could try running with a higher temp setting. Have you probed the pullup resistor on the board?
Some thought that I wish I had considered earlier, sudden failure with no warning would definitely point me at electrical stuff. Might be worth considering swapping to something like an skr mini which is super accessible and is drop in replacement more or less for something like a Rambo board.
Yeah, I knew from the getgo that the IR thermometer was only gonna get me within a wide range of accuracy. (Hence resorting to more empirical testing like boiling water in the previous post, haha.) I was only using it initially to get an idea of where it was.
After posting yesterday I went out and got a high quality probe thermometer. I was actually lucky enough to get one who’s probe is the same O.D. as a Bowden tube, so it friction fits inside my hot end. It took a little while to find the exact spot in the probe that reads the temp, but I was able to dial it in last night to where both Klipper and my probe read exactly 200c. (Before adjusting anything, Klipper would read 200c, IR would read ~90-130, probe reads ~170.)
I’m not familiar enough with electrical components/ readings to determine anything myself, but I had a buddy over yesterday that was helping me out who went to school for the stuff and is very well versed with 3d printer diagnostics, and he verified that nothing on the board is reading out of the ordinary. I considered a new board, but the board I’m using currently is itself relatively new (just had the manufacturer send me a new one after the original died; new board has been working for ~2 months).
Totally get not wanting to swap the board if it’s that recent and been in serviced for that long. Super strange it’s seemed to have drifted that much, could think of some last ditch things like changing the position of the thermistor, ensuring it’s centred in the hole, set screw tightened enough but not enough to deform the sleeve but I know you’ve rebuilt and changed all the components a bunch of times, honestly could even just be your batch of thermistors, but it sounds like you have a way forward now.
This is really a head scratcher. I’m no Klipper expert when it comes to really tinkering with the printer.cfg, however if I was in your situation the next place I would go with troubleshooting would be on the firmware side of things. Klipper already makes regular backups of your important configs so maybe try making a copy of them and do a clean install of Klipper with a default printer.cfg for your printer and see if that helps narrow down the issue some more. Saves you having to spend money on hardware if you don’t end up actually needing it.
This is among the things I did today that finally nailed the temp issue, I used a config file from last month when it was working and there was no change.
I took am certain it’s software/firmware related. I’m also not an expert, but over the course of the last few days I’ve learned a lot more than I knew, and I’m pretty confident that at least everything I’m able to edit (or at least everything the average user is intended to edit) is set up properly, which is why I feel I’m running out of things to test
Have you updated Klipper itself on your mcu?
In fact what’s the firmware version before you do if you haven’t.
It may be a big fixed by a firmware update but if not as much work as you’ve done with capturing details would probably be handy for Kevin in tracking down a weird bug/issue.
And as frustrating as this has to have been you probably know more about how a lot of these thermal mechanics work with the printer and Klipper as well
Have you done a PID tune after all these changes? Consistent errors in temperature over a wide range are likely caused by an incorrect proportional value in your PID loop settings.
I have, to no avail.
Also, IIUC, PID settings are more about how much power is going to the heat cartridge to ensure the temp doesn’t fluctuate or overshoot. Even a terribly configured PID setting should not effect the temperature the printer is reading, let alone by almost 100c in some cases.
I changed the thermistor “sensor type” from “EPCOS 100K B57560G104F” (same as the bed) to “Generic 3950”, no change.
What actual thermistor are you using?
Also since I’m half asleep and too lazy to read the previous posts to see if you listed it, what motherboard and hotend
What actual thermistor are you using?
I’m using a 3950. Funny thing, all my previous thermistors were also 3950s, but Klipper has always been set to the EPCOS 100k sensor. Looking them up, there should only be a couple degrees difference between the two, and changing between the sensor types didn’t do anything for me, so I don’t think it’s that.
what motherboard and hotend
It’s a robin nano 2.1 mobo, not sure what you mean by “what hotend” it’s a Frankenstein of various heat blocks, heat breaks, etc. not an all-in-one or anything like that. It’s been rebuilt probably a half dozen times during the duration of this issue; I’ve confirmed the issue has nothing to do with any of the physical components of the printer (ie stepper motors/drivers, loose connections etc).
Well the reason I asked about the hotend was because of you’re using the little glass bead version of the thermistor, and the hotend has the hole to feed through, I had an issue on an old Frankenstein ender where it wasn’t touching the metal inside correctly… As it heated up, it would kind of move the thermistor away from the metal. I solved this by putting a DIY metal shroud on it that held it in the middle while touching the hotend all around. I also used thermal paste to make sure there was no gaps.
I see; though, a thermistor not making good contact with the heat block would imply the heat block is hotter than reported, not the other way around.
This glass thermistors are a nightmare. I kept accidentally ripping the leads off mine. During this whole debacle, I treated myself to a fancy thermistor that is built into the end of an M3 bolt - it screws in to the hole meant for the grub screw that normally keeps the glass ones in place.
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.
I suspect an electrical issue on the motherboard.
- What happens if you swap the bed and hotend thermistor, and/or plug one of your reference thermistor into the bed input?
- What is the open-circuit voltage on the signal line of the hotend and bed thermistor inputs?
- What is the short-circuit current of the same?
If you see differences in those last two points, that is a clue that something is messing with the divider circuit that the thermistor is a part of.
I suspect an electrical issue on the motherboard. What happens if you swap the bed and hotend thermistor, and/or plug one of your reference thermistor into the bed input?
This is one of the tests mentioned in my post:
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.
As to your other two points, I myself know very little of reading electrical signals, but my EE friend was over earlier today helping with troubleshooting and he verified that nothing on the board was reading out of the ordinary.
I didn’t follow the saga but, have you tried reflashing the firmware and reinstalling klipper? Also, where did you run klipper from? Did you have a spare sbc to test on? Some incorrect software behaviour could also be a result of hardware failure or malfunction that wasn’t really visible.
I actually did just try reflashing Klipper to the board yesterday and it didn’t do anything, I haven’t updated Klipper on my Pi in a little while, but I can give it a go when I get home tonight. I do have a spare Pi, but it’s kind of a pain in the ass to rebuild everything on a new system for a high likelihood of not much changing
Yeah, sometimes computer can act normal (boot and everything) but the system has somehow become unstable. Sometimes that means there is improper hardware installation, or in embedded system, something is nearing its end of life due to defect or other myriad of factor.
(around 95C when klipper reports 200C).
Oh wow.
Yup. Granted, that was with an IR thermometer, which doesn’t get very good readings on small shiny things. Using a probe thermometer get me around 160c. This explains why I was able to extrude for a short while, at 95c my filament is not even soft, 160c is obviously still far too low to print but it was hot enough to partially liquefy the filament.