Dual 5015 PWM (4 wires) fan - 24v - no more PWM noise (Patreon)
Content
Took the gamble of ordering a couple 4wire Sunon fan (no idea if it's genuine or not, but it feels and sounds great.)
And it paid off. It's so much better and very quiet at low RPM with no PWM noise (which come from the low kHz needed for 2wire fans generating an annoying buzz)
Aliexpress
--------
These fan will also work in 2 wire mode
--------
Right now I'm running it off the Octopus v1.1 (should work with Octopus Pro and Manta 8 easily, just have to adjust the Pin name)
Gathered most of my info from this: https://www.nicksherlock.com/2022/01/driving-a-4-pin-computer-pwm-fan-on-the-btt-octopus-using-klipper/
With other board you might not have 3 pin endstop, so can't use those for RPM monitoring. Might be able to get that from a raspberry pi. or other pins on your board.
If there is interest let me know and will try to get the same setup running of a Pi pico running kipper to make this more universal regardless of the printer board.
You can also run PWM off a pi and I can look into this as well so that its controllable through klipper ( a non klipper tutorial: https://www.the-diy-life.com/connecting-a-pwm-fan-to-a-raspberry-pi/)
-------
NEVER connect the PWM wire (blue) to 12/24v or you'll fry your fan.
-------
Octopus/Manta 8 Setup
(Also tested on an SKR pico and Robin Nano v1.2, works great and didn't blow up the board same principle as with the octopus in term of connection)
Power and ground connected to one of the always on fan port, for constant 24v (or any 24v pin/ PSU and any constant ground or PSU ground)
I coupled the fan together in parallel to save pins.
Same thing with the PWM wire (blue wire), connected in parallel, and on the negative pin of a fan port with the voltage jumper removed.
And only one of the tachometer wire (yellow) on a endstop controllable pin (second yellow wire kept disconnected, and assume fan is spinning at the about the same speed)
I had to adjust the cycle_time, because at 24kHz the fan would have very low rpm around 50% and stop below that. (I think it's a bug on the klipper octopus firmware)
on the Manta 8 assume it works and use
cycle_time: 0.00004
--- OCTOPUS --- work around
From a Redditor they probed the pin and the frequency generated on the octopus was much higher than the one set in the config. which explains this issue.
Reducing the frequency was able to get minimum fan speed down to 16% before fan would stop, but my goal was to get the slider as promotional to the full fan speed for as low as possible and from 40% to 100% it's almost proportional to the full rpm speed, below 30% thing decrease much faster:
---
edit: tried on a an SKR pico (as my octopus died, my fault ), and turns out the erroneous RPM I had noticed was because the default klipper polling rate was too low, default value for klipper is supposedly good up to 10K RPM, but had to increase it to get correct proportional reading, these fan read 8200RPM at 100%
so add:
tachometer_poll_interval: 0.001
-----
Next will try running of an Pi Pico for the PWM signal.
----
Adjust pins name as needed
--------------
[fan]
pin: !...
shutdown_speed: 0.0
kick_start_time: 0.1
#off_below: 0.15 # in case the fan doesn't run well below a percentage
tachometer_pin: ^...
tachometer_poll_interval: 0.001
tachometer_ppr: 2
hardware_pwm: True
cycle_time: 0.00004 # 25kHz
----
for octopus will revisit that but that's what I had at the time:
cycle_time: 0.000095 # 10.5kHz through trial and error, min speed 16% before fan stop, which is why off_below is set to 0.16
--------
fried my fans (getting new ones as these are still my favorites)
Do not connect fans positive and ground to a controllable fan port with PWM on another controllable fan port. Not sure exactly why but don't do it (guessing PWM wire got a full 24v jolt)
a moment later:
I connected the new fan 24v and ground on the Laser port of 4th SKR pico and the blue wire (PWM) on a the ground of a controllable fan port, that worked and didn't fry the new fans.