Spisu treści:

Wentylator chłodzący Raspberry Pi ze wskaźnikiem temperatury procesora: 10 kroków (ze zdjęciami)
Wentylator chłodzący Raspberry Pi ze wskaźnikiem temperatury procesora: 10 kroków (ze zdjęciami)

Wideo: Wentylator chłodzący Raspberry Pi ze wskaźnikiem temperatury procesora: 10 kroków (ze zdjęciami)

Wideo: Wentylator chłodzący Raspberry Pi ze wskaźnikiem temperatury procesora: 10 kroków (ze zdjęciami)
Wideo: JAK WYCZYŚCIĆ KOMPUTER Z KURZU? 🤔 | Poradnik krok po kroku ft. @bIackwhiteTV 2024, Listopad
Anonim
Raspberry Pi Box z wentylatorem chłodzącym ze wskaźnikiem temperatury procesora
Raspberry Pi Box z wentylatorem chłodzącym ze wskaźnikiem temperatury procesora

W poprzednim projekcie wprowadziłem obwód wskaźnika temperatury procesora raspberry pi (dalej jako RPI).

Obwód po prostu pokazuje różne poziomy temperatury procesora RPI 4 w następujący sposób.

- Zielona dioda LED włącza się, gdy temperatura procesora wynosi 30~39 stopni

- Żółta dioda LED wskazuje wzrost temperatury w zakresie od 40 do 45 stopni

- Trzecia czerwona dioda LED pokazuje, że procesor trochę się nagrzewa, osiągając 46 ~ 49 stopni

- Kolejna czerwona dioda LED będzie migać, gdy temperatura przekroczy 50 stopni

***

Gdy temperatura przekracza 50C, jakakolwiek pomoc jest konieczna, aby małe RPI nie były zbytnio obciążone.

Według informacji, które widziałem na kilku stronach internetowych, które mówią o maksymalnym tolerowanym poziomie temperatury RPI, opinie są różne, na przykład ktoś wspomina, że powyżej 60C jest nadal całkiem OK, gdy używany jest radiator.

Ale moje osobiste doświadczenie mówi coś innego, że serwer transmisji (używający RPI z radiatorem) staje się powolny i wreszcie zachowuje się jak zombie, gdy włączam go na kilka godzin.

Dlatego ten dodatkowy obwód i wentylator chłodzący są dodawane w celu regulacji temperatury procesora poniżej 50C, aby wspierać stabilną pracę RPI.

***

Również wcześniej wprowadzony obwód wskaźnika temperatury procesora (zwany dalej INDICATOR) jest zintegrowany ze sobą w celu obsługi wygodnego sprawdzania poziomu temperatury bez wykonywania polecenia „vcgencmd Measure_temp” na terminalu konsoli.

Krok 1: Przygotowanie schematów

Przygotowywanie schematów
Przygotowywanie schematów

W dwóch poprzednich projektach wspomniałem o całkowitej izolacji zasilania pomiędzy RPI a obwodami zewnętrznymi.

W przypadku wentylatorów chłodzących niezależne zasilanie jest dość ważne, ponieważ wentylator (silnik) DC 5V jest stosunkowo ciężki i dość głośny podczas pracy.

Dlatego przy projektowaniu tego obwodu kładzie się nacisk na następujące względy.

- Transoptory są używane do połączenia z pinem RPI GPIO, aby uzyskać sygnał aktywujący wentylator chłodzący;

- Brak zasilania z RPI i używanie zwykłej ładowarki do telefonu jako źródła zasilania tego obwodu.

- Wskaźnik LED służy do informowania o pracy wentylatora chłodzącego

- Przekaźnik 5 V służy do aktywacji wentylatora chłodzącego w sposób mechaniczny;

***

Ten obwód będzie współpracował z obwodem wskaźnika temperatury procesora (dalej INDICATOR) za pomocą sterowania programem Pythona.

Gdy WSKAŹNIK zacznie migać (temperatura przekroczy 50C), ten obwód WENTYLATORA chłodzącego zacznie działać.

Krok 2: Przygotowanie części

Podobnie jak w innych poprzednich projektach, do wykonania obwodu wentylatora chłodzącego wykorzystywane są bardzo popularne komponenty, jak podano poniżej.

- Łącznik optyczny: PC817 (SHARP) x 1

- 2N3904 (NPN) x 1, BD139 (NPN) x 1

- Przekaźnik TQ2-5V (Panasonic) 5 V

- Dioda 1N4148

- Rezystory (1/4Watt): 220ohm x 2 (ograniczenie prądu), 2,2K (przełączanie tranzystorowe) x 2

-LED x 1

- Wentylator chłodzący 5V 200mA

- Płytka uniwersalna o rozmiarze większym niż 20(W) na 20(H) otworów (można wyciąć dowolny rozmiar płytki uniwersalnej, aby pasowała do obwodu)

- Drut cynowy (proszę zapoznać się z moim projektem „Wskaźnik wyłączenia Raspberry Pi”, aby uzyskać więcej informacji na temat użycia drutu cynowego)

- Kabel (czerwony i niebieski wspólny kabel jednożyłowy)

- Dowolna ładowarka ręczna z wejściem 220V i wyjściem 5V (złącze USB typu B)

- Głowica szpilki (3 szpilki) x 2

***

Fizyczny wymiar wentylatora chłodzącego powinien być wystarczająco mały, aby można go było zamontować na górze RPI.

Można zastosować dowolny typ przekaźnika, który może działać przy 5V i ma więcej niż jeden styk mechaniczny.

Krok 3: Tworzenie rysunku PCB

Tworzenie rysunku PCB
Tworzenie rysunku PCB

Ponieważ ilość komponentów jest niewielka, wymagany uniwersalny rozmiar PCB nie jest duży.

Proszę zwrócić uwagę na układ polaryzacji pinów TQ2-5V, jak pokazano na powyższym obrazku. (W przeciwieństwie do konwencjonalnego myślenia, rzeczywisty układ plus/grunt jest ułożony odwrotnie)

Osobiście mam nieoczekiwany problem po lutowaniu ze względu na odwrotnie umiejscowione (w porównaniu z innymi przekaźnikami) piny polaryzacji TQ2-5V.

Krok 4: Lutowanie

Lutowanie
Lutowanie

Ponieważ sam obwód jest dość prosty, schemat okablowania nie jest zbyt skomplikowany.

Przykręcam wspornik montażowy w kształcie litery „L”, aby naprawić płytkę drukowaną w kierunku pionowym.

Jak widać później, akrylowa obudowa, w której wszystko się montuje, jest trochę za mała.

Dlatego konieczne jest zwężenie śladu stopy, ponieważ obudowa akrylowa jest bardzo zatłoczona płytkami drukowanymi i innymi częściami.

Dioda LED znajduje się z przodu, co ułatwia rozpoznanie działania wentylatora.

Krok 5: Wykonanie i montaż czepka chłodzącego FAN

Wykonywanie i montaż czepka chłodzącego FAN HAT
Wykonywanie i montaż czepka chłodzącego FAN HAT

Przypuszczam, że uniwersalna płytka drukowana jest bardzo przydatną częścią, która może być używana do różnych celów.

Wentylator chłodzący jest montowany na uniwersalnej płytce drukowanej i mocowany za pomocą śrub i nakrętek.

Aby umożliwić przepływ powietrza, wykonuję duży otwór wiercąc płytkę drukowaną.

Również dla łatwego podłączania kabli połączeniowych, obszar GIPO 40 pinów jest otwierany przez wycięcie PCB.

Krok 6: Złóż płytki drukowane

Montaż płytek drukowanych
Montaż płytek drukowanych

Jak wspomniano powyżej, planowałem skonsolidować dwa różne obwody w jedną całość.

Wcześniej wykonany obwód wskaźnika temperatury procesora został połączony z nowym obwodem wentylatora chłodzącego, jak pokazano na powyższym obrazku., Całość zapakowana jest w przeźroczystą i niewielkich rozmiarów (15 cm szer. x 10 cm gł.) akrylową obudowę.

Chociaż około połowa przestrzeni podwozia jest pusta i dostępna, dodatkowy element zostanie później umieszczony w pozostałej przestrzeni.

Krok 7: Okablowanie RPI z obwodami

Okablowanie RPI z obwodami
Okablowanie RPI z obwodami

Dwa obwody są połączone z RPI w sposób izolowany za pomocą transoptorów.

Również zasilanie nie jest pobierane z RPI, ponieważ zewnętrzna ładowarka ręczna zasila obwody.

Później dowiesz się, że ten rodzaj izolowanego schematu interfejsu jest całkiem opłacalny, gdy dodatkowe komponenty zostaną później bardziej zintegrowane z akrylową obudową.

Krok 8: Program Pythona kontroluje wszystkie obwody

Program Pythona kontroluje wszystkie obwody
Program Pythona kontroluje wszystkie obwody

Wymagane jest tylko niewielkie dodanie kodu z kodu źródłowego obwodu wskaźnika temperatury procesora.

Gdy temperatura przekroczy 50C, rozpoczyna się dwadzieścia (20) iteracji włączenia WENTYLATORA na 10 sekund i wyłączenia na 3 sekundy.

Ponieważ mały silnik WENTYLATORA wymaga maksymalnie 200mA prądu podczas pracy, stosuje się metodę uruchamiania silnika typu PWM (Pulse Width Modulation), aby zmniejszyć obciążenie ładowarki ręcznej telefonu.

Zmodyfikowany kod źródłowy jest jak poniżej.

***

#-*- kodowanie:utf-8 -*-

##

importuj podproces, sygnał, sys

czas importu, ponownie

importuj RPi. GPIO jako g

##

A = 12

B = 16

WENTYLATOR = 25

##

g.setmode(g. BCM)

g.ustawienia(A, g. OUT)

g.ustawienia(B, g. WY)

g.setup(FAN, g. OUT)

##

def signal_handler(sig, ramka):

print('Nacisnąłeś Ctrl+C!')

g.wyjście(A, Fałsz)

g.output(B, Fałsz)

g.output(FAN, False)

f.zamknij()

sys.exit(0)

signal.signal(signal. SIGINT, signal_handler)

##

podczas gdy prawda:

f = otwórz('/home/pi/Mój_projekt/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output('/opt/vc/bin/vcgencmd Measure_temp', shell=True)

temp_str = temp_str.decode(kodowanie = 'UTF-8', błędy = 'ścisłe')

CPU_temp = re.findall("\d+\.\d+", temp_str)

# wyodrębnianie aktualnej temperatury procesora

##

current_temp = float(CPU_temp[0])

jeśli bieżąca_temp > 30 i bieżąca_temp < 40:

# niska temperatura A=0, B=0

g.wyjście(A, Fałsz)

g.output(B, Fałsz)

czas.sen(5)

elif aktualna_temp >= 40 i aktualna_temp < 45:

# temperatura medium A=1, B=0

g.wyjście(A, Prawda)

g.output(B, Fałsz)

czas.sen(5)

elif aktualna_temp >= 45 i aktualna_temp < 50:

# temperatura wysoka A=0, B=1

g.wyjście(A, Fałsz)

g.wyjście(B, Prawda)

czas.sen(5)

elif aktualna_temp >= 50:

# Wymagane chłodzenie procesora wysokie A=1, B=1

g.wyjście(A, Prawda)

g.wyjście(B, Prawda)

dla i w zakresie (1, 20):

g.output(WENTYLATOR, Prawda)

czas.sen(10)

g.output(FAN, False)

czas.sen(3)

aktualny_czas = czas.czas()

formated_time = time.strftime("%H:%M:%S", time.gmtime(current_time))

f.write(str(format_czas)+'\t'+str(current_temp)+'\n')

f.zamknij()

##

Ponieważ logika działania tego kodu Pythona jest prawie podobna do logiki obwodu wskaźnika temperatury procesora, nie będę tutaj powtarzać szczegółów.

Krok 9: Działanie obwodu wentylatora

Działanie obwodu wentylatora
Działanie obwodu wentylatora

Patrząc na wykres temperatura przekracza 50C bez obwodu FAN.

Wygląda na to, że średnia temperatura procesora wynosi około 40 ~ 47C podczas działania RPI.

W przypadku dużego obciążenia systemu, takiego jak odtwarzanie Youtube w przeglądarce internetowej, temperatura zwykle szybko wzrasta do 60C.

Ale z obwodem WENTYLATORA temperatura zostanie obniżona o mniej niż 50C w ciągu 5 sekund dzięki pracy WENTYLATORA chłodzącego.

W rezultacie możesz włączyć RPI przez cały dzień i wykonywać dowolne prace bez obawy o przegrzanie.

Krok 10: Dalszy rozwój

Dalszy rozwój
Dalszy rozwój

Jak widać, połowa akrylowej obudowy pozostała pusta.

Umieszczę tam dodatkowe komponenty i rozszerzę ten podstawowy blok pudełka RPI na coś bardziej użytecznego.

Oczywiście więcej dodawania oznacza również nieco większą złożoność.

W każdym razie integruję w tym projekcie dwa obwody w jedną skrzynkę.

Dzięki za przeczytanie tej historii.

Zalecana: