Tartalomjegyzék:
- 1. lépés: A rajzok elkészítése
- 2. lépés: PCB rajz készítése
- 3. lépés: Forrasztás
- 4. lépés: A tesztelés előkészítése
- 5. lépés: Tesztelés (a CPU hőmérséklete közepes)
- 6. lépés: Tesztelés (a CPU hűtési szintre van szüksége)
- 7. lépés: Tápellátás az INDICATOR áramkörhöz
- 8. lépés: RPI bekötés
- 9. lépés: Python program
- 10. lépés: MUTATÓ működése
- 11. lépés: Alternatív készítés (NPN tranzisztor használata) és további fejlesztés
Videó: Raspberry Pi CPU hőmérséklet kijelző: 11 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Korábban bemutattam az egyszerű málna pi (továbbiakban RPI) működési állapotjelző áramkört.
Ezúttal elmagyarázok néhány hasznos jelzőáramkört az RPI fej nélküli (monitor nélküli) módon történő működéséhez.
A fenti áramkör a CPU hőmérsékletét négy különböző szintre mutatja, például:
- A zöld LED akkor világít, ha a CPU hőmérséklete 30-39 fok
- A sárga LED azt jelzi, hogy a hőmérséklet 40 és 45 fok között emelkedik
- A 3. piros LED azt mutatja, hogy a CPU kissé felmelegszik, elérve a 46-49 fokot
- Egy másik piros LED villog, ha a hőmérséklet meghaladja az 50 fokot
A fenti CPU hőmérsékleti tartományok az én személyes tervezési koncepcióm (Más hőmérsékleti tartományok konfigurálhatók az áramkört vezérlő python program tesztfeltételeinek megváltoztatásával).
Ennek az áramkörnek a használatával nem feltétlenül hajt végre gyakran „vcgencmd intézkedés_temp” parancsot a konzol terminálján.
Ez az áramkör folyamatosan és kényelmesen tájékoztatja a CPU aktuális hőmérsékletét.
1. lépés: A rajzok elkészítése
Bár 4 LED -et közvetlenül vezérelhet, csak python -kódokat használva, a program vezérlőlogikája betölti az RPI -t, és ennek eredményeképpen a CPU hőmérséklete jobban emelkedik, mert egy kicsit bonyolult python -kódot kell futtatnia.
Ezért a lehető legegyszerűbbre minimalizálom a python kód bonyolultságát, és a LED vezérlő logikát a külső hardver áramkörre helyezem.
A CPU hőmérséklet kijelző (a továbbiakban INICATOR) áramkör a következő fő részekből áll.
-Két optocsatlakozó csatlakozik az RPI GPIO csapokhoz, hogy hőmérsékleti adatokat kapjon, például 00-> LOW, 01-> Medium, 10-> High, 11-> Hűtést igényel.
-74LS139 (vagy 74HC139, 2-4 dekóder és de-multiplexer) vezérlő kimenetek (Y0, Y1, Y2, Y3) a bemeneteknek megfelelően (A, B)
- Ha a hőmérséklet 30 ~ 39 fok, a python kód 00 -at ad ki a GPIO csapokhoz. Ezért a 74LS139 00 bemeneti adatokat kap (A-> 0, B-> 0)
- A 00 megadása után az Y0 kimenet LOW lesz. (Lásd a 74LS139 igazságtáblázatát)
- Ha az Y0 kimenet LOW lesz, akkor aktiválja a 2N3906 PNP tranzisztort, és ennek eredményeként a zöld LED bekapcsol
- Hasonlóképpen, az Y1 (01 -> CPU hőmérsékleti közeg) bekapcsolja a sárga LED -et és így tovább
- Amikor az Y3 alacsony lesz, a DB140 aktiválja az NE555 LED villogó áramkört (ez az általános 555 IC alapú LED villogó), amely BD140 PNP tranzisztor terhelése
Ennek az áramkörnek a legfontosabb alkotóeleme a 74LS139, amely 2 számjegyből álló bemenetet dekódol 4 különböző kimenetre, az alábbi igazságtáblázat szerint.
Bemenet | Kimenet
G (Engedélyezés) | 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 |
Mivel a 74LS139 kimenet LOW értékűvé válik, a PNP típusú tranzisztor egyszerűvé teheti az áramkört, mivel a PNP tranzisztor be van kapcsolva, amikor a bázisállomás LOW lesz. (A történet végén megmutatom az NPN verziót)
Mivel az NE555 LED villogó áramkörhöz 100K potenciométer tartozik, a piros LED BE/KI ideje szabadon állítható az igényeknek megfelelően.
2. lépés: PCB rajz készítése
Az INDICATOR működési sémájának magyarázatával kezdjük az áramkör létrehozását.
Mielőtt valamit forrasztana az univerzális táblán, a fent bemutatott NYÁK -rajz elkészítése hasznos a hibák minimalizálása érdekében.
A rajz a power-point használatával készül, hogy megkeressen minden alkatrészt az univerzális táblán, és kábelezési mintákat készítsen a vezetékes alkatrészek között.
Mivel az IC és a tranzisztor pin-out képei együtt vannak elhelyezve a NYÁK kábelezési mintájával, a forrasztás ezen rajz segítségével végezhető el.
3. lépés: Forrasztás
Bár az eredeti NYÁK -rajz nem egyetlen vezetéket használ az alkatrészek PCB -hez való csatlakoztatásához, némileg máshogy forrasztom.
Egyetlen vezeték (nem ónhuzal) használatával próbálom csökkenteni az univerzális NYÁK -méretet, amely INDICATOR áramkört tartalmaz.
De amint az a NYÁK forrasztási oldalán látható, ónhuzalt is használok a NYÁK -rajzon ábrázolt minták szerint.
Ha az egyes alkatrészeket a PCB rajz eredeti tervezése szerint csatlakoztatja, a befejezett NYÁK -lap forrasztása, beleértve az INDICATOR áramkört is, megfelelően fog működni.
4. lépés: A tesztelés előkészítése
Az RPI csatlakozás előtt a kész áramkört tesztelni kell.
Mivel forrasztási hibák is előfordulhatnak, az egyenáramú tápegységet a rövidzárlat vagy rossz bekötés esetén fellépő sérülések megelőzésére használják.
Az INDICATOR teszteléséhez két további tápkábelt kell csatlakoztatni az áramkör 5 V -os tápcsatlakozójához.
5. lépés: Tesztelés (a CPU hőmérséklete közepes)
Ha nincs 5V -os bemenet, akkor a 74LS139 dekódoló bemenet és az Y0 kimenet aktiválása LOW -ként (zöld LED világít).
De az 5V az A bemenetre vonatkozik, a 74LS139 Y1 kimenete aktiválódik (LOW).
Ezért a sárga LED a fenti képen látható módon világít.
6. lépés: Tesztelés (a CPU hűtési szintre van szüksége)
Amikor az 5V a 74LS139 mindkét bemenetét (A és B) alkalmazta, a 4. piros LED villog.
A villogási sebesség megváltoztatható a 100K VR beállításával, a fenti képen látható módon.
A tesztelés befejezése után két Molex 3 tűs női kábel eltávolítható.
7. lépés: Tápellátás az INDICATOR áramkörhöz
Az INDICATOR áramkör táplálásához szokásos kézi telefon töltőt használok, amely 5V kimenetet és B típusú USB adaptert használ, a fenti képen látható módon.
Hogy elkerülje az RPI -vel kapcsolatos problémákat a 3.3V GPIO és az 5V -os INDICATOR áramkör csatlakoztatásával, a jel interfész és a tápegység teljesen el vannak szigetelve.
8. lépés: RPI bekötés
Az INDICATOR áramkör RPI -vel való összekapcsolásához két GPIO -tűt és két földelőcsapot kell dedikálni.
Nincs külön követelmény a GPIO csapok kiválasztására.
Az INDICATOR csatlakoztatásához bármilyen GPIO tűt használhat.
De a vezetékes csapokat a 74LS139 (pl. A, B) bemenetének kell kijelölni a python programban.
9. lépés: Python program
Amint az áramkör befejeződött, az INDICATOR funkció használatához python program szükséges.
A program logikájáról részletesebben a fenti folyamatábrán olvashat.
#-*-kódolás: utf-8-*-
alfolyamat, jel, rendszer importálása
importálási idő, re
import RPi. GPIO g
A = 12
B = 16
g.setmode (g. BCM)
g.beállítás (A, g. OUT)
g.beállítás (B, g. OUT)
##
def signal_handler (sig, frame):
print ('Nyomtad a Ctrl+C!')
g. kimenet (A, hamis)
g. kimenet (B, hamis)
f. bezár ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_handler)
##
míg igaz:
f = open ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd meet_temp', shell = igaz)
temp_str = temp_str.decode (kódolás = 'UTF-8', hibák = 'szigorú')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# a CPU aktuális hőmérsékletének kinyerése
current_temp = lebegés (CPU_temp [0])
ha jelenlegi_temp> 30 és jelenlegi_temp <40:
# alacsony hőmérséklet A = 0, B = 0
g. kimenet (A, hamis)
g. kimenet (B, hamis)
time.sleep (5)
elif current_temp> = 40 és current_temp <45:
# hőmérsékleti közeg A = 0, B = 1
g. kimenet (A, hamis)
g. kimenet (B, igaz)
time.sleep (5)
elif current_temp> = 45 és current_temp <50:
# magas hőmérséklet A = 1, B = 0
g. output (A, True)
g. kimenet (B, hamis)
time.sleep (5)
elif current_temp> = 50:
# CPU hűtés szükséges magas A = 1, B = 1
g. output (A, True)
g. kimenet (B, igaz)
time.sleep (5)
current_time = time.time ()
formated_time = time.strftime ("%H:%M:%S", time.gmtime (aktuális_idő))
f.write (str (formated_time)+'\ t'+str (current_temp)+'\ n')
f. bezár ()
A python program fő funkciója az alábbi.
- Először a GPIO 12, 16 beállítása kimeneti portként
- A Ctrl+C megszakításkezelő meghatározása a naplófájl bezárásához és a GPIO 12, 16 kikapcsolásához
- Amikor végtelen ciklusba lép, nyissa meg a naplófájlt hozzáfűzési módként
- Olvassa le a CPU hőmérsékletét a „/opt/vc/bin/vcgencmd intézkedés_temp” parancs végrehajtásával
- Ha a hőmérséklet a 30 ~ 39 tartományban van, akkor a 00 jelzéssel kapcsolja be a zöld LED -et
- Ha a hőmérséklet a 40-44 tartományban van, akkor a 01 -es kimenettel kapcsolja be a sárga LED -et
- Ha a hőmérséklet 45 ~ 49 tartományban van, akkor 10 -es kimenettel kapcsolja be a piros LED -et
- Ha a hőmérséklet meghaladja az 50 -et, akkor a 11 -es kimeneten villogni kezd a piros LED
- Írjon időbélyegző és hőmérséklet adatokat a naplófájlba
10. lépés: MUTATÓ működése
Ha minden rendben van, láthatja, hogy minden LED bekapcsol vagy villog a CPU hőmérsékletének megfelelően.
Az aktuális hőmérséklet ellenőrzéséhez nem kell shell parancsot megadnia.
Miután összegyűjtötte az adatokat a naplófájlban, és a szöveges adatokat grafikonokká alakította az Excel segítségével, az eredmény a fenti képen látható.
Nagy terhelés esetén (két Midori böngésző futtatása és Youtube videó lejátszása) a CPU hőmérséklete 57,9 ° C -ra emelkedik.
11. lépés: Alternatív készítés (NPN tranzisztor használata) és további fejlesztés
Ez a korábbi INDICATOR projektpélda NPN tranzisztorok felhasználásával (2N3904 és BD139).
Amint láthatja, még egy IC (74HC04, Quad inverterek) szükséges az NPN tranzisztor meghajtásához, mivel a tranzisztor bekapcsolásához HIGH szintű feszültséget kell alkalmazni az NPN bázisára.
Összefoglalva, az NPN tranzisztor használata szükségtelenül bonyolítja az INDICATOR áramkört.
Ennek a projektnek a továbbfejlesztése érdekében hozzáadok hűtőventilátort a fenti képen látható módon, hogy az INDICATOR áramkört hasznosabbá tegyük.
Ajánlott:
Termokróm hőmérséklet és páratartalom kijelző - NYÁK verzió: 6 lépés (képekkel)
Termokróm hőmérséklet- és páratartalom -kijelző - NYÁK -verzió: Egy ideje a Thermochromic Temperature & Páratartalom kijelző, ahol egy 7 szegmenses kijelzőt építettem rézlemezekből, amelyeket peltier elemek fűtöttek/hűtöttek. A rézlemezeket termokróm fóliával borították, amely
Termokróm hőmérséklet és páratartalom kijelző: 10 lépés (képekkel)
Termokróm hőmérséklet- és páratartalom kijelző: Jó ideje dolgozom ezen a projekten. Az eredeti ötlet azután merült fel bennem, hogy egy munkahelyi TEC kontroller demonstrátort építettem egy vásárra. A TEC fűtési és hűtési képességeinek bemutatásához termokróm festéket használtunk, amely
Arduino 24 órás hőmérséklet páratartalom kijelző: 3 lépés (képekkel)
Arduino 24 órás hőmérséklet -páratartalom kijelző: A DHT11 nagyszerű érzékelő a kezdéshez. Olcsó és könnyen csatlakoztatható egy Arduino -hoz. Körülbelül 2% -os pontossággal jeleníti meg a hőmérsékletet és a páratartalmat, és ez az utasítás a Gameduino 3 -at használja grafikus kijelzőként, amely 24 órás előzményeket mutat
RGB hőmérséklet kijelző (XinaBox esetén): 5 lépés (képekkel)
RGB hőmérséklet -jelző (XinaBox -szal): Ez hivatalosan az első Instructables cikkem, ezért bevallom, hogy most használom ezt a lehetőséget, hogy kipróbáljam. Érezze át a platform működését, a teljes felhasználói élmény oldalát. De miközben ezt tettem, úgy gondoltam, hogy tudok
Hőmérséklet és páratartalom kijelző és adatgyűjtés Arduino -val és feldolgozás: 13 lépés (képekkel)
Hőmérséklet- és páratartalom -kijelzés és adatgyűjtés Arduino -val és feldolgozással: Intro: Ez egy olyan projekt, amely Arduino -táblát, érzékelőt (DHT11), Windows -számítógépet és Processing (ingyenes letölthető) programot használ a hőmérséklet-, páratartalom -adatok digitális és oszlopdiagram formát, megjeleníti az időt és a dátumot, és lefuttat egy visszaszámlálási időt