4-pin fan control
#1
I would like to use an ultra-quiet low-power 12V 4-pin PWM fan and am trying to figure out how to best interface with the PWM signal and RPM Speed signals wires of such a fan. The specific fan I'm looking to use is the Noctua NF-A8 PWM fan which has the following electrical interface:

Blue: PWM Signal (+5V)
Green: RPM Speed Signal (open collector output)
Yellow: +12V
Black: Ground

I would need to ensure (somehow) that the FAN+ is always at 12V, I'm not sure how this pin gets controlled in startup via u-boot / Linux but in my application I would want to ensure it goes high and stays high sometime during boot.

I'm looking for options on how to interface to the Blue and Green cables. I think my options are either somehow directly to some of the 5V pins on the Pi-2 header, or alternatively, perhaps some sort of separate fan control breakout.

One idea I had was to use the Adafruit EMC2101 I2C PC Fan Controller and Temperature Sensor breakout. This would use the i2c interface on the pi-2 header.

I would then need to interface that with a temperature diode somewhere -- ideally one that already exists on the RK3399, the board near the SoC, or I guess on the CPU heatsink. From what I can tell, one of the 3904 BJT type diodes mentioned in Table 4 would work.

Does anybody have any experience using a 4-pin fan on the RK3399 in a NAS application?

Details on the Noctua fan interface.

Details on the EMC2101.
  Reply
#2
After some research, my plan is to use the approach suggested in Simplest uni-directional level shifter (3.3V -> 5V).

This uses a 74AHCT1G125 and a decoupling capacitor. I will report back with how it goes Smile
  Reply
#3
Hello Hazelnusse,
  I am going to use the same fan with ROCKPro64. I like those fans of Noctua a lot – despite their prices!

  12V for the fan will be ‘stolen’ from the connector CON15, which is connected directly to the power input barrel connector. I am using CON15 to power my two SATA disks, as it is intended to. I purchased the standard SATA power cable from PINE64 (https://pine64.com/product/rockpro64-pow...46c16e2e66) and attached additional cables to it.

  PWM is a bigger problem. ROCKPro64 has one hardware PWM signal available at connector J8. Unfortunately, it is converted to 12 V with a circuit, which I do not understand. It is rather intended for powering the traditional ‘2-wire’ fans with PWM speed control. Such fans work with PWM frequencies below 1000 Hz, and this circuit is probably created for such frequencies.
Noctua requires higher frequency of PWM - around 25 kHz. I am not sure how this circuit will behave at such frequency. I have asked in this forum, if it is possible to derive the 3V or 5V signal, before it is converted to 12V (https://forum.pine64.org/showthread.php?tid=7877), but nobody dared to answer. Also converting the signal from 3V to 12V and than back to 5V seems not very elegant idea.

  So I decided to use Arduino PRO Mini to operate the fan. Programing PWM on Arduitno is very easy, and it consumes very little of energy. Arduino generates signal with 3.3V, but I have tried that the fan recognizes it. So, I will try without shifting to 5V, at first.
Arduino communicates with ROCKPro64 by UART. It will perform some additional functions, since my NAS-project expanded (what caused it not finished yet ? ): read a temperature sensor (TMP36), control a battery for emergency power supply, and shutdown ROCKPro64 in case of power-loss.
I am going to use following temperatures to determine speed of the fan:
  • CPU from "/sys/class/thermal/thermal_zone0/temp", "/sys/class/thermal/thermal_zone1/temp" (I am using Armbian)
  • Disks – from SMART data, which both disks supply.
  • TMP36 sensor attached to heatsink on my SATA-PCI card. I am using a Marvell 9230 card, which works very well, but gets quite hot.
Best regards,
Gienek.
  Reply
#4
Maybe a bit OT but I also bought this fan. However, I found it too thick with 25mm to fit it inside the case so I switched to a slimmer model, and fan control imho works sufficiently well with the 2pin connector as well. Sure, it's nice to have RPM readings but for my use case I don't really need that.
  Reply
#5
(03-12-2021, 11:03 AM)kuleszdl Wrote: Maybe a bit OT but I also bought this fan. However, I found it too thick with 25mm to fit it inside the case so I switched to a slimmer model, and fan control imho works sufficiently well with the 2pin connector as well. Sure, it's nice to have RPM readings but for my use case I don't really need that.

Hello, can you provide a link to the fan that you got that worked? I'm trying to find a quieter fan and am having trouble figuring out one that will fit, and work!

Also, you said that this was too thick with 25mm, but the fan linked here was 80mm?
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)