Mundarija:

Raspberry Pi sovutish foniy sovutgichi, harorat ko'rsatkichi bilan: 10 qadam (rasmlar bilan)
Raspberry Pi sovutish foniy sovutgichi, harorat ko'rsatkichi bilan: 10 qadam (rasmlar bilan)

Video: Raspberry Pi sovutish foniy sovutgichi, harorat ko'rsatkichi bilan: 10 qadam (rasmlar bilan)

Video: Raspberry Pi sovutish foniy sovutgichi, harorat ko'rsatkichi bilan: 10 qadam (rasmlar bilan)
Video: Электрический или водяной полотенцесушитель? Что выбрать? Установка. #25 2024, Noyabr
Anonim
Raspberry Pi sovutish foniy qutisi, CPU harorat ko'rsatkichi bilan
Raspberry Pi sovutish foniy qutisi, CPU harorat ko'rsatkichi bilan

Men oldingi loyihada malina pi (bundan keyin RPI) protsessorining harorat ko'rsatkichi sxemasini joriy qilgan edim.

O'chirish RPI 4 protsessorining har xil haroratini quyidagicha ko'rsatadi.

- 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

***

Harorat 50 darajadan oshganda, RPI haddan tashqari kuchlanmasligi uchun har qanday yordam kerak bo'ladi.

Bir necha veb-sahifalarda ko'rgan ma'lumotlarga ko'ra, RPI ning maksimal ruxsat etilgan harorat darajasi haqida gapiradigan bo'lsak, fikrlar har xil, masalan, kimdir issiqlik qabul qilgich ishlatilganda 60C dan yuqori harorat hali ham yaxshi ekanligini aytadi.

Ammo mening shaxsiy tajribam shuni ko'rsatadiki, uzatish serveri (issiqlik qabul qilgich bilan RPI yordamida) sekinlashadi va nihoyat men bir necha soat yoqilganda zombi kabi harakat qilaman.

Shunday qilib, RPIning barqaror ishlashini qo'llab -quvvatlash uchun ushbu qo'shimcha sxema va sovutish FAN 50C ostida CPU haroratini tartibga solish uchun qo'shiladi.

***

Bundan tashqari, ilgari kiritilgan CPU harorat indikatori sxemasi (bundan buyon INDICATOR) konsol terminalida "vcgencmd o'lchov_temp" buyrug'ini bajarmasdan, qulay harorat darajasini tekshirishni qo'llab -quvvatlash uchun birlashtirilgan.

1 -qadam: sxemalarni tayyorlash

Sxemalarni tayyorlash
Sxemalarni tayyorlash

Oldingi ikkita loyihada men RPI va tashqi sxemalar o'rtasida elektr ta'minotining to'liq izolyatsiyasi haqida aytib o'tgan edim.

FANni sovutganda, mustaqil quvvat manbai juda muhim, chunki DC 5V FAN (dvigatel) nisbatan og'ir yuk va ish paytida juda shovqinli.

Shuning uchun, ushbu sxemani loyihalashda quyidagi fikrlarga e'tibor qaratiladi.

Opto-ulagichlar sovutish FAN faollashtirish signalini olish uchun RPI GPIO pin bilan bog'lanish uchun ishlatiladi

- RPI-dan quvvat olinmaydi va ushbu kontaktlarning zanglamaydigan manbai uchun umumiy telefon zaryadlovchisidan foydalaniladi.

- LED indikatori FANni sovutish haqida ma'lumot berish uchun ishlatiladi

- 5V o'rni sovutish FANini mexanik usulda faollashtirish uchun ishlatiladi

***

Bu sxema python dasturini boshqarish vositasida CPU harorat indikatori sxemasi (bundan buyon matnda INDICATOR) bilan ishlaydi.

Ko'rsatkich miltillay boshlaganda (harorat 50C dan yuqori), bu sovutish foniy davri ishlay boshlaydi.

2 -qadam: qismlarni tayyorlash

Boshqa oldingi loyihalar singari, quyida keltirilgan sovutish FAN sxemasini yaratish uchun juda keng tarqalgan komponentlar ishlatiladi.

- Opto-ulagich: PC817 (SHARP) x 1

- 2N3904 (NPN) x 1, BD139 (NPN) x 1

- TQ2-5V (Panasonic) 5V o'rni

- 1N4148 diodi

- Rezistorlar (1/4 Vatt): 220 ohm x 2 (oqim cheklovi), 2,2 K (tranzistorli o'tish) x 2

- LED x 1

- 5V sovutish FAN 200mA

- Umumjahon taxtasi 20 (V) dan 20 (H) gacha bo'lgan teshiklar (Siz har qanday o'lchamdagi universal taxtani sxemaga mos ravishda kesishingiz mumkin)

- Kalay sim (qalay simlardan foydalanish haqida batafsil ma'lumot olish uchun iltimos, mening "Raspberry Pi o'chirish ko'rsatkichi" loyihamga qarang)

- Kabel (qizil va ko'k umumiy bitta simli kabel)

- Har qanday qo'l telefon zaryadlovchi 220V kirish va 5V chiqishi (USB tip B ulagichi)

- pin boshi (3 pin) x 2

***

Sovutish FANining jismoniy o'lchami RPI tepasiga o'rnatiladigan darajada kichik bo'lishi kerak.

5V da ishlay oladigan va bir nechta mexanik kontaktga ega bo'lgan har qanday turdagi o'rni ishlatilishi mumkin.

3 -qadam: tenglikni chizish

PCB chizmasini yaratish
PCB chizmasini yaratish

Komponentlar soni kichik bo'lgani uchun, talab qilinadigan universal PCB kattaligi katta emas.

Iltimos, yuqoridagi rasmda ko'rsatilgandek, TQ2-5V pinli qutblanish sxemasiga e'tibor bering. (An'anaviy fikrlashdan farqli o'laroq, plyus/zaminning haqiqiy joylashuvi teskari tartibda joylashtirilgan)

Shaxsan menda teskari joylashuvi (boshqa o'rni mahsulotlari bilan taqqoslaganda) TQ2-5V polarlik pinlari tufayli lehimlashdan keyin kutilmagan muammo bor.

4 -qadam: Lehimlash

Lehimlash
Lehimlash

Zanjirning o'zi juda oddiy bo'lgani uchun, simlarning sxemasi unchalik murakkab emas.

Men PCB -ni vertikal yo'nalishda mahkamlash uchun "L" shaklidagi burchakni mahkamlayman.

Keyinchalik ko'rib turganingizdek, hamma narsani o'rnatadigan akril shassi biroz kichikroq.

Akril shassi PCB va boshqa kichik qismlar bilan gavjum bo'lganligi sababli, oyoq izini toraytirish kerak.

FAN ishini osongina aniqlash uchun LED old tomonda joylashgan.

5 -qadam: Sovutgich FAN HATni yasash va o'rnatish

Sovutgich FAN HAT
Sovutgich FAN HAT

Menimcha, universal PCB har xil maqsadlarda ishlatilishi mumkin bo'lgan juda foydali qismdir.

Sovutish foniy universal PCBga o'rnatiladi va murvat va yong'oqlar bilan o'rnatiladi va o'rnatiladi.

Havo oqimiga ruxsat berish uchun men PCB burg'ulash orqali katta teshik ochaman.

Bundan tashqari, o'tish kabellarini oson ulash uchun GIPO 40 pim maydoni tenglikni kesish orqali ochiladi.

6 -qadam: PCBlarni yig'ish

PCBlarni yig'ing
PCBlarni yig'ing

Yuqorida aytib o'tganimdek, men ikki xil sxemani bitta birlikda birlashtirishni rejalashtirgandim.

Ilgari ishlab chiqarilgan CPU harorat indikatori sxemasi yuqoridagi rasmda ko'rsatilgandek, yangi sovutish FAN sxemasi bilan birlashtirilgan.

Hammasi shaffof va kichik o'lchamdagi (15 sm G x 10 sm D) akril shassisga qadoqlangan.

Shassi maydonining yarmiga yaqini bo'sh va bo'sh bo'lsa -da, keyinchalik qolgan qismga qo'shimcha komponent joylashtiriladi.

7 -qadam: RPIni kontaktlarning zanglashiga olib ulash

O'chirish bilan RPI simlarini ulash
O'chirish bilan RPI simlarini ulash

Opto-ulagichlar yordamida ikkita davr RPI bilan izolyatsiya qilingan tarzda bog'langan.

Qo'lda ishlaydigan telefon zaryadlovchi qurilmasi kontaktlarning zanglashiga olib keladigan RPIdan hech qanday quvvat olinmaydi.

Keyinchalik siz qo'shimcha komponentlar akril korpusga ko'proq qo'shilsa, bunday izolyatsiya qilingan interfeys sxemasi juda yaxshi natija berishini bilib olasiz.

8 -qadam: Python dasturi barcha davrlarni boshqaradi

Python dasturi barcha davrlarni boshqaradi
Python dasturi barcha davrlarni boshqaradi

CPU harorat indikatorining manba kodidan faqat kichik kod qo'shilishi talab qilinadi.

Harorat 50C dan oshganda, FANni 10 soniya davomida yoqish va 3 soniyani o'chirishning yigirma (20) takrorlanishi boshlanadi.

FANning kichik dvigateli ish paytida maksimal 200mA tokni talab qiladi, shuning uchun qo'lda telefon zaryadlovchisini yuklamaslik uchun PWM (puls kengligi modulyatsiyasi) motorini faollashtirish usuli qo'llaniladi.

O'zgartirilgan manba kodi quyida ko'rsatilgan.

***

#-*-kodlash: utf-8-*-

##

subprocess, signal, sys import qilish

import vaqti, qayta

g sifatida RPi. GPIO -ni import qiling

##

A = 12

B = 16

FAN = 25

##

g.setmode (g. BCM)

g. sozlash (A, g. OUT)

g. sozlash (B, g. OUT)

g. sozlash (FAN, 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)

g. chiqish (FAN, 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 = 1, B = 0

g. chiqish (A, rost)

g. chiqish (B, noto'g'ri)

uyqu (5)

elif current_temp> = 45 va current_temp <50:

# yuqori harorat A = 0, B = 1

g. chiqish (A, noto'g'ri)

g. chiqish (B, rost)

uyqu (5)

elif current_temp> = 50:

# CPU sovutish yuqori A = 1, B = 1 talab qilinadi

g. chiqish (A, rost)

g. chiqish (B, rost)

i uchun (1, 20):

g. chiqish (FAN, rost)

uyqu (10)

g. chiqish (FAN, noto'g'ri)

uyqu (3)

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 ()

##

Ushbu python kodining ishlash mantig'i CPU harorati indikatori bilan deyarli o'xshash bo'lgani uchun men bu erda tafsilotlarni takrorlamayman.

9 -qadam: FAN sxemasining ishlashi

FAN sxemasining ishlashi
FAN sxemasining ishlashi

Grafikni ko'rib chiqsak, FAN sxemasi bo'lmagan harorat 50C dan yuqori.

RPI ishlayotganda, protsessorning o'rtacha harorati 40 ~ 47C atrofida.

Agar veb -brauzerda Youtube -ni o'ynash kabi tizimning og'ir yuklanishi qo'llanilsa, odatda harorat tez 60C ga ko'tariladi.

Ammo FAN pallasida sovutish FAN ishga tushishi bilan 5 soniya ichida harorat 50C dan past bo'ladi.

Natijada, siz kun bo'yi RPI-ni yoqishingiz va haddan tashqari qizib ketishidan xavotirlanmasdan o'zingiz yoqtirgan ishlarni bajarishingiz mumkin.

10 -qadam: keyingi rivojlanish

Keyingi rivojlanish
Keyingi rivojlanish

Ko'rib turganingizdek, akril shassisining yarmi bo'sh qoladi.

Men u erda qo'shimcha komponentlar qo'yaman va RPI qutisining asosiy blokini yanada foydali narsaga kengaytiraman.

Albatta, qo'shimcha qo'shilish biroz murakkablikni oshiradi.

Qanday bo'lmasin, men ushbu loyihada ikkita sxemani bitta qutiga birlashtiraman.

Ushbu hikoyani o'qiganingiz uchun tashakkur.

Tavsiya: