Satura rādītājs:
- 1. darbība: shēmu sagatavošana
- 2. solis: PCB zīmējuma izgatavošana
- 3. solis: lodēšana
- 4. solis: testēšanas sagatavošana
- 5. darbība: pārbaude (CPU temperatūra ir vidēja līmeņa)
- 6. darbība: pārbaude (CPU nepieciešams dzesēšanas līmenis)
- 7. solis: barošanas avots indikatora ķēdei
- 8. solis: RPI elektroinstalācija
- 9. solis: Python programma
- 10. darbība: INDIKATORA darbība
- 11. solis: Alternatīva izgatavošana (izmantojot NPN tranzistoru) un tālāka attīstība
Video: Raspberry Pi CPU temperatūras indikators: 11 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Iepriekš es biju iepazīstinājis ar vienkāršu aveņu pi (turpmāk RPI) darbības statusa indikatora ķēdi.
Šoreiz es paskaidrošu kādu noderīgāku indikatoru shēmu RPI, kas darbojas kā bez galvas (bez monitora).
Iepriekšējā shēma parāda CPU temperatūru 4 dažādos līmeņos, piemēram:
- Zaļā gaismas diode iedegas, kad CPU temperatūra ir 30 ~ 39 grādu robežās
- Dzeltena gaismas diode norāda, ka temperatūra ir paaugstināta no 40 līdz 45 grādiem
- Trešā sarkanā gaismas diode parāda, ka CPU kļūst nedaudz karsts, sasniedzot 46-49 grādus
- Vēl viena sarkana gaismas diode mirgos, ja temperatūra pārsniedz 50 grādus
Iepriekš minētie CPU temperatūras diapazoni ir mana personīgā dizaina koncepcija (citus temperatūras diapazonus var konfigurēt, mainot šīs ķēdes kontrolējošās python programmas pārbaudes nosacījumus).
Izmantojot šo shēmu, jūs ne vienmēr bieži izpildāt komandu “vcgencmd intézkedés_temp” konsoles terminālī.
Šī shēma nepārtraukti un ērti informē pašreizējo CPU temperatūru.
1. darbība: shēmu sagatavošana
Lai gan jūs varat kontrolēt 4 gaismas diodes tieši, izmantojot tikai python kodus, programmas vadības loģika ielādēs RPI, un tāpēc CPU temperatūra tiks paaugstināta vairāk, jo jums vajadzētu nepārtraukti palaist mazliet sarežģītu pitona kodu.
Tāpēc es maksimāli samazinu python koda sarežģītību un izslēdzu LED vadības loģiku ārējai aparatūras shēmai.
CPU temperatūras indikatora (turpmāk INICATOR) ķēde sastāv no šādām galvenajām daļām.
-Divi opto-savienotāji ir pievienoti RPI GPIO tapām, lai iegūtu tādus temperatūras līmeņa datus kā 00-> LOW, 01-> Medium, 10-> High, 11-> Nepieciešama dzesēšana.
-74LS139 (vai 74HC139, 2 līdz 4 dekodētājs un de multipleksētājs) vadības izejas (Y0, Y1, Y2, Y3) atbilstoši ieejām (A, B)
- Ja temperatūra ir 30 ~ 39 grādu robežās, pitona koda izeja 00 uz GPIO tapām. Tāpēc 74LS139 iegūst ievades datus 00 (A-> 0, B-> 0)
- Ievadot 00, Y0 izeja kļūst LOW. (Lūdzu, skatiet 74LS139 patiesības tabulu)
- Kad Y0 izeja kļūst LOW, tā aktivizē 2N3906 PNP tranzistoru un rezultātā iedegas zaļā gaismas diode
- Tāpat Y1 (01 -> CPU temperatūras vide) ieslēdz dzelteno gaismas diodi utt
- Kad Y3 kļūst LOW, DB140 aktivizē NE555 LED mirgojošo ķēdi (tas ir parasts 555 IC balstīts LED mirgojošs ķēde), kas ir BD140 PNP tranzistora slodze
Šīs ķēdes vissvarīgākā sastāvdaļa ir 74LS139, kas atšifrē 2 ciparu ievadi 4 dažādās atsevišķās izejās, kā parādīts tālāk esošajā patiesības tabulā.
Ievadiet | Izeja
G (Iespējot) | 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 |
Tā kā 74LS139 izeja kļūst LOW, PNP tipa tranzistors var padarīt ķēdi vienkāršu, jo PNP tranzistors ir ieslēgts, kad bāzes terminālis kļūst LOW. (Šī stāsta beigās es parādīšu NPN versiju)
Tā kā 100K potenciometrs ir iekļauts gaismas diodes mirgošanas ķēdē NE555, sarkano LED ieslēgšanas/izslēgšanas laiku var brīvi pielāgot atbilstoši vajadzībām.
2. solis: PCB zīmējuma izgatavošana
Kā paskaidrota INDIKATORA darbības shēma, sāksim veidot ķēdi.
Pirms kaut ko pielodēt uz universālās plates, iepriekš norādītā PCB rasējuma sagatavošana ir noderīga, lai samazinātu visas kļūdas.
Zīmējums tiek veikts, izmantojot power-point, lai atrastu katru daļu uz universālā dēļa, un veidojot elektroinstalācijas modeļus starp detaļām ar vadiem.
Tā kā IC un tranzistora piespraudes attēli atrodas kopā ar PCB vadu shēmu, lodēšanu var veikt, izmantojot šo zīmējumu.
3. solis: lodēšana
Lai gan oriģinālais PCB zīmējums nav izgatavots, neizmantojot atsevišķus vadus, lai savienotu komponentus PCB, es lodēju nedaudz savādāk.
Izmantojot vienu vadu vadītāju (nevis alvas vadu), es cenšos samazināt universālo PCB izmēru, kurā ir INDIKATORA ķēde.
Bet, kā jūs varat redzēt PCB lodēšanas pusē, es izmantoju alvas stiepli arī saskaņā ar shēmām, kas attēlotas PCB zīmējumā.
Kad katrs komponents ir pievienots saskaņā ar sākotnējo PCB zīmējuma dizainu, pabeigta PCB plates, ieskaitot INDIKATORA ķēdi, lodēšana darbosies pareizi.
4. solis: testēšanas sagatavošana
Pirms RPI savienojuma pabeigšanas shēma ir jāpārbauda.
Tā kā var būt jebkuras lodēšanas kļūdas, līdzstrāvas barošanas avots tiek izmantots, lai novērstu bojājumus, ja rodas īssavienojumi vai nepareiza elektroinstalācija.
INDIKATORA testēšanai divi papildu barošanas kabeļi ir pievienoti ķēdes 5V barošanas avota savienotājam.
5. darbība: pārbaude (CPU temperatūra ir vidēja līmeņa)
Ja netiek izmantota 5V ieeja, 74LS139 dekodēšanas ieeja un izejas Y0 aktivizēšana kā LOW (ieslēgta zaļā gaismas diode).
Bet 5V tika piemērots A ieejai, 74LS139 izejas Y1 aktivizēšanai (LOW).
Tāpēc dzeltenā gaismas diode tiek ieslēgta, kā parādīts attēlā.
6. darbība: pārbaude (CPU nepieciešams dzesēšanas līmenis)
Kad 5V izmantoja 74LS139 abas ieejas (A un B), mirgo 4. sarkanā gaismas diode.
Mirgošanas ātrumu var mainīt, noregulējot 100K VR, kā parādīts attēlā.
Kad pārbaude ir pabeigta, var noņemt divus Molex 3 kontaktu kabeļus.
7. solis: barošanas avots indikatora ķēdei
INDIKATORA ķēdes barošanai es izmantoju parasto rokas tālruņa lādētāju, kas izvada 5V un USB tipa B adapteri, kā parādīts attēlā.
Lai izvairītos no problēmām ar RPI, pievienojot 3.3V GPIO un 5V darbināmu INDIKATORA ķēdi, signāla saskarne un barošanas avots ir pilnībā izolēti.
8. solis: RPI elektroinstalācija
Lai savienotu INDIKATORA ķēdi ar RPI, divas GPIO tapas ir jāpiešķir kopā ar divām zemējuma tapām.
Nav īpašu prasību izvēlēties GPIO tapas.
INDIKATORA pievienošanai varat izmantot jebkuru GPIO tapu.
Bet vadu tapas ir jānorāda kā 74LS139 (piemēram, A, B) ieejas python programmā.
9. solis: Python programma
Kad ķēde ir pabeigta, lai izveidotu funkciju INDICATOR, ir jāizveido python programma.
Lūdzu, skatiet iepriekš minēto plūsmas diagrammu, lai iegūtu sīkāku informāciju par programmas loģiku.
#-*-kodēšana: utf-8-*-
importēt apakšprocesu, signālu, sistēmu
importēšanas laiks, re
importēt RPi. GPIO kā g
A = 12
B = 16
g.setmode (g. BCM)
g. iestatīšana (A, g. OUT)
g. iestatīšana (B, g. OUT)
##
def signal_handler (sig, frame):
drukāt ('Jūs nospiedāt Ctrl+C!')
g. izvade (A, nepatiesa)
g. izvade (B, nepatiesa)
f. tuvu ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_handler)
##
kamēr taisnība:
f = atvērts ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = apakšprocess.check_output ('/opt/vc/bin/vcgencmd meet_temp', apvalks = True)
temp_str = temp_str.decode (kodējums = 'UTF-8', kļūdas = 'stingrs')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# iegūst pašreizējo CPU temperatūru
current_temp = peldēt (CPU_temp [0])
ja pašreizējais_temps> 30 un pašreizējais_temps <40:
# zemākā temperatūra A = 0, B = 0
g. izvade (A, nepatiesa)
g. izvade (B, nepatiesa)
laiks. miegs (5)
elif current_temp> = 40 un current_temp <45:
# temperatūras vide A = 0, B = 1
g. izvade (A, nepatiesa)
g. izvade (B, True)
laiks. miegs (5)
elif current_temp> = 45 un current_temp <50:
# augsta temperatūra A = 1, B = 0
g. izvade (A, True)
g. izvade (B, nepatiesa)
laiks. miegs (5)
elif current_temp> = 50:
# Nepieciešama CPU dzesēšana augsta A = 1, B = 1
g. izvade (A, True)
g. izvade (B, True)
laiks. miegs (5)
current_time = time.time ()
formated_time = time.strftime ("%H:%M:%S", laiks.gmlaiks (pašreizējais_laiks))
f. rakstīt (str (formated_time)+'\ t'+str (current_temp)+'\ n')
f. tuvu ()
Python programmas galvenā funkcija ir tāda kā zemāk.
- Vispirms iestatiet GPIO 12, 16 kā izejas portu
- Ctrl+C pārtraukuma apstrādātāja definēšana žurnāla faila aizvēršanai un GPIO 12, 16 izslēgšanai
- Ieejot bezgalīgā ciklā, atveriet žurnālfailu kā pievienošanas režīmu
- Lasiet CPU temperatūru, izpildot komandu "/opt/vc/bin/vcgencmd meet_temp"
- Ja temperatūra ir diapazonā no 30 līdz 39, tad izvadiet 00, lai ieslēgtu zaļo LED
- Ja temperatūra ir diapazonā no 40 līdz 44, tad izvadiet 01, lai ieslēgtu dzelteno LED
- Ja temperatūra ir diapazonā no 45 līdz 49, izvadiet 10, lai ieslēgtu sarkano LED
- Ja temperatūra ir augstāka par 50, izvadiet 11, lai sarkanā gaismas diode mirgo
- Ierakstiet laika zīmoga un temperatūras datus žurnāla failā
10. darbība: INDIKATORA darbība
Kad viss ir kārtībā, jūs varat redzēt, ka katra gaismas diode ir ieslēgta vai mirgo atbilstoši CPU temperatūrai.
Jums nav jāievada apvalka komanda, lai pārbaudītu pašreizējo temperatūru.
Pēc datu savākšanas žurnāla failā un teksta datu pārveidošanas grafikā, izmantojot Excel, rezultāts tiek parādīts iepriekš redzamajā attēlā.
Pielietojot lielas slodzes (palaižot divus Midori pārlūkprogrammas un atskaņojot Youtube video), CPU temperatūra ir palielinājusies līdz 57.9C.
11. solis: Alternatīva izgatavošana (izmantojot NPN tranzistoru) un tālāka attīstība
Šis ir iepriekšējais INDICATOR projekta piemērs, kurā izmantoti NPN tranzistori (2N3904 un BD139).
Kā redzat, vēl viens IC (74HC04, Quad invertori) ir nepieciešams, lai vadītu NPN tranzistoru, jo, lai ieslēgtu tranzistoru, NPN pamatnei jāpieliek augsts spriegums.
Rezumējot, izmantojot NPN tranzistoru, INDICATOR shēmas izveidei ir nevajadzīga sarežģītība.
Lai tālāk attīstītu šo projektu, es pievienošu dzesēšanas ventilatoru, kā parādīts attēlā, lai padarītu INDIKATORA ķēdi noderīgāku.
Ieteicams:
Raspberry Pi CPU slodzes indikators: 13 soļi
Raspberry Pi CPU slodzes indikators: palaižot Raspberry Pi (RPI) bez galvas bez konsoles monitora, nav pieejamas nekādas īpašas vizuālas norādes, lai atpazītu, ka RPI faktiski kaut ko dara. Lai gan attālais terminālis tiek izmantots kopā ar SSH, laiku pa laikam izpilda Linux komandu
Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru: 10 soļi (ar attēliem)
Raspberry Pi dzesēšanas ventilatora kaste ar CPU temperatūras indikatoru: Iepriekšējā projektā es ieviesu aveņu pi (turpmāk RPI) CPU temperatūras indikatora ķēdi. Ķēde vienkārši parāda RPI 4 atšķirīgu CPU temperatūras līmeni šādi.- Zaļā gaismas diode ieslēdzas, kad CPU temperatūra ir 30 ~
Arduino temperatūras un mitruma indikators: 7 soļi (ar attēliem)
Temperatūras un mitruma indikators, ko izveidojis Arduino: Šajā instrukcijā tiks parādīts, kā ar kastīti Arduino izveidot kastīti, kas var norādīt temperatūru un mitrumu. Šo lodziņu varat novietot uz galda, lai izmērītu temperatūru un mitrumu jūsu istabā. Augstas kvalitātes MDF kārba ar lāzera griezumu, viss sablīvēts f
ESP32 NTP temperatūras zondes gatavošanas termometrs ar Steinhart-Hart korekciju un temperatūras trauksmi: 7 soļi (ar attēliem)
ESP32 NTP temperatūras zondes vārīšanas termometrs ar Šteinharta-Harta korekciju un temperatūras trauksmi: Joprojām ir ceļā, lai pabeigtu "gaidāmo projektu", "ESP32 NTP temperatūras zondes vārīšanas termometrs ar Šteinharta-Harta korekciju un temperatūras trauksmi" ir pamācība, kas parāda, kā es varu pievienot NTP temperatūras zondi, pjezo b
RGB temperatūras indikators (ar XinaBox): 5 soļi (ar attēliem)
RGB temperatūras indikators (ar XinaBox): Šis ir oficiāli mans pirmais Instructables raksts, tāpēc es atzīšos, ka šobrīd izmantoju šo iespēju, lai to izmēģinātu. Uzziniet, kā darbojas platforma, visa lietotāja pieredzes puse. Bet, to darot, es sapratu, ka varu