Wanhao Duplicator i3 plus temperature out of control

I have a reasonably new Wanhao Duplicator i3 plus that has been printing happily for a few weeks.

This morning it has developed a new error. When you hit pre-heat for PLA (target temperature 200 °C) it heats the extruder but never stops. It is like the extruder heater is permanently on. The set point doesn't make any difference. If you hit cooldown it still keeps heating up!

At 240 °C I turned the machine off for fear of what happens next.

It seems only to affect the extruder heater not the bed heater. That seems to be working and following the set point.

Any ideas what this is and how to fix it?

• Possible firmware issue (reflash to fix it)? I would suspect the temperature sensor had failed, but if that were true you wouldn't know when you had reached 240°. Dec 11 '18 at 22:17
• @AlexanderAustin Please add extra information. Have you re-flashed new firmware, does it only happen when pre-heating for PLA, have you tried connecting over USB and used a software utility as Repetier-host or Pronterface and tried pre-heating from there? Please answer by edit of your question, not in the comments.
– 0scar
Dec 12 '18 at 7:39
• What is the resistance of the heater cartridge in itself? Also, it sounds as if Thermal Runaway Protection is not enabled. Which Firmware do you use? Besides failure of the cartridge or thermosensor on the hotend or a buggy firmware, a faulty board might also be an issiue. Dec 12 '18 at 7:55

Thermal Runaway?!

The temperature should not go over the MAXTEMP variable set in the firmware, so permanent damage is probably avoided (when temperature doesn't exceed about 250 °C; that is about the max temperature for the PTFE liners in the hotend). In the factory setup, the Wanhao Duplicator i3 is running an instance of Marlin Firmware. In the configuration.h file the MAXTEMP is defined like:

#define HEATER_0_MAXTEMP 275


for the first extruder where 275 °C is the default value, if Wanhao has changed this to a lower value (as they list their printer to print to max 240 °C) is not known.

Fixing the issue at hand

"Any ideas what this is and how to fix it?"

In order for you to fix the problem you need to do some troubleshooting. You need to find out if this problem persists when not using the pre-heat function of the firmware. E.g. When you do not pre-heat, but print a PLA object, does the temperature also keeps rising? Furthermore, try to hook up a computer/laptop over USB to the printer board and try pre-heating from a software application like OctoPrint, Repetier-Host, PronterFace, etc.

From the description alone, it appears as though the gain of the onboard MOSFET is opened once requested to preheat, but never closed. This could hint to a faulty MOSFET. If you are handy with software compiling for Arduino based microchips (please do note that this requires some thorough insight in compiling software for the Arduino platform), you could alter the printer configuration (not only hardware, by connecting the hotend heater and thermistor cables to the bed terminals, but also software, by switching pins in the board configuration file) to use the bed terminals to heat up the hotend (and not use the heated bed during the test, disconnect the cables of the bed), but that will most probably show that the hotend will stop at the requested temperature as the thermistor does not seem to be broken.

Simple tests that you could perform to check the functioning of the hotend/setup are: