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 srednjeg nivoa)
- Korak 6: Testiranje (CPU -u je potreban nivo 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: Indikator temperature Raspberry Pi procesora: 11 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Ranije sam predstavio jednostavan krug indikatora operativnog statusa maline pi (u daljem tekstu RPI).
Ovaj put ću objasniti neki korisniji krug indikatora za RPI koji radi bez glave (bez monitora).
Gornji krug prikazuje temperaturu procesora na 4 različita nivoa, kao što su:
- Zelena LED lampica se pali kada je temperatura procesora unutar 30 ~ 39 stepeni
- Žuta LED označava da se temperatura povećava u rasponu od 40 do 45 stepeni
- Treća crvena LED lampica pokazuje da se procesor pomalo zagrijava dosežući 46 ~ 49 stepeni
- Još jedna crvena LED lampica će treptati kada temperatura pređe više od 50 stepeni
Gore navedeni temperaturni rasponi CPU -a su moj lični koncept dizajna (Ostali rasponi temperatura mogu se konfigurirati promjenom uvjeta ispitivanja Python programa koji kontrolira ovo kolo).
Korištenjem ovog kola 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 procesora.
Korak 1: Priprema shema
Iako možete kontrolirati 4 LED diode koristeći samo python kodove, kontrolne logike programa učitavat ć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 oslobađam LED kontrolnu logiku vanjskom krugu hardvera.
Krug indikatora temperature procesora (u daljem tekstu INICATOR) sastoji se od sljedećih glavnih dijelova.
-Dva optička sprega su spojena na RPI GPIO pinove radi dobivanja podataka o temperaturnim razinama 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)
- Kada je temperatura unutar 30 ~ 39 stepeni, 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
- Slično, Y1 (01 -> medij temperature procesora) će upaliti žutu LED i tako dalje
- Kad Y3 postane NISKA, DB140 aktivira NE555 LED krug treperenja (ovo je uobičajeni LED blinker na bazi 555 IC) koje je opterećenje BD140 PNP tranzistora
Najvažnija komponenta ovog kola je 74LS139 koja dekodira dvocifrene ulaze u 4 različita pojedinačna izlaza kako je prikazano u donjoj tablici istinitosti.
Unos | Output
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 LOW, tranzistor tipa PNP može pojednostaviti cjelokupno kolo jer se PNP tranzistor uključuje kada bazni terminal postane LOW. (Pokazat ću NPN verziju na kraju ove priče)
Budući da je potenciometar od 100K uključen u NE555 LED blinker krug, vrijeme uključivanja/isključivanja crvene LED diode može se slobodno prilagoditi prema potrebama.
Korak 2: Izrada crteža na PCB -u
Kako je objašnjena radna shema INDIKATORA, počnimo stvarati 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ž je napravljen pomoću Power-Point-a za lociranje svakog dijela na univerzalnoj ploči i pravljenjem uzoraka ožičenja među dijelovima sa žicama.
S obzirom da se slike iscrtavanja IC-a i tranzistora nalaze zajedno sa shemom ožičenja PCB-a, lemljenje se može izvesti pomoću ovog crteža.
Korak 3: Lemljenje
Iako originalni crtež PCB -a nije izrađen tako da se za povezivanje komponenti na PCB -u koriste pojedinačne žice, lemim nešto drugačije.
Upotrebom jednog vodiča žica (ne limene žice) pokušavam smanjiti univerzalnu veličinu PCB -a koja sadrži INDIKATOR kolo.
No, kao što vidite na strani lemljenja PCB -a, koristim limenu žicu i prema uzorcima prikazanim na crtežu PCB -a.
Kada je svaka komponenta spojena prema originalnom dizajnu PCB crteža, lemljena ploča PCB -a uključujući INDICATOR kolo će raditi ispravno.
Korak 4: Priprema za testiranje
Prije povezivanja na RPI, potrebno je ispitati gotov krug.
Budući da mogu postojati greške u lemljenju, dobavljač istosmjerne struje koristi se za sprječavanje oštećenja u slučaju kratkog spoja ili pogrešnog ožičenja.
Za testiranje INDICATOR -a, dva dodatna kabela za napajanje su spojena na konektor za napajanje 5V kruga.
Korak 5: Testiranje (temperatura procesora je srednjeg nivoa)
Kada se ne primijeni ulaz 5V, 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).
Zbog toga se žuta LED dioda uključuje kao što je prikazano na gornjoj slici.
Korak 6: Testiranje (CPU -u je potreban nivo hlađenja)
Kada se 5V primijeni na oba ulaza (A i B) 74LS139, 4. crvena LED lampica treperi.
Brzina treptanja može se promijeniti podešavanjem 100K VR kao što je prikazano na gornjoj slici.
Kada se testiranje završi, mogu se ukloniti dva Molex ženska 3 -polna kabela.
Korak 7: Napajanje do kruga INDIKATORA
Za napajanje INDICATOR kola koristim uobičajeni punjač za ručne telefone koji emitira 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, sučelje signala i napajanje su potpuno izolirani.
Korak 8: RPI ožičenje
Za povezivanje INDICATOR kola sa RPI, dva GPIO pina trebaju biti namještena zajedno sa dva uzemljenja.
Ne postoje posebni zahtjevi za odabir GPIO pinova.
Za povezivanje INDICATOR -a možete koristiti bilo koje GPIO pinove.
Ali ožičeni pinovi trebaju biti označeni kao ulazi za 74LS139 (npr. A, B) u programu Python.
Korak 9: Python program
Kako se kolo završi, za izradu funkcije INDICATOR potrebno je napraviti python program.
Molimo pogledajte gornju shemu toka za više detalja o programskoj logici.
#-*-kodiranje: utf-8-*-
uvoz potprocesa, signala, sys
vrijeme uvoza, re
uvesti RPi. GPIO kao g
A = 12
B = 16
g.setmode (g. BCM)
g.setup (A, g. OUT)
g.setup (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_handler)
##
dok je True:
f = otvoreno ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd mjera_temple', ljuska = True)
temp_str = temp_str.decode (encoding = 'UTF-8', greš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)
time.sleep (5)
elif current_temp> = 40 i current_temp <45:
# temperaturni medij A = 0, B = 1
g.output (A, Netačno)
g.izlaz (B, Tačno)
time.sleep (5)
elif current_temp> = 45 i current_temp <50:
# visoka temperatura A = 1, B = 0
g.izlaz (A, Tačno)
g.output (B, Netačno)
time.sleep (5)
elif current_temp> = 50:
# Hlađenje procesora je potrebno visoko A = 1, B = 1
g.izlaz (A, Tačno)
g.izlaz (B, Tačno)
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 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
- Kada 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”
- Kada 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
- Kada je temperatura u rasponu 45 ~ 49, tada na izlazu 10 uključite crvenu LED diodu
- Kada je temperatura veća od 50, tada iznesite 11 kako bi crvena LED dioda trepnula
- Zapišite vremensku oznaku i podatke o temperaturi u datoteku dnevnika
Korak 10: Rad INDIKATORA
Kada je sve u redu, možete vidjeti da se svaka LED lampica uključuje ili treperi u skladu s temperaturom 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 invertori) za pogon NPN tranzistora jer se za uključivanje tranzistora na bazu NPN -a treba primijeniti VISAK napon.
Kao rezime, upotreba NPN tranzistora dodaje 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 INDICATOR krug bio korisniji.
Preporučuje se:
Raspberry Pi kutija ventilatora za hlađenje sa indikatorom temperature procesora: 10 koraka (sa slikama)
Raspberry Pi Box sa ventilatorom za hlađenje sa indikatorom temperature procesora: U prethodnom projektu sam predstavio krug indikatora temperature procesora od maline pi (u daljem tekstu RPI). Krug jednostavno prikazuje RPI 4 različit nivo temperature procesora na sljedeći način.- Zelena LED lampica se uključuje kada Temperatura procesora je unutar 30 ~
Simbus Transmisor temperature temperature Modbus (Labview + Raspberry Pi 3): 8 koraka
Modbus temperaturnog pretvarača simulatora (Labview + Raspberry Pi 3): POST ESCRITO EN ESPAÑOLSI Simulirajte kružni odašiljač temperature, osnovni element (senzor) implementira medijanu i potenciometarnu električnu promjenu napona ulaza. Za dodatne informacije o senzoru (Elemento Secundario), potrebno je
PWM regulirani ventilator na osnovu 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 se pomoglo hlađenje CPU -a. Međutim, ovi ventilatori su obično prilično bučni i mnogi ih ljudi priključuju na 3V3 iglu kako bi smanjili buku. Ovi ventilatori su obično ocijenjeni na 200mA, što je prilično h
Arduino indikator temperature i vlažnosti: 7 koraka (sa slikama)
Arduino pokazivač temperature i vlažnosti: Ovo uputstvo će pokazati kako napraviti kutiju koja može pokazivati temperaturu i vlažnost pomoću Arduina. Ovu kutiju možete staviti na stol za mjerenje temperature i vlažnosti u vašoj sobi. Visokom kvalitetom MDF kutije laserskim rezanjem sve je zbijen f
RGB indikator temperature (sa XinaBox -om): 5 koraka (sa slikama)
RGB indikator temperature (sa XinaBox -om): Ovo je službeno moj prvi članak o Instructables -u, pa ću priznati da upravo sada koristim ovu priliku da ga isprobam. Osjetite kako platforma radi, sa strane cijelog korisničkog iskustva. Ali dok to radim, zaključio sam da mogu