Kazalo:

Raspberry Pi Box hladilnega ventilatorja s indikatorjem temperature procesorja: 10 korakov (s slikami)
Raspberry Pi Box hladilnega ventilatorja s indikatorjem temperature procesorja: 10 korakov (s slikami)

Video: Raspberry Pi Box hladilnega ventilatorja s indikatorjem temperature procesorja: 10 korakov (s slikami)

Video: Raspberry Pi Box hladilnega ventilatorja s indikatorjem temperature procesorja: 10 korakov (s slikami)
Video: СКР 1.4 - конфигурация A4988/DRV8825 2024, Julij
Anonim
Raspberry Pi Box hladilnega ventilatorja s indikatorjem temperature procesorja
Raspberry Pi Box hladilnega ventilatorja s indikatorjem temperature procesorja

V prejšnjem projektu sem predstavil vezje temperature CPU -ja maline pi (v nadaljevanju RPI).

Vezje preprosto prikazuje različno temperaturo procesorja RPI 4, kot sledi.

- Zelena LED se prižge, ko je temperatura procesorja znotraj 30 ~ 39 stopinj

- Rumena LED označuje zvišanje temperature v območju od 40 do 45 stopinj

- Tretja rdeča LED prikazuje, da se procesor nekoliko segreje, ko doseže 46 ~ 49 stopinj

- Če temperatura preseže 50 stopinj, bo utripala še ena rdeča LED

***

Če temperatura presega 50 ° C, je potrebna kakršna koli pomoč, če se RPI ne obremenjuje preveč.

Po podatkih, ki sem jih videl na več spletnih straneh, ki govorijo o najvišji dopustni temperaturni ravni RPI, so mnenja različna, na primer nekdo omenja, da je več kot 60C še vedno v redu, ko se uporablja hladilnik.

Moje osebne izkušnje pa govorijo nekaj drugega, da prenosni strežnik (ki uporablja RPI s hladilnikom) postane počasen in končno deluje kot zombi, ko ga vklopim za nekaj ur.

Zato je to dodatno vezje in hladilni ventilator dodan za uravnavanje temperature procesorja pod 50 ° C za podporo stabilnega delovanja RPI.

***

Tudi predhodno predstavljeno vezje indikatorja temperature CPE -ja (v nadaljevanju INDICATOR) je integrirano skupaj, da podpira priročno preverjanje ravni temperature brez izvajanja ukaza "vcgencmd mere_temp" na terminalu konzole.

1. korak: Priprava shem

Priprava shem
Priprava shem

V dveh prejšnjih projektih sem omenil popolno izolacijo napajanja med RPI in zunanjimi vezji.

V primeru hladilnega ventilatorja je neodvisno napajanje zelo pomembno, saj je DC 5 V FAN (motor) relativno velika obremenitev in precej hrupno med delovanjem.

Zato so pri načrtovanju tega vezja poudarjeni naslednji premisleki.

- Opto-spenjače se uporabljajo za vmesnik z RPI GPIO pin, da dobite signal za aktiviranje hladilnega ventilatorja

- RPI ne porablja energije in za napajanje tega vezja uporablja skupni polnilec za ročne telefone.

- LED indikator se uporablja za obveščanje o delovanju ventilatorja za hlajenje

- 5V rele se uporablja za aktiviranje hladilnega ventilatorja na mehanski način

***

To vezje bo delovalo s krogom indikatorja temperature procesorja (v nadaljevanju INDIKATOR) s pomočjo programskega krmiljenja python.

Ko indikator INDICATOR začne utripati (temperatura presega 50 ° C), začne delovati to vezje ventilatorja za hlajenje.

2. korak: Priprava delov

Tako kot drugi prejšnji projekti se za izdelavo hladilnega ventilatorskega tokokroga uporabljajo spodaj navedene zelo pogoste komponente.

- Optični spenjač: PC817 (SHARP) x 1

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

- TQ2-5V (Panasonic) rele 5V

- 1N4148 dioda

- Upori (1/4W): 220ohm x 2 (omejevanje toka), 2.2K (preklapljanje tranzistorjev) x 2

- LED x 1

- 5V hladilni ventilator 200mA

- Univerzalna plošča velikosti več kot 20 (W) do 20 (H) lukenj (univerzalno ploščo lahko izrežete poljubno velikosti, da ustreza krogu)

- kositrna žica (za več podrobnosti o uporabi kositrne žice glejte moj projekt "Indikator zaustavitve Raspberry Pi")

- Kabel (rdeči in modri skupni enožični kabel)

- Vsak polnilnik za ročni telefon 220V vhod in 5V izhod (priključek USB tipa B)

- Zatič (3 zatiči) x 2

***

Fizična dimenzija ventilatorja za hlajenje mora biti dovolj majhna, da se lahko namesti na vrh RPI.

Uporabite lahko katero koli vrsto releja, kadar lahko deluje pri 5V in ima več kot en mehanski kontakt.

Korak 3: Izdelava risbe PCB

Izdelava risbe na PCB
Izdelava risbe na PCB

Ker je število komponent majhno, zahtevana velikost univerzalnega tiskanega vezja ni velika.

Bodite pozorni na polariteto pin TQ2-5V, kot je prikazano na zgornji sliki. (V nasprotju s konvencionalnim razmišljanjem je dejanska postavitev plus/tla obratno razporejena)

Osebno imam po spajkanju nepričakovane težave zaradi obratno nameščenih (v primerjavi z drugimi relejskimi izdelki) polaritetnih zatičev TQ2-5V.

4. korak: Spajkanje

Spajkanje
Spajkanje

Ker je vezje preprosto, vzorec ožičenja ni veliko zapleten.

Pritrdim pritrdilni nosilec v obliki črke "L", da pritrdim tiskano vezje v pokončni smeri.

Kot lahko vidite kasneje, je akrilno ohišje, na katerega je vse nameščeno, nekoliko majhno.

Zato je treba zožiti odtis nog, saj je akrilno ohišje zelo napolnjeno s tiskanimi vezji in drugimi deli.

LED je nameščen na sprednji strani za enostavno prepoznavanje delovanja ventilatorja.

5. korak: Izdelava in namestitev hladilnega ventilatorja

Izdelava in namestitev hladilnega ventilatorja
Izdelava in namestitev hladilnega ventilatorja

Predvidevam, da je univerzalno tiskano vezje zelo uporaben del, ki ga je mogoče uporabiti za različne namene.

Hladilni ventilator je nameščen na univerzalnem tiskanem vezju in pritrjen z vijaki in maticami.

Za omogočanje pretoka zraka naredim veliko luknjo z vrtanjem tiskane plošče.

Tudi za enostavno priključitev mostičnih kablov se območje 40 zatičev GIPO odpre z rezanjem tiskanega vezja.

6. korak: Sestavite PCB -je

Sestavite PCB -je
Sestavite PCB -je

Kot že omenjeno, sem nameraval združiti dva različna vezja v eno enoto.

Prej izdelano vezje indikatorja temperature procesorja je združeno z novim hladilnim vezjem ventilatorja, kot je prikazano na zgornji sliki., Vse skupaj je pakirano v prozorno in majhno (15 cm Š x 10 cm D) akrilno ohišje.

Čeprav je približno polovica prostora na šasiji prazna in na voljo, se bo pozneje v preostali prostor namestila dodatna komponenta.

Korak 7: Ožičenje RPI s vezji

Ožičenje RPI s vezji
Ožičenje RPI s vezji

Dva vezja sta med seboj povezana z RPI na izoliran način z uporabo optičnih sklopk.

Tudi RPI ne črpa energije, saj zunanji polnilnik za ročne telefone napaja vezja.

Kasneje boste vedeli, da se tovrstna izolirana shema vmesnika precej izplača, če se kasneje dodatne komponente bolj integrirajo v akrilno ohišje.

8. korak: Program Python nadzira vsa vezja

Program Python nadzoruje vsa vezja
Program Python nadzoruje vsa vezja

Od izvorne kode vezja indikatorja temperature CPE -ja je potreben le manjši dodatek kode.

Ko temperatura preseže 50 ° C, se začne dvajset (20) ponovitev vklopa ventilatorja za 10 sekund in izklopa za 3 sekunde.

Ker majhen motor FAN med delovanjem potrebuje največ 200 mA toka, se za manj obremenjujoč polnilec za ročne telefone uporablja metoda PWM (Pulse Width Modulation).

Spremenjena izvorna koda je kot spodaj.

***

#-*-kodiranje: utf-8-*-

##

uvozni podproces, signal, sys

čas uvoza, ponov

uvozite RPi. GPIO kot g

##

A = 12

B = 16

VENTILATOR = 25

##

g.način delovanja (g. BCM)

g.setup (A, g. OUT)

g.nastavitev (B, g. OUT)

g.setup (FAN, g. OUT)

##

def signal_handler (sig, okvir):

print ('Pritisnili ste Ctrl+C!')

g.output (A, False)

g.output (B, False)

g.output (FAN, False)

f.close ()

sys.exit (0)

signal.signal (signal. SIGINT, signal_krmilnik)

##

medtem ko je res:

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

temp_str = podproces.check_output ('/opt/vc/bin/vcgencmd ukrep_temp', lupina = True)

temp_str = temp_str.decode (kodiranje = 'UTF-8', napake = 'strogo')

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

# ekstrakcija trenutne temperature procesorja

##

current_temp = float (CPU_temp [0])

če je current_temp> 30 in current_temp <40:

# nizka temperatura A = 0, B = 0

g.output (A, False)

g.output (B, False)

time.sleep (5)

elif current_temp> = 40 in current_temp <45:

# temperaturni medij A = 1, B = 0

g.output (A, True)

g.output (B, False)

time.sleep (5)

elif current_temp> = 45 in current_temp <50:

# visoka temperatura A = 0, B = 1

g.output (A, False)

g.izhod (B, True)

time.sleep (5)

elif current_temp> = 50:

# Hlajenje procesorja je potrebno visoko A = 1, B = 1

g.output (A, True)

g.izhod (B, True)

za i v dosegu (1, 20):

g.izhod (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 (current_time))

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

f.close ()

##

Ker je logika delovanja te kode python skoraj podobna logiki vezja indikatorja temperature procesorja, tukaj podrobnosti ne bom ponavljal.

9. korak: delovanje vezja ventilatorja

Delovanje vezja ventilatorja
Delovanje vezja ventilatorja

Če gledate graf, temperatura presega 50C brez vezja VENTILATORJA.

Zdi se, da je povprečna temperatura CPU -ja med delovanjem RPI okoli 40 ~ 47C.

Če se uporablja velika obremenitev sistema, na primer predvajanje Youtube v spletnem brskalniku, se temperatura običajno hitro dvigne na 60 ° C.

Toda s tokokrogom ventilatorja se bo temperatura v 5 sekundah znižala zaradi delovanja hladilnega ventilatorja.

Posledično lahko RPI vklopite ves dan in opravljate poljubna dela, ne da bi vas skrbelo za pregrevanje.

10. korak: Nadaljnji razvoj

Nadaljnji razvoj
Nadaljnji razvoj

Kot lahko vidite, je polovica akrilnega ohišja prazna.

Tam bom dal dodatne komponente in razširil ta osnovni blok polja RPI v nekaj bolj uporabnega.

Seveda več dodatkov pomeni tudi nekoliko večjo kompleksnost.

Kakorkoli, v ta projekt integriram dva vezja v eno polje.

Hvala, ker ste prebrali to zgodbo.

Priporočena: