Sadržaj:

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

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

Video: Raspberry Pi Box ventilatora za hlađenje s indikatorom temperature procesora: 10 koraka (sa slikama)
Video: BTT Manta M8P v2 - Basics with CB1 v2.2 2024, Srpanj
Anonim
Raspberry Pi Box ventilatora za hlađenje s CPU indikatorom temperature
Raspberry Pi Box ventilatora za hlađenje s CPU indikatorom temperature

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

Krug jednostavno prikazuje RPI 4 različite razine temperature CPU -a na sljedeći način.

- Zelena LED lampica svijetli kada je temperatura procesora unutar 30 ~ 39 stupnjeva

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

- Treća crvena LED dioda pokazuje da se CPU pomalo zagrijava dosežući 46 ~ 49 stupnjeva

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

***

Kad 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šljivoj temperaturnoj razini RPI-a, mišljenja su različita, primjerice netko spominje 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 poslužitelj prijenosa (koji koristi RPI s hladnjakom) postane spor i konačno se ponaša kao zombi kad ga uključim na nekoliko sati.

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

***

Također prethodno predstavljeni krug indikatora temperature procesora (u daljnjem tekstu INDIKATOR) integriran je zajedno kako bi podržao prikladnu provjeru razine temperature bez izvršavanja naredbe “vcgencmd mjera_temp” na terminalu konzole.

Korak 1: Priprema shema

Priprema shema
Priprema shema

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

U slučaju ventilatora za hlađenje, neovisno napajanje je vrlo važno jer je DC 5V VENTILATOR (motor) relativno veliko opterećenje i prilično bučan tijekom rada.

Stoga se pri projektiranju ovog sklopa naglašavaju sljedeća razmatranja.

- Opto-spojnice služe za povezivanje s RPI GPIO pinom za dobivanje 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 služi za informiranje o radu ventilatora za hlađenje

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

***

Ovaj krug će raditi s krugom indikatora temperature procesora (u daljnjem tekstu INDIKATOR) pomoću programske kontrole pythona.

Kad INDICATOR počne treperiti (temperatura prelazi 50C), ovaj krug VENTILATORA za hlađenje će početi raditi.

Korak 2: Priprema dijelova

Kao i drugi prethodni projekti, vrlo česte komponente koriste se 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) 5V relej

- 1N4148 dioda

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

- LED x 1

- 5V Ventilator za hlađenje 200mA

- Univerzalna ploča već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 moje objave 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 priključak tipa B)

- Iglasta 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 od jednog mehaničkog kontakta.

Korak 3: Izrada crteža na PCB -u

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

Budući da je broj komponenti mali, potrebna univerzalna veličina PCB -a nije velika.

Pazite na raspored 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čekivani problem nakon lemljenja zbog obrnuto smještenih (U usporedbi s drugim relejnim proizvodima) polaritetnih pinova TQ2-5V.

Korak 4: Lemljenje

Lemljenje
Lemljenje

Kako je sam krug vrlo jednostavan, uzorak ožičenja nije mnogo složen.

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

Kao što možete vidjeti kasnije, akrilna šasija na koju se sve montira ima male dimenzije.

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

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

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

Izrada i postavljanje Rashladni VENTILATORSKI ŠEŠIR
Izrada i postavljanje Rashladni VENTILATORSKI ŠEŠIR

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

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

Kako 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 kruga u jednu cjelinu.

Prethodno napravljeni krug indikatora temperature procesora spojen je s novim krugom ventilatora hlađenja kao što je prikazano na gornjoj slici., Sve je pakirano 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 će se komponente kasnije smjestiti u preostali prostor.

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

Ožičenje RPI s krugovima
Ožičenje RPI s krugovima

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

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

Kasnije ćete znati da se ova vrsta izolirane sheme sučelja 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

Iz izvornog koda kruga indikatora temperature CPU -a potreban je samo manji dodatak koda.

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

Kako mali motor s ventilatorom zahtijeva maksimalno 200 mA struje tijekom 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 u nastavku.

***

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

##

uvoz potproces, signal, sys

vrijeme uvoza, ponov

uvoziti RPi. GPIO kao g

##

A = 12

B = 16

VENTILATOR = 25

##

g.način rada (g. BCM)

g.setup (A, g. OUT)

g.postavljanje (B, g. OUT)

g.setup (VENTILATOR, 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_upravljač)

##

dok je istina:

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

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

temp_str = temp_str.decode (kodiranje = 'UTF-8', pogreš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)

vrijeme.spavanje (5)

elif current_temp> = 40 i current_temp <45:

# temperaturni medij A = 1, B = 0

g.izlaz (A, Istina)

g.output (B, Netačno)

vrijeme.spavanje (5)

elif current_temp> = 45 i current_temp <50:

# visoka temperatura A = 0, B = 1

g.output (A, Netačno)

g.izlaz (B, Istina)

vrijeme.spavanje (5)

elif current_temp> = 50:

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

g.izlaz (A, Istina)

g.izlaz (B, Istina)

za i u rasponu (1, 20):

g.izlaz (FAN, True)

vrijeme.spavanje (10)

g.output (FAN, False)

vrijeme.spavanje (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 ()

##

Budući da 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

Kada gledate grafikon, temperatura prelazi 50C bez FAN kruga.

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

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

No s krugom VENTILATORA temperatura će se smanjiti za 50 sekundi u roku od 5 sekundi radom rashladnog ventilatora.

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

Korak 10: Daljnji razvoj

Daljnji razvoj
Daljnji razvoj

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

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

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

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

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

Preporučeni: