This is just a PSA for all of you owners of an Anycubic i3 Mega (or any other printer for that matter) that are suffering heavy temperature oscillations or are otherwise unable to get a stable temperature during prints.
Looks like it is a common problem with multiple causes, ranging from physical problems in either the hotend, the thermistor, the cartridge heater or the controller board, to firmware problems regarding PID calibration.
This is what those oscillations look like in Octopi:
As you can see, my temps were wildly varying, sometimes ±15ºC, which would occasionally trigger an error stating “Heating failed, system stopped”. I repeated Marlin’s PID calibration procedure countless times, to no avail. Eventually I accepted I would have to live with that (or change the hotend), so I relaxed some safety parameters in Marlin (particularly regarding hysteresis) so at least I could print without that error popping up.
However after some days, I realized the thermistor (the element that measures the temperature of the hot end) was oddly placed, and when the printer cooled down I poked it with tweezers. To my suprise, it moved freely, it was totally loose within the heating block! Here’s a video:
There’s a small hole on the left with a really small screw that secures the thermistor in place. I used a small allen key to tighten it (it was totally loose) so the thermistor couldn’t move. After that, I re-run the PID calibration procedure and BOOM, totally stable temperatures! Amazing.