MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.19k stars 19.21k forks source link

[BUG] MKS_GEN_L extruder fan not working #26971

Closed Darkic5 closed 1 month ago

Darkic5 commented 5 months ago

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

The extruder fan would not turn on when reaching or exceeding 50 degrees C. Tried old stable firmware I had (1.1.9), and it worked. After trying multiple configurations for 2.1.x and making sure all settings are correct, I compared the pins file for MKS_GEN_L and found that the wrong MOSFET was assigned to pin 7. Currently it sais #define MOSFET_B_PIN, but this should be #define MOSFET_D_PIN. Changing to #define MOSFET_D_PIN and building the firmware again has fixed the issue for me! I suppose everyone using this board will face the same issues, so could you update this please?

Bug Timeline

Around a year ago (same issue with old bugfix 2.1.x firmware I downloaded around a year ago)

Expected behavior

Extruder fan to start spinning above 50 degrees C

Actual behavior

Extruder fan never started spinning

Steps to Reproduce

Version of Marlin Firmware

bugfix 2.1.x 13-4-2024

Printer model

Artillery Genius

Electronics

Stock + BL touch

LCD/Controller

MKS TFT28 V1.0

Other add-ons

No response

Bed Leveling

ABL Bilinear mesh

Your Slicer

Cura

Host Software

None

Don't forget to include

Additional information & file uploads

Configuration bugfix 2.1.x 14-4-2024.zip

thisiskeithb commented 5 months ago

This was "fixed" in https://github.com/MarlinFirmware/Marlin/pull/25717 since @Nomis-97 was following the schematic, but that doesn't match the pins diagram in pin numbers or pin counts/connector names and are likely typos in the schematic.

image

Pin 7 has been mapped to HE1/J10 (as marked in the pins diagram) with an alternate use for E0_AUTO_FAN_PIN/FAN1_PIN for as long as I can remember using the Gen-L, so that PR should likely be reverted.

thisiskeithb commented 5 months ago

I just traced FAN (FAN0_PIN / D9), HE1 (HEATER_1_PIN / D7), HE0 (HEATER_0_PIN / D10), and H-BED (HEATER_BED_PIN / D8) pins to the mega2560 MCU pins on my Gen-L V1.0 and can confirm that MKS' Gen-L V1.0 pins diagram is correct, not the schematic.

thisiskeithb commented 5 months ago

PR submitted that should hopefully resolve MKS Gen-L V1 pin issues once & for all: https://github.com/MarlinFirmware/Marlin/pull/26974