makerbase-mks / MKS-Robin-Nano-V3.X

Robin nano V3 is an upgraded version of Robin Nano V2.0. The upgrade changes are quite large, including upgrading the MCU to the M4 core, and adding support for USB disk.
GNU General Public License v3.0
134 stars 63 forks source link

Hardware PWM not working for part cooling fan FAN_PIN PC14 #169

Open wagnerism opened 8 months ago

wagnerism commented 8 months ago

I have the fan connected to PC14 "FAN1" on the board. In pins_MKS_ROBIN_NANO_V3_common.h FAN_PIN is set to PC14.

The part cooling fan does not move when set between 0-49%, then it runs at full speed when set between 50-100%

I enabled FAN_SOFT_PWM and it appears to work but it is very noisy. According to https://github.com/makerbase-mks/MKS-Robin-Nano-V3.X/blob/main/README.md there are two hardware PWM fan ports.

How does one use the hardware PWM associated with pin PC14?

YHamud commented 5 months ago

I'm facing the same problem with PC14 (fan0) on the TT SP5-V3, will try with PB1 (fan1). The main problem is that the printer used 2 high rpm part cooling fans and at full spin they are really powerful, which drops a lot the nozzle temperature and may not be very good for layer adhesion.

YHamud commented 5 months ago

Hear me out, I found a way around it.

Just make the Fan1 pin your Fan0. Go to the pins file (pins_MKS_ROBIN NANO_V3_common.h) and replace PC14 by PB1 on FAN0_PIN and put -1 on FAN1_PIN). Then on the board just plug the part cooling fans on the fan socket beside the current one.

I tested and now both fans start as low as 20% (very low whining) and speed up to 100% without issues.

Let me know if you face any problem while doing that.

th00mas88 commented 5 months ago

@YHamud

I have had the same issue.

Done as described and i cannot make marlin as i had an error calling it FAN0_PIN but i have made FAN1_PIN -1

I have changed FAN_PIN to PB1 and PC14 neither work .

th00mas88 commented 4 months ago

following up - i was on a slightly older marlin

FAN0_PIN i have swapped to PB1 and PC14
FAN1_PIN has been -1 . still not working

l-e-s commented 4 months ago

I tried to swap fan pins as described above, also set PC14 as an extruder fan to automatically start when the extruder becomes hot: pins_MKS_ROBIN NANO_V3_common.h

#define FAN1_PIN                            PC14  // FAN
#define FAN0_PIN                            PB1   // FAN1

Configuration_adv.h

#define E0_AUTO_FAN_PIN FAN1_PIN
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255   // 255 == full speed

Works well for me. Thank you very much for advice!

MKS Robin Nano v3.1, Marlin bugfix-2.1.x

simpit303 commented 3 months ago

0_AUTO_FAN_PIN FAN1_PIN Thank you gents for your post here. I can confirm that above method is working perfectly on my Robin Nano 3.0 with Marlin bugfix 2.1.x. Now (Just like in Marlin 2.0.x) i have ability to control speed on second Cooler fan in TS35 screen menu ( 50% Speed and 100% Speed) Extruder fan is working automaticaly just perfect. You don't have to set in ...adv.h nothing for cooler fan just set E0_AUTO _FAN FAN1_PIN for extruder fan.