Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Dodaj wentylator do raspberry pi 3, z kontrolą, aby go włączać i wyłączać zgodnie z wymaganiami.
Łatwym sposobem dodania wentylatora jest po prostu podłączenie przewodów wentylatora do pinu 3,3 V lub 5 V i do masy. Przy takim podejściu wentylator będzie działał cały czas.
Myślę, że o wiele bardziej interesujące jest włączanie wentylatora, gdy osiągnął lub przekroczył próg wysokiej temperatury, a następnie wyłączenie go, gdy procesor został schłodzony poniżej niskiego progu temperatury.
Instrukcja zakłada, że masz skonfigurowaną i uruchomioną Raspberry Pi 3 i chcesz dodać wentylator. W moim przypadku używam Kodi na OSMC.
Krok 1: Wydajność i temperatura procesora
Nie ma tu żadnych działań. To tylko podstawowe informacje i możesz przejść do następnego kroku:
Radiator jest wystarczający dla większości aplikacji Raspberry Pi 3, a wentylator nie jest wymagany.
Przetaktowany Raspberry Pi powinien używać wentylatora.
W kodi, jeśli nie masz klucza licencyjnego MPEG-2, możesz otrzymać ikonę termometru, która wskazuje na potrzebę posiadania licencji lub wentylatora.
Procesor Raspberry Pi 3 jest przystosowany do pracy w temperaturach od -40°C do 85°C. Jeśli temperatura procesora przekroczy 82°C, taktowanie procesora zostanie spowolnione, aż temperatura spadnie poniżej 82°C.
Wzrost temperatury procesora spowoduje spowolnienie pracy półprzewodników, ponieważ wzrost temperatury zwiększa rezystancję. Jednak wzrost temperatury z 50°C do 82°C ma znikomy wpływ na wydajność procesora Raspberry Pi 3.
Jeśli temperatura procesora Raspberry Pi 3' jest wyższa niż 82 ° C, procesor jest dławiony (prędkość zegara jest obniżona). Jeśli przyłoży się to samo obciążenie, procesor może mieć trudności z wystarczająco szybkim dławieniem, zwłaszcza jeśli jest przetaktowany. Ponieważ półprzewodniki mają ujemny współczynnik temp, gdy temperatura przekracza specyfikacje, temperatura może uciekać, a procesor może ulec awarii i będziesz musiał rzucić Raspberry Pi.
Praca procesora w wysokiej temperaturze skraca żywotność procesora.
Krok 2: Piny i rezystory GPIO
Nie ma tu żadnych działań. To tylko podstawowe informacje i możesz przejść do następnego kroku:
Ponieważ nie jestem inżynierem elektrykiem i postępowałem zgodnie z instrukcjami z projektów w sieci, w ten sposób uszkodziłem sporą liczbę pinów GPIO i ostatecznie musiałem rzucić więcej niż jednym Raspberry Pi. Próbowałem też podkręcać i wyrzuciłem kilka Raspberry Pis, które już nie działały.
Powszechną aplikacją jest dodanie przycisku do Raspberry Pi. Włożenie przycisku między pin 5V lub 3.3V a pin uziemiający skutecznie tworzy zwarcie po naciśnięciu przycisku. Ponieważ nie ma obciążenia między źródłem napięcia a ziemią. To samo dzieje się, gdy pin GPIO jest używany do wyjścia (lub wejścia) 3,3 V.
Innym problemem jest to, że gdy pin wejściowy nie jest podłączony, będzie „pływał”, co oznacza, że odczytana wartość jest niezdefiniowana i jeśli twój kod podejmuje działania w oparciu o odczytaną wartość, będzie ona miała błędnie.
Rezystor jest wymagany między pinem GPIO a wszystkim, z czym się łączy.
Piny GPIO mają wewnętrzne rezystory pull up i pull down. Można je włączyć za pomocą funkcji konfiguracji biblioteki GPIO:
GPIO.setup(kanał, GPIO. IN, pull_up_down=GPIO. PUD_UP)
GPIO.setup(kanał, GPIO. IN, pull_up_down=GPIO. PUD_DOWN)
Lub można wstawić rezystor fizyczny. W tej instrukcji użyłem rezystora fizycznego, ale możesz wypróbować rezystor wewnętrzny i włączyć za pomocą biblioteki GPIO.
Ze strony Arduino Playground w dodatku Reference:
„Rezystor podciągający słabo „podciąga” napięcie przewodu, do którego jest podłączony, w kierunku jego źródła napięcia, gdy inne elementy na linii są nieaktywne. Gdy przełącznik na linii jest otwarty, ma wysoką impedancję i działa jak jest odłączony. Ponieważ inne elementy działają tak, jakby były odłączone, obwód działa tak, jakby był odłączony, a rezystor podciągający podnosi przewód do wysokiego poziomu logicznego. Gdy inny element na linii staje się aktywny, zastąpi wysoki poziom logiczny ustawiony przez rezystor podciągający. Rezystor podciągający zapewnia, że przewód ma określony poziom logiczny, nawet jeśli nie są do niego podłączone żadne aktywne urządzenia.
Krok 3: Części
Możesz użyć prawie wszystkiego, ale to są części, których użyłem.
Części:
-
Tranzystor NPN S8050
250 sztuk dobranych 8,99 USD, czyli około 0,04 USD
-
Rezystor 110 Ohm
400 rezystorów za 5,70 USD, czyli około 0,01 USD
-
Micro Fan, wymagania w opisie lub specyfikacji:
- około $6.00
- bezszczotkowy
- cichy
- najniższy amper lub wat w porównaniu do podobnego wentylatora
- W opisie poszukaj czegoś takiego jak "napięcie robocze 2V-5V"
- przewody połączeniowe żeńsko-żeńskie i męsko-żeńskie
- płytka do krojenia chleba
- Raspberry Pi 3
- Zasilanie 5.1V 2.4A
Uwagi:
Tekst ujęty w pik ma zostać zastąpiony przez twoje dane, „twoje-dane”
Krok 4: Schemat
run-fan wymaga podłączenia tranzystora S8050 NPN i rezystora w następujący sposób:
Płaska strona S8050 jest zwrócona w ten sposób >
- S8050 pin c: łączy się z czarnym przewodem (-) na wentylatorze
- S8050 pin b: łączy się z rezystorem 110 Ohm i z pinem GPIO 25
- S8050 pin e: łączy się z uziemionym pinem GPIO
- wentylator czerwony (+): łączy się z pinem 3.3v GPIO na raspberry pi 3
Używany jest pin 25 GPIO, ale można go zmienić na dowolny pin wejściowy GPIO
Krok 5: Pobierz skrypt
Zaloguj się do swojego raspberry pi za pomocą jednego z poniższych:
$ ssh osmc@♣adres-ip♣
$ shh osmc@♣nazwa_hosta-osmc♣.local
A następnie możesz pobrać skrypt za pomocą:
$ sudo wget "https://raw.githubusercontent.com/dumbo25/rpi-fan/master/run-fan.py"
Używam kodi na osmc, a użytkownik to osmc. Jeśli masz użytkownika pi, po prostu zmień wszystkie wystąpienia osmc na pi w skrypcie i w usłudze.
Uczyń skrypt wykonywalnym.
$ sudo chmod +x run-fan.py
Włączam wentylator na 60 C. Jeśli temperatura początkowa jest ustawiona zbyt nisko, wentylator włączy się, schładza procesor, a do czasu wyłączenia wentylatora temperatura prawie wraca do temperatury początkowej. Spróbuj 45 C, aby zobaczyć ten efekt. Nie jestem pewien, jaka jest optymalna temperatura.
Krok 6: Automatycznie uruchom skrypt
Aby run-fan uruchamiał się automatycznie, użyj systemd
Zaloguj się do swojego raspberry pi za pomocą jednego z poniższych:
$ ssh osmc@♣adres-ip♣
$ shh osmc@♣nazwa_hosta-osmc♣.local
A następnie możesz pobrać plik usługi systemd za pomocą:
$ sudo wget https://raw.githubusercontent.com/dumbo25/rpi-fan/…
Możesz też utworzyć plik usługi systemd, kopiując zawartość usługi run-fan z github, a następnie uruchamiając:
$ sudo nano /lib/systemd/system/run-fan.service
Wklej zawartość z github do pliku
ctrl-o, ENTER, ctrl-x, aby zapisać i wyjść z edytora nano
Właścicielem pliku musi być root i musi znajdować się w katalogu /lib/systemd/system. Polecenia to:
$ sudo chown root: root run-fan.service
$ sudo mv run-fan.service /lib/systemd/system/.
Po jakichkolwiek zmianach w /lib/systemd/system/run-fan.service:
$ sudo systemctl demon-reload
$ sudo systemctl włącz run-fan.service $ sudo reboot
Po ponownym uruchomieniu Raspberry Pi wentylator powinien działać!
Jeśli masz problemy ze skryptem uruchamiającym się po ponownym uruchomieniu, zapoznaj się z tematem systemd w Dodatku dotyczącym rozwiązywania problemów.
Krok 7: Dodatek: Referencje
Często zadawane pytania dotyczące temperatury Raspberry Pi Org
Hackernoon: Jak sterować wentylatorem
Objaśnianie komputerów: filmy o chłodzeniu
Tom's Hardware: Wpływ temperatury na wydajność
Systemy Puget: wpływ temperatury na wydajność procesora
Rezystory Pull Up i Pull Down
Krok 8: Dodatek: Aktualizacje
Aby zrobić: połącz płytkę drukowaną odbiornika RF ze sterownikiem wentylatora
Krok 9: Dodatek: Rozwiązywanie problemów
Sprawdzanie usługi systemd
Aby upewnić się, że run-fan.service w systemd jest włączony i uruchomiony, uruchom jedno lub więcej poleceń:
$ systemctl lista-jednostek-files | grep włączony
$ systemctl | grep działa | grep fan $ status systemctl run-fan.service -l
Jeśli są jakieś problemy z uruchomieniem skryptu za pomocą systemd, zbadaj dziennik za pomocą:
$ sudo journalctl -u run-fan.service
Aby sprawdzić, czy run-fan.py jest uruchomiony:
$ kot /home/osmc/run-fan.log