Mundarija:
- 1 -qadam: sxemalarni tayyorlash
- 2 -qadam: tenglikni chizish
- 3 -qadam: Lehimlash
- 4 -qadam: Testga tayyorgarlik
- 5 -qadam: Sinov (CPU harorati o'rtacha)
- 6 -qadam: Sinov (CPU sovutish darajasiga muhtoj)
- 7 -qadam: INDICATOR sxemasiga elektr ta'minoti
- 8 -qadam: RPI simlari
- 9 -qadam: Python dasturi
- 10 -qadam: Ko'rsatkichlar bilan ishlash
- 11 -qadam: muqobil ishlab chiqarish (NPN tranzistoridan foydalanish) va keyingi rivojlanish
Video: Raspberry Pi protsessorining harorat ko'rsatkichi: 11 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Ilgari men oddiy ahududu pi (bundan keyin RPI) ish holatining indikator sxemasini joriy qilgan edim.
Bu safar men boshsiz (monitorsiz) ishlaydigan RPI indikatori sxemasini tushuntiraman.
Yuqoridagi sxema CPU haroratini 4 xil darajaga ko'rsatadi, masalan:
- Yashil LED, CPU harorati 30 ~ 39 daraja oralig'ida yonadi
- Sariq LED harorati 40 dan 45 darajagacha ko'tarilganligini ko'rsatadi
Uchinchi qizil LED, CPU 46-49 darajaga qadar qizib ketishini ko'rsatadi
- Harorat 50 darajadan oshganda yana bir qizil LED yonadi
Yuqoridagi protsessorning harorat diapazoni - bu mening shaxsiy dizayn kontseptsiyam (Boshqa harorat diapazonlari ushbu sxemani boshqaruvchi python dasturining sinov shartlarini o'zgartirish orqali sozlanishi mumkin).
Ushbu sxemadan foydalanib, siz konsol terminalida tez -tez "vcgencmd tədbir_temp" buyrug'ini bajarishingiz shart emas.
Bu sxema protsessorning joriy haroratini doimiy va qulay tarzda xabardor qilishi kerak.
1 -qadam: sxemalarni tayyorlash
Siz faqat 4 ta LEDni faqat python kodlari yordamida boshqarishingiz mumkin bo'lsa -da, dasturning boshqaruv mantiqlari RPI yuklaydi va natijada protsessor harorati yanada oshadi, chunki siz doimo murakkab python kodini ishlatishingiz kerak.
Shunday qilib, men iloji boricha oddiy python kodining murakkabligini kamaytiraman va tashqi boshqaruv pallasida LEDni boshqarish mantig'ini yuklayman.
CPU harorat indikatori (bundan keyin INICATOR) sxemasi quyidagi asosiy qismlardan iborat.
-00-> LOW, 01-> Medium, 10-> High, 11-> Sovutish kerak bo'lgan harorat ma'lumotlarini olish uchun ikkita opto-ulagich RPI GPIO pinlariga ulangan.
-kirishlar (A, B) bo'yicha 74LS139 (yoki 74HC139, 2 dan 4 gacha dekoder va de-multipleksor) boshqaruv chiqishlari (Y0, Y1, Y2, Y3).
- Harorat 30 ~ 39 daraja ichida bo'lsa, python kodi 00 ni GPIO pinlariga chiqaradi. Shuning uchun, 74LS139 kirish ma'lumotlarini oladi 00 (A-> 0, B-> 0)
- 00 kiritilganda, Y0 chiqishi LOW bo'ladi. (Iltimos, 74LS139 haqiqat jadvaliga qarang)
- Y0 chiqishi LOW bo'lganda, u 2N3906 PNP tranzistorini faollashtiradi va natijada Yashil LED yonadi.
- Xuddi shunday, Y1 (01 -> CPU harorat muhiti) sariq LEDni va boshqalarni yoqadi
- Y3 LOW bo'lganda, DB140 BD140 PNP tranzistorining yuklanishi bo'lgan NE555 LED miltillovchi o'chiruvchi sxemasini faollashtiradi (bu 555 IC asosidagi LED chirog'i).
Ushbu sxemaning eng muhim komponenti 74LS139 bo'lib, u 2 raqamli kirishni 4 xil bitta chiqishga hal qiladi va quyidagi jadvalda ko'rsatilgan.
Kirish | Chiqish
G (yoqish) | 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 |
74LS139 chiqishi LOWga aylanganda, PNP tipidagi tranzistor umumiy sxemani soddalashtirishi mumkin, chunki PNP tranzistorining asosiy terminali LOW past bo'lganda. (Men ushbu hikoyaning oxirida NPN versiyasini ko'rsataman)
100K potentsiometr NE555 LED miltillovchi pallasida joylashganligi sababli, qizil LEDni yoqish/o'chirish vaqti ehtiyojlarga qarab erkin sozlanishi mumkin.
2 -qadam: tenglikni chizish
Ko'rsatkichning ishlash sxemasi tushuntirilgandek, biz sxemani tuzishni boshlaymiz.
Umumjahon taxtasida biror narsani lehimlashdan oldin, yuqorida ko'rsatilgan PCB chizig'ini tayyorlash xatolarni kamaytirishga yordam beradi.
Chizma power-point yordamida har bir qismni universal taxtada topadi va simli qismlar orasiga simlar yasaydi.
IC va tranzistorli pinli tasvirlar tenglikni simlari bilan birgalikda joylashtirilganligi sababli, lehimlash ushbu chizma yordamida amalga oshirilishi mumkin.
3 -qadam: Lehimlash
PCB -ning asl chizilgani PCB komponentlarini ulash uchun bitta simsiz ishlatilgan bo'lsa -da, men boshqacha tarzda lehimlayman.
Yagona sim o'tkazgichlardan (qalay simli emas) foydalanib, men INDICATOR sxemasini o'z ichiga olgan universal tenglikni hajmini kamaytirishga harakat qilaman.
Ammo siz PCB lehim tomonida ko'rib turganingizdek, men qalay simni ham PCB chizmasida ko'rsatilgan naqshlarga muvofiq ishlataman.
Har bir komponent PCB chizishining original dizayniga muvofiq ulanganda, lehim bilan to'ldirilgan tenglikni kartasi, shu jumladan INDICATOR sxemasi to'g'ri ishlaydi.
4 -qadam: Testga tayyorgarlik
RPI ulanishidan oldin tugallangan zanjir sinovni talab qiladi.
Lehimlashda har qanday xatolar bo'lishi mumkinligi sababli, qisqa tutashuv yoki noto'g'ri sim o'tkazilganda shikastlanishni oldini olish uchun shahar quvvat manbai ishlatiladi.
Indikatorni sinab ko'rish uchun 5V kuchlanishli elektr manbaiga ikkita qo'shimcha quvvat kabeli ulangan.
5 -qadam: Sinov (CPU harorati o'rtacha)
5V usuli qo'llanilmaganda, 74LS139 kodini dekodlash va Y0 chiqishini LOW (Yashil LED yoqilgan) sifatida faollashtirish.
Ammo 5V A kirishiga, Y1 chiqishiga 74LS139 faollashadi (LOW).
Shuning uchun, sariq LED yuqoridagi rasmda ko'rsatilgandek yonadi.
6 -qadam: Sinov (CPU sovutish darajasiga muhtoj)
5V 74LS139 ning ikkala kirishini (A va B) qo'llaganida, 4 -qizil LED miltillaydi.
Yonish tezligini yuqoridagi rasmda ko'rsatilgandek 100K VR ni sozlash orqali o'zgartirish mumkin.
Sinov tugagach, ikkita Molex 3 pinli ayol kabelini olib tashlash mumkin.
7 -qadam: INDICATOR sxemasiga elektr ta'minoti
INDICATOR zanjirini yoqish uchun men yuqoridagi rasmda ko'rsatilgandek 5V va USB tipidagi USB adapterli umumiy telefon zaryadlovchisini ishlataman.
3.3V GPIO va 5V quvvat indikatorini ulash orqali RPI bilan bog'liq muammolarni oldini olish uchun signal interfeysi va quvvat manbai bir -biridan to'liq ajratilgan.
8 -qadam: RPI simlari
INDICATOR sxemasini RPI bilan bog'lash uchun ikkita GPIO pinini ikkita tuproqli pin bilan ajratish kerak.
GPIO pinlarini tanlash uchun maxsus talablar yo'q.
INDICATOR -ni ulash uchun har qanday GPIO pinlaridan foydalanishingiz mumkin.
Ammo simli pinlar python dasturida 74LS139 (masalan, A, B) ga kirish sifatida belgilanishi kerak.
9 -qadam: Python dasturi
O'chirish tugagandan so'ng, INDICATOR funktsiyasidan foydalanish uchun python dasturini yaratish talab qilinadi.
Iltimos, dastur mantig'i haqida batafsil ma'lumot olish uchun yuqoridagi oqim jadvaliga qarang.
#-*-kodlash: utf-8-*-
subprocess, signal, sys import qilish
import vaqti, qayta
g sifatida RPi. GPIO -ni import qiling
A = 12
B = 16
g.setmode (g. BCM)
g. sozlash (A, g. OUT)
g. sozlash (B, g. OUT)
##
def signal_handler (sig, ramka):
chop etish ("Siz Ctrl+C tugmalarini bosgansiz!")
g. chiqish (A, noto'g'ri)
g. chiqish (B, noto'g'ri)
f.yaqin ()
sys.exit (0)
signal.signal (signal SIGINT, signal_handler)
##
rost bo'lsa:
f = ochiq ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd tədbir_temp', qobiq = To'g'ri)
temp_str = temp_str.decode (kodlash = 'UTF-8', xatolar = "qat'iy")
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# joriy CPU haroratini chiqarish
current_temp = float (CPU_temp [0])
agar current_temp> 30 va current_temp <40 bo'lsa:
# past harorat A = 0, B = 0
g. chiqish (A, noto'g'ri)
g. chiqish (B, noto'g'ri)
uyqu (5)
elif current_temp> = 40 va current_temp <45:
# haroratli muhit A = 0, B = 1
g. chiqish (A, noto'g'ri)
g. chiqish (B, rost)
uyqu (5)
elif current_temp> = 45 va current_temp <50:
# yuqori harorat A = 1, B = 0
g. chiqish (A, rost)
g. chiqish (B, noto'g'ri)
uyqu (5)
elif current_temp> = 50:
# CPU sovutish yuqori A = 1, B = 1 talab qilinadi
g. chiqish (A, rost)
g. chiqish (B, rost)
uyqu (5)
current_time = time.time ()
formatated_time = time.strftime ("%H:%M:%S", time.gmtime (current_time))
f.yozish (str (formatlangan_ vaqt)+'\ t'+str (joriy_temp)+'\ n')
f.yaqin ()
Python dasturining asosiy vazifasi quyida keltirilgan.
- Birinchidan, chiqish porti sifatida GPIO 12, 16 ni sozlash
- Jurnal faylini yopish va GPIO 12, 16 ni o'chirish uchun Ctrl+C uzilish ishlovchilarini aniqlash
- Cheksiz tsiklga kirganda, jurnal faylini qo'shish rejimi sifatida oching
- "/opt/vc/bin/vcgencmd ölçü_temp" buyrug'ini bajarish orqali CPU haroratini o'qing.
- Harorat 30 ~ 39 oralig'ida bo'lsa, Yashil LEDni yoqish uchun 00 ni chiqaring
- Harorat 40 ~ 44 oralig'ida bo'lsa, sariq LEDni yoqish uchun 01 -chi chiqish
- Harorat 45 ~ 49 oralig'ida bo'lsa, qizil LEDni yoqish uchun 10 -chi chiqish
- Harorat 50 dan yuqori bo'lsa, qizil chiroq yonib -o'chib turishi uchun 11 -chi chiqish
- Jurnalga vaqt belgisi va harorat ma'lumotlarini yozing
10 -qadam: Ko'rsatkichlar bilan ishlash
Hamma narsa tartibda bo'lganda, siz har bir LED yonayotganini yoki CPU haroratiga ko'ra miltillashini ko'rasiz.
Hozirgi haroratni tekshirish uchun shell buyrug'ini kiritish shart emas.
Jurnal faylidagi ma'lumotlarni yig'ib, Excel yordamida matnli ma'lumotlarni grafikga o'tkazgandan so'ng, yuqoridagi rasm ko'rsatiladi.
Yuqori yuklarni ishlatganda (ikkita Midori brauzerini ishga tushirish va Youtube -da video ijro etish), CPU harorati 57,9C gacha ko'tariladi.
11 -qadam: muqobil ishlab chiqarish (NPN tranzistoridan foydalanish) va keyingi rivojlanish
Bu NPN tranzistorlari (2N3904 va BD139) dan foydalanilgan INDICATOR loyihasining oldingi misoli.
Ko'rib turganingizdek, NPN tranzistorini haydash uchun yana bir IC (74HC04, Quad invertorlar) kerak, chunki tranzistorni yoqish uchun NPN bazasiga yuqori darajali kuchlanish qo'llanilishi kerak.
Xulosa qilib aytganda, NPN tranzistoridan foydalanish INDICATOR sxemasini tuzish uchun keraksiz murakkablikni qo'shadi.
Loyihani yanada rivojlantirish uchun INDICATOR sxemasini yanada foydali qilish uchun yuqoridagi rasmda ko'rsatilgan sovutish ventilyatorini qo'shaman.
Tavsiya:
Raspberry Pi sovutish foniy sovutgichi, harorat ko'rsatkichi bilan: 10 qadam (rasmlar bilan)
Raspberry Pi sovutgichli fanatlar qutisi CPU harorati indikatori bilan: Men oldingi loyihada malinali pi (bundan keyin RPI) protsessorining harorat indikatorini kiritgan edim. O'chirish faqat RPI 4 protsessorining har xil darajasini quyidagicha ko'rsatadi.- Yashil LED yoqilganda CPU harorati 30 ~
Termokromik harorat va namlik ko'rsatkichi - PCB versiyasi: 6 qadam (rasmlar bilan)
Termokromik harorat va namlik ko'rsatkichi - PCB versiyasi: Bir muncha vaqt oldin termokromik harorat deb nomlangan loyiha & Namlik displeyi, men mis plitalardan 7 qismli displey qurdim, ular peltier elementlari bilan isitiladi/soviydi. Mis plitalar termokromli folga bilan qoplangan, ular
Arduino tomonidan harorat va namlik ko'rsatkichi: 7 qadam (rasmlar bilan)
Arduino -ning harorat va namlik ko'rsatkichi: Ushbu yo'riqnomada Arduino -da harorat va namlikni ko'rsatadigan quti yasash ko'rsatiladi, siz xonangizdagi harorat va namlikni o'lchash uchun stol ustiga qo'yishingiz mumkin MDF qutisining yuqori sifati lazerli kesish orqali hamma narsa. siqilgan f
Termokromik harorat va namlik ko'rsatkichi: 10 qadam (rasmlar bilan)
Termokromik harorat va namlik ko'rsatkichi: Men bu loyihada ancha vaqt ishladim. Asl g'oya menga savdo yarmarkasi uchun ish joyida TEC nazoratchi ko'rsatgichini qurgandan keyin keldi. TEC -larning isitish va sovutish qobiliyatini ko'rsatish uchun biz termokromik bo'yoqlardan foydalanardik
RGB harorat ko'rsatkichi (XinaBox bilan): 5 qadam (rasmlar bilan)
RGB harorat indikatori (XinaBox bilan): Bu rasman mening Instructables maqolam, shuning uchun men bu imkoniyatni hozir sinab ko'rish uchun foydalanayotganimni tan olaman. Platformaning qanday ishlashini, uning butun foydalanuvchilar tajribasini bilib oling. Ammo men buni qilayotganda, men qila olaman deb o'yladim