Satura rādītājs:

Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru: 10 soļi (ar attēliem)
Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru: 10 soļi (ar attēliem)

Video: Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru: 10 soļi (ar attēliem)

Video: Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru: 10 soļi (ar attēliem)
Video: How to connect Cooling fan on raspberry Pi 2024, Novembris
Anonim
Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru
Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru

Iepriekšējā projektā biju ieviesis aveņu pi (turpmāk RPI) CPU temperatūras indikatora ķēdi.

Ķēde vienkārši parāda RPI 4 dažādus CPU temperatūras līmeņus šādi.

- Zaļā gaismas diode iedegas, kad CPU temperatūra ir 30 ~ 39 grādu robežās

- Dzeltena gaismas diode norāda, ka temperatūra ir paaugstināta no 40 līdz 45 grādiem

- Trešā sarkanā gaismas diode parāda, ka CPU kļūst nedaudz karsts, sasniedzot 46-49 grādus

- Vēl viena sarkana gaismas diode mirgos, ja temperatūra pārsniedz 50 grādus

***

Ja temperatūra pārsniedz 50 ° C, ir nepieciešama jebkāda palīdzība mazam RPI, kas nav pārāk saspringts.

Saskaņā ar informāciju, ko redzēju vairākās tīmekļa lapās, kurās tiek runāts par maksimālo pieļaujamo RPI temperatūras līmeni, viedokļi ir dažādi, piemēram, kāds piemin, ka, lietojot siltuma izlietni, vairāk nekā 60 ° C joprojām ir diezgan labi.

Bet mana personīgā pieredze saka ko citu, ka pārraides serveris (izmantojot RPI ar siltuma izlietni) kļūst lēns un beidzot darbojas kā zombijs, kad to ieslēdzu vairākas stundas.

Tāpēc šī papildu ķēde un dzesēšanas ventilators ir pievienots CPU temperatūras regulēšanai zem 50 ° C, lai nodrošinātu stabilu RPI darbību.

***

Arī iepriekš ieviestā CPU temperatūras indikatora shēma (turpmāk INDIKATORS) ir integrēta, lai atbalstītu ērtu temperatūras līmeņa pārbaudi, neizpildot komandu “vcgencmd intézkedés_temp” konsoles terminālī.

1. darbība: shēmu sagatavošana

Shēmu sagatavošana
Shēmu sagatavošana

Divos iepriekšējos projektos es minēju pilnīgu barošanas izolāciju starp RPI un ārējām ķēdēm.

Dzesēšanas ventilatora gadījumā neatkarīga barošana ir diezgan svarīga, jo līdzstrāvas 5 V ventilators (motors) ir salīdzinoši smaga slodze un darbības laikā diezgan trokšņains.

Tāpēc, izstrādājot šo shēmu, tiek uzsvērti šādi apsvērumi.

- Opto-savienotāji tiek izmantoti saskarnei ar RPI GPIO tapu, lai iegūtu dzesēšanas ventilatora aktivizācijas signālu

- No RPI netiek patērēta jauda un šīs ķēdes barošanas avotam tiek izmantots parasts rokas tālruņa lādētājs.

- LED indikators tiek izmantots, lai informētu par dzesēšanas ventilatora darbību

- 5V relejs tiek izmantots dzesēšanas ventilatora aktivizēšanai kā mehānisks veids

***

Šī shēma mijiedarbosies ar CPU temperatūras indikatora ķēdi (turpmāk INDIKATORS), izmantojot python programmas vadību.

Kad indikators sāk mirgot (temperatūra pārsniedz 50 ° C), šī dzesēšanas ventilatora ķēde sāk darboties.

2. darbība: detaļu sagatavošana

Tāpat kā citi iepriekšējie projekti, dzesēšanas ventilatora ķēdes izgatavošanai tiek izmantotas ļoti izplatītas sastāvdaļas, kā norādīts zemāk.

- Opto savienotājs: PC817 (SHARP) x 1

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

- TQ2-5V (Panasonic) 5V relejs

- 1N4148 diode

- Rezistori (1/4 vati): 220 omi x 2 (strāvas ierobežošana), 2,2 K (tranzistora pārslēgšana) x 2

- LED x 1

- 5V dzesēšanas ventilators 200mA

- Universālā plāksne ar vairāk nekā 20 (W) līdz 20 (H) caurumu izmēriem (Jūs varat izgriezt jebkura izmēra universālo plāksni, lai tā ietilptu ķēdē)

- Alvas stieple (sīkāku informāciju par alvas stieples izmantošanu, lūdzu, skatiet manā projekta Raspberry Pi izslēgšanas indikatorā)

- Kabelis (sarkans un zils parasts viena stieples kabelis)

- Jebkurš rokas tālruņa lādētāja 220V ieeja un 5V izeja (USB tipa B savienotājs)

- tapas galva (3 tapas) x 2

***

Dzesēšanas ventilatora fiziskajam izmēram jābūt pietiekami mazam, lai to varētu uzstādīt RPI augšpusē.

Jebkura veida relejus var izmantot, ja tie var darboties pie 5 V sprieguma un tiem ir vairāk nekā viens mehāniskais kontakts.

3. darbība: PCB zīmējuma izgatavošana

PCB zīmēšanas izgatavošana
PCB zīmēšanas izgatavošana

Tā kā komponentu skaits ir mazs, nepieciešamais universālais PCB izmērs nav liels.

Lūdzu, rūpējieties par TQ2-5V tapas polaritātes izkārtojumu, kā parādīts attēlā iepriekš. (Pretēji tradicionālajai domāšanai faktiskais plus/zemes izkārtojums ir sakārtots otrādi)

Personīgi man ir negaidīta problēma pēc lodēšanas sakarā ar pretēji novietotām (salīdzinot ar citiem releja produktiem) TQ2-5V polaritātes tapām.

4. solis: lodēšana

Lodēšana
Lodēšana

Tā kā ķēde pati par sevi ir pavisam vienkārša, elektroinstalācijas modelis nav īpaši sarežģīts.

Es pieskrūvēju L formas stiprinājuma kronšteinu, lai fiksētu PCB vertikālā virzienā.

Kā redzat vēlāk, akrila šasija, kas visu montē, ir nedaudz maza.

Tāpēc ir nepieciešams sašaurināt pēdas nospiedumu, jo akrila šasija ir ļoti pārpildīta ar PCB un citām apakšdaļām.

Gaismas diode atrodas priekšpusē, lai viegli atpazītu ventilatora darbību.

5. solis: dzesēšanas ventilatora cepures izgatavošana un uzstādīšana

Ventilatora cepures izgatavošana un uzstādīšana
Ventilatora cepures izgatavošana un uzstādīšana

Es domāju, ka universālais PCB ir ļoti noderīga daļa, ko var izmantot dažādiem lietojumiem.

Dzesēšanas VENTILATORS ir uzstādīts uz universālā PCB un uzstādīts un piestiprināts ar skrūvēm un uzgriežņiem.

Lai nodrošinātu gaisa plūsmu, es izveidoju lielu caurumu, urbjot PCB.

Arī, lai viegli savienotu savienojuma kabeļus, GIPO 40 tapas tiek atvērtas, griežot PCB.

6. darbība: samontējiet PCB

Salieciet PCB
Salieciet PCB

Kā minēts iepriekš, es plānoju apvienot divas dažādas shēmas vienā vienībā.

Iepriekš izgatavotā CPU temperatūras indikatora ķēde tiek apvienota ar jaunu dzesēšanas ventilatora ķēdi, kā parādīts attēlā., Viss ir iesaiņots caurspīdīgā un maza izmēra (15 cm W x 10 cm D) akrila šasijā.

Lai gan aptuveni puse no šasijas vietas ir tukša un pieejama, vēlāk palikušajā vietā tiks ievietota papildu sastāvdaļa.

7. solis: RPI savienošana ar shēmām

Elektroinstalācijas RPI ar shēmām
Elektroinstalācijas RPI ar shēmām

Divas ķēdes ir savstarpēji savienotas ar RPI kā izolēts veids, izmantojot opto savienotājus.

Tāpat no RPI netiek patērēta strāva, jo ārējais rokas tālruņa lādētājs piegādā strāvu ķēdēm.

Vēlāk jūs zināt, ka šāda veida izolētas saskarnes shēma ir diezgan izdevīga, ja vēlāk papildu sastāvdaļas tiek vairāk integrētas akrila šasijā.

8. darbība: Python programma kontrolē visas shēmas

Python programma kontrolē visas shēmas
Python programma kontrolē visas shēmas

No CPU temperatūras indikatora ķēdes avota koda ir nepieciešams tikai neliels koda pievienojums.

Kad temperatūra pārsniedz 50 ° C, sākas divdesmit (20) atkārtojums, ieslēdzot ventilatoru 10 sekundes un izslēdzot 3 sekundes.

Tā kā nelielam ventilatora motoram darbības laikā nepieciešama maksimālā 200 mA strāva, PWM (impulsa platuma modulācijas) tipa motora aktivizācijas metode tiek izmantota, lai mazāk apgrūtinātu rokas tālruņa lādētāju.

Modificētais avota kods ir šāds.

***

#-*-kodēšana: utf-8-*-

##

importēt apakšprocesu, signālu, sistēmu

importēšanas laiks, re

importēt RPi. GPIO kā g

##

A = 12

B = 16

VENTILATORS = 25

##

g.setmode (g. BCM)

g. iestatīšana (A, g. OUT)

g. iestatīšana (B, g. OUT)

g. iestatīšana (FAN, g. OUT)

##

def signal_handler (sig, frame):

drukāt ('Jūs nospiedāt Ctrl+C!')

g. izvade (A, nepatiesa)

g. izvade (B, nepatiesa)

g. izvade (FAN, False)

f. tuvu ()

sys.exit (0)

signal.signal (signal. SIGINT, signal_handler)

##

kamēr taisnība:

f = atvērts ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = apakšprocess.check_output ('/opt/vc/bin/vcgencmd meet_temp', apvalks = True)

temp_str = temp_str.decode (kodējums = 'UTF-8', kļūdas = 'stingrs')

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

# iegūst pašreizējo CPU temperatūru

##

current_temp = peldēt (CPU_temp [0])

ja pašreizējais_temps> 30 un pašreizējais_temps <40:

# zemākā temperatūra A = 0, B = 0

g. izvade (A, nepatiesa)

g. izvade (B, nepatiesa)

laiks. miegs (5)

elif current_temp> = 40 un current_temp <45:

# temperatūras vide A = 1, B = 0

g. izvade (A, True)

g. izvade (B, nepatiesa)

laiks. miegs (5)

elif current_temp> = 45 un current_temp <50:

# augsta temperatūra A = 0, B = 1

g. izvade (A, nepatiesa)

g. izvade (B, True)

laiks. miegs (5)

elif current_temp> = 50:

# Nepieciešama CPU dzesēšana augsta A = 1, B = 1

g. izvade (A, True)

g. izvade (B, True)

i diapazonā (1, 20):

g. izeja (FAN, True)

laiks. miegs (10)

g. izvade (FAN, False)

laiks. miegs (3)

current_time = time.time ()

formated_time = time.strftime ("%H:%M:%S", laiks.gmlaiks (pašreizējais_laiks))

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

f. tuvu ()

##

Tā kā šī pitona koda darbības loģika ir gandrīz līdzīga CPU temperatūras indikatora shēmas loģikai, es šeit neatkārtošu detaļas.

9. solis: Ventilatora ķēdes darbība

Ventilatora ķēdes darbība
Ventilatora ķēdes darbība

Aplūkojot grafiku, temperatūra pārsniedz 50C bez ventilatora ķēdes.

Šķiet, ka vidējā CPU temperatūra ir aptuveni 40 ~ 47C, kamēr darbojas RPI.

Ja tiek izmantota liela sistēmas slodze, piemēram, YouTube pārlūka atskaņošana tīmekļa pārlūkprogrammā, parasti temperatūra strauji paaugstinās līdz 60 ° C.

Bet ar ventilatora ķēdi, dzesēšanas ventilatora darbības laikā temperatūra tiks pazemināta mazāk nekā 50 ° C 5 sekunžu laikā.

Tā rezultātā jūs varat ieslēgt RPI visu dienu un veikt jebkurus darbus, kas jums patīk, neuztraucoties par pārkaršanu.

10. solis: tālāka attīstība

Tālāka attīstība
Tālāka attīstība

Kā redzat, puse no akrila šasijas paliek tukša.

Es tur ievietošu papildu komponentus un paplašināšu šo RPI kastes pamata bloku par kaut ko noderīgāku.

Protams, vairāk papildinājumu nozīmē arī nedaudz pieaugošu sarežģītību.

Jebkurā gadījumā šajā projektā es integrēju divas shēmas vienā kastē.

Paldies, ka izlasījāt šo stāstu.

Ieteicams: