Indholdsfortegnelse:

Raspberry Pi -æske med køleventilator med CPU -temperaturindikator: 10 trin (med billeder)
Raspberry Pi -æske med køleventilator med CPU -temperaturindikator: 10 trin (med billeder)

Video: Raspberry Pi -æske med køleventilator med CPU -temperaturindikator: 10 trin (med billeder)

Video: Raspberry Pi -æske med køleventilator med CPU -temperaturindikator: 10 trin (med billeder)
Video: Gør PC til Mikrotik Router 2024, Juli
Anonim
Raspberry Pi -æske med køleventilator med CPU -temperaturindikator
Raspberry Pi -æske med køleventilator med CPU -temperaturindikator

Jeg havde introduceret hindbær pi (herefter RPI) CPU -temperaturindikator kredsløb i det forrige projekt.

Kredsløbet viser simpelthen RPI 4 forskellige CPU -temperaturniveau som følger.

- Grøn LED tændt, når CPU -temperaturen er inden for 30 ~ 39 grader

- Gul LED angiver, at temperaturen øges i området 40 til 45 grader

- 3. røde LED viser CPU'en blive en smule varm ved at nå 46 ~ 49 grader

- En anden rød LED blinker, når temperaturen overstiger mere end 50 grader

***

Når temperaturen overstiger mere end 50C, er enhver hjælp nødvendig for lidt RPI ikke stresset for meget.

Ifølge de oplysninger, jeg så på flere websider, der taler om maksimalt tolerabelt temperaturniveau for RPI, er meninger forskellige, såsom at nogen nævner, at mere end 60C stadig er helt OK, når der bruges køleplade.

Men min personlige oplevelse siger noget andet, at transmissionsserver (ved hjælp af RPI med køleplade) bliver langsom og endelig fungerer som zombie, når jeg tænder den i flere timer.

Derfor tilføjes dette ekstra kredsløb og køleventilator til regulering af CPU -temperaturen under 50C for at understøtte stabil drift af RPI.

***

Også tidligere introduceret CPU -temperaturindikator kredsløb (i det følgende betegnet som INDIKATOR) er integreret sammen for at understøtte praktisk temperaturkontrol uden at udføre kommandoen "vcgencmd measure_temp" på konsolterminalen.

Trin 1: Forberedelse af skemaer

Udarbejdelse af skemaer
Udarbejdelse af skemaer

I to tidligere projekter havde jeg nævnt fuldstændig isolering af strømforsyningen mellem RPI og eksterne kredsløb.

I tilfælde af køling FAN er uafhængig strømforsyning ganske vigtig, da DC 5V FAN (motor) er relativt tung belastning og ret støjende under drift.

Derfor fremhæves følgende overvejelser for at designe dette kredsløb.

- Optokoblere bruges til at kommunikere med RPI GPIO-pin for at få et kølende FAN-aktiveringssignal

- Ingen strøm trækkes fra RPI og bruger fælles telefonlader til strømkilden til dette kredsløb.

- LED -indikator bruges til at informere køling FAN drift

- 5V relæ bruges til at aktivere køleventilator som mekanisk måde

***

Dette kredsløb fungerer sammen med CPU-temperaturindikator kredsløb (i det følgende INDIKATOR) ved hjælp af python-programkontrol.

Når INDIKATOR begynder at blinke (temperaturen overstiger 50C), skal dette køleventilator kredsløb begynde at fungere.

Trin 2: Klargøring af dele

Ligesom andre tidligere projekter bruges meget almindelige komponenter til fremstilling af køling FAN kredsløb som angivet nedenfor.

- Optokobler: PC817 (SHARP) x 1

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

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

- 1N4148 diode

- Modstande (1/4Watt): 220ohm x 2 (strømbegrænsning), 2,2K (transistorskift) x 2

- LED x 1

- 5V køling FAN 200mA

- Universalplade mere end 20 (W) x 20 (H) hullers størrelse (Du kan skære en hvilken som helst størrelse af universal board til at passe kredsløb)

- Tin -wire (Se mit projekt om "Raspberry Pi -lukningsindikator" projektopslag for flere detaljer om brug af tintråd)

- Kabel (rødt og blåt almindeligt enkeltrådskabel)

- Enhver håndtelefonoplader 220V input og 5V output (USB type B-stik)

- Pinhoved (3 pins) x 2

***

Køling FAN’s fysiske dimension skal være lille nok til at blive monteret på toppen af RPI.

Enhver form for relæ kan bruges, når det kan fungere ved 5V og have mere end en mekanisk kontakt.

Trin 3: Lav PCB -tegning

Fremstilling af PCB -tegning
Fremstilling af PCB -tegning

Da antallet af komponenter er lille, er den krævede universelle PCB -størrelse ikke stor.

Vær opmærksom på pinpolaritetslayoutet på TQ2-5V som vist på billedet ovenfor. (I modsætning til den konventionelle tankegang er det faktiske plus/grundlayout omvendt arrangeret)

Personligt har jeg et uventet problem efter lodning på grund af den omvendte placering (ved sammenligning med andre relæprodukter) polaritetsstifter af TQ2-5V.

Trin 4: Lodning

Lodning
Lodning

Da kredsløbet i sig selv er ganske enkelt, er ledningsmønster ikke meget komplekst.

Jeg bolter "L" -monteringsbeslag for at fastgøre printkortet i opretstående retning.

Som du kan se senere, er akrylchassis, som monterer alt, en lille smule størrelse.

Derfor er det nødvendigt at indsnævre fodtryk, da akrylchassis er meget overfyldt med printkort og andre underdele.

LED er placeret på forsiden for let at genkende FAN -betjening.

Trin 5: Fremstilling og montering af køling FAN HAT

Fremstilling og montering af køling FAN HAT
Fremstilling og montering af køling FAN HAT

Jeg formoder, at universel print er en meget nyttig del, der kan bruges til forskellige anvendelsesformål.

Cooling FAN er monteret på universal -print og monteret og fastgjort med bolte og møtrikker.

For at tillade luftstrøm gør jeg et stort hul ved at bore PCB.

Også for let tilslutning af jumperkabler åbnes GIPO 40 -bensområdet ved at skære printkort.

Trin 6: Saml printkort

Saml PCB'er
Saml PCB'er

Som nævnt ovenfor planlagde jeg at konsolidere to forskellige kredsløb til en enkelt enhed.

Tidligere fremstillet CPU -temperaturindikator kredsløb er fusioneret med nyt køling FAN kredsløb som vist på billedet ovenfor., Alt er pakket sammen i transparent og lille størrelse (15 cm B x 10 cm D) akryl chassis.

Selvom omkring halvdelen af chassispladsen er tom og tilgængelig, vil yderligere komponent blive anbragt i den resterende plads senere.

Trin 7: Tilslutning af RPI med kredsløb

Kabelføring af RPI med kredsløb
Kabelføring af RPI med kredsløb

To kredsløb er sammenkoblet med RPI som isoleret ved hjælp af optokoblere.

Der trækkes heller ikke strøm fra RPI, da ekstern telefonlader leverer strøm til kredsløbene.

Senere vil du vide, at denne form for isoleret grænsefladesystem er ganske udbytte, når yderligere komponenter senere integreres i akrylchassiset.

Trin 8: Python -programstyring af alle kredsløb

Python -programkontrol Alle kredsløb
Python -programkontrol Alle kredsløb

Der kræves kun mindre tilføjelse af kode fra kildekoden til CPU -temperaturindikator kredsløb.

Når temperaturen overstiger 50C, starter tyve (20) iteration med at tænde FAN i 10 sekunder og slukke 3 sekunder.

Da lille motor af FAN kræver maksimal 200mA strøm under drift, bruges PWM (Pulse Width Modulation) type motoraktiveringsmetode til mindre belastende håndtelefonoplader.

Den ændrede kildekode er som nedenfor.

***

#-*-kodning: utf-8-*-

##

importere delproces, signal, sys

importtid, vedr

importer RPi. GPIO som g

##

A = 12

B = 16

FAN = 25

##

g.setmode (g. BCM)

g. opsætning (A, g. OUT)

g. opsætning (B, g. OUT)

g. opsætning (FAN, g. OUT)

##

def signal_handler (sig, frame):

print ('Du har trykket på Ctrl+C!')

g. output (A, Falsk)

g. output (B, Falsk)

g. output (FAN, Falsk)

f.close ()

sys.exit (0)

signal.signal (signal. SIGINT, signal_handler)

##

mens det er sandt:

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

temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd measure_temp', shell = True)

temp_str = temp_str.decode (kodning = 'UTF-8', fejl = 'streng')

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

# udtrækning af den aktuelle CPU -temperatur

##

current_temp = float (CPU_temp [0])

hvis current_temp> 30 og current_temp <40:

# temperatur lav A = 0, B = 0

g. output (A, Falsk)

g. output (B, Falsk)

tid. sover (5)

elif current_temp> = 40 og current_temp <45:

# temperaturmedium A = 1, B = 0

g. output (A, True)

g. output (B, Falsk)

tid. sover (5)

elif current_temp> = 45 og current_temp <50:

# temperatur høj A = 0, B = 1

g. output (A, Falsk)

g. output (B, True)

tid. sover (5)

elif current_temp> = 50:

# CPU -køling er påkrævet høj A = 1, B = 1

g. output (A, True)

g. output (B, True)

for i inden for rækkevidde (1, 20):

g. output (FAN, True)

tid. sover (10)

g. output (FAN, Falsk)

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 ()

##

Da driftslogikken for denne pythonkode næsten ligner den i CPU -temperaturindikator kredsløb, vil jeg ikke gentage detaljer her.

Trin 9: FAN -kredsløb

FAN Circuit Operation
FAN Circuit Operation

Når man ser på grafen, temperatur over 50C uden FAN kredsløb.

Det ser ud til, at den gennemsnitlige CPU -temperatur er omkring 40 ~ 47C, mens RPI fungerer.

Hvis der anvendes stor systembelastning, f.eks. Afspilning af Youtube i webbrowseren, stiger temperaturen normalt normalt op til 60C.

Men med FAN -kredsløb reduceres temperaturen mindre end 50C inden for 5 sekunder ved drift af køle -FAN.

Som følge heraf kan du tænde for RPI hele dagen lang og udføre de ting, du kan lide, uden at bekymre dig om overophedning.

Trin 10: Videreudvikling

Videre udvikling
Videre udvikling

Som du kan se, forblev halvdelen af akrylchassiset tomt.

Jeg vil lægge yderligere komponenter der og udvide denne grundlæggende blok af RPI -boks til noget mere nyttigt.

Selvfølgelig betyder mere tilføjelse også en lille smule stigende kompleksitet.

Under alle omstændigheder integrerer jeg to kredsløb i en enkelt boks i dette projekt.

Tak fordi du læste denne historie.

Anbefalede: