Marlin (on RUMBA board) switch extruder fan automatically
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
#define EXTRUDER_0_AUTO_FAN_PIN -1
#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
FAN0output when the temperature reached the set limit?
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?
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).
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.
@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?
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 8is 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 7but you will need to search for the
#define FAN 8in the appropriate pins.h file and change
8to 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.