A case with active cooling for 1Gb pine64
#1
Hi all!

Just sharing my experience :-)

[Image: attachment.php?aid=849]
A case with an active cooling system for my 1Gb pine64.

A rather detailed account on building this: https://ishwestscriptwault.wordpress.com...ine64_fan/

Enjoy!


Attached Files Thumbnail(s)
   
  Reply
#2
Hi, thanks for the nice article! I need to get back to my 3D printing experiments....
Come have a chat in the Pine IRC channel >>
  Reply
#3
Wow... thanks for the great post and tutorial ishwest! Nice case, PCB and script work... I especially like the modifications you made in creating the monitor script Wink

I did very much the same thing with fan control, just avoided software PWM as I don't see the benefits in this particular application. On a system with a brush fan, or a proper four wire PWM fan, yes, maybe, but I can see the brushless fans dying an early death because they are intended to be either on or off, not somewhere in between Wink  The idea being that as the temperature rises, so does the fan speed, meaning it stays a lot quieter, only going full bore when it really is needed. I instead have mine running at (would you look at that!) 55c and cutting out at 38c. I intend to add a little more to it where it keeps running for say a minute once it hits the low end, to minimise on/off oscillation when it does heavy work.
  Reply
#4
pfeerick, xalius thanks!

(06-26-2017, 09:47 PM)pfeerick Wrote: … just avoided software PWM as I don't see the benefits in this particular application.
My thoughts exactly!

In my experience putting the fan inside the case reduces the noise way better than pwm does.

Actually I've started writing a soft-pwm daemon but given up on it once I figured it's taking too much effort for smth I don't even need :-)

(06-26-2017, 09:47 PM)pfeerick Wrote: I instead have mine running at (would you look at that!) 55c and cutting out at 38c. I intend to add a little more to it where it keeps running for say a minute once it hits the low end, to minimise on/off oscillation when it does heavy work.
I've used a stochastic approach to this issue :-)

There's a 14% chance that the fan will start at 56°C. Then the probability goes up linearly with CPU/GPU temperature until it hits 100% at 62°C. And symmetrically the probability of the fan stopping goes from 0% to 100% with the temperature dropping from 54°C to  47°C.

Did it on a whim but works surprisingly well for me :-)
  Reply
#5
(06-27-2017, 01:38 AM)ishwest Wrote: In my experience putting the fan inside the case reduces the noise way better than pwm does.

That and getting a larger, slower turning or better balanced fan helps. Wink I went for 50mm fans because I've seen so many of the 20mm and 30mm ones become screaming monsters because of higher RPMs to make up for their smaller size, or just bad bearings/sleeves. I couldn't quite justify a 90mm or 120mm fan this time Wink

(06-27-2017, 01:38 AM)ishwest Wrote: There's a 14% chance that the fan will start at 56°C. Then the probability goes up linearly with CPU/GPU temperature until it hits 100% at 62°C. And symmetrically the probability of the fan stopping goes from 0% to 100% with the temperature dropping from 54°C to  47°C.

I take it the magic is in this statement?

Code:
return random.randint(0,101) <= 100 * (higher_temp - high_mid_temp) / (TEMP_ON - high_mid_temp)

I'll have to shell script-ify it and see how it compares to my current setup... very interesting indeed... looks like $RANDOM will have to get a workout! Wink
  Reply
#6
(06-28-2017, 12:57 AM)pfeerick Wrote: I couldn't quite justify a 90mm or 120mm fan this time Wink
Well… I can imagine a 2Gb board with radiators on both sides of the PCB + a busy WiFi/BT POT probably with a heatsink of it's own + DC2DC converter for better power supply, all in one enclosure – this would be a Frankenstein of a pine64, but an 80+ mm cooler might be in order… just kidding :-)

(06-28-2017, 12:57 AM)pfeerick Wrote: I take it the magic is in this statement?
Code:
return random.randint(0,101) <= 100 * (higher_temp - high_mid_temp) / (TEMP_ON - high_mid_temp)
Yes, this is the one that rolls the dice for turning the motor on. The one for turning it off is as follows:
Code:
return random.randint(0,101) <= 100 - 100 * (higher_temp - TEMP_OFF) / (low_mid_temp - TEMP_OFF)
Somewhat clumsy but does the job :-)

I hope you'll have fun with it!
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Are the Pine64 Acrylic Open Enclosures Stackable? abhinava 5 9,376 09-17-2020, 06:41 AM
Last Post: dabou
Big Grin Super Mario case [NOW WITH UPDATED STL-FILE (April 27.)] Tarjei85 37 63,086 07-23-2020, 05:31 AM
Last Post: devendraraju
  Made a case for the Pine64 with Audio DAC installed kodachrome 1 3,866 11-12-2019, 04:52 AM
Last Post: xalius
  playbox case ribbon cable too short pinoosh 7 12,040 02-22-2019, 03:24 AM
Last Post: GaryFunk
Video 7" LCD wooden framen enclosure for Pine64 *UPDATED WITH killor 12 19,413 10-12-2018, 03:08 PM
Last Post: tllim
  Clear case PIne 64 with VESA100 LIPO , RTC holder, and mini fan holes killor 6 11,333 08-05-2017, 07:15 AM
Last Post: killor
  New Pine 64 Screen Case from C4Labs Dustin_C4Labs 11 18,630 07-18-2017, 10:39 AM
Last Post: tllim
  Lego Case Kiryu 67 86,986 03-30-2017, 11:36 AM
Last Post: Luke
  Acrylic case with Lipo Holder and 2 Tactile push button included killor 9 12,745 10-24-2016, 08:18 AM
Last Post: killor
  Pine64 DOA - and they don't care mldavies 4 8,865 10-13-2016, 03:57 AM
Last Post: tllim

Forum Jump:


Users browsing this thread: 1 Guest(s)