Controlling fan speed?

Discussion in 'UDOO BOLT' started by itimpi, Sep 16, 2019.

  1. oodarioo

    oodarioo UDOOer

    Joined:
    Jul 17, 2019
    Messages:
    5
    Likes Received:
    0
    @nophead: If I connect Noctua +5V (yellow wire) to Arduino +5V, Noctua GND (black wire) to GND and Noctua PWM (blue wire) also to GND, the fan stops spinning. I guess, that "PWM connected, but no Voltage" is interpreted by the fan as 0% duty cycle, whereas "not connected at all" means full speed. I think that this is the intended behavior, so the fan seems to be okay.

    @Zgembo: I have the same board revision (printed on the PCB) V8 Bolt. BIOS part number is identical as well. I have Firmware / Library Version 0.16 / 0.19 for the embedded controller and Firmware 1.06 R.C. 4 for the BIOS.

    I only have a simple multi-meter tool at hand, but I do measure 5V between Bolt CN7 Pin 2 (middle, PWM?) and GND in every situation so far. Even when I set the duty cycle to 0 in the BIOS. I would have assumed that this voltage would be a flipping between 0 and 5V in a square waveform and that the multi-meter then averages out to some intermediate value. In the extreme case of duty cycle 0, I would have assumed a flat 0V. But that may be an issue with the multi-meter to be not precise enough. I have no oscilloscope at hand, unfortunately.
     
  2. nophead

    nophead UDOOer

    Joined:
    Aug 18, 2015
    Messages:
    87
    Likes Received:
    14
    If the fan spins at full speed when the PWM line is disconnected that means it has a pullup at the FAN. The Bolt fan output is designed to drive a fan motor with 5V or turn it off. I expect that it only drives high, so you would need a pulldown to make it drive the PWM pin to 0 when off.
     
  3. Zgembo

    Zgembo UDOOer

    Joined:
    Sep 21, 2019
    Messages:
    49
    Likes Received:
    27
    OK, I'll try to borrow some simple scope this week and probe that CN7 pin2, under various BIOS settings...
    @oodarioo same BIOS/controller/board revision here, I wonder if our Noctua fans differ in some way?
     
  4. oodarioo

    oodarioo UDOOer

    Joined:
    Jul 17, 2019
    Messages:
    5
    Likes Received:
    0
    @nophead I am no electrical engineer and have only a very rough understanding of these things... But does that mean, I should put a resistor (i.d.k. 10k Ohm?) between the Noctua PWM wire and GND additionally to connecting it to the PWM pin of the bolt (pin 2 at CN7)? At least, that is my understanding after reading the web about pull up/downs.
     
  5. nophead

    nophead UDOOer

    Joined:
    Aug 18, 2015
    Messages:
    87
    Likes Received:
    14
    Yes a resistor to ground but I would go for something between 100 Ohms and 1K because it has to ensure it will go low despite there likely being a pull up inside the fan. If the fan had a 10K pullup and you added a 10K pulldown it would leave the PWM pin at 2.5V which is an indeterminate logic level.
     
    Zgembo likes this.
  6. DJVT

    DJVT UDOOer

    Joined:
    Nov 28, 2019
    Messages:
    16
    Likes Received:
    7
    Hi, reading through this topic and searching the web I found this little important information on this website: https://www.udoo.org/docs-bolt/Hardware_References/Pinout_Headers.html
    So if you want to use a 4-pin PWM fan you need to connect its PWM cable to pin 11, the cable carrying the rpm-signal to pin 12 and grab gnd and +5V somewhere. I didn't try it yet because my UDOO Bolt v8 is still on the way - just ordered it yesterday. I am guessing you also have to set the fan control to 'external fan' in the BIOS, too. I will try the Noctua fan and grind the heatsink down a bit or cut the top of the case so it'll fit in.

    I hope this works, cheers :)
     
  7. Zgembo

    Zgembo UDOOer

    Joined:
    Sep 21, 2019
    Messages:
    49
    Likes Received:
    27
    I've actually tried that, and it didn't work with COFAN stock fans. Haven't tried the Noctua though, if you have any success please share. But be aware that there is no settings in BIOS to correlate this "External FAN" speed with current CPU temperature, so it can only be set to one speed.
     
  8. DJVT

    DJVT UDOOer

    Joined:
    Nov 28, 2019
    Messages:
    16
    Likes Received:
    7
    Hello again,

    I can now confirm driving a 4-pin PWM-fan on the UDOO bolt v8 is working flawlessly!

    Connected as mentioned above and adjusted bios settings appropriately. I wanted to upload pictures but the forum wouldn't let me...

    Although the system is running almost inaudibly quiet now most of the time at a constant 42% of max rpm with my current settings, I wish there was another one or two set-points so the fan wouldn't go full-on 100% under load but instead could be set to go first to 80% or so would be much appreciable. This could probably easily be implemented in another bios update - I guess. If not, there still could be put a throttle in-line to decrease the fan's max speed...

    But for now I am happy with this solution the way it is.


    A few tips in case you want to do this yourself:

    1.)
    Leave the original fan attached to the heat sink at first and have both fans electrically connected to the bolt - make sure the pwm-fan is running after setting things up in the bios before swapping the fans and detaching the connector of the original one.

    2.)
    Be careful while un-mounting the original fan: The bolted nuts underneath must be held with pliers or something so they won't turn. The hardened thermal compound would crack if the heatsink broke loose. Since this happened to me I removed it altogether, cleaned it and applied top grade diamond thermal compound which I wanted to do anyway, so ...

    3.)
    It seems to cool very efficiently with the Noctua fan mounted upside down, not so if mounted blowing downwards instead, most of the air bounces back upwards through the fan, likely due to lack of pressure in this setup.



    For now: Have (more) fun with your UDOO BOLT =)



    Best Regards,


    DJVT
     
    evaloverde and ccs_hello like this.
  9. DJVT

    DJVT UDOOer

    Joined:
    Nov 28, 2019
    Messages:
    16
    Likes Received:
    7
    UDOO_bolt_v8_pwm-fan_wiring.jpg

    The colors of the patch cables are identical to the ones of the Noctua fan -
    black: GND ; yellow: +5V ; green: fan speed feedback (fan-tach) ; blue: pwm signal



    UDOO_bolt_v8_pwm-fan_bios.jpg

    With these settings, the fan is constantly on but barely audible. It didn't even go full-on after half an hour with about 100% on all 8 cores.
     
    Clunion, volker and evaloverde like this.
  10. Luke

    Luke UDOOer

    Joined:
    Sep 7, 2019
    Messages:
    4
    Likes Received:
    2
    Hi DJVT... Nice work! Can you share your CPU temperature with us? I also replaced my fan with the Noctua 60x60x25. My temperature is between 40C to 70C so I am quite happy with that. The fan is always at 100% but it's not loud so doesn't bug me. Still impatiently waiting for the official bios firmware release..
     
    evaloverde likes this.
  11. evaloverde

    evaloverde Administrator Staff Member

    Joined:
    Apr 29, 2019
    Messages:
    236
    Likes Received:
    60
    @DJTV excellent job!
     
  12. watertank

    watertank UDOOer

    Joined:
    Dec 12, 2019
    Messages:
    3
    Likes Received:
    0
    Just got my bolt up and running yesterday and encountered the same overheating issues. The fan seems to work (spins at max) when I boot it and spins up and down every now and again, but stops after the cpu reaches 60C? Not sure on that, but I've noticed that the fan hasn't come on once after the cpu reached 60C.

    Just opened up a ticket too, hopefully there's a replacement fan and/or firmware update that can fix this?
     
  13. DJVT

    DJVT UDOOer

    Joined:
    Nov 28, 2019
    Messages:
    16
    Likes Received:
    7
    Heya!

    @evaloverde : Thank you for doing such a great job at keeping the Udooers in this forum always connected to the company and getting feedback! This is a very cool company to my taste and this little supercomputer is just awesome, especially given its tiny size at this degree of expandability with arduino and grove connectors etc.

    I was quite happy with the performance and quietness of the Noctua fan, but it is too big to fit in the case. Unfortunately, there seem to be no other pwm fans running on 5V on the market. But there is a fan named Nanum SE-F6010 witch has both 4-pin PWM and the right size, but runs on 12 V. So I added a little step-up converter to get the fan running off of the arduino connectors 5V pins, although it could also run on 5V – only much slower, which I briefly tested. But I preferred to go with its full cooling potential, because with the right settings it is almost inaudible most of the time. My Udoo Bolt v8 is running semi-fanless now.

    @watertank : No waiting for some replacement fan or bios update necessary. Just read this: https://www.udoo.org/docs-bolt/Hardware_References/Pinout_Headers.html

    So it is all already there!

    You have to switch from 3-pin to 4-pin and not try to somehow use the internal 3-pin connector on the board close to the cooler but connect it according to the info in the link above. Then you need to set the settings in the bios so it suits you.

    Although the fan control in the bios could be improved, it is already capable of cooling very effectively while staying comfortably quiet if used with a 4-pin pwm - fan connected and set accordingly…

    So after connecting the new fan correctly, go into BIOS → Advanced → Embedded Controller →Internal fan settings → set External FAN control to [enabled] → press ESC once to go back one level, then go to External Fan/PWM settings and set FAN_PWMOUT to [4-WIRE FAN] and External FAN Control to [enabled]. Then try different settings for AC0 and AC1 temperatures ( I wish there was at least one more… ), Temperature Hysteresis, Fan Duty Cycle (%) Above AC1 and Speed Change Duration.

    Atm I am quite satisfied with these values: 70, 50, 1, 38, 23

    With these, the system runs semi-passive at room temperature environment. The fan only turns on occasionally under easy use and stays pretty quiet. When under heavy load, the fan will speed up to faster speeds than the set 38 % but since Speed Change Duration is very long, the fan hardly ever reaches full speed / noise.

    Only it is a little annoying having the fan cables to be connected from outside, especially when inserting or removing the board from the case, I will probably solder the wires directly to the contacts from the inside later.

    -> attached picture:
    Pololu 12V Step-Up Voltage Regulator U3V12F12, connected to the Nanum SE-F6010, screwed on the heatsink inside


    @Luke : Sorry, I don't know how to read cpu temperatures in Ubuntu on this machine. I tried:

    $ sudo apt install lm-sensors hddtemp

    $ sudo sensors-detect

    → No sensors found …

    Any advice?
     

    Attached Files:

    volker and evaloverde like this.
  14. DJVT

    DJVT UDOOer

    Joined:
    Nov 28, 2019
    Messages:
    16
    Likes Received:
    7
    Update,
    $ sudo apt install acpi
    $ acpi -t
    acpi -t
    Thermal 0: ok, 10.0 degrees C
    Thermal 1: ok, 56.0 degrees C
    ( without the Nanum fan running )
     
  15. watertank

    watertank UDOOer

    Joined:
    Dec 12, 2019
    Messages:
    3
    Likes Received:
    0
    @DJVT I appreciate the advice, but I don't feel comfortable doing all of that, especially with a fan that wont fit in my case (considering the noctua).

    Btw, you can also check cpu temps with `cat /sys/class/thermal/thermal_zone*/temp`.
     
  16. itimpi

    itimpi UDOOer

    Joined:
    Oct 31, 2013
    Messages:
    136
    Likes Received:
    39
    I used a Gelid Silent 6 fan which JUST fits into the standard case. It seems to run OK at 5V even though it is officially a 12V fan and although it does not seem to be speed controlled it is virtually silent when running so I do not care about the lack of speed control.
     
  17. watertank

    watertank UDOOer

    Joined:
    Dec 12, 2019
    Messages:
    3
    Likes Received:
    0
    After trying to supplement the internal fan with an external desk fan I've noticed that flipping the whole unit to the side and almost up side down seems to revive the internal fan temporarily :hmmm:
     
  18. DJVT

    DJVT UDOOer

    Joined:
    Nov 28, 2019
    Messages:
    16
    Likes Received:
    7
    Very well, but a lot of people including me are very sensitive about fan noise. Quietness is priority number one with me, but at the same time I don't want throtteling on higher cpu loads. And I doubt running a 3pin fan designed for 12V but running on 5V will suffice under high load plus evtl high temperature environment. So 3-pin fans are no option for me - if you want both, quietness and high performance potential, there is no way around PWM-fans.
     
  19. chrisr

    chrisr UDOOer

    Joined:
    Nov 1, 2013
    Messages:
    27
    Likes Received:
    9
    Has anyone tried connecting the standard supplied Udoo Bolt fan to just the 5V and GND supply on the Arduino CN24 pins 38 and 40? Running the 12V fan continuously from 5V (if this works) may be a solution to constant (lower) fan noise with enough cooling. Just asking before I try it. Thanks
     
  20. Zgembo

    Zgembo UDOOer

    Joined:
    Sep 21, 2019
    Messages:
    49
    Likes Received:
    27
    OK Bolters, I finally had time to scope the CN7 "PWM" signal and got some disappointing, yet interesting results that explain why various fans really behave the way they do... Sorry for blurry cellphone images, did this in the middle of the night m(_ _)m

    So, I first measured CPU FAN CN7 middle pin, at forced BIOS CPU setting at 50% duty cycle, and default 100Hz frequency:
    bolt-cpu-fan-100Hz-50percent.jpg

    As you can see, everything seems normal, but the thing is, PC FAN PWM "standard" does not specify 100Hz as a standard signal clock, it is at 25kHz, +/- 5%. But even at 100Hz, there were some quirks observed in the signal; there is an occasional random signal "skip", where state is constantly at high for several periods:
    bolt-cpu-fan-100Hz-10percent-stuck2.jpg

    As the BIOS frequency is pushed up, the CN7 "PWM" signal goes bonkers. Here is 2kHz at 20% duty BIOS setting, note the signal down time turning into an ugly slope, which is interpreted by scope as ~40% duty:
    bolt-cpu-fan-2kHz-20percent.jpg

    And then even worse at higher frequencies, 5kHz at 50% duty totally looks like a sawtooth-like signal where it should be square:
    bolt-cpu-fan-5kHz-50percent.jpg

    And from 8-9 kHz onwards, signal totally looses its 'tegridy and just melts into somewhat noisy static voltage:
    bolt-cpu-fan-10kHz-50percent.jpg

    With a PWM signal like this, there is no way standard CPU PWM fans would work as expected. For some reason my 5V PWM Noctua works well enough with 100Hz, but that is more matter of a lucky coincidence than a general rule.

    I dare to speculate that the "PWM" circuit behind the CN7 connector is really at blame here, and most likely no BIOS revision would ever fix this. There is no way "green dot" stock COFAN would ever be able to control fan speed, as the PWM signal settings in BIOS does not affect voltage in any way, it only affects pulse, and only at lower frequencies, that is. So, CN7 aka "CPU DAN" setting in BIOS is ether capable of driving fan that somehow understands low freq. PWM (with special wiring, see my previous Noctua post) or non-PWM fan at nothing but 100% speed.
    The likely reason why other stock COFAN (F-6010M05BII) works is another lucky coincidence, the IC on that fan somehow interprets the low freq. PWM pulses in a seemingly correct manner.

    Now, I decided to play a bit more with the scope I borrowed, and measured PWM "external FAN" signal controlled by Embedded Controller (FAN_OUT 0, pin 11, bottom connector). Although not perfect, this signal seems to be at much better shape, but it is at 3.3V level! Here it is measured at 2kHz 10% duty:
    bolt-ext-fan-2kHz-10percent.jpg

    Even at 25kHz 50% duty signal still looks mostly fine:
    bolt-ext-fan-25kHz-50percent.jpg

    What this means is that Embedded Controller FAN_OUT signal could be pretty usable, provided there is some level shifting circuitry between that signal and the fan PWM pin. It may be that there are fans out there which would work fine with 3.3V PWM signals, but that is hard to guess without looking into fan IC spec sheets and such.

    Finally, as I said before, I got pretty fed messing with Bolt fans, so I settled with Noctua 60mm 5V PWM fan. As a result I had to opt for original metal case, but due to Noctua's depth, the fan can not be fully assembled. This means that standard thin 2.5" SSD drive won't fit in the case, unless SSD's chassis is put apart, which would void its warranty of course. It is definitely a compromise, but damn, it totally beats having to listen stock COFANs whining...

    P.S.
    @evaloverde A note to Bolt HW engineers: please do PWM right next time, Bolt's implementation is a total mess.
     
    volker, ajs and evaloverde like this.

Share This Page