Spisu treści:

Sterowanie wentylatorem chłodzącym na Raspberry Pi 3: 9 kroków
Sterowanie wentylatorem chłodzącym na Raspberry Pi 3: 9 kroków

Wideo: Sterowanie wentylatorem chłodzącym na Raspberry Pi 3: 9 kroków

Wideo: Sterowanie wentylatorem chłodzącym na Raspberry Pi 3: 9 kroków
Wideo: Inteligentny dom | #25 - Sterowanie wentylatorem raspberry przez Domoticz 2024, Lipiec
Anonim
Kontroluj wentylator chłodzący na Raspberry Pi 3
Kontroluj wentylator chłodzący na Raspberry Pi 3

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

Schematyczny
Schematyczny

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

Automatycznie uruchom skrypt
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

Zalecana: