摘要
原廠小散熱片的 SoC 為 81.5 ℃ ,已超過 80 ℃ 的第一段降頻門檻;換成 加大散熱片 後降到 52.6 ℃ (−28.9 ℃),離降頻門檻有 27 ℃ 裕度。
原廠小散熱片只帶走 SoC 熱量的 20 %,其餘 76 % 從 PCB 散掉,PCB 成了主要散熱路徑,所以溫度偏高。加大散熱片後,74 % 的熱改由散熱片帶走。
加大散熱片幾乎不增加風扇負載:系統壓降由 7.0 Pa 變成 7.6 Pa,風量只從 1.06 降到 1.03 L/s。
與官方實測對照:官方外殼蓋上蓋子、滿載時約 74 ℃ 。本模擬的原廠配置高了約 7.5 ℃,屬於偏保守的預估(原因見第 7 節)。
原廠散熱片 SoC 81.5 ℃ 超過 80 ℃ 降頻門檻 1.5 ℃
加大散熱片 SoC 52.6 ℃ 裕度 27.4 ℃
熱阻 Rth (SoC→進風) 9.42 → 4.60 ℃/W,降低 51 %
風扇工作點 ≈1.05 L/s 7–8 Pa,兩案幾乎相同
仍需實測確認
SoC 6 W 是估算值,官方未公布 BCM2712 的滿載功耗。溫度對功耗大約是線性:每 ±1 W,原廠配置約 ±9 ℃,加大配置約 ±4.6 ℃。
實機風扇由韌體溫控(60 / 67.5 / 75 ℃ 三段),本模擬固定全速。
本次回答
官方外殼 + 原廠 12×17×4 mm 散熱片,滿載時 SoC 會不會超過降頻門檻(80 ℃)?
把散熱片加大到 29.5×35×8 mm,能降多少溫度?會不會增加風扇負載?
熱量主要從哪裡散掉:散熱片、PCB,還是直接進空氣?
本次沒有模擬的項目
輻射熱傳;外殼外表面對環境的散熱(外殼壁設為絕熱)
瞬態:開機升溫過程、負載變化、風扇溫控切換
RAM、PMIC、USB 控制器等其他元件的發熱(只算 SoC 與 RP1)
SoC 與散熱片之間導熱墊的熱阻(假設完美接觸)
上蓋與外框之間的進風縫隙形狀、線材、灰塵堵塞、HAT 擴充板
風扇葉片旋轉造成的渦旋
2 · 模型
幾何與簡化
主板取自 Raspberry Pi 官方 STEP(MIT 授權,2689 個實體),外殼依官方產品簡介的外形尺寸建模(98.5 × 70.3 × 33 mm)。
圖 1 原始 CAD(左)與 CFD 簡化模型(右)。 保留會影響氣流與導熱的元件:PCB、SoC、RP1、RAM、Ethernet、2 組 USB、GPIO 排針、2 個 MIPI 連接器、USB-C,全部簡化成長方塊(GPIO 40 支針合成一個 9.9 mm 高的方塊)。刪除小型 SMD 元件、螺絲孔、倒角與絲印,這些對流場與散熱的影響很小。
圖 2 兩種配置(左:原廠小散熱片;右:加大散熱片)。 藍色半透明為外殼內的空氣空間,上方方形短管是風扇進風口(28 × 28 mm,位於 SoC 正上方,向下吹),右端與兩側的短管是出風開口。
外殼內部空間 92.5 × 66 × 24.5 mm
PCB 位置 板面離外殼底 5 mm
原廠散熱片 12 × 17 × 4 mm,4 鰭
加大散熱片 29.5 × 35 × 8 mm,8 鰭
加大散熱片間隙 距 RAM 1.4、MIPI 1.6 mm
出風:連接器端 Ethernet/USB 周圍 1.5 mm 縫
出風:側面 電源+2×HDMI,各 10×3 mm
出風:通風槽 4 條 12×2 mm(對側低處)
零件 材料 k(W/m·K) ρ(kg/m³) cp (J/kg·K) 發射率
PCB FR-4 + 多層銅(等效) 20(等向) 1900 1100 未使用
SoC 封裝 矽晶片 + 封裝(等效) 60 2330 700 未使用
散熱片 鋁 6063 200 2700 900 未使用
空氣 理想氣體 — 依溫度 1006 —
元件 功耗 數字來源 工作模式 建模方式
BCM2712 SoC 6 W 估算(官方未公布滿載功耗) 4 核滿載 SoC 區域的體積熱源
RP1 I/O 控制器 1 W 估算 I/O 活動中 元件表面加熱(空氣側)
SoC–散熱片介面 — 官方附自黏導熱墊 — 假設完美接觸(未建模)
邊界條件
進風溫度 25 ℃ :室內常溫。
重力 −z :外殼平放、上蓋朝上。
風扇 :P-Q 曲線,由 (0 L/s, 40 Pa) 線性到 (1.32 L/s, 0 Pa)。最大風量 1.32 L/s(2.79 CFM)取自官方規格;最大靜壓 40 Pa 為假設值,官方未公布。
出風口 :大氣壓(101325 Pa)。
外殼壁面 :絕熱、不滑移。
海拔 :海平面。
求解設定
OpenFOAM v2312 chtMultiRegionSimpleFoam,穩態,4 區耦合(air / pcb / soc / hs)。
紊流模型 k-ω SST:風扇出口的噴流撞擊與分離流,用這個模型比較穩。
開啟浮力,未算輻射。
各 3000 步;8 核平行,原廠配置約 35 分鐘、加大配置約 26 分鐘(計算時間)。
網格 snappyHexMesh:基本 2 mm,散熱片與 PCB 表面 0.5 mm,出風縫隙區加密到 0.5 mm。
配置 SoC 最高溫度 降頻裕度 Rth 散熱片最高 出風溫度 風量 壓降 回推熱量
加大散熱片29.5×35×8 mm,覆蓋 SoC + RAM
+27.4 ℃ 4.60 ℃/W 52.3 ℃ 30.7 ℃ 1.03 L/s 7.64 Pa 7.01 W
原廠小散熱片12×17×4 mm(官方外殼附)
−1.5 ℃ 9.42 ℃/W 81.2 ℃ 30.6 ℃ 1.06 L/s 6.96 Pa 7.00 W
長條刻度 0–90 ℃。「回推熱量」由出風溫升 × 質量流率 × cp 計算,應等於總發熱 7 W。Rth = (SoC 溫度 − 進風溫度) / 6 W。降頻裕度 = 80 ℃ − SoC 溫度,綠色 ≥ 10 ℃、黃色 < 10 ℃、紅色超過門檻。Raspberry Pi 在 80 ℃ 開始降頻,85 ℃ 進一步降頻。
SoC 熱量去向 原廠小散熱片 加大散熱片
→ PCB 4.56 W(76 %) 1.56 W(26 %)
→ 散熱片 1.21 W(20 %) 4.42 W(74 %)
→ 空氣(SoC 側面) 0.23 W(4 %) 0.01 W(0 %)
圖 3 SoC 溫度與系統壓降。兩項分開作圖,不共用座標軸。
6 · 圖面
溫度與流場
左:原廠小散熱片;右:加大散熱片。除圖 8 外,兩格使用相同色階。
圖 4 固體溫度:PCB + SoC + 散熱片(30–90 ℃)。 原廠配置的熱點集中在 SoC,熱量以 SoC 為中心往整片 PCB 擴散。加大散熱片後,整片 PCB 降到 40–50 ℃。PCB 上的缺口是連接器所在位置,這些元件簡化成擋風方塊,沒有計算導熱。
圖 5 鰭片高度 z = 6 mm 的空氣溫度(25–50 ℃)。 原廠散熱片的鰭片短,只有周圍一圈薄薄的熱空氣。加大散熱片把熱交給更多空氣,鰭片之間的熱空氣從兩側流向 USB 端出風口。
圖 6 通過 SoC 中心的垂直切面風速(0–3 m/s)。 風扇氣流向下直吹散熱片,打到板面後往兩側分流,一部分繞到 PCB 下方,最後從 USB 連接器周圍的縫隙高速流出(約 2.5 m/s)。風扇正下方有一個低速區(停滯點)。
圖 7 流線,以空氣溫度著色。 氣流進入外殼後在內部大範圍迴旋,才從連接器端與側面開口離開。
圖 8 通過 SoC 的導熱剖面(各自依資料範圍著色)。 原廠配置:SoC 與散熱片約 81 ℃,PCB 從 SoC 往外降到 50 ℃,溫差大,代表 PCB 正在傳導大量熱。加大配置:整個剖面只差 12 ℃,熱量改由散熱片帶走。
圖 9 SoC 最高溫度收斂。 灰底是最後 30 % 的步數。原廠配置在最後 900 步只變化 0.26 K,加大配置只變化 0.02 K。PCB 導熱擴散慢,所以原廠配置需要約 2500 步才穩定。
項目 原廠小散熱片 加大散熱片 判定
網格 cells(air / pcb / soc / hs) 412,217 / 29,448 / 5,780 / 3,264 472,937 / 29,448 / 5,780 / 29,960 —
checkMesh 最大偏斜度(air) 2.92 3.54 OK(< 4)
能量守恆(出風回推 / 設定) 7.00 / 7.00 W 7.01 / 7.00 W 誤差 < 0.2 %
收斂擺盪(最後 30 %) 0.26 K 0.02 K < 1 K
網格獨立性測試 未做 列入限制
與官方實測對照
官方外殼蓋上蓋子、滿載:約 74 ℃ (Raspberry Pi 官方測試,冷氣辦公室)。
本模擬原廠配置:81.5 ℃ ,高 7.5 ℃。
偏高的可能原因:SoC 6 W 估算偏高;PCB 等效 k = 20 偏低(實際銅層更多);外殼壁面設為絕熱、沒有算輻射;實機辦公室氣溫可能低於 25 ℃。這些因素都會讓模擬偏保守。
預估誤差範圍:±5–8 ℃。
第一版模型的教訓
第一版把 PCB 當絕熱擋板、風扇用固定風量 1 L/s,算出 SoC 239 ℃ 、壓降 718 Pa ,明顯不合理。
原因:第 5 節的熱量分析顯示,原廠配置有 76 % 的熱從 PCB 散掉,漏掉 PCB 導熱就等於堵住主要散熱路徑。只開連接器縫隙、又強制固定風量,壓降就被放大到 100 倍。
第二版(本報告)改為 PCB 導熱、補齊側面與通風槽開口、風扇使用 P-Q 曲線,結果落在實測的合理範圍內。
限制
SoC 與 RP1 功耗為估算值,每 ±1 W 的 SoC 功耗約對應原廠配置 ±9.4 ℃、加大配置 ±4.6 ℃。
風扇 P-Q 曲線的最大靜壓(40 Pa)是假設值;風扇固定全速,實機由溫控降速。
PCB 用等向等效導熱係數 20 W/m·K;實際為面內高、厚度方向低的非等向材料。
SoC–散熱片之間的導熱墊熱阻未建模。若以約 1 K/W 估計,SoC 約再加 1–5 ℃(流經散熱片的熱量:原廠 1.2 W、加大 4.4 W)。
外殼壁面絕熱、未算輻射,結果偏保守。RAM、PMIC 等元件的發熱未計入,這部分會讓結果偏樂觀。
未做網格獨立性測試;風扇以均勻進風近似,未計入葉片旋轉。
設計建議
加大散熱片 (本報告方案):SoC −28.9 ℃,壓降只增加 0.7 Pa,是效益最高的改法。要注意和 RAM(1.4 mm)、MIPI 連接器(1.6 mm)的間隙,底部要墊絕緣導熱墊。
保留原廠散熱片時 :換成厚度較薄、k 值較高的導熱墊,並確認 PCB 背面沒有被外殼底部悶住。溫度會落在降頻門檻附近,長時間滿載會降頻。
替代方案 :官方 Active Cooler(官方實測 62–63 ℃)。它高 13.7 mm,要先確認外殼內部高度與風扇框能容納。
建議實測項目
SoC:vcgencmd measure_temp,以 stress-ng --cpu 4 滿載 30 分鐘,記錄穩定值與降頻旗標(vcgencmd get_throttled)。
熱電偶 T1:散熱片頂面中央。
熱電偶 T2:PCB 背面 SoC 正下方。
熱電偶 T3:USB 端出風縫隙。
熱電偶 T4:外殼外 10 cm 的環境溫度。
用 USB 功率計量整板功耗,回推 SoC 的實際功耗,再校正本模型。
名詞
CHT 耦合熱傳:空氣流動與固體導熱一起算
Rth 熱阻,每 1 W 熱量造成的溫升(℃/W),越小越好
P-Q 曲線 風扇在不同壓力下能提供的風量
RANS 以時間平均描述紊流的穩態計算方法
降頻 晶片過熱時自動降低時脈以保護自己,效能下降
由 FreeCAD + OpenFOAM v2312 + ParaView 6.1 產生(cfd-thermal-report skill)。數值為穩態 RANS 預估,用於比較設計方案,不取代實機量測。