Innehållsförteckning:
- Steg 1: Förbereda scheman
- Steg 2: Gör PCB -ritning
- Steg 3: Lödning
- Steg 4: Testa förberedelser
- Steg 5: Testning (CPU -temperaturen är medellång)
- Steg 6: Testning (CPU behöver kylnivå)
- Steg 7: Strömförsörjning till INDIKATORskrets
- Steg 8: RPI -ledningar
- Steg 9: Python -program
- Steg 10: INDIKATOR -drift
- Steg 11: Alternativ tillverkning (med NPN -transistor) och vidareutveckling
Video: Raspberry Pi CPU -temperaturindikator: 11 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:36
Tidigare hade jag introducerat enkel hallon pi (nedan kallad RPI) driftstatusindikator krets.
Den här gången ska jag förklara en mer användbar indikatorkrets för RPI som körs utan huvud (utan bildskärm).
Kretsen ovan visar CPU -temperaturen i 4 olika nivåer såsom:
- Grön lysdiod tänds när CPU -temperaturen ligger inom 30 ~ 39 grader
- Gul lysdiod indikerar att temperaturen har ökat inom intervallet 40 till 45 grader
- Den tredje röda lysdioden visar att CPU: n blir lite varm genom att nå 46 ~ 49 grader
- En annan röd lysdiod blinkar när temperaturen överstiger mer än 50 grader
Ovanstående CPU -temperaturintervall är mitt personliga designkoncept (Andra temperaturområden kan konfigureras genom att ändra testförhållanden för pythonprogram som styr denna krets).
Genom att använda denna krets utför du inte nödvändigtvis kommandot "vcgencmd measure_temp" ofta på konsolterminalen.
Denna krets ska informera aktuell CPU -temperatur kontinuerligt och bekvämt.
Steg 1: Förbereda scheman
Även om du kan styra fyra lysdioder direkt genom att bara använda pythonkoder, laddar programmets styrlogik RPI och som ett resultat kommer CPU -temperaturen att öka mer eftersom du borde köra lite komplex pythonkod kontinuerligt.
Därför minimerar jag pythonkodens komplexitet så enkelt som möjligt och laddar bort LED-styrlogik till extern hårdvarukrets.
CPU -temperaturindikatorkretsen (nedan kallad INICATOR) består av följande huvuddelar.
-Två optokopplare är anslutna till RPI GPIO-stift för att få temperaturnivådata som 00-> LÅG, 01-> Medium, 10-> Hög, 11-> Behöver kylning.
-74LS139 (eller 74HC139, 2-till-4 dekoder och de-multiplexer) styrutgångar (Y0, Y1, Y2, Y3) enligt ingångarna (A, B)
- När temperaturen ligger inom 30 ~ 39 grader skickar pytonkoden 00 ut till GPIO -stiften. Därför får 74LS139 inmatningsdata 00 (A-> 0, B-> 0)
- När 00 matas in blir Y0 -utgången LÅG. (Se sanningstabellen för 74LS139)
- När Y0 -utgången blir LÅG aktiverar den 2N3906 PNP -transistorn och som ett resultat tänds den gröna lysdioden
- På samma sätt ska Y1 (01 -> CPU -temperaturmedium) tända gul LED och så vidare
- När Y3 blir LÅG aktiverar DB140 aktiverande NE555 LED -blinkande krets (detta är en vanlig 555 IC -baserad LED -blinkare) som är belastning på BD140 PNP -transistor
Den viktigaste komponenten i denna krets är 74LS139 som avkodar 2 siffror ingång till 4 olika enkla utgångar som visas i sanningstabellen nedan.
Ingång | Produktion
G (Aktivera) | 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 |
När 74LS139 -utgången blir LÅG kan transistorn av PNP -typ göra den övergripande kretsen enkel eftersom PNP -transistorn slås på när basterminalen blir LÅG. (Jag visar NPN -versionen i slutet av den här historien)
Eftersom 100K potentiometer ingår i NE555 LED -blinkerkretsen, kan den röda LED -ON/OFF -tiden justeras fritt efter behoven.
Steg 2: Gör PCB -ritning
Som förklaringen för INDIKATORENS driftschema, låt oss börja göra kretsen.
Innan du lödar något på universalbräda är det bra att förbereda PCB -ritningen som visas ovan för att minimera eventuella misstag.
Ritningen görs med hjälp av power-point för att lokalisera varje del på universalbordet och göra kabelmönster mellan delar med ledningar.
Eftersom IC och transistor pin-out-bilder samlokaliseras tillsammans med PCB-kopplingsmönster kan lödning utföras med hjälp av denna ritning.
Steg 3: Lödning
Även om original PCB -ritning görs utan att använda enstaka trådar för att ansluta komponenter på PCB, löd jag lite annorlunda.
Genom att använda en ledare av ledningar (inte tenntråd) försöker jag minska universell PCB -storlek som innehåller INDIKATOR -krets.
Men som du kan se på lödsidan av PCB använder jag tenntråd också enligt mönstren som visas på PCB -ritningen.
När varje komponent är ansluten enligt den ursprungliga konstruktionen av PCB -ritning, kommer lödning av färdig PCB -kort inklusive INDIKATOR -krets att fungera korrekt.
Steg 4: Testa förberedelser
Innan till RPI -anslutning kräver den färdiga kretsen testning.
Eftersom eventuella lödningsfel kan existera, används DC -leverantör för att förhindra skador när kortslutningar eller fel ledningar uppstår.
För test av INDIKATOR är ytterligare två strömkablar anslutna till kretsens 5V strömförsörjningskontakt.
Steg 5: Testning (CPU -temperaturen är medellång)
När ingen 5V -ingång tillämpas, avkodar 74LS139 ingång och aktiverar utgång Y0 som LÅG (grön lysdiod tänd).
Men 5V tillämpas på ingång A, utgång Y1 från 74LS139 aktiveras (LÅG).
Därför tänds den gula lysdioden som visas på bilden ovan.
Steg 6: Testning (CPU behöver kylnivå)
När 5V använde båda ingångarna (A och B) på 74LS139, blinkar den fjärde röda lysdioden.
Blinkande hastighet kan ändras genom att justera 100K VR enligt bilden ovan.
När testningen är klar kan två Molex 3 -poliga honkablar tas bort.
Steg 7: Strömförsörjning till INDIKATORskrets
För att driva INDICATOR-kretsen använder jag en vanlig telefonladdare som matar ut 5V och USB typ-B-adapter som visas på bilden ovan.
För att undvika problem med RPI genom att ansluta 3.3V GPIO och 5V driven INDICATOR -krets är signalgränssnittet och strömförsörjningen totalt isolerade.
Steg 8: RPI -ledningar
För gränssnitt mellan INDIKATOR -krets och RPI bör två GPIO -stift tilldelas tillsammans med två jordstift.
Det finns inget specifikt krav för att välja GPIO -stift.
Du kan använda alla GPIO -stift för att ansluta INDIKATOR.
Men trådbundna stift bör betecknas som ingångar till 74LS139 (t.ex. A, B) i pythonprogram.
Steg 9: Python -program
När kretsen är klar krävs pythonprogram för att använda INDIKATOR -funktionen.
Vänligen se flödesschemat ovan för mer detaljerad information om programlogik.
#-*-kodning: utf-8-*-
importera delprocess, signal, sys
importtid, re
importera RPi. GPIO som g
A = 12
B = 16
g.setmode (g. BCM)
g. inställning (A, g. OUT)
g. inställning (B, g. OUT)
##
def signal_handler (sig, frame):
print ('Du tryckte på Ctrl+C!')
g. utmatning (A, falsk)
g. utmatning (B, falsk)
f.close ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_handler)
##
medan det är sant:
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', fel = 'strikt')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# extrahera aktuell CPU -temperatur
current_temp = float (CPU_temp [0])
om aktuell_temp> 30 och aktuell_temp <40:
# temperatur låg A = 0, B = 0
g. utmatning (A, falsk)
g. utmatning (B, falsk)
tid. sover (5)
elif current_temp> = 40 och current_temp <45:
# temperaturmedium A = 0, B = 1
g. utmatning (A, falsk)
g. utmatning (B, sant)
tid. sover (5)
elif current_temp> = 45 och current_temp <50:
# temperatur hög A = 1, B = 0
g. utmatning (A, sant)
g. utmatning (B, falsk)
tid. sover (5)
elif current_temp> = 50:
# CPU -kylning krävs hög A = 1, B = 1
g. utmatning (A, sant)
g. utmatning (B, sant)
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 ()
Huvudfunktionen för pythonprogrammet är som nedan.
- För det första ställer du in GPIO 12, 16 som utgångsport
- Definiera Ctrl+C avbrottshanterare för att stänga loggfil och stänga av GPIO 12, 16
- När du går in i den oändliga slingan, öppna loggfilen som tilläggsläge
- Läs CPU -temperaturen genom att utföra kommandot "/opt/vc/bin/vcgencmd measure_temp"
- När temperaturen ligger inom intervallet 30 ~ 39, mata sedan ut 00 för att slå på grön LED
- När temperaturen ligger inom intervallet 40 ~ 44, släpp sedan ut 01 för att tända den gula lysdioden
- När temperaturen ligger inom intervallet 45 ~ 49, mata sedan ut 10 för att tända den röda lysdioden
- När temperaturen är mer än 50, mata ut 11 så att den röda lysdioden blinkar
- Skriv tidsstämpel och temperaturdata till loggfilen
Steg 10: INDIKATOR -drift
När allt är OK kan du se att varje lysdiod tänds eller blinkar enligt CPU -temperaturen.
Du behöver inte ange skalkommando för att kontrollera aktuell temperatur.
Efter att ha samlat in data i loggfilen och gjort textdata till diagram med hjälp av Excel, visas resultatet ovan.
Vid hög belastning (körning av två Midori -webbläsare och uppspelning av Youtube -video) stiger CPU -temperaturen upp till 57,9C.
Steg 11: Alternativ tillverkning (med NPN -transistor) och vidareutveckling
Detta är ett tidigare exempel på INDICATOR -projekt som använder NPN -transistorer (2N3904 och BD139).
Som du kan se är ytterligare en IC (74HC04, Quad inverterare) nödvändig för att driva NPN -transistorn eftersom HIGH -nivåspänning bör appliceras på basen av NPN för att slå på transistorn.
Som en sammanfattning, med hjälp av NPN -transistor lägger du till onödig komplexitet för att göra INDICATOR -krets.
För vidare utveckling av detta projekt lägger jag till kylfläkt som visas på bilden ovan för att göra INDICATOR -kretsen mer användbar.
Rekommenderad:
$ 3 dator CPU intag fläktkanal: 7 steg (med bilder)
$ 3 Dator CPU -intag fläktkanal: Att ha en intagskanal direkt från datorhöljet in i CPU -fläkten kan ge dig mycket bättre kylning än något annat (luft) kylalternativ. Istället för att använda luft från en främre port, som har tid att värma upp från andra komponenter
Håll dig varm i vinter: CPU -handvärmare: 4 steg (med bilder)
Håll dig varm i vinter: CPU -handvärmare: I det här lilla projektet kommer jag att visa dig hur jag använde en gammal AMD -CPU för att skapa en liten, lätt och lättanvänd elektrisk handvärmare. Med hjälp av en liten bärbar powerbank kan den här gadgeten värma dig i cirka 2 och en halv timme och lätt
PWM -reglerad fläkt baserad på CPU -temperatur för Raspberry Pi: 4 steg (med bilder)
PWM -reglerad fläkt baserad på CPU -temperatur för Raspberry Pi: Många fodral för Raspberry Pi har en liten 5V fläkt för att hjälpa till att kyla CPU: n. Dessa fläktar är dock vanligtvis ganska bullriga och många ansluter den till 3V3 -stiftet för att minska bullret. Dessa fläktar är vanligtvis klassade för 200mA vilket är ganska
CPU- och GPU -driven fläktkontroll: 6 steg (med bilder)
CPU & GPU Driven Fan Controller: Jag har nyligen uppgraderat mitt grafikkort. Ny GPU -modell har högre TDP än min CPU och en gammal GPU, så jag ville också installera ytterligare fläktar. Tyvärr har min MOBO bara tre fläktkontakter med hastighetskontroll, och de kan bara kopplas till
Laptop kylplatta DIY - Fantastiska livshackar med CPU -fläkt - Kreativa idéer - Datorfläkt: 12 steg (med bilder)
Laptop kylplatta DIY | Fantastiska livshackar med CPU -fläkt | Kreativa idéer | Datorfläkt: Du måste titta på den här videon tills den är slut. för att förstå videon