4

I have wired in a new extruder with its own cooling fan and I tried to change the Marlin firmware to switch it on automatically above a specific temperature (50 °C). I did noting in the Configuration.h I changed a line in the Configuration_adv.h

from

#define EXTRUDER_0_AUTO_FAN_PIN   -1

to

#define EXTRUDER_0_AUTO_FAN_PIN   8

as described in this article. But the fan is not starting when I bring the temperature above 50 °C (manually). However it starts if I switch the fan on manually from Repetier. Am I missing something? How do I control the fan automatically on FAN0 output when the temperature reached the set limit?

0scar
  • 32,029
  • 10
  • 59
  • 135
FeliceM
  • 581
  • 7
  • 18
  • Maybe 8 is not the correct pin to turn on the fan for your board? Which board do you have, and what output is the fan connected to? – Tom van der Zanden Oct 17 '16 at 10:13
  • I have a Rumba board. The fan is connected to Fan0 and the extruder to Extruder0. If I leave that line with -1 instead of 8 the fan does not even start manually therefore I assume that pin 8 is correct for such output. The issue is that does not start automatically as I said above. Something I have not said is that I am testing heating up the extruder manually (not printing, just heating it). – FeliceM Oct 17 '16 at 10:18
  • The auto fan functionality is separate from the manual control, so I don't understand why your setting here should affect the manual control. The primary fan on the Rumba board is on pin 7, and a secondary fan output is on pin 8. Perhaps setting it to 7 will work? You might need to remove the regular FAN_PIN define to make this work. – Tom van der Zanden Oct 17 '16 at 10:20
  • @TomvanderZanden, sorry you are correct. Even if I set #define EXTRUDER_0_AUTO_FAN_PIN -1, the manual on/off from Repetier works. I tried then to set #define EXTRUDER_0_AUTO_FAN_PIN 7 but I get this error: #error "You cannot set EXTRUDER_0_AUTO_FAN_PIN equal to FAN_PIN. How do I solve this? – FeliceM Oct 17 '16 at 11:36

1 Answers1

2

The RUMBA board has two fan outputs. The primary fan output is switched by pin 7, the secondary one by pin 8. The reason your fan is not working when you set #define EXTRUDER_0_AUTO_FAN_PIN 8 is because it's switching the secondary fan. If you switch the wires over to the secondary fan output it will work correctly.

If you do want to use the primary fan output then you can achieve this by setting #define EXTRUDER_0_AUTO_FAN_PIN 7 but you will need to search for the #define FAN 8 in the appropriate pins.h file and change 8 to something else (-1 or 7, for example).

I would recommend the first solution, because you should have a controllable print cooling fan, and an automatic extruder cooling fan.

Tom van der Zanden
  • 14,588
  • 2
  • 33
  • 60