Sisukord:
- Samm: skeemide koostamine
- 2. etapp: PCB joonise tegemine
- 3. samm: jootmine
- 4. etapp: testimise ettevalmistamine
- Samm: testimine (protsessori temperatuur on keskmine)
- 6. samm: testimine (CPU vajab jahutustaset)
- Samm: toiteallikas indikaatoriahelasse
- 8. samm: RPI juhtmestik
- Samm: Pythoni programm
- 10. samm: NÄIDIK
- 11. samm: alternatiivne tegemine (NPN -transistori kasutamine) ja edasiarendamine
Video: Raspberry Pi protsessori temperatuuri indikaator: 11 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
Varem olin kasutusele võtnud lihtsa vaarika pi (edaspidi RPI) tööoleku oleku indikaatoriahela.
Seekord selgitan mõnda kasulikumat indikaatoriahelat RPI jaoks, mis töötab peata (ilma monitorita).
Ülaltoodud vooluahel näitab CPU temperatuuri 4 erineval tasemel, näiteks:
- Roheline LED süttib, kui protsessori temperatuur on 30–39 kraadi
- Kollane LED näitab temperatuuri tõusu vahemikus 40 kuni 45 kraadi
- Kolmas punane LED näitab, et protsessor muutub veidi kuumaks, saavutades 46-49 kraadi
- Veel üks punane LED hakkab vilkuma, kui temperatuur ületab 50 kraadi
Ülaltoodud protsessori temperatuurivahemikud on minu isiklik disainikontseptsioon (muid temperatuurivahemikke saab seadistada, muutes seda vooluahelat juhtiva pythoni programmi testitingimusi).
Selle vooluahela kasutamisel ei täida te tingimata konsooli terminalis sageli käsku „vcgencmd meet_temp”.
See vooluahel teavitab pidevalt ja mugavalt praegust CPU temperatuuri.
Samm: skeemide koostamine
Kuigi saate juhtida 4 LED -i otse, kasutades ainult python -koode, laadib programmi juhtimisloogika RPI -d ja selle tulemusel tõuseb protsessori temperatuur rohkem, kuna peaksite pidevalt töötama natuke keerukat pythoni koodi.
Seetõttu vähendan püütoni koodi keerukust võimalikult lihtsaks ja laadin välise riistvara vooluahela LED-juhtimisloogika maha.
CPU temperatuuri indikaatori (edaspidi INICATOR) ahel koosneb järgmistest põhiosadest.
-Kaks optilist sidurit on ühendatud RPI GPIO tihvtidega, et saada andmeid temperatuuri kohta, näiteks 00-> LOW, 01-> Medium, 10-> High, 11-> Vajab jahutust.
-74LS139 (või 74HC139, 2 kuni 4 dekooder ja demultiplekser) juhtväljundid (Y0, Y1, Y2, Y3) vastavalt sisenditele (A, B)
- Kui temperatuur on vahemikus 30–39 kraadi, väljutage python -kood 00 GPIO -kontaktidele. Seetõttu saab 74LS139 sisendandmeid 00 (A-> 0, B-> 0)
- Kui sisestatakse 00, muutub Y0 väljund LOW. (Palun vaadake 74LS139 tõetabelit)
- Kui Y0 väljund muutub madalaks, aktiveerib see 2N3906 PNP transistori ja selle tulemusena süttib roheline LED
- Samamoodi lülitub Y1 (01 -> CPU temperatuurikeskkond) sisse kollane LED ja nii edasi
- Kui Y3 muutub madalaks, aktiveerib DB140 NE555 LED -i vilkumise ahela (see on tavaline 555 IC -põhine LED -vilkur), mis on koormatud BD140 PNP -transistoriga
Selle vooluahela kõige olulisem komponent on 74LS139, mis dekodeerib sisestatud 2 numbrit neljaks erinevaks üksikväljundiks, nagu on näidatud alloleval tõetabelis.
Sisend | Väljund
G (Luba) | 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 |
Kuna 74LS139 väljund muutub madalaks, võib PNP tüüpi transistor muuta vooluahela lihtsaks, kuna PNP transistor lülitatakse sisse, kui baasklemm muutub madalaks. (Näitan selle loo lõpus NPN -versiooni)
Kuna 100K potentsiomeeter on kaasas NE555 LED -vilgutusahelaga, saab punase LED -i sisse/välja lülitamise aega vabalt vastavalt vajadusele reguleerida.
2. etapp: PCB joonise tegemine
INDIKAATORI töö skeemi selgitades alustame vooluringi loomist.
Enne universaalsele tahvlile jootmist on vigade minimeerimiseks abiks ülaltoodud trükkplaadi joonise ettevalmistamine.
Joonise koostamiseks kasutatakse power-point'i, et leida iga osa universaalplaadilt, ja teha juhtmestikuga juhtmestike vahel juhtmestik.
Kuna IC ja transistori pin-out kujutised paiknevad koos PCB juhtmestikuga, saab selle joonise abil jootmist teostada.
3. samm: jootmine
Kuigi PCB originaaljoonis ei ole valmistatud PCB komponentide ühendamiseks ühe juhtmega, jootan ma mõnevõrra erinevalt.
Kasutades juhtmete ühte juhti (mitte plekist traati), proovin vähendada universaalset trükkplaadi suurust, mis sisaldab indikaatoriahelat.
Kuid nagu näete trükkplaadi jooteküljel, kasutan tina traati ka vastavalt PCB joonisel kujutatud mustritele.
Kui iga komponent on ühendatud vastavalt PCB joonise algsele disainile, töötab valmis trükkplaadi jootmine, sealhulgas indikaatoriahel, õigesti.
4. etapp: testimise ettevalmistamine
Enne RPI -ühendamist vajab valmis ahel katsetamist.
Kuna jootmisvead võivad esineda, kasutatakse lühise või vale juhtmestiku korral kahjustuste vältimiseks alalisvoolu toiteallikat.
INDIKAATORI testimiseks on vooluahela 5V toitepistikuga ühendatud kaks täiendavat toitekaablit.
Samm: testimine (protsessori temperatuur on keskmine)
Kui 5V sisendit ei rakendata, siis 74LS139 dekodeerimissisend ja väljund Y0 aktiveeritakse LOW (roheline LED süttib).
Kuid 5V rakendati sisendile A, väljund Y1 74LS139 aktiveerib (LOW).
Seetõttu süttib kollane LED, nagu on näidatud ülaltoodud pildil.
6. samm: testimine (CPU vajab jahutustaset)
Kui 5V kasutas 74LS139 mõlemat sisendit (A ja B), vilgub 4. punane LED.
Vilkumissagedust saab muuta, reguleerides 100K VR -i, nagu on näidatud ülaltoodud pildil.
Kui testimine on lõpule viidud, saab eemaldada kaks Molex 3 -pin naissoost kaablit.
Samm: toiteallikas indikaatoriahelasse
INDIKAATORI vooluahela toiteks kasutan tavalist telefonilaadijat, mille väljund on 5 V, ja USB-tüüpi B-adapterit, nagu on näidatud ülaltoodud pildil.
Et vältida probleeme RPI -ga, ühendades 3.3V GPIO ja 5V toitega indikaatoriahela, on signaaliliides ja toiteallikas üksteisest täielikult eraldatud.
8. samm: RPI juhtmestik
INDIKAATORI ahela ühendamiseks RPI -ga tuleks eraldada kaks GPIO -tihvti koos kahe maandusnõelaga.
GPIO tihvtide valimisel pole erinõudeid.
INDIKAATORI ühendamiseks võite kasutada mis tahes GPIO kontakte.
Kuid juhtmega tihvtid tuleks pythoniprogrammis määrata 74LS139 (nt A, B) sisenditeks.
Samm: Pythoni programm
Kui vooluring on lõpule viidud, on funktsiooni INDICATOR kasutamiseks vaja teha python -programm.
Programmi loogika kohta lisateabe saamiseks vaadake ülaltoodud vooskeemi.
#-*-kodeerimine: utf-8-*-
impordi alamprotsess, signaal, süsteem
impordi aeg, re
import RPi. GPIO g
A = 12
B = 16
g.setmode (g. BCM)
g.seadistus (A, g. OUT)
g. seadistamine (B, g. OUT)
##
def signal_handler (sig, frame):
print ('Sa vajutasid Ctrl+C!')
g. väljund (A, vale)
g. väljund (B, vale)
f. sulge ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_handler)
##
kuigi tõsi:
f = avatud ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = alamprotsess.check_output ('/opt/vc/bin/vcgencmd meet_temp', kest = tõene)
temp_str = temp_str.decode (kodeering = 'UTF-8', vead = 'range')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# CPU praeguse temperatuuri eraldamine
current_temp = float (CPU_temp [0])
kui praegune_temperatuur> 30 ja praegune_temperatuur <40:
# madal temperatuur A = 0, B = 0
g. väljund (A, vale)
g. väljund (B, vale)
uneaeg (5)
elif current_temp> = 40 ja current_temp <45:
# temperatuurikeskkond A = 0, B = 1
g. väljund (A, vale)
g. väljund (B, tõene)
uneaeg (5)
elif current_temp> = 45 ja current_temp <50:
# kõrge temperatuur A = 1, B = 0
g. väljund (A, tõene)
g. väljund (B, vale)
uneaeg (5)
elif current_temp> = 50:
# CPU jahutus on vajalik kõrge A = 1, B = 1
g. väljund (A, tõene)
g. väljund (B, tõene)
uneaeg (5)
praegune_aeg = aeg.aeg ()
formated_time = time.strftime ("%H:%M:%S", time.gmtime (praegune_aeg))
f.write (str (formated_time)+'\ t'+str (current_temp)+'\ n')
f. sulge ()
Pythoni programmi põhifunktsioon on järgmine.
- Esmalt seadistage GPIO 12, 16 väljundpordiks
- Määrake Ctrl+C katkestuste käitleja logifaili sulgemiseks ja GPIO 12, 16 väljalülitamiseks
- Lõpmatule ringile sisenemisel avage logifail lisamisrežiimina
- Lugege CPU temperatuuri, täites käsu "/opt/vc/bin/vcgencmd meet_temp"
- Kui temperatuur on vahemikus 30–39, siis väljund 00 rohelise LED -i sisselülitamiseks
- Kui temperatuur on vahemikus 40 ~ 44, siis sisestage väljund 01, et kollane LED sisse lülitada
- Kui temperatuur on vahemikus 45 ~ 49, väljutage punase LED -i sisselülitamiseks 10
- Kui temperatuur on üle 50, väljutage 11, et punane LED vilguks
- Kirjutage logifaili ajatempli ja temperatuuri andmed
10. samm: NÄIDIK
Kui kõik on korras, näete, et iga LED süttib või vilgub vastavalt CPU temperatuurile.
Praeguse temperatuuri kontrollimiseks ei pea te sisestama kesta käsku.
Pärast andmete kogumist logifaili ja tekstiandmete graafiliseks muutmist Exceli abil kuvatakse tulemus ülaltoodud pildil.
Suurte koormuste rakendamisel (kahe Midori brauseri käitamine ja Youtube'i video esitamine) on protsessori temperatuur tõusnud kuni 57,9 ° C.
11. samm: alternatiivne tegemine (NPN -transistori kasutamine) ja edasiarendamine
See on eelmine näide projektist INDICATOR, mis kasutab NPN -transistore (2N3904 ja BD139).
Nagu näete, on NPN -transistori juhtimiseks vaja veel ühte IC -d (74HC04, neljainverterid), kuna transistori sisselülitamiseks tuleks NPN -i alusele rakendada kõrget pinget.
Kokkuvõttes lisab NPN -transistori kasutamine INDICATOR -ahela tegemiseks tarbetut keerukust.
Selle projekti edasiarendamiseks lisan INDICATOR -ahela kasulikumaks muutmiseks jahutusventilaatori, nagu on näidatud ülaltoodud pildil.
Soovitan:
Raspberry Pi protsessori koormuse indikaator: 13 sammu
Raspberry Pi protsessori koormuse indikaator: Raspberry Pi (RPI) käivitamisel ilma konsoolimonitorita peata ei ole konkreetseid visuaalseid viiteid, et ära tunda, et RPI tegelikult midagi teeb. Kuigi kaugterminali kasutatakse koos SSH -ga, aeg -ajalt Linuxi käsu täitmine
WiFi töö kodus indikaator: 5 sammu (koos piltidega)
WiFi -töö kodust indikaator: neile, kes on õnnelikud ja saavad kodus töötada, leiame tõenäoliselt, et maja teiste inimestega piiride osas on mõned suured väljakutsed. Selle abistamiseks lõin selle tõesti lihtne konstruktsioon, mis võimaldab teil
PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: 4 sammu (koos piltidega)
PWM -i reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: paljudel Raspberry Pi juhtumitel on väike 5 V ventilaator, mis aitab CPU jahutada. Kuid need ventilaatorid on tavaliselt üsna mürarikkad ja paljud inimesed ühendavad selle müra vähendamiseks 3V3 pistikuga. Nende ventilaatorite võimsus on tavaliselt 200 mA, mis on üsna hea
ESP32 -põhine M5Stack M5stick C ilmateade koos DHT11 -ga - Jälgige temperatuuri niiskuse ja kuumuse indeksit mudelil M5stick-C koos DHT11-ga: 6 sammu
ESP32 -põhine M5Stack M5stick C ilmateade koos DHT11 -ga | Jälgige temperatuuri niiskuse ja kuumuse indeksit M5stick-C-l DHT11 abil: Tere poisid, selles juhendis õpime, kuidas ühendada DHT11 temperatuuriandur m5stick-C-ga (m5stacki arendusplaat) ja kuvada see m5stick-C ekraanil. Nii loeme selles õpetuses temperatuuri, niiskust ja amp; ma kuumutan
RGB temperatuuri indikaator (XinaBoxiga): 5 sammu (piltidega)
RGB temperatuuri indikaator (koos XinaBoxiga): See on ametlikult minu esimene Instructabeli artikkel, nii et ma tunnistan, et kasutan seda võimalust praegu selle proovimiseks. Tunnetage, kuidas platvorm töötab, kogu kasutajakogemuse pool. Kuid samal ajal arvasin, et suudan