İçindekiler:

CPU Sıcaklık Göstergeli Raspberry Pi Soğutma FAN Kutusu: 10 Adım (Resimlerle)
CPU Sıcaklık Göstergeli Raspberry Pi Soğutma FAN Kutusu: 10 Adım (Resimlerle)

Video: CPU Sıcaklık Göstergeli Raspberry Pi Soğutma FAN Kutusu: 10 Adım (Resimlerle)

Video: CPU Sıcaklık Göstergeli Raspberry Pi Soğutma FAN Kutusu: 10 Adım (Resimlerle)
Video: Raspberry Pi Üzerinde Steam Oyunlarını Nasıl Oynarsınız? 2024, Kasım
Anonim
CPU Sıcaklık Göstergeli Ahududu Pi Soğutma FAN Kutusu
CPU Sıcaklık Göstergeli Ahududu Pi Soğutma FAN Kutusu

Bir önceki projede ahududu pi (Bundan sonra RPI olarak anılacaktır) CPU sıcaklık gösterge devresini tanıtmıştım.

Devre basitçe aşağıdaki gibi RPI 4 farklı CPU sıcaklık seviyesini gösteriyor.

- CPU sıcaklığı 30~39 derece arasında olduğunda yeşil LED yanar

- Sarı LED, sıcaklığın 40 ila 45 derece arasında arttığını gösterir

- 3. Kırmızı LED, CPU'nun 46 ~ 49 dereceye ulaşarak biraz ısındığını gösterir

- Sıcaklık 50 dereceden fazla olduğunda başka bir Kırmızı LED yanıp söner

***

Sıcaklık 50C'yi aştığında, küçük RPI'nin çok fazla vurgulanmaması için herhangi bir yardım gerekli olacaktır.

RPI'nin maksimum tolere edilebilir sıcaklık seviyesinden bahseden birkaç web sayfasında gördüğüm bilgilere göre, biri soğutucu kullanıldığında 60C'den daha fazlasının hala oldukça iyi olduğunu söylediği gibi görüşler farklı.

Ancak kişisel deneyimim, iletim sunucusunun (soğutucu ile RPI kullanarak) yavaşladığını ve birkaç saat boyunca açtığımda sonunda zombi gibi davrandığını farklı bir şey söylüyor.

Bu nedenle, RPI'nin kararlı çalışmasını desteklemek için CPU sıcaklığını 50C'nin altında düzenlemek için bu ek devre ve soğutma FAN'ı eklenir.

***

Ayrıca daha önce tanıtılan CPU sıcaklık gösterge devresi (Bundan sonra GÖSTERGE olarak anılacaktır), konsol terminalinde “vcgencmd Measure_temp” komutunu çalıştırmadan uygun sıcaklık seviyesi kontrolünü desteklemek için birlikte entegre edilmiştir.

Adım 1: Şemaların Hazırlanması

Şemaların Hazırlanması
Şemaların Hazırlanması

Daha önceki iki projemde, RPI ve harici devreler arasındaki güç kaynağının tam izolasyonundan bahsetmiştim.

Soğutma FAN'ı durumunda, DC 5V FAN(motor) nispeten ağır yük ve çalışma sırasında oldukça gürültülü olduğundan bağımsız güç kaynağı oldukça önemlidir.

Bu nedenle, bu devrenin tasarımı için aşağıdaki hususlar vurgulanmıştır.

- Opto-kuplörler, soğutma FAN aktivasyon sinyalini almak için RPI GPIO pini ile arayüz oluşturmak için kullanılır

- Bu devrenin güç kaynağı için RPI'dan güç çekilmiyor ve ortak el telefonu şarj cihazı kullanılıyor.

- Soğutma FAN çalışmasını bildirmek için LED göstergesi kullanılır

- Soğutma FAN'ını mekanik olarak aktif hale getirmek için 5V röle kullanılmaktadır.

***

Bu devre, python program kontrolü vasıtasıyla CPU sıcaklık gösterge devresi (Bundan sonra GÖSTERGE olarak anılacaktır) ile birlikte çalışacaktır.

GÖSTERGE yanıp sönmeye başladığında (sıcaklık 50C'yi geçtiğinde), bu soğutma FAN devresi çalışmaya başlayacaktır.

Adım 2: Parçaları Hazırlama

Diğer önceki projelerde olduğu gibi, aşağıda listelendiği gibi soğutma FAN devresi yapmak için çok yaygın bileşenler kullanılmaktadır.

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

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

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

- 1N4148 diyot

- Dirençler (1/4Watt): 220ohm x 2 (akım sınırlama), 2,2K (Transistör anahtarlama) x 2

- LED x 1

- 5V soğutma FAN 200mA

- Üniversal kart 20(W)'den fazla 20(H) delik boyutunda (Devreye uyacak şekilde herhangi bir boyuttaki evrensel kartı kesebilirsiniz)

- Kalay tel (Kalay tel kullanımı hakkında daha fazla ayrıntı için lütfen “Raspberry Pi kapatma göstergesi” proje ilanıma bakın)

- Kablo (kırmızı ve mavi ortak tek telli kablo)

- Herhangi bir el telefonu şarj cihazı 220V giriş ve 5V çıkış (USB B tipi konektör)

- Pim başı (3 pim) x 2

***

Soğutucu FAN'ın fiziksel boyutu, RPI'nin üstüne monte edilebilecek kadar küçük olmalıdır.

5V'ta çalışabildiğinde ve birden fazla mekanik kontağa sahip olduğunda her türlü röle kullanılabilir.

Adım 3: PCB Çizimi Yapma

PCB Çizimi Yapmak
PCB Çizimi Yapmak

Bileşen sayısı az olduğundan, gerekli evrensel PCB boyutu büyük değildir.

Lütfen yukarıdaki resimde gösterildiği gibi TQ2-5V'nin pin polarite düzenine dikkat edin. (Geleneksel düşüncenin aksine, gerçek artı/zemin düzeni ters düzenlenmiştir)

Şahsen ben lehimleme sonrası TQ2-5V'nin ters yerleştirilmiş (diğer röle ürünleriyle kıyaslandığında) polarite pinleri nedeniyle beklenmedik bir problem yaşıyorum.

Adım 4: Lehimleme

Lehimleme
Lehimleme

Devrenin kendisi oldukça basit olduğundan, kablolama düzeni çok karmaşık değildir.

PCB'yi dik yönde sabitlemek için “L” şeklindeki montaj braketini cıvatalıyorum.

Daha sonra göreceğiniz gibi, her şeyi monte eden akrilik şase biraz küçük.

Bu nedenle, akrilik şase PCB'ler ve diğer alt parçalarla çok kalabalık olduğundan, dar ayak izi gereklidir.

LED, FAN çalışmasının kolayca tanınması için ön tarafa yerleştirilmiştir.

Adım 5: Soğutma FAN ŞAPKASINI Yapma ve Monte Etme

Soğutucu FAN ŞAPKASI Yapımı ve Montajı
Soğutucu FAN ŞAPKASI Yapımı ve Montajı

Evrensel PCB'nin çeşitli kullanım amaçları için kullanılabilecek çok faydalı bir parça olduğunu varsayıyorum.

Soğutucu FAN, üniversal PCB üzerine monte edilir ve cıvata ve somunlarla monte edilir ve sabitlenir.

Hava akışını sağlamak için PCB'yi delerek büyük bir delik açıyorum.

Ayrıca jumper kabloların kolay takılması için PCB kesilerek GIPO 40 pin alanı açılır.

Adım 6: PCB'leri Birleştirin

PCB'leri birleştirin
PCB'leri birleştirin

Yukarıda bahsettiğim gibi iki farklı devreyi tek bir ünitede birleştirmeyi planladım.

Daha önce yapılan CPU sıcaklık gösterge devresi yukarıdaki resimde görüldüğü gibi yeni soğutma FAN devresi ile birleştirilmiştir., Her şey şeffaf ve küçük boyutlu (15cm G x 10cm D) akrilik kasada bir araya getirilmiştir.

Şasi alanının yaklaşık yarısı boş ve kullanılabilir olmasına rağmen, daha sonra kalan alana ek bileşen yerleştirilecektir.

Adım 7: Devrelerle RPI Kablolaması

Devrelerle Kablolama RPI
Devrelerle Kablolama RPI

İki devre, opto-kuplörler kullanılarak izole bir şekilde RPI ile birbirine bağlanır.

Ayrıca harici el telefonu şarj cihazı devrelere güç sağladığı için RPI'den güç çekilmez.

Daha sonra, akrilik şasiye daha fazla ek bileşenler entegre edildiğinde, bu tür bir yalıtılmış arayüz şemasının oldukça işe yaradığını anlayacaksınız.

Adım 8: Python Programı Tüm Devreleri Kontrol Edin

Python Programı Tüm Devreleri Kontrol Eder
Python Programı Tüm Devreleri Kontrol Eder

CPU sıcaklık göstergesi devresinin kaynak kodundan yalnızca küçük bir kod eklenmesi gerekir.

Sıcaklık 50C'yi aştığında, FAN'ı 10 saniye açma ve 3 saniye kapatma yirmi (20) yinelemesi başlar.

FAN'ın küçük motoru çalışırken maksimum 200mA akım gerektirdiğinden, daha az yük bindiren el telefonu şarjı için PWM (Pulse Width Modulation) tipi motor aktivasyon yöntemi kullanılmaktadır.

Değiştirilen kaynak kodu aşağıdaki gibidir.

***

#-*- kodlama:utf-8 -*-

##

içe aktarma alt işlemi, sinyal, sys

ithalat zamanı, yeniden

RPi. GPIO'yu g olarak içe aktar

##

bir = 12

B = 16

FAN = 25

##

g.setmode(g. BCM)

g.kurulum(A, g. OUT)

g.kurulum(B, g. OUT)

g.kurulum(FAN, g. OUT)

##

def sinyal_işleyici(sig, çerçeve):

print('Ctrl+C'ye bastınız!')

g.output(A, Yanlış)

g.output(B, Yanlış)

g.output(FAN, Yanlış)

f.kapat()

sistem.çıkış(0)

sinyal.sinyal(sinyal. SIGINT, sinyal_işleyici)

##

Doğru iken:

f = open('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output('/opt/vc/bin/vcgencmd Measure_temp', kabuk=Doğru)

temp_str = temp_str.decode(kodlama = 'UTF-8', hatalar = 'katı')

CPU_temp = yeniden.findall("\d+\.\d+", temp_str)

# mevcut CPU sıcaklığının çıkarılması

##

current_temp = kayan(CPU_temp[0])

current_temp > 30 ve current_temp < 40 ise:

# sıcaklık düşük A=0, B=0

g.output(A, Yanlış)

g.output(B, Yanlış)

zaman.uyku(5)

elif current_temp >= 40 ve current_temp < 45:

# sıcaklık ortamı A=1, B=0

g.output(A, Doğru)

g.output(B, Yanlış)

zaman.uyku(5)

elif current_temp >= 45 ve current_temp < 50:

# sıcaklık yüksek A=0, B=1

g.output(A, Yanlış)

g.output(B, Doğru)

zaman.uyku(5)

elif current_temp >= 50:

# CPU soğutması gerekli yüksek A=1, B=1

g.output(A, Doğru)

g.output(B, Doğru)

i aralığında (1, 20):

g.output(FAN, Doğru)

zaman.uyku(10)

g.output(FAN, Yanlış)

zaman.uyku(3)

geçerli_zaman = zaman.zaman()

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

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

f.kapat()

##

Bu python kodunun çalışma mantığı CPU sıcaklık indikatör devresi ile hemen hemen aynı olduğu için burada detayları tekrar etmeyeceğim.

Adım 9: FAN Devresinin Çalışması

FAN Devresi Çalışması
FAN Devresi Çalışması

Grafiğe bakıldığında FAN devresi olmadan sıcaklık 50C'yi aşıyor.

RPI çalışırken ortalama CPU sıcaklığı 40 ~ 47C civarında görünüyor.

Youtube'u web tarayıcısında oynatmak gibi ağır bir sistem yükü uygulanırsa, genellikle sıcaklık hızla 60C'ye kadar yükselir.

Ancak FAN devresi ile soğutma FAN'ın çalışması ile sıcaklık 5 saniye içinde 50C'nin altına düşecektir.

Sonuç olarak, gün boyu RPI'yi açabilir ve aşırı ısınma endişesi duymadan istediğiniz işi yapabilirsiniz.

Adım 10: Daha Fazla Geliştirme

Daha fazla gelişme
Daha fazla gelişme

Gördüğünüz gibi akrilik şasenin yarısı boş kalmış.

Oraya ek bileşenler koyacağım ve bu temel RPI kutusu bloğunu daha kullanışlı bir şeye genişleteceğim.

Tabii ki daha fazla ekleme, aynı zamanda biraz artan karmaşıklık anlamına gelir.

Neyse bu projede iki devreyi tek bir kutuya entegre ediyorum.

Bu hikayeyi okuduğunuz için teşekkürler.

Önerilen: