2

While debugging I noticed that the hot end cooling fan did not turn on when I manually set the hot end temperature target to 200 °C. Even after the hot end reached 200 °C the fan did not turn on. The bed target temperature during this test was set to 0 °C.

I let everything cool down then set the bed temperature to 30 °C. About 10 seconds later the hot end cooling fan turned on. I then set the bed to 0 °C. About a minute later the hot end cooling fan turned off. The hot end target temperature during this test was set to 0 °C.

This is a (original) CR-10 printer. The stock controller board has been swapped out with a BTT Mini E3 V2.0 board. I am running Marlin 2.0.9.7. I have loaded in a set of CR-10 configurations which I believe are from the Marlin web site.

Since OctoPrint is connected by USB to the BTT controller board during the above test, I repeated the test after disconnecting the USB cable. The results were the same. The hot-end cooling fan turns on when the bed is hot and the hot-end is cold. And, the hot-end cooling fan turns off when the bed is cold and the hot-end is hot.

I know in many designs the hot-end cooling fan is on all the time (i.e. as soon as power is applied to the controller board). In the stock CR-10, IIRC, the hot-end cooling fan was only on when the hot-end was hot. I was expecting the same behavior after replacing the stock CR-10 controller board with the BTT controller board. But this behavior where the hot-end cooling fan is obviously tied to the bed heater and not the hot-end was unexpected.

st2000
  • 171
  • 7

1 Answers1

3

Found the solution:

I am using Marlin 2.0.9.7 and grabbed the CR-10 version to help with configuration. In the advanced configuration header file none of the sense points were connected to a fan.

I was expecting to find:

#define E0_AUTO_FAN_PIN FAN1_PIN

But found:

#define E0_AUTO_FAN_PIN -1

When I changed it to what I expected, Marlin produced an error. Not a compiler error but an "error message" from the Marlin define logic in the code. In short I could not use this fan controlling point because it was already being used by the CONTROLLER. That is, the FAN1 plug on the Big Tree Tech board was assumed to be connected to the fan which cools off the controller board.

I found the CONTROLLER define in the advanced configuration header and commented that out. The code now compiles with no Marlin error messages.

I loaded this code into the CR-10. Now the heating the bed does not turn on the hot-end cooling fan. And heating the hot-end does turn on the hot-end cooling fan. Success!

st2000
  • 171
  • 7