Mündəricat:

CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu: 10 Addım (Şəkillərlə)
CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu: 10 Addım (Şəkillərlə)

Video: CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu: 10 Addım (Şəkillərlə)

Video: CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu: 10 Addım (Şəkillərlə)
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #3 2024, Noyabr
Anonim
CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu
CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu

Əvvəlki layihədə moruq pi (bundan sonra RPI olaraq) CPU temperatur göstərici dövrəsini təqdim etmişdim.

Dövrə, RPI 4 fərqli CPU temperatur səviyyəsini aşağıdakı kimi göstərir.

- Yaşıl LED, CPU temperaturu 30 ~ 39 dərəcə olduqda yanır

- Sarı LED, temperaturun 40-45 dərəcə aralığında artdığını göstərir

- Üçüncü Qırmızı LED, CPU -nun 46 ~ 49 dərəcəyə çataraq bir qədər istiləşdiyini göstərir

- Temperatur 50 dərəcəni keçəndə başqa bir qırmızı LED yanıb -sönəcək

***

Temperatur 50C -dən yuxarı olduqda, kiçik RPI -nin çox gərginləşməməsi üçün hər hansı bir kömək lazım olacaq.

RPI-nin maksimum dözümlü temperatur səviyyəsindən bəhs edən bir neçə veb səhifədə gördüyüm məlumata görə, fikirlər müxtəlifdir, məsələn, kimsə istilik yuyucusu istifadə edildikdə hələ də 60C-dən çox yaxşı olduğunu qeyd edir.

Ancaq şəxsi təcrübəm fərqli bir şey deyir ki, ötürmə serveri (istilik qəbuledicisi ilə RPI istifadə edərək) yavaşlayır və nəhayət bir neçə saat açanda zombi kimi davranır.

Buna görə də, bu əlavə dövrə və soyutma FAN, RPI -nin sabit işləməsini dəstəkləmək üçün CPU temperaturunu 50C -nin altında tənzimləmək üçün əlavə olunur.

***

Həm də əvvəllər təqdim edilmiş CPU temperatur göstərici dövrəsi (bundan sonra İNDİKATOR olaraq) konsol terminalında "vcgencmd ölçü_temp" əmrini yerinə yetirmədən rahat temperatur səviyyəsi yoxlamasını dəstəkləmək üçün birlikdə birləşdirilmişdir.

Addım 1: sxemlərin hazırlanması

Sxemlərin hazırlanması
Sxemlərin hazırlanması

Əvvəlki iki layihədə, RPI və xarici sxemlər arasında enerji təchizatının tamamilə izolyasiyasından bəhs etmişdim.

FAN soyudulduqda, müstəqil enerji təchizatı olduqca vacibdir, çünki DC 5V FAN (mühərrik) nisbətən ağır yükdür və əməliyyat zamanı olduqca səs -küylüdür.

Buna görə də, bu dövrənin dizaynı üçün aşağıdakı mülahizələr vurğulanır.

- Opto-bağlayıcılar soyutma FAN aktivləşdirmə siqnalı almaq üçün RPI GPIO pin ilə əlaqə yaratmaq üçün istifadə olunur

- RPI-dən alınan enerji və bu dövrənin enerji mənbəyi üçün ümumi əl telefonu şarj cihazından istifadə edilmir.

- LED göstəricisi soyutma FAN işini məlumatlandırmaq üçün istifadə olunur

- 5V rölesi, soyutma FANını mexaniki olaraq aktivləşdirmək üçün istifadə olunur

***

Bu dövrə, python proqramı nəzarəti vasitəsi ilə CPU temperatur göstərici dövrəsi (bundan sonra İSTİFADƏÇİ) ilə işləyəcək.

Göstərici yanıb -sönməyə başladıqda (temperatur 50C -dən yuxarı), bu soyutma FAN dövrəsi işə başlayacaq.

Addım 2: Parçaların hazırlanması

Digər əvvəlki layihələr kimi, aşağıda sadalanan soyutma FAN dövrə etmək üçün çox ümumi komponentlər istifadə olunur.

- Opto-bağlayıcı: PC817 (SHARP) x 1

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

- TQ2-5V (Panasonic) 5V rölesi

- 1N4148 diod

- Rezistorlar (1/4Watt): 220ohm x 2 (cari məhdudiyyət), 2.2K (Transistor keçid) x 2

- LED x 1

- 5V soyutma FAN 200mA

- Universal lövhə 20 (H) ilə 20 (H) deşik ölçüsündən çoxdur (Hər hansı bir universal lövhəni dövrə uyğun olaraq kəsə bilərsiniz)

- Qalay teli (qalay məftilin istifadəsi haqqında daha ətraflı məlumat üçün "Raspberry Pi bağlama göstəricisi" layihəmə baxın)

- Kabel (qırmızı və mavi ümumi tək telli kabel)

- İstənilən əl telefon şarj cihazı 220V giriş və 5V çıxış (USB tip B konnektoru)

- Pin başı (3 sancaq) x 2

***

Soyutma FAN -ın fiziki ölçüsü RPI -nin üstünə quraşdırılacaq qədər kiçik olmalıdır.

5V -də işləyə bildiyi və birdən çox mexaniki kontağa malik olduğu zaman hər cür röle istifadə edilə bilər.

Addım 3: PCB Rəsminin Hazırlanması

PCB Rəsminin Hazırlanması
PCB Rəsminin Hazırlanması

Komponentlərin sayı az olduğundan, tələb olunan universal PCB ölçüsü böyük deyil.

Zəhmət olmasa yuxarıdakı şəkildə göstərildiyi kimi TQ2-5V pin polarite düzeni ilə maraqlanın. (Adi düşüncə tərzinin əksinə olaraq, faktiki artı/zəmin tərzi tərsinə düzülmüşdür)

Şəxsən TQ2-5V polarite sancaqlarının əksinə yerləşdiyi (digər röle məhsulları ilə müqayisə edərkən) səbəbiylə lehimləndikdən sonra gözlənilməz bir problemim var.

Addım 4: Lehimləmə

Lehimləmə
Lehimləmə

Dövrənin özü olduqca sadə olduğu üçün naqillərin quruluşu o qədər də mürəkkəb deyil.

PCB -ni dik istiqamətdə düzəltmək üçün "L" formalı montaj mötərizəsini boltlarla bağlayıram.

Daha sonra görə biləcəyiniz kimi, hər şeyi montaj edən akril şassi ölçüləri bir qədər kiçikdir.

Akril şassi PCB və digər alt hissələrlə çox sıx olduğu üçün dar ayaq izi lazımdır.

FAN işini asanlıqla tanımaq üçün LED ön tərəfdə yerləşir.

Addım 5: Soyuducu FAN ŞAPKASI hazırlamaq və quraşdırmaq

Soyuducu FAN Şapkasının Hazırlanması və Montajı
Soyuducu FAN Şapkasının Hazırlanması və Montajı

Düşünürəm ki, universal PCB müxtəlif istifadə məqsədləri üçün istifadə edilə bilən çox faydalı bir hissədir.

Soyuducu FAN universal PCB -yə quraşdırılır və boltlar və qoz -fındıqlarla bərkidilir.

Hava axını təmin etmək üçün PCB qazaraq böyük bir çuxur açıram.

Həm də keçid kabellərinin asan bağlanması üçün PCB kəsilərək GIPO 40 sancaqlar sahəsi açılır.

Addım 6: PCB -ləri yığın

PCB -ləri yığın
PCB -ləri yığın

Yuxarıda qeyd edildiyi kimi, iki fərqli dövrəni bir vahiddə birləşdirməyi planlaşdırdım.

Əvvəllər hazırlanmış CPU temperatur göstərici dövrəsi yuxarıdakı şəkildə göstərildiyi kimi yeni soyutma FAN dövrəsi ilə birləşdirilir., Hər şey şəffaf və kiçik ölçülü (15cm G x 10cm D) akril şassi ilə birlikdə yığılmışdır.

Şassi sahəsinin təxminən yarısı boş və əlçatan olsa da, sonradan qalan hissəyə əlavə komponent yerləşdiriləcək.

Addım 7: RPI -ni sxemlərlə bağlayın

Dövrlər ilə RPI naqilləri
Dövrlər ilə RPI naqilləri

Opto-kuplörlərdən istifadə edərək iki sxem RPI ilə təcrid olunmuş şəkildə bağlanır.

Xarici əl telefon şarj cihazı dövrələrə enerji verdiyinə görə RPI-dən heç bir güc alınmır.

Daha sonra əlavə komponentlər daha sonra akril şassisə daha çox inteqrasiya edildikdə, bu cür təcrid olunmuş interfeys sxeminin kifayət qədər ödənişli olduğunu biləcəksiniz.

Addım 8: Python Proqramı Bütün Dövrləri Nəzarət Edir

Python Proqramı Bütün Dövrləri Nəzarət Edir
Python Proqramı Bütün Dövrləri Nəzarət Edir

CPU temperatur göstərici dövrəsinin mənbə kodundan yalnız kiçik bir kod əlavə edilməsi tələb olunur.

Temperatur 50C -dən yuxarı olduqda, FAN -ı 10 saniyə açmaq və 3 saniyəni söndürmək üçün iyirmi (20) təkrarlama başlayır.

Kiçik FAN mühərriki işləyərkən maksimum 200mA cərəyan tələb etdiyi üçün daha az yüklənən əl telefon şarj cihazı üçün PWM (Pulse Width Modulation) tipli motor aktivləşdirmə üsulu istifadə olunur.

Dəyişdirilmiş mənbə kodu aşağıdakı kimidir.

***

#-*-kodlaşdırma: utf-8-*-

##

idxal alt prosesi, siqnal, sys

idxal vaxtı, yenidən

g kimi RPi. GPIO idxal edin

##

A = 12

B = 16

FAN = 25

##

g.setmode (g. BCM)

g. qurma (A, g. OUT)

g. qurma (B, g. Çıxdı)

g. qurma (FAN, g. OUT)

##

def signal_handler (siq, çərçivə):

çap et ('Ctrl+C düymələrinə basmısan!')

g. Çıxış (A, Yanlış)

g. Çıxış (B, Yanlış)

g. Çıxış (FAN, Yanlış)

f.close ()

sys.exit (0)

siqnal.siqnal (siqnal. SIGINT, signal_handler)

##

Doğru halda:

f = açıq ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd tədbir_temp', shell = Doğru)

temp_str = temp_str.decode (kodlaşdırma = 'UTF-8', səhvlər = 'ciddi')

CPU_temp = re.findall ("\ d+\. / D+", temp_str)

# cari CPU istiliyinin çıxarılması

##

current_temp = float (CPU_temp [0])

current_temp> 30 və current_temp <40 olarsa:

# temperatur aşağı A = 0, B = 0

g. Çıxış (A, Yanlış)

g. Çıxış (B, Yanlış)

vaxt.yuxu (5)

elif current_temp> = 40 və current_temp <45:

# temperatur mühiti A = 1, B = 0

g. Çıxış (A, Doğru)

g. Çıxış (B, Yanlış)

vaxt.yuxu (5)

elif current_temp> = 45 və current_temp <50:

# yüksək temperatur A = 0, B = 1

g. Çıxış (A, Yanlış)

g. Çıxış (B, Doğru)

vaxt.yuxu (5)

elif current_temp> = 50:

# CPU soyutma yüksək A = 1, B = 1 tələb olunur

g. Çıxış (A, Doğru)

g. Çıxış (B, Doğru)

i üçündür (1, 20):

g. Çıxış (FAN, Doğru)

vaxt.yuxu (10)

g. Çıxış (FAN, Yanlış)

vaxt.yuxu (3)

cari_vaxt = vaxt.vaxt ()

formatated_time = time.strftime ("%H:%M:%S", time.gmtime (current_time))

f. yazın (str (formated_time)+'\ t'+str (current_temp)+'\ n')

f.close ()

##

Bu python kodunun işləmə məntiqi, CPU temperatur göstəricisi dövrəsi ilə demək olar ki, oxşar olduğu üçün burada detalları təkrarlamayacağam.

Addım 9: FAN Dövrə Əməliyyatı

FAN Dövrə Əməliyyatı
FAN Dövrə Əməliyyatı

Qrafikə baxanda, FAN dövrəsi olmadan 50C -dən yuxarı olan temperatur.

RPI işləyərkən CPU -nun orta temperaturu 40 ~ 47C civarında görünür.

Veb brauzerdə Youtube oynamaq kimi ağır sistem yükü tətbiq olunarsa, ümumiyyətlə temperatur 60C -ə qədər sürətlə yüksəlir.

Ancaq FAN dövrəsi ilə, soyutma FAN -ın işə salınması ilə 5 saniyə ərzində temperatur 50C -dən aşağı düşəcək.

Nəticədə, bütün gün RPI-ni yandıra bilərsiniz və həddindən artıq istiləşmədən narahat olmadan istədiyiniz işləri edə bilərsiniz.

Addım 10: Əlavə İnkişaf

Əlavə İnkişaf
Əlavə İnkişaf

Gördüyünüz kimi, akril şassinin yarısı boş qalır.

Orada əlavə komponentlər qoyacağam və bu əsas RPI qutusunu daha faydalı bir şeyə genişləndirəcəyəm.

Əlbəttə ki, daha çox əlavə etmək bir az da artan mürəkkəblik deməkdir.

Hər halda, bu proyektdə iki dövrəni bir qutuya birləşdirirəm.

Bu hekayəni oxuduğunuz üçün təşəkkürlər.

Tövsiyə: