Fan setting and control

I try to setup firmware configuration, and have problems with fans. I have a corexy printer with one extruder, RAMPS 1.4  and Repetier V 1.0.0dev.
Actually, I don't understand the definitions and settings about fans and temperature control, so please help.
I have the hotend cooling fan connected to D9 and so I can control the fan via Repetier Host manual control.
I have installed a fan extender board on the servo pins and have tested this with a small ,Arduino test program. The two servo outputs work on Digital pins 4 and 5.
What I want is:
- Hotend fan only controlled by extruder temperature (e.g. start at 100°C with low PWM setting and go to max PWM setting 255 when reaching target temperature.
- print cooling with a second fan which ideally gets manually controlled via Repetier Host. Don't know whether this fan could also be controlled by a Slic3er setting.


  • In config each extruder can be assigned a cooling fan. This is controlled by extruder temperature and is one you want.

    The other one you need to enable fan feature and assign a pin (default is D9 = FAN_PIN). This gets controlled by M106/M107 which is what host and slicer use to control cooling the print.

    Just make sure to not use a fan output twice e.g. both D9 will not work.
  • When I understand correctly, I set (in V 1.0.0dev)  configuration tool

    Extruder cooler pin (EXT0_EXTRUDER_COOLER_PIN)  to Digital pin 4
    Print cooling fan pin to Fan pin.

    Wird bald ausprobiert.

  • @Repetier
    Sorry, doesn't work. The only fan running is the one attached to D9 pins on Ramps.
    Can I send my configuration.h?
  • Have you testes without fan with multimeter if pin 4 gets power?
    You said servo board but most fans need 12V while servos like 6V so is voltage ok?
  • Yes, I tested the fan extender on Arduino Mega with this little Arduino sketch:

    void setup() {
     pinMode(4, OUTPUT);
     pinMode(5, OUTPUT);
    } void loop() {
     digitalWrite(4, HIGH);  
     digitalWrite(5, LOW); 
     digitalWrite(4, LOW);
     digitalWrite(5, HIGH);   
    The fan extender is connected to 12 V and both outpus worked with 12 V fans.
  • I forgot: The Mega has Ramps 1.4 mounted and the fan extender is on the servo connectors of the Ramps.
  • Ok so since 4 and 5 work make sure you have not swapped them.
    Other thing is make sure no other fan/heater/... is using same pin number. 
    As I understand this is what you set extruder cooler fan to. So this fan gets only activated if you set extruder temperature > 50°C.
  • edited December 2018
    I currently have the same problem as luwi66.
    I have the same hardware setup. RRD extender board for ramps 1.4.
    In Marlin all I had to do was
    #define FAN_PIN 6" in "pins.h"
    With Marlin I could control the print cooling fan using the FAN button in Repetier-Server.

    In Repetier-Firmware there is no FAN_PIN for Motherboard=33 (Ramps 1.3+) but there is #define ORIG_FAN_PIN 9.
    I changed this #define ORIG_FAN_PIN 6 but then the Extruder/Hotend fan does not spin. I guess ORIG_FAN_PIN is the extruder fan because when I changed ORIG_FAN_PIN to 6 the extruder fan did not spin up when reaching a temp. > 50°C and the print cooling fan did NOT spin up aswell.
    I need to which pin in pins.h is addressing the print cool fan for Ramps 1.4 (Motherboard=33)

  • Please do not mess with pins.h. there is no need in your case. You can always select the digital pin number directly instead of using symbolic names, especially if you now the pin number.

    The problem with ramps is that it ha snot enough power outputs. FAN_PIN and HEATER_2_PIn are identically 9. What you use it for doe snot matter just do not use pins twice. Same for part and extruder cooling fan. Just select a pin you want and make sure the other functions do not use the same pin number. Same numbers means 2 functions set speed and the result is not what you expect.

    The print cooling fan is set in features I think.
  • edited April 2019
    I managed to get the hotend fan running once the hotend starts heating.
    With the described RRD extender this code works

    However the fan spins up as soon as the hotend starts to heat up.
    1. My problem is now that setting the cooler speed with:
    does not change the fan speed. It stills runs at 100%/255.
    Flashing worked fine.
    UPDATE: I found that a PWM of 255 was still set in EEPROM.

    2. I cannot find a setting for which temperature the fan should start cooling. E.g. 50°C.

  • I figured 2. out
    It's #define EXTRUDER_FAN_COOL_TEMP 50
    Couldn't find it in the configuration tool.

  • It is in config tool. Search "Enable extruder cooler at". It is just not in the extruder details as it is same value for ll extruders.
Sign In or Register to comment.