LW IT Solutions
« Blog Overview /Raspberry Pi/Tutorials / Tutorial: Dobór zasilacza UPS do Raspberry Pi...
This post in other languages:

Tutorial: Dobór zasilacza UPS do Raspberry Pi i konfiguracja automatycznego wyłączenia

Tutorial: Dobór zasilacza UPS do Raspberry Pi i konfiguracja automatycznego wyłączenia
Spis treści
  1. Ile układ naprawdę pobiera
  2. Od miliamperogodzin do watogodzin
  3. Część pakietu, która nigdy nie staje się czasem pracy
  4. Wyłączenie przed osiągnięciem progu
  5. Próba, która musi się odbyć celowo
  6. Co zmieniają dwa lata
  7. Źródła

Zasilacz UPS do Raspberry Pi kupuje się według jednej liczby, a ocenia według innej. Na opakowaniu widnieje pojemność ogniw. Liczy się natomiast to, jak długo maszyna pracuje dalej – a między jednym a drugim stoją trzy potrącenia, dające razem mniej więcej jedną trzecią.

Poniżej rachunek w kolejności, w jakiej należy go przeprowadzić, oraz ta część, która rachunkiem wcale nie jest: wyłączenie musi nastąpić, dopóki energia jeszcze jest, bo pakiet rozładowany do końca zabiera ze sobą system plików.

Poziomy pasek o wartości 25,2 watogodziny podzielony na energię użyteczną, rezerwę na wyłączenie, część poniżej napięcia odcięcia i stratę przetwornicy, obok tabela czasów pracy przy trzech poziomach mocy
Z 25,2 watogodziny w ogniwach czasem pracy staje się 17,8. Trzy pozostałe odcinki nie są stratami do naprawienia – należy je wliczyć.

Ile układ naprawdę pobiera

Karty katalogowe opisują zasilacz, a nie zużycie. Oficjalny zasilacz 27 W do Raspberry Pi 5 nie mówi nic o samej maszynie, lecz o tym, ile wolno jej pobrać w szczycie przy pełnym obciążeniu USB.

Rzeczywistą wartość da się zmierzyć na samej płytce. Pi 4 i Pi 5 mają układ zarządzania zasilaniem, którego szyny są odczytywalne, a suma po wszystkich szynach daje pobór całkowity.

vcgencmd pmic_read_adc | awk '
  /_A current/ { split($1, n, "_"); a[n[1]] = $2 + 0 }
  /_V volt/    { split($1, n, "_"); v[n[1]] = $2 + 0 }
  END { for (r in a) s += a[r] * v[r]; printf "%.2f W\n", s }'

Zmierzone w ten sposób Pi 5 pobiera na biegu jałowym około 2,7 wata, a przy czterech obciążonych rdzeniach dochodzi do mniej więcej 9 watów. Dysk NVMe pod obciążeniem dokłada półtora do dwóch i pół wata, aktywne chłodzenie pół wata, a dysk USB dwa do trzech. Realistyczna wartość do planowania małego serwera domowego mieści się więc między sześcioma a dwunastoma watami, a oba końce tego zakresu warto przeliczyć.

Jeden pomiar nie wystarczy, bo ciekawa chwila to nie średnia. Przerwa w zasilaniu podczas kopii zapasowej zastaje maszynę w szczycie, a liczy się czas pracy pod obciążeniem.

Od miliamperogodzin do watogodzin

Ogniwa opisuje się w miliamperogodzinach, a to ładunek, nie energia. Dopiero pomnożenie przez napięcie znamionowe daje wielkość porównywalną.

Wh = mAh × V / 1000

3400 mAh × 3,7 V / 1000 = 12,58 Wh na ogniwo
dwa ogniwa równolegle     = 25,2 Wh

Owe 3,7 wolta to średnia z krzywej rozładowania, a nie napięcie pełnego naładowania wynoszące 4,2. Wstawienie 4,2 do wzoru podnosi wynik o dobre dziesięć procent i jest najczęstszą przyczyną zbyt optymistycznego rachunku.

Porównanie warte zapamiętania: powerbank z oznaczeniem 20 000 mAh mierzony jest na poziomie ogniw, a nie na gnieździe USB. Przy 3,7 wolta daje to 74 watogodziny, z czego po przetworzeniu na 5 woltów zostaje około 55 – i właśnie tę liczbę ukrywa oznaczenie reklamowe.

Część pakietu, która nigdy nie staje się czasem pracy

Między ogniwami a maszyną stoją trzy potrącenia, każde o innej przyczynie.

Pierwsze to przetwornica. Ogniwa dają od 4,2 do 3,0 wolta, a Pi potrzebuje stabilnych 5,1. Przetwornica podwyższająca pracuje przy zwykłym obciążeniu ze sprawnością około 88 procent, co kosztuje trzy z 25,2 watogodziny. Tanie moduły spadają przy małym obciążeniu poniżej 80 procent – a małe obciążenie to dokładnie to, co wytwarza czekające Pi.

Drugie to próg napięcia. Ogniwa litowe odcina się przy około trzech woltach na ogniwo, a energia poniżej tej linii zostaje w pakiecie. Nie jest to marnotrawstwo, lecz ochrona: głębsze rozładowanie starzy ogniwo nieproporcjonalnie, a poniżej 2,5 wolta uszkadza je trwale. Poniżej tej linii leży około pięciu procent pakietu.

Trzecie jako jedyne podlega wyborowi, a nie jest narzucone. Wyłączanie trwa od dziesięciu do trzydziestu sekund i musi się zacząć, dopóki przetwornica podaje jeszcze stabilne pięć woltów. Rezerwa piętnastu procent energii netto robi na to miejsce – a przy okazji także na pakiet postarzały i na drugą przerwę kilka minut po pierwszej.

Z 25,2 watogodziny zostaje 17,8. Czasy pracy wynikają z tego wprost.

Obciążenie Typowa sytuacja Czas pracy z 17,8 Wh
6 W Pi 5, bieg jałowy, karta SD 2 h 58 min
9 W Pi 5 z NVMe, średnie obciążenie 1 h 59 min
12 W Wszystkie rdzenie zajęte, dysk i chłodzenie 1 h 29 min

Wyłączenie przed osiągnięciem progu

Każdy UPS zasługujący na tę nazwę jakoś zgłasza zanik napięcia sieciowego. Dwa mechanizmy obejmują niemal wszystkie płytki na rynku, a prostszy obywa się całkowicie bez oprogramowania.

Płytka HAT ściągająca pin GPIO do masy potrafi wyzwolić wyłączenie przez nakładkę drzewa urządzeń. Jedna linia w konfiguracji startowej to całe wdrożenie.

# /boot/firmware/config.txt
dtoverlay=gpio-shutdown,gpio_pin=17,active_low=1,gpio_pull=up

Zaleta: działa bez uruchomionej usługi, a nawet w trakcie startu. Wada: wyłącza natychmiast, co przy czterosekundowej przerwie jest błędem. Krótkie opóźnienie stanowi różnicę między przemyślaną reakcją a nocnym restartem.

#!/bin/bash
# /usr/local/bin/usv-wacht.sh - czeka na trwały zanik zasilania
while gpiomon --num-events=1 --falling-edge gpiochip0 17 >/dev/null; do
  sleep 60
  if gpioget gpiochip0 17 | grep -q '^0$'; then
    logger -t usv "brak sieci od 60 s - wyłączanie"
    /sbin/shutdown -h now
  fi
done
# /etc/systemd/system/usv-wacht.service
[Unit]
Description=Straż UPS
After=multi-user.target

[Service]
ExecStart=/usr/local/bin/usv-wacht.sh
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Drugi mechanizm to wskaźnik naładowania po I2C – MAX17048 albo INA219 siedzi na większości lepszych płytek i podaje stan naładowania w procentach. Dzięki temu wyzwolenie zależy od pakietu, a nie od zegara, co jest kryterium uczciwszym: wyłączenie poniżej dwudziestu procent, niezależnie od tego, jak długo brakuje prądu.

Którakolwiek droga zostanie wybrana, należy do niej jedno ustawienie. Maszyna wyłączająca się przy przerwie musi po powrocie napięcia wrócić sama – w Pi 5 to sprawa bootloadera, a nie systemu operacyjnego.

sudo rpi-eeprom-config --edit
# POWER_OFF_ON_HALT=1
# WAKE_ON_GPIO=0
# PSU_MAX_CURRENT=5000

Próba, która musi się odbyć celowo

Nigdy niesprawdzony UPS jest założeniem. Próba jest niewidowiskowa i kosztuje jedno popołudnie: obciążyć maszynę tak, jak będzie obciążona naprawdę, wyciągnąć wtyczkę i zanotować dwa czasy – kiedy zaczęło się wyłączanie i kiedy pakiet się poddał.

Potem dowód stoi w dzienniku poprzedniego uruchomienia. Czyste wyłączenie kończy się komunikatem zatrzymania systemu plików; nagły koniec nie pokazuje niczego, i to samo w sobie jest wynikiem.

journalctl -b -1 -n 30 --no-pager

Dwa wyniki zdarzają się często i oba są użyteczne. Jeżeli wyłączanie ruszyło, ale pakiet padł przed jego końcem, rezerwa jest za mała. Jeżeli pakiet miał jeszcze ładunek kilka minut po wyłączeniu maszyny, rezerwa jest hojna – to dobre położenie, które lepiej znać, niż zakładać.

Powtórzenie tej próby raz w roku kosztuje godzinę i wyłapuje awarię niemającą innego objawu: pakiet, który w stanie pełnego naładowania po cichu stracił połowę pojemności.

Co zmieniają dwa lata

Ogniwa litowe tracą pojemność na dwa sposoby, a tylko jeden z nich powstaje przez użytkowanie. Od trzystu do pięciuset pełnych cykli doprowadza ogniwo do około osiemdziesięciu procent pierwotnej pojemności – dla UPS-a rozładowującego się kilka razy w roku bez znaczenia.

Drugim sposobem jest czas i to on dotyczy tego przypadku. Ogniwo trzymane stale w pełnym naładowaniu i w temperaturze wnętrza zamkniętej obudowy starzeje się wyraźnie szybciej niż to samo ogniwo przy ładunku magazynowym. Po dwóch latach w ciepłej szafce dwadzieścia do trzydziestu procent utraty pojemności to norma, a nie usterka.

Wynikają z tego dwie rzeczy. Płytki ładujące do 4,1 zamiast 4,2 wolta oddają około dziesięciu procent pojemności znamionowej, a w zamian z grubsza podwajają trwałość kalendarzową – dobra zamiana dla urządzenia spędzającego życie na czekaniu. A dobór na początku lepiej przeprowadzić z pakietem, jaki będzie za dwa lata, niż z tym prosto z opakowania: rezerwę należy dobrać tak, by wyłączenie uniosło także osiemdziesiąt procent pakietu.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Napisanie komentarza

Adres e-mail nie jest publikowany. Pola obowiązkowe oznaczono gwiazdką.

ALL ARTICLES & CATEGORIES

CCTV

Śledź tę kategorię przez RSS

Cloud & AI

Śledź tę kategorię przez RSS

Data Privacy

Wszystkie artykuły w tej kategorii (12) Śledź tę kategorię przez RSS

Digital Analytics

Wszystkie artykuły w tej kategorii (46) Śledź tę kategorię przez RSS

Digital Marketing

Wszystkie artykuły w tej kategorii (25) Śledź tę kategorię przez RSS

IT & Networks

Wszystkie artykuły w tej kategorii (15) Śledź tę kategorię przez RSS

Raspberry Pi

Śledź tę kategorię przez RSS

Smart Home

Wszystkie artykuły w tej kategorii (13) Śledź tę kategorię przez RSS

Tworzenie stron internetowych

Śledź tę kategorię przez RSS

Wtyczki i triki WordPress

Śledź tę kategorię przez RSS