Tartalomjegyzék:

Raspberry Pi doboz hűtőventilátor CPU hőmérséklet kijelzővel: 10 lépés (képekkel)
Raspberry Pi doboz hűtőventilátor CPU hőmérséklet kijelzővel: 10 lépés (képekkel)

Videó: Raspberry Pi doboz hűtőventilátor CPU hőmérséklet kijelzővel: 10 lépés (képekkel)

Videó: Raspberry Pi doboz hűtőventilátor CPU hőmérséklet kijelzővel: 10 lépés (képekkel)
Videó: Mini PC Intel N100-on – AC8-N, nagy teljesítményű ventilátor nélküli platform, Home Assistant OS 2024, Július
Anonim
Raspberry Pi doboz hűtőventilátor CPU hőmérséklet kijelzővel
Raspberry Pi doboz hűtőventilátor CPU hőmérséklet kijelzővel

Az előző projektben bemutattam a Raspberry pi (továbbiakban RPI) CPU hőmérséklet -jelző áramkört.

Az áramkör egyszerűen az RPI 4 különböző CPU hőmérséklet szintjét mutatja az alábbiak szerint.

- A zöld LED akkor világít, ha a CPU hőmérséklete 30-39 fok

- A sárga LED azt jelzi, hogy a hőmérséklet 40 és 45 fok között emelkedik

- A 3. piros LED azt mutatja, hogy a CPU kissé felmelegszik, elérve a 46-49 fokot

- Egy másik piros LED villog, ha a hőmérséklet meghaladja az 50 fokot

***

Ha a hőmérséklet meghaladja az 50 ° C -ot, bármilyen segítségre van szükség a kis RPI -hez, amely nem feszül túlzottan.

Azon információk alapján, amelyeket több weboldalon láttam, amelyek az RPI maximális tolerálható hőmérsékleti szintjéről beszélnek, a vélemények sokfélék, például valaki megemlíti, hogy a 60 ° C feletti hőmérséklet még mindig teljesen rendben van, ha hűtőbordát használnak.

Személyes tapasztalataim azonban mást mondanak arról, hogy az átviteli szerver (RPI-t használva hűtőbordával) lassúvá válik, és végül zombiként viselkedik, amikor több órán keresztül bekapcsolom.

Ezért ez a kiegészítő áramkör és a hűtőventilátor a CPU hőmérsékletének 50 ° C alatti szabályozására szolgál az RPI stabil működésének támogatása érdekében.

***

A korábban bemutatott CPU hőmérséklet -jelző áramkör (a továbbiakban INDICATOR) integrálva van, hogy támogassa a kényelmes hőmérséklet -ellenőrzést anélkül, hogy végrehajtaná a „vcgencmd intézkedés_temp” parancsot a konzol terminálján.

1. lépés: A rajzok elkészítése

Sémák készítése
Sémák készítése

Két korábbi projektben már említettem az RPI és a külső áramkörök közötti áramellátás teljes leválasztását.

Hűtőventilátor esetén a független tápegység nagyon fontos, mivel az egyenáramú 5 V -os ventilátor (motor) viszonylag nagy terhelésű és meglehetősen zajos működés közben.

Ezért az alábbi szempontokat hangsúlyozzuk az áramkör tervezésekor.

- Az optocsatolókat az RPI GPIO tűvel való interfészhez használják, hogy hűtőventilátor aktiváló jelet kapjanak

- Nincs áram az RPI-ből, és az áramkör áramforrásaként szokásos kézi telefon töltőt használ.

- A LED kijelző a hűtőventilátor működésének tájékoztatására szolgál

- Az 5V relét a hűtőventilátor mechanikus aktiválására használják

***

Ez az áramkör a python programvezérlésével kölcsönhatásba lép a CPU hőmérséklet-jelző áramkörével (a továbbiakban INDICATOR).

Amikor az INDICATOR villogni kezd (a hőmérséklet meghaladja az 50 ° C -ot), ennek a hűtőventilátor -körnek működésbe kell lépnie.

2. lépés: Alkatrészek előkészítése

Más korábbi projektekhez hasonlóan nagyon gyakori alkatrészeket használnak a hűtőventilátor kör előállításához az alábbiakban felsoroltak szerint.

- Optocsatoló: PC817 (SHARP) x 1

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

- TQ2-5V (Panasonic) 5V relé

- 1N4148 dióda

- Ellenállások (1/4 Watt): 220ohm x 2 (áramkorlátozás), 2,2K (tranzisztoros kapcsolás) x 2

- LED x 1

- 5V hűtőventilátor 200mA

- Univerzális tábla több mint 20 (W) x 20 (H) lyukkal (bármilyen méretű univerzális táblát vághat az áramkörhöz)

- Ónhuzal (kérjük, olvassa el a „Raspberry Pi leállásjelző” projekt közzétételét a bádoghuzal használatának részleteiről)

- Kábel (piros és kék közös egyvezetékes kábel)

- Bármilyen kézi telefon töltő 220V bemenet és 5V kimenet (B típusú USB csatlakozó)

- Csapfej (3 csap) x 2

***

A hűtőventilátor fizikai méretének elég kicsinek kell lennie ahhoz, hogy az RPI tetejére szerelhető legyen.

Bármilyen típusú relé használható, ha 5 V feszültségről működik, és több mechanikus érintkezővel rendelkezik.

3. lépés: PCB rajz készítése

PCB rajz készítése
PCB rajz készítése

Mivel az alkatrészek száma kicsi, a szükséges univerzális NYÁK -méret nem nagy.

Kérjük, ügyeljen a TQ2-5V tüskés polaritási elrendezésére, a fenti képen látható módon. (A hagyományos gondolkodással ellentétben a tényleges plusz/föld elrendezés fordítva van elrendezve)

Személy szerint a forrasztás után váratlan problémám van a TQ2-5V fordított helyzetű (más relétermékekkel összehasonlítva) polaritási csapjai miatt.

4. lépés: Forrasztás

Forrasztás
Forrasztás

Mivel maga az áramkör meglehetősen egyszerű, a kábelezési minta nem túl bonyolult.

Csavarozom az „L” alakú rögzítőkonzolt, hogy a NYÁK -t függőleges irányban rögzítsem.

Mint később látni fogja, az akril alváz, amely mindent felszerel, kissé kicsi.

Ezért szűkítő lábnyom szükséges, mivel az akril alváz nagyon zsúfolt PCB-kkel és más alalkatrészekkel.

A LED az elülső oldalon található, így könnyen felismerhető a ventilátor működése.

5. lépés: A hűtőventilátor kalapjának elkészítése és felszerelése

HŰTŐVENTILÁTOR HAT
HŰTŐVENTILÁTOR HAT

Feltételezem, hogy az univerzális NYÁK nagyon hasznos alkatrész, amelyet különféle felhasználási célokra lehet használni.

A hűtőventilátor univerzális NYÁK -ra van szerelve, csavarokkal és anyákkal rögzítve.

A levegőáramlás érdekében nagy lyukat csinálok PCB fúrásával.

Az áthidaló kábelek egyszerű csatlakoztatása érdekében a GIPO 40 csapok területét a NYÁK vágásával nyitják meg.

6. lépés: Szerelje össze a PCB -ket

Szerelje össze a PCB -ket
Szerelje össze a PCB -ket

Amint fentebb említettük, azt terveztem, hogy két különböző áramkört egyetlen egységbe tömörítek.

A korábban készített CPU hőmérséklet -jelző áramkört egyesítik az új hűtőventilátor -körrel, a fenti képen látható módon.

Minden össze van csomagolva átlátszó és kis méretű (15 cm x 10 cm M) akril alvázba.

Bár az alvázterületnek körülbelül a fele üres és rendelkezésre áll, később további komponensek kerülnek a megmaradt helyre.

7. lépés: RPI bekötése áramkörökkel

RPI bekötése áramkörökkel
RPI bekötése áramkörökkel

Két áramkör külön-külön kapcsolódik az RPI-hez optocsatolók segítségével.

Ezenkívül az RPI-ből sem kap áramot, mivel külső kézi telefon töltő táplálja az áramköröket.

Később tudni fogja, hogy ez a fajta elszigetelt interfész séma nagyon megtérül, ha később további alkatrészeket integrálnak az akril alvázba.

8. lépés: A Python program vezérli az összes áramkört

A Python program vezérli az összes áramkört
A Python program vezérli az összes áramkört

A CPU hőmérséklet -jelző áramkörének forráskódjából csak kisebb kódkiegészítés szükséges.

Ha a hőmérséklet meghaladja az 50 ° C -ot, akkor a ventilátor 10 másodpercre történő bekapcsolásának és 3 másodperces kikapcsolásának húsz (20) ismétlése kezdődik.

Mivel a ventilátor kismotorja működés közben maximum 200 mA áramot igényel, a PWM (impulzusszélesség-moduláció) típusú motor aktiválási módszert használják a kevésbé megterhelő kézi telefon töltőhöz.

A módosított forráskód az alábbi.

***

#-*-kódolás: utf-8-*-

##

alfolyamat, jel, rendszer importálása

importálási idő, re

import RPi. GPIO g

##

A = 12

B = 16

VENTILÁTOR = 25

##

g.setmode (g. BCM)

g.beállítás (A, g. OUT)

g.beállítás (B, g. OUT)

g. beállítás (FAN, g. OUT)

##

def signal_handler (sig, frame):

print ('Nyomtad a Ctrl+C!')

g. kimenet (A, hamis)

g. kimenet (B, hamis)

g. output (FAN, False)

f. bezár ()

sys.exit (0)

signal.signal (signal. SIGINT, signal_handler)

##

míg igaz:

f = open ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd meet_temp', shell = igaz)

temp_str = temp_str.decode (kódolás = 'UTF-8', hibák = 'szigorú')

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

# a CPU aktuális hőmérsékletének kinyerése

##

current_temp = lebegés (CPU_temp [0])

ha jelenlegi_temp> 30 és jelenlegi_temp <40:

# alacsony hőmérséklet A = 0, B = 0

g. kimenet (A, hamis)

g. kimenet (B, hamis)

time.sleep (5)

elif current_temp> = 40 és current_temp <45:

# hőmérsékleti közeg A = 1, B = 0

g. output (A, True)

g. kimenet (B, hamis)

time.sleep (5)

elif current_temp> = 45 és current_temp <50:

# magas hőmérséklet A = 0, B = 1

g. kimenet (A, hamis)

g. kimenet (B, igaz)

time.sleep (5)

elif current_temp> = 50:

# CPU hűtés szükséges magas A = 1, B = 1

g. output (A, True)

g. kimenet (B, igaz)

i (1, 20) tartományban:

g. output (FAN, True)

time.sleep (10)

g. output (FAN, False)

time.sleep (3)

current_time = time.time ()

formated_time = time.strftime ("%H:%M:%S", time.gmtime (aktuális_idő))

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

f. bezár ()

##

Mivel ennek a python kódnak a működési logikája majdnem megegyezik a CPU hőmérséklet -jelző áramkörével, itt nem ismétlem meg a részleteket.

9. lépés: VENTILÁTOR áramkör működése

VENTILÁTOR áramkör működése
VENTILÁTOR áramkör működése

Amikor a grafikont nézzük, a hőmérséklet meghaladja az 50 ° C -ot ventilátor áramkör nélkül.

Úgy tűnik, hogy a CPU átlagos hőmérséklete 40 ~ 47 ° C körül van, miközben az RPI működik.

Ha nagy rendszerterhelést alkalmaz, például a Youtube böngészőben történő lejátszását, általában a hőmérséklet gyorsan emelkedik, akár 60 ° C -ra.

Ventilátor áramkör esetén azonban a hőmérséklet 5 másodpercen belül 50 ° C alá csökken a hűtőventilátor működésével.

Ennek eredményeként egész nap bekapcsolhatja az RPI-t, és bármilyen munkát végezhet, anélkül, hogy aggódnia kellene a túlmelegedés miatt.

10. lépés: További fejlesztés

További fejlődés
További fejlődés

Mint látható, az akril alváz fele üresen maradt.

További összetevőket teszek oda, és kibővítem az RPI -doboz alapvető blokkját valami hasznosabbra.

Természetesen a többlet hozzáadása egy kicsit növeli a komplexitást is.

Egyébként két áramkört integrálok egyetlen dobozba ebben a projektben.

Köszönöm, hogy elolvasta ezt a történetet.

Ajánlott: