Sadržaj:
- Korak 1: Priprema shema
- Korak 2: Izrada crteža na PCB -u
- Korak 3: Lemljenje
- Korak 4: Priprema za testiranje
- Korak 5: Testiranje (temperatura procesora je srednje razine)
- Korak 6: Testiranje (CPU -u je potrebna razina hlađenja)
- Korak 7: Napajanje do kruga INDIKATORA
- Korak 8: RPI ožičenje
- Korak 9: Python program
- Korak 10: Rad INDIKATORA
- Korak 11: Alternativno stvaranje (pomoću NPN tranzistora) i daljnji razvoj
Video: Pokazatelj temperature procesora Raspberry Pi: 11 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Ranije sam predstavio jednostavan krug indikatora operativnog statusa maline pi (u daljnjem tekstu RPI).
Ovaj put ću objasniti neki korisniji krug indikatora za RPI koji radi bez glave (bez monitora).
Gornji krug prikazuje temperaturu procesora u 4 različite razine, kao što su:
- Zelena LED lampica svijetli kada je temperatura procesora unutar 30 ~ 39 stupnjeva
- Žuta LED označava da se temperatura povećava u rasponu od 40 do 45 stupnjeva
- Treća crvena LED dioda pokazuje da se CPU pomalo zagrijava dosežući 46 ~ 49 stupnjeva
- Još jedna crvena LED lampica će treperiti kada temperatura pređe više od 50 stupnjeva
Gore navedeni temperaturni rasponi CPU -a moj su osobni dizajn (ostali temperaturni rasponi mogu se konfigurirati promjenom uvjeta ispitivanja programa python koji upravljaju ovim krugom).
Korištenjem ovog sklopa ne morate nužno često izvršavati naredbu “vcgencmd mjera_temp” na terminalu konzole.
Ovaj krug će kontinuirano i prikladno izvještavati o trenutnoj temperaturi CPU -a.
Korak 1: Priprema shema
Iako izravno možete kontrolirati 4 LED diode koristeći samo python kodove, kontrolne logike programa učitat će RPI i kao rezultat toga temperatura CPU -a će se dodatno povećati jer biste trebali neprestano izvoditi pomalo složeni python kod.
Stoga minimiziram složenost Python koda što je moguće jednostavnije i rasterećujem LED logiku upravljanja vanjskim krugom hardvera.
Krug indikatora temperature CPU -a (u daljnjem tekstu INICATOR) sastoji se od sljedećih glavnih dijelova.
-Dvije opto-spojnice spojene su na RPI GPIO pinove radi dobivanja podataka o razini temperature kao što su 00-> NISKA, 01-> Srednja, 10-> Visoka, 11-> Potrebno je hlađenje.
-74LS139 (ili 74HC139, dekoder 2 do 4 i de-multiplekser) upravljački izlazi (Y0, Y1, Y2, Y3) prema ulazima (A, B)
- Kad je temperatura unutar 30 ~ 39 stupnjeva, python kod šalje 00 na GPIO pinove. Stoga 74LS139 prima ulazne podatke 00 (A-> 0, B-> 0)
- Kad se unese 00, izlaz Y0 postaje NISAK. (Molimo pogledajte tablicu istinitosti 74LS139)
- Kad izlaz Y0 postane NISAK, aktivira se 2N3906 PNP tranzistor i kao rezultat toga uključuje se zelena LED dioda
- Isto tako, Y1 (01 -> medij temperature procesora) uključit će žutu LED i tako dalje
- Kad Y3 postane NISKA, DB140 aktivira NE555 LED trepćući krug (ovo je uobičajeno LED blinker na bazi 555 IC) koji je opterećenje BD140 PNP tranzistora
Najvažnija komponenta ovog kruga je 74LS139 koji dekodira 2 znamenke ulaza u 4 različita pojedinačna izlaza kako je prikazano u donjoj tablici istinitosti.
Unos | Izlaz
G (Omoguć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 |
Kako izlaz 74LS139 postaje NISAK, tranzistor tipa PNP može pojednostaviti cjelokupni krug jer je tranzistor PNP uključen kada bazni terminal postane NISKI. (Pokazat ću NPN verziju na kraju ove priče)
Budući da je potenciometar od 100K uključen u krug LED blinkera NE555, vrijeme uključivanja/isključivanja crvene LED diode može se slobodno prilagoditi prema potrebama.
Korak 2: Izrada crteža na PCB -u
Kako se objašnjava shema rada INDIKATORA, počnimo izrađivati krug.
Prije nego što nešto zalemite na univerzalnu ploču, priprema crteža PCB -a prikazanog gore je korisna za smanjenje grešaka.
Crtež se izrađuje pomoću Power-Point-a za lociranje svakog dijela na univerzalnoj ploči i izradom uzoraka ožičenja među dijelovima sa žicama.
S obzirom da se slike iscrtavanja IC i tranzistora nalaze zajedno s uzorkom ožičenja PCB-a, lemljenje se može izvesti pomoću ovog crteža.
Korak 3: Lemljenje
Iako je izvorni crtež PCB -a izrađen bez korištenja pojedinačnih žica za povezivanje komponenti na PCB -u, lemim nešto drugačije.
Korištenjem jednog vodiča žica (ne limene žice) pokušavam smanjiti univerzalnu veličinu PCB -a koja sadrži krug INDICATOR.
No, kao što vidite na strani lemljenja PCB -a, koristim limenu žicu također prema uzorcima prikazanim na crtežu PCB -a.
Kada je svaka komponenta spojena prema izvornom dizajnu crteža PCB -a, lemljena dovršena PCB ploča uključujući INDICATOR krug će raditi ispravno.
Korak 4: Priprema za testiranje
Prije spajanja na RPI, gotov krug zahtijeva ispitivanje.
Budući da mogu postojati greške u lemljenju, dobavljač istosmjerne struje koristi se za sprječavanje oštećenja u slučaju kratkih spojeva ili pogrešnih ožičenja.
Za ispitivanje INDICATOR -a, dva dodatna kabela za napajanje priključena su na 5V priključak napajanja kruga.
Korak 5: Testiranje (temperatura procesora je srednje razine)
Kad se ne primijeni ulaz od 5 V, tada 74LS139 dekodira ulaz i aktivira izlaz Y0 kao LOW (zelena LED lampica je uključena).
Ali 5V primijenjeno na ulaz A, aktivira se izlaz Y1 od 74LS139 (LOW).
Stoga se žuta LED dioda uključuje kao što je prikazano na gornjoj slici.
Korak 6: Testiranje (CPU -u je potrebna razina hlađenja)
Kada 5V primijeni oba ulaza (A i B) od 74LS139, 4. crvena LED dioda treperi.
Brzina treptanja može se promijeniti podešavanjem 100K VR kao što je prikazano na gornjoj slici.
Po završetku testiranja mogu se ukloniti dva ženska Molex 3 -polna kabela.
Korak 7: Napajanje do kruga INDIKATORA
Za napajanje kruga INDICATOR-a koristim uobičajeni punjač za ručne telefone koji ima izlaz 5V i USB adapter tipa B kao što je prikazano na gornjoj slici.
Kako biste izbjegli problem s RPI -jem povezivanjem 3.3V GPIO i 5V INDICATOR strujnog kruga, signalno sučelje i napajanje potpuno su izolirani.
Korak 8: RPI ožičenje
Za povezivanje INDICATOR kruga s RPI -om, dva GPIO pina trebaju biti namijenjena zajedno s dva uzemljenja.
Nema posebnih zahtjeva za odabir GPIO pinova.
Za povezivanje INDICATOR -a možete koristiti bilo koje GPIO pinove.
No ožičeni pinovi trebaju biti označeni kao ulazi za 74LS139 (npr. A, B) u programu Python.
Korak 9: Python program
Kako je krug dovršen, izrada python programa potrebna je za korištenje funkcije INDICATOR.
Molimo pogledajte gornju shemu toka za više detalja o programskoj logici.
#-*-kodiranje: utf-8-*-
uvoz potproces, signal, sys
vrijeme uvoza, ponov
uvoziti RPi. GPIO kao g
A = 12
B = 16
g.način rada (g. BCM)
g.setup (A, g. OUT)
g.postavljanje (B, g. OUT)
##
def signal_handler (sig, okvir):
print ('Pritisnuli ste Ctrl+C!')
g.output (A, Netačno)
g.output (B, Netačno)
f.close ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_upravljač)
##
dok je istina:
f = otvoreno ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = podproces.check_output ('/opt/vc/bin/vcgencmd mjera_temple', ljuska = True)
temp_str = temp_str.decode (kodiranje = 'UTF-8', pogreške = 'strogo')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# ekstrakcija trenutne temperature procesora
current_temp = float (CPU_temp [0])
ako je current_temp> 30 i current_temp <40:
# niska temperatura A = 0, B = 0
g.output (A, Netačno)
g.output (B, Netačno)
vrijeme.spavanje (5)
elif current_temp> = 40 i current_temp <45:
# temperaturni medij A = 0, B = 1
g.output (A, Netačno)
g.izlaz (B, Istina)
vrijeme.spavanje (5)
elif current_temp> = 45 i current_temp <50:
# visoka temperatura A = 1, B = 0
g.izlaz (A, Istina)
g.output (B, Netačno)
vrijeme.spavanje (5)
elif current_temp> = 50:
# Hlađenje procesora je potrebno visoko A = 1, B = 1
g.izlaz (A, Istina)
g.izlaz (B, Istina)
vrijeme.spavanje (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 kao u nastavku.
- Prvo postavite GPIO 12, 16 kao izlazni port
- Definiranje Ctrl+C rukovatelja prekidima za zatvaranje datoteke dnevnika i isključivanje GPIO 12, 16
- Kad uđete u beskonačnu petlju, otvorite datoteku dnevnika kao način dodavanja
- Pročitajte temperaturu procesora izvršavanjem naredbe “/opt/vc/bin/vcgencmd mjera_temp”
- Kad je temperatura u rasponu 30 ~ 39, tada izlazite 00 za uključivanje zelene LED diode
- Kad je temperatura u rasponu 40 ~ 44, tada na izlaz 01 uključite žutu LED
- Kad je temperatura u rasponu 45 ~ 49, tada na izlazu 10 uključite crvenu LED diodu
- Kad je temperatura viša od 50, izlažite 11 kako bi crvena LED dioda trepnula
- Zapišite vremensku oznaku i podatke o temperaturi u datoteku dnevnika
Korak 10: Rad INDIKATORA
Kad je sve u redu, možete vidjeti da je svaka LED lampica uključena ili treperi ovisno o temperaturi procesora.
Ne morate unijeti naredbu ljuske da biste provjerili trenutnu temperaturu.
Nakon prikupljanja podataka u datoteci dnevnika i pretvaranja tekstualnih podataka u grafikon pomoću programa Excel, rezultat je prikazan na gornjoj slici.
Prilikom primjene velikih opterećenja (Pokretanje dva Midori preglednika i reprodukcija Youtube videa) temperatura procesora skoči na 57,9C.
Korak 11: Alternativno stvaranje (pomoću NPN tranzistora) i daljnji razvoj
Ovo je prethodni primjer projekta INDICATOR koji koristi NPN tranzistore (2N3904 i BD139).
Kao što možete vidjeti, potrebna je još jedna IC (74HC04, četverostruki pretvarači) za pogon NPN tranzistora jer se za uključivanje tranzistora na bazu NPN -a treba primijeniti visoki napon.
Ukratko, korištenjem NPN tranzistora dodajte nepotrebnu složenost za izradu INDIKATOR kola.
Za daljnji razvoj ovog projekta dodat ću ventilator za hlađenje kako je prikazano na gornjoj slici kako bi krug INDICATOR -a učinio korisnijim.
Preporučeni:
Pokazatelj opterećenja procesora Raspberry Pi: 13 koraka
Pokazatelj učitavanja CPU -a Raspberry Pi: Prilikom izvođenja Raspberry Pi -a (RPI) kao bez glave bez monitora konzole, nisu dostupne posebne vizualne oznake za prepoznavanje da RPI zapravo nešto radi. Iako se udaljeni terminal koristi sa SSH -om, povremeno se izvršava Linux naredba
Raspberry Pi Box ventilatora za hlađenje s indikatorom temperature procesora: 10 koraka (sa slikama)
Raspberry Pi Okvir ventilatora za hlađenje s indikatorom temperature procesora: U prethodnom sam projektu predstavio krug indikatora temperature procesora od maline pi (u daljnjem tekstu RPI). Krug jednostavno prikazuje RPI 4 različitu razinu temperature procesora na sljedeći način.- Zelena LED lampica se uključuje kad Temperatura procesora je unutar 30 ~
Pokazatelj statusa obitelji / suradnika: 6 koraka (sa slikama)
Pokazatelj statusa obitelji / suradnika: Moj prvi instruktor, mnogi su mi projekti pomogli tijekom godina, nadam se da će ovo pomoći nekome drugome. Kratka priča … Trebao nam je način da jedno drugome pokažemo svoj status, a ne da prekidamo pozive ili da se klonimo kada pretpostavimo još jedno
Pokazatelj rada WiFi -a od kuće: 5 koraka (sa slikama)
Pokazatelj rada WiFi -a od kuće: Za one koji imaju sreće da mogu raditi od kuće, vjerojatno otkrivamo da postoje neki veliki izazovi kada su u pitanju granice s drugima u kući. Da bih vam pomogao u tome, stvorio sam ovo zaista jednostavna izrada koja vam omogućuje
PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi: 4 koraka (sa slikama)
PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi: Mnogi slučajevi za Raspberry Pi dolaze s malim 5V ventilatorom kako bi pomogli hlađenju CPU -a. Međutim, ti su ventilatori obično prilično bučni i mnogi ih ljudi priključuju na utičnicu 3V3 kako bi smanjili buku. Ovi ventilatori obično su ocijenjeni za 200mA što je prilično h