Welcome! Log In Create A New Profile

Advanced

How to permanently move PART COOLING FAN to pin 6 (MKS GE 1.4 second servo header)

Posted by ovisopa 
How to permanently move PART COOLING FAN to pin 6 (MKS GE 1.4 second servo header)
January 26, 2019 02:27AM
Hello everyone,

I want to move the PART COOLING FAN to pin D6, and use an H-BRIDGE L9110S module to power the fan, I want this also when I configured Marlin with a single EXTRUDER, because I wired already all the cables and for easy swap of the printers head, I want to use an 24 pin ATX connector, each of my heads will have the same connector and only the needed pins connected, as in the image bellow.



For this I need to have my heater pins (D10 and D7) and fan pins (D9 and D6) defined exactly in the same way no matter what version of marlin I configure (as I noticed the single heater firmware, will use E1 - D7 pin for part cooling fan, dual heaters setup, will use E1 for the secondary heater), yesterday night after a few tests I made with the dual nozzle setup, I swapped back to my single nozzle setup but this time I had defined #define FANMUX0_PIN 6, but when tried to print something I noticed the D7 mosfet was turned on instead (LED was on), I think somehow the part cooling fan is still on heater 1 connector (E1 mosfet)





Anyone around to help me with this ? Did anyone else used a similar H-BRIDGE to power fans (when using dual extruders, and all onboard mosfets are used by other devices) ? Or do you guys have any other suggestion how to power the part cooling fan (which turns on only after the first few layers).

PS. I used the L9110S H-bridge because I already had it, my plan was to an mosfet module that also has an opto-coupler onboard, but it didn't arrive yet sad smiley

Edited 1 time(s). Last edit at 01/26/2019 02:30AM by ovisopa.
Attachments:
open | download - Configuration.h (71.1 KB)
open | download - Configuration_adv.h (67.4 KB)
open | download - pins_MKS_GEN_13.h (3.7 KB)
Re: How to permanently move PART COOLING FAN to pin 6 (MKS GE 1.4 second servo header)
January 26, 2019 03:00AM
setting "#define FAN1_PIN 6" in configuration.h should do it...

I tend to do such modifications in the MOTHERBOARD block...

ie

#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_MKS_GEN_13  //BOARD_RAMPS_14_EFB
  #define FAN1_PIN 6
#endif
Thank you for the quick reply, I modified the config as you suggested and flashed the firmware via OctoPrint, and made a test print, when printing the first layers the COOLING FAN must be of, and the D7 MOSFET led was off, I though the change you suggested did the trick, but ...



after it started printing the next layers I checked again the D7 MOSFET led and it was turned ON sad smiley The fan connected to D6 was still OFF



In the file pins_MKS_GEN_13.h I have:

//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7



In configuration_adv.h I have :

#define E0_AUTO_FAN_PIN 9
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
#define E4_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed

/**
 * Part-Cooling Fan Multiplexer
 *
 * This feature allows you to digitally multiplex the fan output.
 * The multiplexer is automatically switched at tool-change.
 * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
 */
#define FANMUX0_PIN 6
#define FANMUX1_PIN -1
#define FANMUX2_PIN -1


Those settings are the cause ?

Edited 1 time(s). Last edit at 01/26/2019 04:37AM by ovisopa.
Re: How to permanently move PART COOLING FAN to pin 6 (MKS GE 1.4 second servo header)
January 26, 2019 05:34AM
Firstly did you check with a single hotend or dual?

secondly just noticed there is this bit of code in pins_RAMPS.h that needs changed

#elif DISABLED(IS_RAMPS_SF)                    // Not Spindle, Fan (i.e., "EFBF" or "EFBE")
  #define HEATER_BED_PIN   RAMPS_D8_PIN
  #if HOTENDS == 1
    #define FAN1_PIN       MOSFET_D_PIN
  #else
    #define HEATER_1_PIN   MOSFET_D_PIN
  #endif
#endif

with 1 hotend It will set the FAN1_PIN to MOSFET_D_PIN
but with more than 1 hotend it will set the HEATER_1_PIN to MOSFET_D_PIN
change it to

#elif DISABLED(IS_RAMPS_SF)                    // Not Spindle, Fan (i.e., "EFBF" or "EFBE")
  #define HEATER_BED_PIN   RAMPS_D8_PIN
  #define FAN1_PIN   6 
  #define HEATER_1_PIN   MOSFET_D_PIN
#endif

I dont know what #define FANMUX0_PIN 6 is for... I would set it back to -1

Edited 1 time(s). Last edit at 01/26/2019 05:36AM by Dust.
Quote
Dust
Firstly did you check with a single hotend or dual?

Today I set it up as a single hotend, last night I made some tests with dual hotends but I haven't connected the fan at all.

Quote
Dust
I dont know what #define FANMUX0_PIN 6 is for... I would set it back to -1

Now 30 minutes ago I tried setting it back to -1 but it still didn't help. I'm sure the code in the ramps file is changing the fan pin definition, I think I will try to undef FAN1_PIN either above the motherboard block you told me initially, or in my pins_MKS_GEN_13.h file, I noticed there are also some other undef's there too.

Will post back later, to let you know if it worked grinning smiley

Thank you!

UPDATE! It worked grinning smiley In the file pins_MKS_GEN_13.h I undefined FAN1 also, and redefine it one line bellow:

#include "pins_RAMPS.h"

#undef FAN_PIN
#undef FAN1_PIN

#define FAN1_PIN 6

Edited 2 time(s). Last edit at 01/26/2019 07:25AM by ovisopa.
Sorry, only registered users may post in this forum.

Click here to login