Sadržaj:

Raspberry Pi kutija ventilatora za hlađenje sa indikatorom temperature procesora: 10 koraka (sa slikama)
Raspberry Pi kutija ventilatora za hlađenje sa indikatorom temperature procesora: 10 koraka (sa slikama)

Video: Raspberry Pi kutija ventilatora za hlađenje sa indikatorom temperature procesora: 10 koraka (sa slikama)

Video: Raspberry Pi kutija ventilatora za hlađenje sa indikatorom temperature procesora: 10 koraka (sa slikama)
Video: nevjerojatno diy džepno računalo geeekpi raspberry pi 4 aluminijsko nas kućište 2024, Juli
Anonim
Raspberry Pi Box sa ventilatorom za hlađenje sa indikatorom temperature procesora
Raspberry Pi Box sa ventilatorom za hlađenje sa indikatorom temperature procesora

U prethodnom projektu sam predstavio krug indikatora temperature procesora od maline pi (u daljem tekstu RPI).

Krug jednostavno prikazuje RPI 4 različite temperature temperature procesora na sljedeći način.

- Zelena LED lampica se pali kada je temperatura procesora unutar 30 ~ 39 stepeni

- Žuta LED označava da se temperatura povećava u rasponu od 40 do 45 stepeni

- Treća crvena LED lampica pokazuje da se procesor pomalo zagrijava dosežući 46 ~ 49 stepeni

- Još jedna crvena LED lampica će treptati kada temperatura pređe više od 50 stepeni

***

Kada temperatura prelazi 50 ° C, bit će potrebna pomoć kako mali RPI ne bi previše opteretio.

Prema informacijama koje sam vidio na nekoliko web stranica koje govore o maksimalno podnošljivom temperaturnom nivou RPI-a, mišljenja su različita, poput onih koji spominju da je više od 60C i dalje sasvim u redu kada se koristi hladnjak.

Ali moje osobno iskustvo govori nešto drugačije da je prijenosni poslužitelj (koji koristi RPI sa hladnjakom) postao spor i konačno se ponašao kao zombi kad ga uključim na nekoliko sati.

Stoga je ovaj dodatni krug i ventilator za hlađenje dodat za regulaciju temperature procesora ispod 50C za podršku stabilnog rada RPI -ja.

***

Također prethodno predstavljeno kolo indikatora temperature procesora (u daljnjem tekstu INDICATOR) integrirano je zajedno kako bi podržalo prikladnu provjeru nivoa temperature bez izvršavanja naredbe “vcgencmd mjera_temp” na terminalu konzole.

Korak 1: Priprema shema

Priprema šema
Priprema šema

U dva prethodna projekta spomenuo sam potpunu izolaciju napajanja između RPI i vanjskih krugova.

U slučaju ventilatora za hlađenje, nezavisno napajanje je vrlo važno jer je DC 5V FAN (motor) relativno velikog opterećenja i prilično bučan tokom rada.

Stoga su sljedeća razmatranja naglašena za projektiranje ovog kola.

- Opto-spreznici se koriste za povezivanje sa RPI GPIO pinom za dobijanje signala za aktiviranje ventilatora hlađenja

- Bez napajanja iz RPI-a i korištenjem uobičajenog punjača za ručne telefone za izvor napajanja ovog kruga.

- LED indikator se koristi za obavještavanje o radu ventilatora za hlađenje

- 5V relej se koristi za aktiviranje ventilatora hlađenja na mehanički način

***

Ovo kolo će raditi sa krugom indikatora temperature procesora (u daljem tekstu INDIKATOR) pomoću programske kontrole pythona.

Kada INDIKATOR počne treperiti (temperatura prelazi 50C), ovaj krug VENTILATORA za hlađenje će početi s radom.

Korak 2: Priprema dijelova

Kao i drugi prethodni projekti, vrlo česte komponente se koriste za izradu rashladnog ventilatorskog kruga kako je dolje navedeno.

- Opto-spojnica: PC817 (SHARP) x 1

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

- TQ2-5V (Panasonic) relej 5V

- 1N4148 dioda

- Otpornici (1/4Watt): 220ohm x 2 (ograničavanje struje), 2.2K (prebacivanje tranzistora) x 2

- LED x 1

- Ventilator za hlađenje 5V 200mA

- Univerzalna ploča veličine više od 20 (W) do 20 (H) rupa (univerzalnu ploču možete izrezati bilo koje veličine kako bi odgovarala krugu)

- Limena žica (Za više detalja o upotrebi limene žice pogledajte moju objavu projekta “Indikator isključenja Raspberry Pi”)

- Kabel (crveni i plavi zajednički jednožični kabel)

- Bilo koji punjač za ručni telefon 220V ulaz i 5V izlaz (USB konektor tipa B)

- Zatična glava (3 igle) x 2

***

Fizička dimenzija ventilatora za hlađenje trebala bi biti dovoljno mala da se može postaviti na vrh RPI -a.

Bilo koja vrsta releja može se koristiti ako može raditi na 5V i imati više mehaničkih kontakata.

Korak 3: Izrada crteža na PCB -u

Izrada crteža na PCB -u
Izrada crteža na PCB -u

Kako je broj komponenti mali, potrebna univerzalna veličina PCB -a nije velika.

Vodite računa o rasporedu polariteta pinova TQ2-5V kao što je prikazano na gornjoj slici. (Suprotno uvriježenom mišljenju, stvarni raspored plus/tlo obrnuto je raspoređen)

Osobno imam neočekivan problem nakon lemljenja zbog obrnuto smještenih (U usporedbi s drugim relejnim proizvodima) polariteta igle TQ2-5V.

Korak 4: Lemljenje

Lemljenje
Lemljenje

Kako je sam krug prilično jednostavan, ožičenje nije mnogo složeno.

Pričvršćujem držač za pričvršćivanje u obliku slova "L" da fiksiram PCB u uspravnom smjeru.

Kao što možete vidjeti kasnije, akrilna šasija na koju se sve montira je pomalo mala.

Stoga je potrebno sužavanje otisaka stopala jer je akrilna šasija jako prepuna PCB-a i drugih dijelova.

LED se nalazi na prednjoj strani radi lakšeg prepoznavanja rada ventilatora.

Korak 5: Izrada i montaža rashladnog ventilatorskog šešira

Izrada i montaža rashladnog ventilatora VENTILATORSKA KAPA
Izrada i montaža rashladnog ventilatora VENTILATORSKA KAPA

Pretpostavljam da je univerzalna PCB vrlo koristan dio koji se može koristiti za različite namjene.

Ventilator za hlađenje je montiran na univerzalnu tiskanu ploču i montiran i fiksiran vijcima i maticama.

Da bih omogućio protok zraka, pravim veliku rupu bušenjem PCB -a.

Također za jednostavno spajanje kratkospojnih kabela, područje s iglama GIPO 40 otvara se rezanjem PCB -a.

Korak 6: Sastavite PCB -ove

Sastavite PCB -ove
Sastavite PCB -ove

Kao što je gore spomenuto, planirao sam objediniti dva različita kola u jednu cjelinu.

Prethodno napravljeni krug indikatora temperature procesora spojen je sa novim krugom ventilatora hlađenja kao što je prikazano na gornjoj slici., Sve je upakovano zajedno u prozirno i male veličine (15 cm Š x 10 cm D) akrilno kućište.

Iako je otprilike polovica prostora u šasiji prazna i dostupna, dodatne komponente bit će smještene u preostali prostor kasnije.

Korak 7: Ožičenje RPI -a sa krugovima

Ožičenje RPI sa krugovima
Ožičenje RPI sa krugovima

Dva kruga su međusobno povezana s RPI-om na izoliran način pomoću optičkih spregača.

Također se ne napaja iz RPI-a jer vanjski punjač za ručne telefone napaja strujna kola.

Kasnije ćete znati da se ova vrsta izolirane sheme sučelja prilično isplati kada se kasnije dodatne komponente više integriraju u akrilnu šasiju.

Korak 8: Program Python kontrolira sva kola

Python program kontrolira sva kola
Python program kontrolira sva kola

Potreban je samo manji dodatak koda iz izvornog koda kruga indikatora temperature CPU -a.

Kada temperatura pređe 50C, počinje dvadeset (20) ponavljanja uključivanja ventilatora na 10 sekundi i isključivanja na 3 sekunde.

Kako mali motor sa ventilatorom zahtijeva maksimalno 200 mA struje tokom rada, PWM (Pulse Width Modulation) metoda aktiviranja motora koristi se za manje opterećenje punjača za ručne telefone.

Izmijenjeni izvorni kod je kao ispod.

***

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

##

uvoz potprocesa, signala, sys

vrijeme uvoza, re

uvesti RPi. GPIO kao g

##

A = 12

B = 16

VENTILATOR = 25

##

g.setmode (g. BCM)

g.setup (A, g. OUT)

g.setup (B, g. OUT)

g.setup (FAN, g. OUT)

##

def signal_handler (sig, okvir):

print ('Pritisnuli ste Ctrl+C!')

g.output (A, Netačno)

g.output (B, Netačno)

g.output (FAN, False)

f.close ()

sys.exit (0)

signal.signal (signal. SIGINT, signal_handler)

##

dok je True:

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

temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd mjera_temple', ljuska = True)

temp_str = temp_str.decode (encoding = 'UTF-8', greške = 'strogo')

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

# ekstrakcija trenutne temperature procesora

##

current_temp = float (CPU_temp [0])

ako je current_temp> 30 i current_temp <40:

# niska temperatura A = 0, B = 0

g.output (A, Netačno)

g.output (B, Netačno)

time.sleep (5)

elif current_temp> = 40 i current_temp <45:

# temperaturni medij A = 1, B = 0

g.izlaz (A, Tačno)

g.output (B, Netačno)

time.sleep (5)

elif current_temp> = 45 i current_temp <50:

# visoka temperatura A = 0, B = 1

g.output (A, Netačno)

g.izlaz (B, Tačno)

time.sleep (5)

elif current_temp> = 50:

# Hlađenje procesora je potrebno visoko A = 1, B = 1

g.izlaz (A, Tačno)

g.izlaz (B, Tačno)

za i u rasponu (1, 20):

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

##

Kako je logika rada ovog python koda gotovo slična logici kruga indikatora temperature procesora, neću ovdje ponavljati detalje.

Korak 9: Rad kruga ventilatora

Rad kruga ventilatora
Rad kruga ventilatora

Ako gledate grafikon, temperatura prelazi 50C bez FAN kola.

Čini se da je prosječna temperatura procesora oko 40 ~ 47C dok RPI radi.

Ako se primijeni veliko opterećenje sistema, poput igranja Youtubea na web pregledniku, temperatura se obično brzo podigne do 60C.

Ali sa krugom ventilatora, temperatura će se smanjiti za 50 sekundi u roku od 5 sekundi radom hlađenja ventilatora.

Kao rezultat toga, možete uključiti RPI cijeli dan i raditi bilo koje radove bez brige o pregrijavanju.

Korak 10: Dalji razvoj

Dalji razvoj
Dalji razvoj

Kao što vidite, polovica akrilne šasije ostala je prazna.

Tu ću staviti dodatne komponente i proširiti ovaj osnovni blok RPI kutije u nešto korisnije.

Naravno, dodatno dodavanje znači i malo povećanje složenosti.

U svakom slučaju integriram dva kola u jednu kutiju u ovom projektu.

Hvala što ste pročitali ovu priču.

Preporučuje se: