İçindekiler:
- Adım 1: Gerekli Parçalar
- Adım 2: Elektrik Bağlantıları
- Adım 3: Fan Hızını Kontrol Eden Program
- Adım 4: Programı Başlangıçta Çalıştırın
Video: Raspberry Pi için CPU Sıcaklığına Göre PWM Ayarlı Fan: 4 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Raspberry Pi için birçok kasa, CPU'yu soğutmaya yardımcı olmak için küçük bir 5V fan ile birlikte gelir. Ancak, bu fanlar genellikle oldukça gürültülüdür ve çoğu kişi gürültüyü azaltmak için 3V3 pinine takar. Bu fanlar genellikle RPi'deki 3V3 regülatör için oldukça yüksek olan 200mA için derecelendirilir. Bu proje size fan hızını CPU sıcaklığına göre nasıl düzenleyeceğinizi öğretecek. Bu konuyu kapsayan öğreticilerin çoğunun aksine, fanı yalnızca açıp kapatmayacağız, aynı zamanda Python kullanarak ana bilgisayardaki gibi hızını da kontrol edeceğiz.
Adım 1: Gerekli Parçalar
Bu proje için, bunun gibi Amazon'da bulabileceğiniz hobi için genellikle elektronik kitlerinde bulunan yalnızca birkaç bileşeni kullanacağız.
- Raspberry Pi, Raspbian çalıştırıyor (ancak diğer dağıtımlarla çalışmalı).
- 5V Fan (ancak uyarlanmış bir transistör ve 12V güç kaynağı ile 12V fan kullanılabilir).
- 2N2222A gibi en az 300mA'yı destekleyen NPN transistörü.
- 1K direnç.
- 1 diyot.
Bileşenleri kasanın içine yerleştirmek için isteğe bağlı (ancak henüz yapılmadı):
- Bileşenleri lehimlemek için küçük bir protokol parçası.
- Tahtayı korumak için büyük ısı büzüşmeli.
Adım 2: Elektrik Bağlantıları
Direnç her iki şekilde de takılabilir, ancak transistör ve diyotun yönüne dikkat edin. Diyotun katodu +5V (kırmızı) kablosuna, anot ise GND (siyah) kablosuna bağlanmalıdır. Verici, Taban ve Toplayıcı pimleri için transistör belgenizi kontrol edin. Fanın toprağı Kollektöre, Rpi'nin toprağı ise Vericiye bağlı olmalıdır
Fanı kontrol etmek için açık kollektör konfigürasyonunda kullanılacak bir transistör kullanmamız gerekiyor. Bunu yaparak, topraklama kablosunu fandan ahududu pi'nin toprağına bağlayacak veya bağlantısını kesecek bir anahtarımız var.
Bir NPN BJT transistörü, kapısında akan akıma bağlı olarak iletir. Kollektörden (C) emitere (E) geçmesine izin verilecek akım:
Ic = B * Ib
Ic, emiterden kollektörden geçen akımdır, Ib, tabandan emitere akan akımdır ve B (beta) her transistöre bağlı bir değerdir. B = 100'e yaklaşıyoruz.
Fanımız 200mA olarak derecelendirildiği için transistörün tabanından en az 2mA'ya ihtiyacımız var. Taban ve emitör (Vbe) arasındaki gerilim sabit kabul edilir ve Vbe = 0, 7V. Bu, GPIO açıkken dirençte 3,3 - 0,7 = 2,6V olduğu anlamına gelir. Bu dirençten 2mA'ya sahip olmak için maksimum 2,6 / 0,002 = 1300 ohm'luk bir dirence ihtiyacımız var. Basitleştirmek ve hata payını korumak için 1000 ohm'luk bir direnç kullanıyoruz. Tamamen güvenli olan GPIO pininden 2.6mA'ya sahip olacağız.
Bir fan temelde bir elektrik motoru olduğundan, endüktif bir yüktür. Bu, transistör iletimi durdurduğunda, endüktif yük akımı sabit tutmaya çalışırken fandaki akımın akmaya devam edeceği anlamına gelir. Bu, fanın topraklama piminde yüksek voltaj oluşmasına neden olur ve transistöre zarar verebilir. Bu yüzden akımın motordan sürekli akmasını sağlayacak fana paralel bir diyot ihtiyacımız var. Bu tip diyot kurulumuna Volan diyot denir.
Adım 3: Fan Hızını Kontrol Eden Program
Fan hızını kontrol etmek için RPi. GPIO kitaplığından bir yazılım PWM sinyali kullanıyoruz. Bir PWM Sinyali, PWM frekansına kıyasla tepki süreleri çok yüksek olduğundan, elektrik motorlarını sürmek için iyi bir şekilde uyarlanmıştır.
Terminalde çalıştırarak FAN_MIN değerini bulmak için calib_fan.py programını kullanın:
python calib_fan.py
0 ile %100 arasında birkaç değeri kontrol edin (%20 civarında olmalıdır) ve fanınızın açılması için minimum değerin ne olduğunu görün.
Kodun başında sıcaklık ve fan hızı arasındaki uyumu değiştirebilirsiniz. speedSteps değerleri kadar tempStep olmalıdır. Bu, genellikle PC anakartlarında kullanılan, noktaları Temp / Speed 2 eksenli bir grafik üzerinde hareket ettiren yöntemdir.
Adım 4: Programı Başlangıçta Çalıştırın
Programı başlangıçta otomatik olarak çalıştırmak için başlatmak istediğim tüm programları koyduğum bir bash betiği yaptım ve ardından bu bash betiğini başlangıçta rc.locale ile başlatıyorum
- Bir /home/pi/Scripts/ dizini oluşturun ve fan_ctrl.py dosyasını bu dizinin içine yerleştirin.
- Aynı dizinde launcher.sh adında bir dosya oluşturun ve aşağıdaki betiği kopyalayın.
- /etc/rc.locale dosyasını düzenleyin ve "çıkış 0"dan önce yeni bir satır ekleyin: sudo sh '/home/pi/Scripts/launcher.sh'
launcher.sh komut dosyası:
#!/bin/sh#launcher.sh # ana dizine, ardından bu dizine gidin, ardından python betiğini çalıştırın, ardından homelocalecd /cd /home/pi/Scripts/sudo python3./fan_ctrl.py &cd /
Örneğin OSMC ile kullanmak istiyorsanız, systemd ile bir hizmet olarak başlatmanız gerekir.
- fanctrl.service dosyasını indirin.
- Python dosyanızın yolunu kontrol edin.
- fanctrl.service dosyasını /lib/systemd/system içine yerleştirin.
- Son olarak, hizmeti sudo systemctl enable fanctrl.service ile etkinleştirin.
Kullanıcı veya sistem tarafından öldürülürse program otomatik olarak yeniden başlatılacağından bu yöntem daha güvenlidir.
Önerilen:
Manuel ve 7 Ön Ayarlı Şarkılı Arduino Piyano: 7 Adım
Manuel ve 7 Ön Ayarlı Şarkılı Arduino Piyano: LCD ile arayüz oluşturan Arduino Piyano Klavyesi 2 moda sahiptir.Manuel Mod & Ön ayar modu. Basit bir 7 tuşlu piyano için 7 Basmalı Düğme ve 7 ön ayarlı şarkıya geçmek için Kurulum Modu için 1 düğme kullandım. Ön ayar modu şarkıları: Kurulum modu düğmesini tıklayın fi
Atmosfer Basıncına Göre Altimetre (Rakım Ölçer): 7 Adım (Resimli)
Altimetre (rakım Ölçer) Atmosfer Basıncına Göre: [Düzenle]; Manüel olarak temel yükseklik girişi ile adım 6'daki sürüm 2'ye bakın. Bu, Arduino Nano ve Bosch BMP180 atmosferik basınç sensörüne dayalı bir Altimetrenin (Rakım Ölçer) yapı açıklamasıdır. Tasarım basittir ancak ölçümler
Mood Speaker - Ortam Sıcaklığına Göre Mood Müziğinin Çalınması için Güçlü Bir Hoparlör: 9 Adım
Mood Speaker - Ortam Sıcaklığına Göre Mood Müziğinin Çalınması için Güçlü Bir Hoparlör: Merhaba! MCT Howest Kortrijk'teki okul projem için bir Mood Speaker yaptım bu, farklı sensörlere, bir LCD'ye ve WS2812b'ye sahip akıllı bir Bluetooth hoparlör cihazıdır. led şerit dahildir. Hoparlör, sıcaklığa bağlı olarak arka plan müziği çalar ancak
Gerçek Zamanlı Hız Ayarlı Bisiklet Simülatörü: 5 Adım
Gerçek Zamanlı Hız Ayarlı Bisiklet Simülatörü: Bu proje, bir hız göstergesi oluşturmak ve YouTube veya diğer medyadaki birinci şahıs bisiklet videolarının video hızını kontrol etmek için manyetik bir kamış anahtarı kullanır. Arduino, mph'yi hesaplar ve ardından bu bilgiyi bir bilgisayar düğmesine basılmasını simüle etmek için kullanır.
Röle Çıkışlı Programlanabilir Döngüsel Ayarlı Açma-Kapama Zamanlayıcısı: 4 Adım
Röle Çıkışlı Programlanabilir Döngüsel Ayarlı Açma-Kapama Zamanlayıcısı: Bu proje döngüsel açma-kapama programlanabilir zamanlayıcı oluşturmaktır. Bu projede kullanıcı, tuşları ve 7 segmentli ekranı kullanarak ON timer ve Off zamanını ayarlayabilir. Çıkış olarak röle verilir, burada röle AÇIK süre boyunca AÇIK kalır ve AÇIK kaldıktan sonra KAPALI duruma gelir