Raspberry Pi 4, raffreddamento passivo e attivo di Pimoroni a confronto

L'effetto di un sistema di raffreddamento passivo o attivo Pimoroni sul Raspberry Pi 4: è possibile evitare il throttling? Ecco alcuni test.

Avatar di Gareth Halfacree

a cura di Gareth Halfacree

Il Raspberry Pi 4 è una bestia potente e dai bollenti spiriti
, soprattutto se paragonato ai suoi predecessori. Sebbene la soluzione ufficiale Raspberry Pi Power-over-Ethernet (PoE) HAT includa una ventola utile per ridurre la temperatura, il mercato offre opzioni più economiche per coloro che non hanno bisogno del supporto PoE, come i dissipatori attivi o passivi di Pimoroni.

Questi accessori dal prezzo contenuto consentono di limitare o addirittura impedire completamente che il Raspberry Pi 4 entri in stato di thermal throttling, permettendo di ottenere così le massime prestazioni, indipendentemente dal carico di lavoro, anche in overclock. Per quanto l’heatsink dal prezzo di soli 2,81 euro sia conveniente e utile, i nostri test hanno dimostrano che la soluzione attiva Fan Shim (che sul sito ufficiale costa 11,23 euro) è la soluzione più efficace.

In effetti, consente di overcloccare il Raspberry Pi 4 fino a 2147 MHz senza mai andare in thermal throttling. Tuttavia, è incompatibile con alcuni HAT (Hardware Attached on Top) e si dimostra inefficace se usata in un case totalmente chiuso.

Thermal Throttilng: il problema

Quando il SoC di Raspberry Pi 4 raggiunge una certa temperatura, appena sopra gli 80 °C, riduce la sua velocità operativa come strumento di protezione dai danni. Per chiunque utilizzi Raspberry Pi 4 per compiti brevi e non dispendiosi dal punto di vista computazionale come la navigazione sul Web, la modifica di un documento o la programmazione in Scratch o Python, non è un problema. Sotto carico sostenuto, tuttavia, la riduzione della frequenza di lavoro della CPU può avere un impatto sulle prestazioni.

Il grafico sopra mostra un Raspberry Pi 4, non alloggiato in un case e quindi all’aria aperta, che svolge un intenso carico di lavoro su CPU e GPU per la durata di dieci minuti. La temperatura raggiunge presto il punto di throttling e la frequenza della CPU può scendere da 1,5 GHz fino a 1 GHz dopo tre minuti e 43 secondi, anche se risale rapidamente quando la temperatura scende consentendo di poter tornare a lavorare a un clock più elevato. Questo comportamento della frequenza va avanti fino alla fine del test, fino a il carico viene meno e la CPU può tornare alla sua velocità di idle di 600 MHz per recuperare correttamente.

Il problema diventa più evidente se si esegue l'overclock del Pi: aumentare il clock della CPU o della GPU richiede più energia e quella non può che tramutarsi poi in maggiore calore. Un Raspberry Pi 4 overcloccato, a parità di condizioni, inizierà a ridurre la frequenza decisamente prima e probabilmente passerà più tempo a frequenze di lavoro ridotte perché avrà più calore da smaltire.

La soluzione passiva: l’heatsink Pimoroni

Aggiungere un dissipatore di calore - un semplice pezzo di metallo termoconduttivo, tipicamente con alette che aiutano ad allontanare il calore dal SoC diffondendolo su una superficie più ampia per un migliore trasferimento all'aria circostante - è sempre stato un aggiornamento comune per gli appassionati di Raspberry Pi.

Il dissipatore di calore Pimoroni, appositamente progettato per il Raspberry Pi, ha un ingombro maggiore rispetto alla maggior parte dei dissipatori per Pi disponibili sul mercato – riesce ad inserirsi per il rotto della cuffia tra il connettore Display Serial Interface (DSI) a sinistra e il connettore Camera Serial Interface (CSI) nella parte centrale in basso - in cambio ha un'altezza ridotta che gli consente di adattarsi ed essere compatibile con gli accessori HAT tradizionali, anche se ciò ne riduce sensibilmente il flusso d’aria.

La scelta del dissipatore di calore comporta un paio di vantaggi rispetto a una soluzione attiva: è completamente silenzioso, per prima cosa, e poi è estremamente economico costano meno di 3 euro. Il prezzo include una striscia adesiva sul retro, ma è strano che Pimoroni non abbia optato per una vera interfaccia termica (TIM); invece, la striscia adesiva fornita è un bioadesimo 9448A di 3M - di solito non viene usato per far applicare i dissipatori di calore ai chip, ma secondo il produttore è particolarmente resistente alle alte temperature. Coloro che usano un case Pimoroni Pibow Raspberry Pi 4 troveranno anche una nuova fessura nel pannello superiore, che permette al dissipatore di “respirare”.

L'installazione del dissipatore e l'esecuzione dello stesso benchmark di cui abbiamo già parlato sopra, mostra un impatto evidente: il Raspberry Pi 4 inizia a una temperatura leggermente più bassa e sale con una curva più lenta e decisamente meno accentuata. La differenza fatta dall’uso del dissipatore emerge proprio nelle fasi di throttling: sono necessari quasi otto minuti e mezzo sotto carico sostenuto per innescare il throttling della CPU del Raspberry Pi 4, un notevole miglioramento rispetto ai tre minuti e 43 secondi misurati prima. Dal grafico si nota anche quanto meno spesso il Pi 4 sia entrato in throttling, con i picchi negativi in numero molto minore rispetto a quelli riscontrati in precedenza.

Un notevole passo avanti, non sufficiente per evitare del tutto che il Pi 4 entri in protezione limitando il suo clock per abbassare ulteriormente le temperature: ed è qui che entra in gioco l’uso di un sistema di raffreddamento attivo.

La soluzione attiva: Fan Shim di Pimoroni

Il Fan Shim è un piccolo PCB, dalla forma strana, in bundle con una ventola da 30 mm. Si assembla facilmente con un paio di bulloni, 4 dadi e collegando l’alimentazione della ventola ad un connettore sul PCB. Una volta completata questa semplice operazione, l’intero assemblaggio può essere fatto scivolare sull’header GPIO del Raspberry Pi.

A differenza di altri prodotti simili, ancora più economici di questo prodotto (che costa poco più di 11 euro), Fan Shim permette di controllare la ventola da software, con un semplice programma incluso, ma c’è anche un bottone tattile e una LED RGB indirizzabile sulla scheda, anche se il bottone non funzionerà sul Pi 4 fino a quando non sarà resa disponibile una libreria GPIO Zero Python.

In teoria, il PCB sottile del Fan Shim significa che può essere usato insieme alla maggior parte degli HAT - anche se non si affida al Pin GPIO BCM18, che include eventuali componenti aggiuntivi audio che utilizzano la connettività audio I2S come il DAC pHAT di Pimoroni.

L'installazione di un HAT di dimensioni tradizionali blocca il flusso d'aria diretto nella ventola dall'alto, ma c’è comunque uno spazio sufficiente per garantire un raffreddamento efficace; l’aggiunta di un Booster Header, un accessorio opzionale che alza l’HAT, potrebbe contribuire a migliorare ulteriormente le cose. Come per la configurazione passiva, il nuovo case Pibow include una fessura per migliorare la circolazione dell’aria in favore del Fan Shim e della sua ventola.

Per impostazione predefinita, Fan Shim raggiunge la sua velocità di punta di 4200 giri al minuto sin dall’accensione del Raspberry Pi. A questi livelli, le sue prestazioni di raffreddamento sono impressionanti: il SoC in idle registra una temperatura di circa 37 °C, con una temperatura ambientale di 24,5 °C, e non raggiunge mai 55 °C durante l’intera esecuzione del test. Si tratta di una temperatura ben al di sotto degli 80 °C in grado di innescare il throttling, stato che di fatto non viene mai registrato - la CPU funziona per tutto il test al massimo delle sue capacità standard, cioè a 1,5 GHz. L’unico prezzo da pagare per queste prestazioni sono i 0,6 W in più usati dalla ventola.

Fan Shim assicura molto margine: persino un Raspberry Pi 4 overcloccato non riesce a raggiungere il suo punto di thermal throttling, cosa che rende questo accessorio un “must” per chiunque cerchi di ottenere prestazioni di picco dal proprio Pi. Ad onor del vero, dopo i nostri test iniziali, siamo riusciti a far lavorare il Pi 4 fino a 2.147 MHz con Fan Shim collegata e senza rilevare mai del throttling.

Raffreddamento controllato dal software

Fan Shim ha un'altra modalità operativa: il controllo software tramite un’API basata su Python. Usandolo, è possibile accendere e spegnere la ventola - anche se non per modificare la sua velocità, tranne accendendola e spegnendola in rapida successione per simulare un segnale PWM - e usare l’interruttore tattile e il LED RGB.

È incluso un programma di esempio che imposta un limite di temperatura superiore e una temperatura di isteresi, che Pimoroni consiglia di impostare rispettivamente a 65 °C e 5 °C. Quando funziona con queste impostazioni, la ventola si accende - e il LED RGB passa da rosso a verde - a 65 °C, quindi raffredda fino a raggiungere i 60 °C prima di spegnersi e attendere che la temperatura salga di nuovo.

In questo caso il Raspberry Pi in idle sta alla stessa temperatura della versione stock non raffreddata: circa 50°C. La ventola non si avvia fino a quando la temperatura non raggiunge i 65 °C, quindi passa il resto del test attivandosi e disattivandosi per mantenere il Raspberry Pi 4 al di sotto di questa temperatura. Lo fa in maniera eccelsa: come in modalità sempre attiva, il SoC è ben lontano dal raggiungere il punto di thermal throttling e il test di 10 minuti si completa senza che venga registrato un singolo evento di throttling. Lo stesso vale anche quando viene overcloccato, anche se in questo caso la ventola entrerà più rapidamente e più spesso in funzione per compensare il calore aggiuntivo.

Raffreddamento combinato

La maggior parte dei computer desktop e portatili non si basano solo su un dissipatore o solo su una ventola: usano una combinazione di entrambi, ed è possibile farlo anche con Fan Shim e il dissipatore Pimoroni - anche se è sconsigliato dalla stessa azienda, che ha svolto i propri test e ha ravvisato che il raffreddamento combinato è meno efficace del semplice uso del solo Fan Shim.

Per verificarlo, abbiamo eseguito un test. Il dissipatore di calore Pimoroni con Fan Shim collegata nella parte superiore è una soluzione che richiede l'installazione di pin di estensione o Booster Header di Pimoroni all'header GPIO; senza di essi, non ci sono abbastanza pin affinché Fan Shim possa mantenersi in posizione senza correre il rischio di cadere - potenzialmente cortocircuitando i pin GPIO sulla sua strada e danneggiando il Raspberry Pi 4.

Per questo test, la ventola Fan Shim è stata lasciata in modalità controllata dal software con lo stesso target di temperatura di prima pari a 65°C. Il risultato è un grafico molto simile a quello ottenuto con la sola Fan Shim collegata, con la differenza che questo è allungato: il dissipatore di calore immagazzina efficacemente il calore generato dal SoC, ritardando il momento in cui il Fan Shim deve accendersi; il rovescio della medaglia è che allunga anche il tempo necessario per spegnerlo nuovamente. Dal punto di vista delle prestazioni effettive, c'è poca differenza: ancora una volta il SoC viene raffreddato a sufficienza da non innescare il throttling.

L'impatto sulle prestazioni

Riuscire a impedire il throttling del Raspberry Pi 4 ha un impatto reale e misurabile sulle prestazioni, anche se quanto misurabile dipenderà interamente dall’estensione del throttling stesso. Nel nostro ambiente di test, ad una temperatura stabile di 24,5 °C, la riduzione delle frequenze non era terribile: nonostante la CPU scendesse spesso a 1 GHz sotto carico prolungato, tornava comunque rapidamente a 1,5 GHz. In un ambiente più caldo il throttling dovrebbe verificarsi prima e protrarsi più a lungo, il che significa che le soluzioni di raffreddamento dovrebbero avere un impatto maggiore sulle prestazioni misurate.

Per questo test, il Raspberry Pi 4 è stato istruito a comprimere un file da 8 GB archiviato su un SSD USB 3.0, usando l'utilità di compressione multi-thread lbzip2, mentre il tempo richiesto veniva misurato. La compressione di un file di queste dimensioni su Raspberry Pi 4 richiede in genere una ventina di minuti, circa il doppio rispetto al test sintetico di carico, e su un Raspberry Pi non raffreddato innesca il thermal throttling.

Non c'è una grande disparità tra i risultati, ma la Fan Shim ha sicuramente un chiaro impatto: l'operazione di compressione ha richiesto 22 minuti e 14 secondi su un Raspberry Pi 4 non raffreddato, mentre è stata completata in 20 minuti e quattro secondi con la Fan Shim collegata, risparmiando oltre due minuti – si tratta solo di un 10% di prestazioni in più. Ma se l'operazione fosse durata più a lungo o fosse avvenuta in un ambiente più caldo, la differenza sarebbe stata maggiore.

Per coloro a cui non piace l'idea di dover aggiungere una ventola al proprio Raspberry Pi 4, il dissipatore di calore è un'alternativa più che valida: con solo il dissipatore di calore collegato il benchmark è stato completato in 20 minuti e 23 secondi - un aumento dell'8% rispetto ai risultati ottenuti dal Pi 4 non raffreddato, leggermente dietro a quanto ottenuto con la Fan Shim. C’è però da dire che, a differenza della ventola attiva, è improbabile che il dissipatore offra gli stessi guadagni in un ambiente più caldo, dove potrebbe non riuscire a scaricare il calore che sta conducendo abbastanza rapidamente o con carichi di lavoro prolungati superiori a venti minuti.

Infine, la soluzione combinata Fan Shim più dissipatore, si è comportata entro il margine di errore in modo praticamente identico all'uso della sola ventola, quindi a meno che non si desideri ridurre il tempo di attivazione o spegnimento della ventola, cosa ottenibile tra l’altro anche tramite software aumentando la temperatura di isteresi, c'è solo un piccolo pretesto per combinare le due soluzioni.

Conclusioni

Se il vostro Raspberry Pi 4 viene utilizzato per carichi di lavoro sostenuti, avrete bisogno di una qualche forma di raffreddamento per ottenerne il massimo delle prestazioni. Mentre l'opzione del dissipatore passivo risulta semplice ed economica, finisce comunque per dimostrarsi solo una soluzione parziale; la Fan Shim, al contrario, risolve completamente il problema - o, perlomeno, è l’unica soluzione che vi consentirebbe di overcloccare il Pi 4 oltre 2 GHz mentre è sotto carico di lavoro senza mai entrare in thermal throttling.

A voler cercare il pelo nell’uovo, ciò che gli impedisce di essere veramente "la soluzione perfetta e definitiva" è il fatto che la Fan Shim risulta efficace al massimo solo in un ambiente relativamente aperto, o quando viene usata con un case, come il Pibow di Pimoroni, che la mantengono scoperto.

Se installata in un case chiuso come quello ufficiale, Fan Shim non riesce a performare e fare la differenza e sotto carichi di lavoro sostenuti, e il thermal throttling è qualcosa in cui incapperete quasi sicuramente. La soluzione: cercare case con ventilazione o munitevi di trapano e perforate – nei limiti della consapevolezza di ciò che state facendo - il case ufficiale in modo da creare prese d’aria.

Situazioni con carichi di lavoro pesanti o ambienti chiusi a parte, tuttavia, sul Raspberry Pi 4 non sono strettamente necessari né accessori di raffreddamento attivi né passivi: anche quando raggiunge il suo punto di thermal throttling resta ancora straordinariamente potente e una spanna sopra i suoi predecessori ed è improbabile che le alte temperature conducano a danni permanenti: il punto di thermal throttling a 80 °C è ancora comodamente al di sotto delle temperature di funzionamento nominali massime dei componenti. Potete dormire sereni.

Ricordiamo che il dissipatore passivo per Raspberry Pi 4 e Fan Shim sono disponibili sul sito di Pimoroni. Al momento i due non sono disponibili su Amazon, dove però trovate altri prodotti firmati Pimoroni.