Indholdsfortegnelse:
- Trin 1: Forberedelse af skemaer
- Trin 2: Lav PCB -tegning
- Trin 3: Lodning
- Trin 4: Test af forberedelse
- Trin 5: Test (CPU -temperaturen er mellemniveau)
- Trin 6: Test (CPU skal køle niveau)
- Trin 7: Strømforsyning til INDIKATOR -kredsløb
- Trin 8: RPI -ledninger
- Trin 9: Python -program
- Trin 10: INDIKATOR Betjening
- Trin 11: Alternativ fremstilling (ved hjælp af NPN -transistor) og videreudvikling
Video: Raspberry Pi CPU -temperaturindikator: 11 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Tidligere havde jeg introduceret simple hindbær pi (i det følgende kaldet RPI) driftsstatusindikator kredsløb.
Denne gang vil jeg forklare et mere nyttigt indikator kredsløb for RPI, der kører som hovedløs (uden skærm) måde.
Kredsløbet ovenfor viser CPU -temperaturen i 4 forskellige niveauer, såsom:
- 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
Ovenstående CPU -temperaturområder er mit personlige designkoncept (Andre temperaturområder kan konfigureres ved at ændre testbetingelser for pythonprogram, der styrer dette kredsløb).
Ved at bruge dette kredsløb udfører du ikke nødvendigvis kommandoen "vcgencmd measure_temp" ofte på konsolterminalen.
Dette kredsløb skal informere den aktuelle CPU -temperatur kontinuerligt og bekvemt.
Trin 1: Forberedelse af skemaer
Selvom du kan styre 4 lysdioder direkte ved kun at bruge pythonkoder, vil programmets kontrollogik indlæse RPI, og som følge heraf vil CPU -temperaturen øges mere, fordi du løbende skal køre en lille smule kompleks python -kode.
Derfor minimerer jeg python-kodens kompleksitet så enkelt som muligt og aflader LED-styringslogik til eksternt hardwarekredsløb.
CPU -temperaturindikator (herefter INICATOR) kredsløb består af følgende hoveddele.
-To optokoblere er forbundet til RPI GPIO-ben for at få data om temperaturniveau som f.eks. 00-> LAV, 01-> Mellem, 10-> Høj, 11-> Skal køles.
-74LS139 (eller 74HC139, 2-til-4 dekoder og de-multiplexer) styreudgange (Y0, Y1, Y2, Y3) i henhold til input (A, B)
- Når temperaturen er inden for 30 ~ 39 grader, udsender python -kode 00 til GPIO -ben. Derfor får 74LS139 inputdata 00 (A-> 0, B-> 0)
- Når 00 indtastes, bliver Y0 -output LAV. (Se sandhedstabel med 74LS139)
- Når Y0 -udgangen bliver LAV, aktiverer den 2N3906 PNP -transistor og som følge heraf tændes den grønne LED
- På samme måde skal Y1 (01 -> CPU -temperaturmedium) tænde gul LED og så videre
- Når Y3 bliver LAV, aktiverer DB140 aktiverende NE555 LED -blinkende kredsløb (dette er almindeligt 555 IC -baseret LED -blink), der er belastning af BD140 PNP -transistor
Den vigtigste komponent i dette kredsløb er 74LS139, som dekoder 2 cifre input til 4 forskellige enkelt output som vist i sandhedstabellen nedenfor.
Input | Produktion
G (Aktiver) | B | A | Y0 | Y1 | Y2 | Y3 |
H | X | X | H | H | H | H |
L | L | L | L | H | H | H |
L | L | H | H | L | H | H |
L | H | L | H | H | L | H |
L | H | H | H | H | H | L |
Da 74LS139 -udgangen bliver LAV, kan PNP -type transistor gøre det overordnede kredsløb enkelt, da PNP -transistoren tændes, når baseterminalen bliver LAV. (Jeg viser NPN -version i slutningen af denne historie)
Da 100K potentiometer er inkluderet i NE555 LED blinker kredsløb, kan rød LED ON/OFF tid justeres frit efter behovene.
Trin 2: Lav PCB -tegning
Som driftsordningen for INDIKATOREN er forklaret, lad os begynde at lave kredsløbet.
Inden lodning af noget på universalboard er det nyttigt at forberede PCB -tegningen vist ovenfor for at minimere eventuelle fejl.
Tegningen er lavet ved at bruge power-point til at lokalisere hver del på universalbordet og lave ledningsmønstre blandt dele med ledninger.
Da IC og transistor pin-out-billeder er placeret sammen med PCB-ledningsmønster, kan lodning udføres ved hjælp af denne tegning.
Trin 3: Lodning
Selvom den originale PCB -tegning er lavet uden at bruge enkelte ledninger til at forbinde komponenter på PCB, lodder jeg noget anderledes.
Ved at bruge en enkelt leder af ledninger (ikke blik), forsøger jeg at reducere den universelle printstørrelse, der indeholder INDIKATOR -kredsløb.
Men som du kan se på lodningssiden af PCB, bruger jeg blikketråd også i henhold til de mønstre, der er afbildet i PCB -tegningen.
Når hver komponent er tilsluttet i henhold til det originale design af PCB -tegning, fungerer lodning af færdigt printkort inklusive INDICATOR -kredsløb korrekt.
Trin 4: Test af forberedelse
Før til RPI -forbindelse kræver det færdige kredsløb test.
Da der kan eksistere loddefejl, bruges DC -strømleverandør til at forhindre skader, når der opstår kortslutning eller forkert ledningsføring.
Til test af INDIKATOR er to ekstra strømforsyningskabler forbundet til kredsløbets 5V strømforsyningsstik.
Trin 5: Test (CPU -temperaturen er mellemniveau)
Når der ikke anvendes en 5V -indgang, dekoder 74LS139 input og aktiverer output Y0 som LOW (Grøn LED tændt).
Men 5V anvendes på input A, output Y1 på 74LS139 aktiveres (LOW).
Derfor er gul LED tændt som vist på billedet ovenfor.
Trin 6: Test (CPU skal køle niveau)
Når 5V anvendte begge indgange (A og B) på 74LS139, blinker 4. røde LED.
Blinkhastigheden kan ændres ved at justere 100K VR som vist på billedet ovenfor.
Når testen er afsluttet, kan to Molex 3 -polede hunkabler fjernes.
Trin 7: Strømforsyning til INDIKATOR -kredsløb
Til strømforsyning af INDICATOR-kredsløb bruger jeg en almindelig håndtelefonoplader, der sender 5V og USB type-B-adapter som vist på billedet ovenfor.
For at undgå problemer med RPI ved at tilslutte 3.3V GPIO og 5V drevet INDICATOR kredsløb er signalinterface og strømforsyning totalt isoleret.
Trin 8: RPI -ledninger
Til grænseflade INDIKATOR -kredsløb med RPI skal to GPIO -ben tildeles sammen med to jordstift.
Der er ikke noget specifikt krav til valg af GPIO -ben.
Du kan bruge alle GPIO -ben til at forbinde INDIKATOR.
Men kablede stifter skal betegnes som input til 74LS139 (f.eks. A, B) i python -program.
Trin 9: Python -program
Når kredsløbet er afsluttet, er det nødvendigt at lave python -program for at bruge INDICATOR -funktionen.
Se venligst flowdiagrammet ovenfor for flere detaljer om programlogik.
#-*-kodning: utf-8-*-
importere delproces, signal, sys
importtid, vedr
importer RPi. GPIO som g
A = 12
B = 16
g.setmode (g. BCM)
g. opsætning (A, g. OUT)
g. opsætning (B, g. OUT)
##
def signal_handler (sig, frame):
print ('Du har trykket på Ctrl+C!')
g. output (A, Falsk)
g. output (B, 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 = 0, B = 1
g. output (A, Falsk)
g. output (B, True)
tid. sover (5)
elif current_temp> = 45 og current_temp <50:
# temperatur høj A = 1, B = 0
g. output (A, True)
g. output (B, Falsk)
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)
tid. sover (5)
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 ()
Python -programmets hovedfunktion er som nedenfor.
- For det første indstilling af GPIO 12, 16 som outputport
- Definere Ctrl+C interrupt handler til lukning af logfil og deaktiver GPIO 12, 16
- Når du går ind i den uendelige loop, skal du åbne logfilen som tilføjelsestilstand
- Læs CPU -temperaturen ved at udføre kommandoen “/opt/vc/bin/vcgencmd measure_temp”
- Når temperaturen er i området 30 ~ 39, send derefter 00 for at tænde den grønne LED
- Når temperaturen er inden for området 40 ~ 44, skal output 01 tændes for gul LED
- Når temperaturen er i området 45 ~ 49, send derefter 10 for at tænde den røde LED
- Når temperaturen er over 50, send derefter 11 for at få den røde LED til at blinke
- Skriv tidsstempel og temperaturdata til logfil
Trin 10: INDIKATOR Betjening
Når alt er OK, kan du se, at hver LED er tændt eller blinker i henhold til CPU -temperaturen.
Du behøver ikke at indtaste shell -kommando for at kontrollere den aktuelle temperatur.
Efter at have indsamlet data i logfilen og gengivet tekstdata til graf ved hjælp af Excel, vises resultatet på billedet ovenfor.
Ved påføring af store belastninger (Kørsel af to Midori -browsere og afspilning af Youtube -video) stiger CPU -temperaturen op til 57,9C.
Trin 11: Alternativ fremstilling (ved hjælp af NPN -transistor) og videreudvikling
Dette er et tidligere INDIKATOR -projekteksempel, der anvender NPN -transistorer (2N3904 og BD139).
Som du kan se, er en IC mere (74HC04, Quad inverter) nødvendig for at drive NPN -transistor, da der skal påføres HIGH -niveau spænding på basen af NPN for at tænde transistoren.
Som et sammendrag tilføjer unødvendig kompleksitet ved hjælp af NPN -transistor at lave INDICATOR -kredsløb.
For den videre udvikling af dette projekt tilføjer jeg køleventilator som vist på billedet ovenfor for at gøre INDICATOR -kredsløbet mere nyttigt.
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
$ 3 Computer CPU -indsugningsventilatorkanal: 7 trin (med billeder)
$ 3 Computer CPU -indsugningsventilatorkanal: At have en indsugningskanal lige fra siden af din computerkasse til CPU -blæseren kan give dig meget bedre køling end nogen anden (luft) køling. I stedet for at bruge luft taget fra en frontport, som har tid til at varme op fra en anden komponent
PWM -reguleret ventilator baseret på CPU -temperatur til Raspberry Pi: 4 trin (med billeder)
PWM -reguleret blæser baseret på CPU -temperatur til Raspberry Pi: Mange tilfælde til Raspberry Pi leveres med en lille 5V blæser for at hjælpe med at køle CPU'en. Disse fans er dog normalt temmelig støjende, og mange mennesker tilslutter det til 3V3 -stiften for at reducere støj. Disse fans er normalt vurderet til 200mA, hvilket er temmelig
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Laptop kølepude DIY - Awesome Life Hacks Med CPU Fan - Kreative ideer - Computerventilator: 12 trin (med billeder)
Laptop kølepude DIY | Awesome Life Hacks Med CPU Fan | Kreative ideer | Computer Fan: Du skal se denne video, indtil den er slut. for at forstå videoen