Щоразу, коли виходить новий Raspberry Pi, довкола теплового контролю нової плати виникають дискусії. Люди хочуть знати, чи це необхідно в принципі, і якщо так, що вам необхідно зробити. У цій статті спеціально для Raspberry Pi 5, ми тестуємо два нових офіційних апаратних рішення для охолодження.

Для нормального використання вашого Raspberry Pi додавати охолодження зовсім необов’язково. Продуктивність Raspberry Pi 4 і Raspberry Pi 5 в режимі очікування приблизно однакова, і при типових навантаженнях Raspberry Pi 5 працюватиме прохолоднішим, ніж Raspberry Pi 4 з подібними навантаженнями. Однак сильне безперервне навантаження означатиме, що плата потенційно може вийти з ладу в тепловий тротлінг. Регулювання відбувається автоматично, і є програмне керування для обмеження швидкості ЦП, щоб усе не надто перегрілося. Хоча навіть за повного тротлінгу Raspberry Pi 5 все одно працюватиме швидше, ніж Raspberry Pi 4!

Проведено кілька тестів, щоб допомогти вам вирішити, чи потрібно охолоджувати вам свій власний Raspberry Pi 5.

 

Як ми вимірюємо температуру процесора

Команда vcgencmd є надзвичайно корисним джерелом інформації про речі, які відбуваються на вашому Raspberry Pi, і прив’язки Python покривають усе це та дозволяють програмно контролювати майже все, що потребує моніторингу. Тут ми використовуватимемо прив’язки vcgencmd Python для моніторингу та реєстрації температури, а також поточної тактової частоти процесора та поточного стану дроселювання у файлі.

import sys
import os
import time

from vcgencmd import Vcgencmd

def main():
    start_time = time.time()
    fb = open("/home/pi/readings.txt","a+")
    fb.write("Elapsed Time (s),Temperature (°C),Clock Speed (MHz),Throttled\n")
    vcgm = Vcgencmd()
    while True:
        temp = vcgm.measure_temp()
        clock = int(vcgm.measure_clock('arm')/1000000)
        throttled = vcgm.get_throttled()['breakdown']['2']
        
        string = '%.0f,%s,%s,%s\n' % ((time.time() - start_time),temp,clock,throttled)
        print(string, end='')
        fb.write(string)
        time.sleep(1)

if __name__ == '__main__':
    main()

Коли ми запустимо сценарій у вікні терміналу, ми можемо відкрити інший і почати стрес-тест на всіх чотирьох ядрах, щоб завантажити ЦП. Для цього скористємося інструментом командного рядка stress, щоб посилити навантаження на всі чотири ядра ЦП.

$ sudo apt install stress
$ stress --cpu 4

Щоб запобігти перегріванню, усі плати Raspberry Pi починають гальмувати процесор, коли температура досягає 80°C, і гальмувати ще більше, коли він досягає максимальної температури 85°C.

 

Без охолодження

Перше, що потрібно зробити, це виміряти, що відбувається, коли Raspberry Pi 5 не охолоджується. Без будь-якого охолодження температура процесора Raspberry Pi 5 у режимі очікування становить близько 65°C.

Температура процесора в °C проти часу в секундах. У момент T=T₀ почалося стрес-тестування:

Для звичайного використання додавання охолодження необов’язкове. Якщо ви переглядаєте відео на YouTube або працюєте за настільним комп’ютером, ви не будете навантажувати ЦП, як це було в цьому тесті. Але, як це не дивно, із високим тривалим навантаженням, яке ми накладаємо на ЦП без охолодження, максимальна температура піднімається, а потім залишається стабільною трохи вище 85°C під час тривалого тестування. Це призводить до тривалого теплового троттлінгу після того, як температура, яку повідомляє процесор, перевищить межі троттлінгу.

 

Установка активної системи охолодження

Потім було проведено той самий тест із керованим активним охолодженням за допомогою нового активного охолоджувача, а потім із встановленим активним охолоджувачем, але з відключеним вентилятором охолодження. Обидва ці тести проводилися з Raspberry Pi просто неба на лабораторному столі.

Активний охолоджувач – це цілісний анодований алюмінієвий радіатор із вбудованим вентилятором. Він має попередньо встановлені термопрокладки для передачі тепла і кріпиться до плати Raspberry Pi 5 за допомогою пружинних штифтів. Ним активно керує мікропрограма Raspberry Pi: при 60°C включається вентилятор, при 67,5°C швидкість вентилятора збільшується і, нарешті, при 75°C вентилятор розганяється до повної швидкості. Коли температура знову опускається нижче цих меж, вентилятор охолодження автоматично регулюється у зворотному порядку.

Температура процесора в °C проти часу в секундах. У момент T=T₀ почалося стрес-тестування:

Завдяки пасивному радіатору з активним охолоджувачем ми бачимо набагато нижчу температуру простою, близько 45°C. Під час тривалого тестування під навантаженням вентилятор кулера обертається на низькій швидкості, щоб стабілізувати температуру процесора на рівні 60°C, причому під час тестування максимальна температура становить від 62 до 63°C.

Теплове зображення Raspberry Pi 5 під навантаженням (ліворуч) і з активним охолоджувачем (праворуч):

Рівень шуму від 35 до 40 дБ було виміряно під час випробування навантаженням під час роботи вентилятора – це приблизно стільки шуму, скільки ви створите, перегортаючи сторінку книги. Під час розширеного стрес-тестування вентилятору ніколи не потрібно було працювати на повній швидкості, щоб підтримувати контроль температури Raspberry Pi.

Якщо відключити вентилятор і покладатися виключно на пасивне охолодження, що забезпечується алюмінієвим радіатором, температура простою була схожою; але під тривалим навантаженням температура процесора зрештою досягає точки приблизно T₀ + 200 секунд, коли відбувається тепловий троттлінг.

Повторне під’єднання кабелю змушує вентилятор негайно розкручуватися на повну швидкість, а коли навантаження знято, ЦП знову охолоджується до температури бездіяльності близько 45°C протягом наступних 300 секунд, при цьому вентилятор повертається до нижчих обертів, коли температура приходить в норму.

 

Ну а що ж з платами розширення?

Велике питання, яке виникне у багатьох людей на цьому етапі: що станеться, коли ви додасте плату розширення?

Що ж, ви можете встановити HAT над Active Cooler за допомогою набору 16-міліметрових розширювачів GPIO. Неминуче виникає деяке порушення повітряного потоку, яке призведе до того, що Raspberry Pi буде нагріватися, але Active Cooler все ще здатний витримувати тривалі стрес-тести без значних перепадів температури.

Новий Raspberry Pi 5 з активним охолоджувачем і прототип майбутнього M.2 HAT:

Тестування проводилося з прототипом нового M.2 HAT із завантаженням Raspberry Pi із диска NVMe – як тому, що це буде досить поширений випадок використання Raspberry Pi 5 – і просто нагадування: єдине, що вам дійсно потрібно пам’ятати про прототип M.2 HAT, це те, що серійна версія майже неминуче не буде схожа на ту, що на цьому зображенні!

З M.2 HAT, встановленим над Active Cooler, температура простою Raspberry Pi була трохи вищою, ніж без HAT, і становила близько 49°C.

Температура процесора в °C проти часу в секундах. У момент T=T₀ почалося стрес-тестування:

Під постійним навантаженням температура процесора спочатку піднялася до другої точки запуску 67,5°C, обертаючи вентилятор охолодження з низької до середньої швидкості. Однак це швидко знизило температуру процесора нижче точки запуску, що, у свою чергу, знизило швидкість вентилятора до нижчого значення. Потім температура процесора стабілізувалася на рівні близько 64 °C протягом решти тривалого тестування.

 

Використання нового корпуса

Наступним на стенді був новий корпус з вентилятором. Було знято Active Cooler з плати Raspberry Pi 5 та вставлено у новий корпус. Новий корпус складається з чотирьох компонентів; основа, до якої кріпиться Raspberry Pi, потім рама та вентилятор і, нарешті, кришка, яка кріпиться зверху:

Як і Active Cooler, блоком вентиляторів активно керує мікропрограма Raspberry Pi: при 60°C вмикається вентилятор, при 67,5°C швидкість вентилятора збільшується, і, нарешті, при 75°C вентилятор збільшує оберти до повної потужності. Коли температура знову опускається нижче цих меж, вентилятор автоматично починає обертатися повільніше.

Тестування проводилося так само, як і раніше, спочатку з встановленим вентилятором, але зі знятою кришкою. Потім знову з обома блоками вентиляторів на місці, і цього разу з кришкою, закріпленою зверху.

Температура процесора в °C проти часу в секундах. У момент T=T₀ почалося стрес-тестування:

 

Використовуючи корпус вентилятора, ми бачимо, що температура в режимі очікування на пару градусів вище, ніж у окремого активного кулера, близько 48 °C. Зі знятою кришкою ми бачимо максимальну температуру приблизно 72°C під тривалим навантаженням, а з кришкою на місці ми бачимо дещо вищий максимум близько 74°C під навантаженням.

Ми бачимо, що хоча температура під навантаженням вища, ніж у Active Cooler, максимальна температура під навантаженням все ще значно нижча температур дроселювання 80 і 85°C.

 

Виводи

Для звичайного використання додавання охолодження необов’язкове, хоча продуктивність може бути покращена за допомогою активного охолодження. Однак велике безперервне навантаження, таке як перебудова ядра Linux, змусить новий Raspberry Pi 5 перейти до теплового троттлінга.

Для значних навантажень терморегулювання може збільшити час обробки, і пасивне охолодження, ймовірно, буде недостатнім для теплового керування в цьому випадкую Для значних навантажень, тривалість яких перевищує 200 або 300 секунд необхідне активне охолодження для запобігання термічного регулювання.

Температура процесора в °C проти часу в секундах. У момент T=T₀ почалося стрес-тестування:

Тож, обираючи рішення для охолодження, ви повинні розглянути, для чого ви збираєтеся використовувати свій Raspberry Pi 5, і прийняти рішення щодо охолодження на основі цього, а не просто довільне додавання охолодження. Тому що для багатьох повсякденних випадків використання це не знадобиться.

Охолодження будь-якого типу не є обов’язковим, ваш Raspberry Pi не вийде з ладу, якщо його залишити без охолодження – і навіть під час троттлінга під великим навантаженням Raspberry Pi 5 усе ще швидше, ніж Raspberry Pi 4 без троттлінгу.