Kazalo:
- 1. korak: Priprava shem
- 2. korak: Izdelava PCB risbe
- Korak: Spajkanje
- 4. korak: Priprava na testiranje
- 5. korak: Testiranje (temperatura CPE -ja je srednja)
- Korak 6: Testiranje (CPU potrebuje raven hlajenja)
- 7. korak: Napajanje z vezjem INDICATOR
- 8. korak: ožičenje RPI
- 9. korak: Program Python
- 10. korak: Delovanje INDIKATORJA
- 11. korak: Alternativno izdelovanje (z uporabo tranzistorja NPN) in nadaljnji razvoj
Video: Indikator temperature procesorja Raspberry Pi: 11 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Pred tem sem predstavil preprosto vezje indikatorja stanja delovanja maline pi (v nadaljevanju RPI).
Tokrat bom razložil nekaj bolj uporabnega indikatorskega vezja za RPI, ki deluje brez glave (brez monitorja).
Zgornje vezje prikazuje temperaturo procesorja na 4 različne ravni, na primer:
- Zelena LED se prižge, ko je temperatura procesorja znotraj 30 ~ 39 stopinj
- Rumena LED označuje zvišanje temperature v območju od 40 do 45 stopinj
- Tretja rdeča LED prikazuje, da se procesor nekoliko segreje, ko doseže 46 ~ 49 stopinj
- Če temperatura preseže 50 stopinj, bo utripala še ena rdeča LED
Zgornja temperaturna območja procesorja so moj osebni koncept (druga temperaturna območja lahko konfigurirate s spreminjanjem preskusnih pogojev programa python, ki krmili to vezje).
Z uporabo tega vezja ne nujno pogosto izvajate ukaz »vcgencmd mere_temp« na terminalu konzole.
To vezje mora stalno in priročno obveščati o trenutni temperaturi procesorja.
1. korak: Priprava shem
Čeprav lahko neposredno upravljate 4 LED z uporabo samo kod Python, bodo krmilne logike programa naložile RPI in posledično se bo temperatura procesorja še povečala, ker morate neprestano izvajati nekoliko zapleteno kodo Python.
Zato čim bolj poenostavim zapletenost kode python in razbremenim krmilno logiko LED v zunanje vezje strojne opreme.
Vezje indikatorja temperature procesorja (v nadaljevanju INICATOR) je sestavljeno iz naslednjih glavnih delov.
-Dva optična sklopnika sta povezana z zatiči RPIO GPIO, da dobita podatke o temperaturni ravni, na primer 00-> NIZKA, 01-> Srednja, 10-> Visoka, 11-> Potrebujete hlajenje.
-74LS139 (ali 74HC139, dekoder 2 do 4 in de-multiplekser) krmilni izhodi (Y0, Y1, Y2, Y3) glede na vhode (A, B)
- Ko je temperatura v območju 30 ~ 39 stopinj, Python koda prikaže 00 na nožice GPIO. Zato 74LS139 dobi vhodne podatke 00 (A-> 0, B-> 0)
- Ko vnesete 00, se izhod Y0 zmanjša. (Glejte tabelo resničnosti 74LS139)
- Ko izhod Y0 postane NIZK, aktivira tranzistor 2N3906 PNP in posledično se prižge zelena LED
- Podobno mora Y1 (01 -> temperaturni medij procesorja) prižgati rumeno LED in tako naprej
- Ko postane Y3 NIZKA, DB140 aktivira utripajoče vezje LED NE555 LED (to je običajna LED utripalec na osnovi 555 IC), ki je obremenitev tranzistorja BD140 PNP
Najpomembnejša komponenta tega vezja je 74LS139, ki dekodira dvomestne vnose v 4 različne enojne izhode, kot je prikazano v spodnji tabeli resničnosti.
Vnos | Izhod
G (Omogoči) | 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 |
Ker izhod 74LS139 postane NIZK, lahko tranzistor tipa PNP poenostavi celotno vezje, saj je tranzistor PNP vklopljen, ko osnovni terminal postane NIZK. (Na koncu te zgodbe bom prikazal različico NPN)
Ker je 100K potenciometer vključen v LED -utripajoči krog NE555, lahko čas vklopa/izklopa rdeče LED nastavite prosto glede na potrebe.
2. korak: Izdelava PCB risbe
Ko je razložena shema delovanja INDIKATORJA, začnimo izdelovati vezje.
Preden nekaj spajkate na univerzalno ploščo, je priprava zgoraj prikazane risbe tiskanega vezja v pomoč pri zmanjševanju napak.
Risba je narejena z uporabo power-point za lociranje vsakega dela na univerzalni plošči in izdelavo vzorcev ožičenja med deli z žicami.
Ker so slike izhoda IC in tranzistorja skupaj z vzorcem ožičenja PCB, lahko spajkanje izvedete s to risbo.
Korak: Spajkanje
Čeprav prvotna risba tiskanega vezja ni narejena tako, da za povezavo komponent na tiskano vezje uporablja samo ene žice, spajkam nekoliko drugače.
Z uporabo enega vodnika žic (ne kositrne žice) poskušam zmanjšati univerzalno velikost tiskanega vezja, ki vsebuje vezje INDICATOR.
Toda kot lahko vidite na strani spajkanja tiskanega vezja, uporabljam kositrno žico tudi po vzorcih, prikazanih na risbi tiskanega vezja.
Ko je vsaka komponenta priključena v skladu s prvotno zasnovo risbe tiskanega vezja, bo spajkana plošča, vključno z vezjem INDICATOR, delovala pravilno.
4. korak: Priprava na testiranje
Pred priključitvijo na RPI je potrebno preskusiti dokončano vezje.
Ker lahko pride do napak pri spajkanju, se dobavitelj enosmerne energije uporablja za preprečevanje poškodb, ko pride do kratkih stikov ali napačnega ožičenja.
Za preskus INDICATOR -ja sta dva dodatna napajalna kabla priključena na 5V napajalni konektor vezja.
5. korak: Testiranje (temperatura CPE -ja je srednja)
Ko ni vhoda 5V, potem 74LS139 dekodira vhod in aktivira izhod Y0 kot LOW (zelena LED sveti).
Toda 5V velja za vhod A, aktivira se izhod Y1 74LS139 (LOW).
Zato se prižge rumena LED, kot je prikazano na zgornji sliki.
Korak 6: Testiranje (CPU potrebuje raven hlajenja)
Ko priključite 5V oba vhoda (A in B) 74LS139, utripa 4. rdeča LED.
Hitrost utripanja lahko spremenite s prilagajanjem 100K VR, kot je prikazano na zgornji sliki.
Ko je preskušanje končano, lahko odstranite dva 3 -polna ženska kabla Molex.
7. korak: Napajanje z vezjem INDICATOR
Za napajanje vezja INDICATOR uporabljam običajen polnilec za ročne telefone, ki oddaja 5V in USB adapter tipa B, kot je prikazano na zgornji sliki.
Da bi se izognili težavam z RPI s priključitvijo 3.3V GPIO in 5V napajanega vezja INDICATOR, sta signalni vmesnik in napajanje popolnoma izolirana.
8. korak: ožičenje RPI
Za povezovanje vezja INDICATOR z RPI je treba namestiti dva zatiča GPIO skupaj z dvema ozemljitvenima.
Za izbiro zatičev GPIO ni posebnih zahtev.
Za priključitev INDICATOR -ja lahko uporabite kateri koli zatič GPIO.
Toda žični zatiči morajo biti označeni kot vhodi za 74LS139 (npr. A, B) v programu python.
9. korak: Program Python
Ko je vezje zaključeno, je za uporabo funkcije INDICATOR potreben program python.
Za več podrobnosti o programski logiki glejte diagram poteka zgoraj.
#-*-kodiranje: utf-8-*-
uvozni podproces, signal, sys
čas uvoza, ponov
uvozite RPi. GPIO kot g
A = 12
B = 16
g.način delovanja (g. BCM)
g.setup (A, g. OUT)
g.nastavitev (B, g. OUT)
##
def signal_handler (sig, okvir):
print ('Pritisnili ste Ctrl+C!')
g.output (A, False)
g.output (B, False)
f.close ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_krmilnik)
##
medtem ko je res:
f = odprto ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = podproces.check_output ('/opt/vc/bin/vcgencmd ukrep_temp', lupina = True)
temp_str = temp_str.decode (kodiranje = 'UTF-8', napake = 'strogo')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# ekstrakcija trenutne temperature procesorja
current_temp = float (CPU_temp [0])
če je current_temp> 30 in current_temp <40:
# nizka temperatura A = 0, B = 0
g.output (A, False)
g.output (B, False)
time.sleep (5)
elif current_temp> = 40 in current_temp <45:
# temperaturni medij A = 0, B = 1
g.output (A, False)
g.izhod (B, True)
time.sleep (5)
elif current_temp> = 45 in current_temp <50:
# visoka temperatura A = 1, B = 0
g.output (A, True)
g.output (B, False)
time.sleep (5)
elif current_temp> = 50:
# Hlajenje procesorja je potrebno visoko A = 1, B = 1
g.output (A, True)
g.izhod (B, True)
time.sleep (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 ()
Glavna funkcija programa python je naslednja.
- Najprej nastavite GPIO 12, 16 kot izhodna vrata
- Določitev upravljalnika prekinitev Ctrl+C za zapiranje datoteke dnevnika in izklop GPIO 12, 16
- Ko vstopite v neskončno zanko, odprite datoteko dnevnika kot način dodajanja
- Preberite temperaturo procesorja tako, da izvedete ukaz »/opt/vc/bin/vcgencmd mere_temp«
- Ko je temperatura v območju 30 ~ 39, potem izklopite 00, da vklopite zeleno LED
- Ko je temperatura v območju 40 ~ 44, potem izklopite 01, da vklopite rumeno LED
- Ko je temperatura v območju 45 ~ 49, potem izklopite 10, da vklopite rdečo LED
- Ko je temperatura večja od 50, potem na izhodu 11 utripa rdeča LED
- Zapišite podatke o časovnem žigu in temperaturi v datoteko dnevnika
10. korak: Delovanje INDIKATORJA
Ko je vse v redu, lahko vidite, da vsaka LED sveti ali utripa glede na temperaturo procesorja.
Za preverjanje trenutne temperature vam ni treba vnesti ukaza lupine.
Po zbiranju podatkov v dnevniški datoteki in upodabljanju besedilnih podatkov v graf z uporabo Excela je rezultat prikazan na zgornji sliki.
Pri visokih obremenitvah (z uporabo dveh brskalnikov Midori in predvajanjem videoposnetka Youtube) se temperatura CPU dvigne na 57,9 ° C.
11. korak: Alternativno izdelovanje (z uporabo tranzistorja NPN) in nadaljnji razvoj
To je prejšnji primer projekta INDICATOR, ki uporablja tranzistorje NPN (2N3904 in BD139).
Kot lahko vidite, je za pogon tranzistorja NPN potreben še en IC (74HC04, štirikotni pretvorniki), saj je treba za vklop tranzistorja na osnovo NPN uporabiti visoko napetost.
Če povzamemo, uporaba tranzistorja NPN doda nepotrebno zapletenost pri izdelavi vezja INDICATOR.
Za nadaljnji razvoj tega projekta bom dodal hladilni ventilator, kot je prikazano na zgornji sliki, da bo vezje INDICATOR bolj uporabno.
Priporočena:
Raspberry Pi Box hladilnega ventilatorja s indikatorjem temperature procesorja: 10 korakov (s slikami)
Raspberry Pi polje hladilnega ventilatorja s indikatorjem temperature procesorja: V prejšnjem projektu sem predstavil vezje temperature CPU-ja maline pi (v nadaljevanju RPI). To vezje preprosto prikazuje različno temperaturo procesorja RPI 4 na naslednji način. Temperatura procesorja je znotraj 30 ~
DIY hrbtna plošča grafičnega procesorja Brez električnega orodja: 16 korakov (s slikami)
DIY hrbtna plošča grafičnega procesorja Brez električnega orodja: Pozdravljeni, v tem navodilu vam bom pokazal, kako z naslovom WS2812b LED (Aka Neopixel) izdelati zadnjo ploščo za grafično kartico po meri z RGB po meri. Ta opis v resnici ne ustreza, zato si oglejte zgornji video! Prosimo, upoštevajte t
PWM reguliran ventilator glede na temperaturo procesorja za Raspberry Pi: 4 koraki (s slikami)
PWM reguliran ventilator, ki temelji na temperaturi CPU -ja za Raspberry Pi: Številni kovčki za Raspberry Pi so opremljeni z majhnim ventilatorjem 5V, ki pomaga pri hlajenju procesorja. Vendar so ti ventilatorji običajno precej hrupni in mnogi jih priklopijo na pin 3V3, da zmanjšajo hrup. Ti ventilatorji so običajno ocenjeni na 200 mA, kar je precej h
Arduino indikator temperature in vlažnosti: 7 korakov (s slikami)
Indikator temperature in vlažnosti podjetja Arduino: Ta navodila bodo pokazala, kako narediti škatlo, ki lahko prikazuje temperaturo in vlažnost z Arduinom To polje lahko postavite na mizo za merjenje temperature in vlažnosti v vaši sobi Z visoko kakovostjo MDF škatle z laserskim rezanjem je vse stisnjen f
Indikator temperature RGB (s XinaBox): 5 korakov (s slikami)
Indikator temperature RGB (z XinaBox -om): To je uradno moj prvi članek o Instructables, zato bom priznal, da to priložnost trenutno uporabljam, da jo preizkusim. Začutite, kako deluje platforma, celotna stran uporabniške izkušnje. Toda medtem ko to počnem, sem mislil, da lahko