Isi kandungan:

Kipas Teratur PWM Berdasarkan Suhu CPU untuk Raspberry Pi: 4 Langkah (dengan Gambar)
Kipas Teratur PWM Berdasarkan Suhu CPU untuk Raspberry Pi: 4 Langkah (dengan Gambar)

Video: Kipas Teratur PWM Berdasarkan Suhu CPU untuk Raspberry Pi: 4 Langkah (dengan Gambar)

Video: Kipas Teratur PWM Berdasarkan Suhu CPU untuk Raspberry Pi: 4 Langkah (dengan Gambar)
Video: Mikrokontroler 102 - Istilah & Arsitektur UC - Unesa D4 Teknik Listrik 2021 2024, November
Anonim
Kipas Teratur PWM Berdasarkan Suhu CPU untuk Raspberry Pi
Kipas Teratur PWM Berdasarkan Suhu CPU untuk Raspberry Pi

Banyak kes untuk Raspberry Pi dilengkapi dengan kipas 5V kecil untuk membantu menyejukkan CPU. Walau bagaimanapun, peminat ini biasanya agak bising dan banyak orang memasangkannya pada pin 3V3 untuk mengurangkan bunyi. Peminat ini biasanya dinilai untuk 200mA yang cukup tinggi untuk pengatur 3V3 pada RPi. Projek ini akan mengajar anda cara mengatur kelajuan kipas berdasarkan suhu CPU. Tidak seperti kebanyakan tutorial yang merangkumi subjek ini, kita tidak hanya akan menghidupkan atau mematikan kipas, tetapi juga akan mengawal kelajuannya seperti yang dilakukan pada PC arus perdana, menggunakan Python.

Langkah 1: Bahagian Diperlukan

Untuk projek ini, kami hanya akan menggunakan beberapa komponen yang biasanya disertakan dalam kit elektronik untuk peminat yang anda dapati di Amazon, seperti yang ini.

  • Raspberry Pi menjalankan Raspbian (tetapi harus berfungsi dengan pengedar lain).
  • Kipas 5V (tetapi kipas 12V dapat digunakan dengan transistor yang disesuaikan dan bekalan kuasa 12V).
  • Transistor NPN yang menyokong sekurang-kurangnya 300mA, seperti 2N2222A.
  • Perintang 1K.
  • 1 diod.

Pilihan, untuk meletakkan komponen di dalam casing (tetapi belum selesai):

  • Sedikit kepingan protoboard, untuk menyolder komponennya.
  • Pengecutan panas yang besar, untuk melindungi papan.

Langkah 2: Sambungan Elektrik

Sambungan Elektrik
Sambungan Elektrik
Sambungan Elektrik
Sambungan Elektrik
Sambungan Elektrik
Sambungan Elektrik

Perintang boleh dipasang dengan cara apa pun, tetapi berhati-hati dengan arah transistor dan diod. Katod Diod mesti disambungkan ke wayar + 5V (merah), dan anod mesti disambungkan ke wayar GND (hitam). Periksa dokumen transistor anda untuk pin Pemancar, Pangkalan dan Pemungut. Tanah kipas mesti disambungkan ke Pemungut, dan tanah Rpi mesti dihubungkan ke Emitter

Untuk mengawal kipas, kita perlu menggunakan transistor yang akan digunakan dalam konfigurasi pemungut terbuka. Dengan melakukan ini, kita mempunyai suis yang akan menyambungkan atau memutuskan wayar arde dari kipas ke tanah pi raspberry.

Transistor NPN BJT dijalankan bergantung pada arus yang mengalir di pintu gerbangnya. Arus yang akan dibenarkan mengalir dari pemungut (C) ke pemancar (E) adalah:

Ic = B * Ib

Ic adalah arus yang mengalir melalui pemungut pemancar, Ib adalah arus yang mengalir melalui dasar ke pemancar, dan B (beta) adalah nilai bergantung pada setiap transistor. Kami mengira B = 100.

Oleh kerana kipas kami dinilai sebagai 200mA, kami memerlukan sekurang-kurangnya 2mA melalui dasar transistor. Ketegangan antara dasar dan pemancar (Vbe) dianggap berterusan dan Vbe = 0, 7V. Ini bermaksud apabila GPIO dihidupkan, kita mempunyai 3.3 - 0.7 = 2.6V pada perintang. Untuk mempunyai 2mA melalui perintang itu, kita memerlukan perintang maksimum, 2.6 / 0.002 = 1300 ohm. Kami menggunakan perintang 1000 ohm untuk mempermudah dan mengekalkan margin kesalahan. Kami akan mempunyai 2.6mA melalui pin GPIO yang benar-benar selamat.

Sebagai kipas pada dasarnya motor elektrik, ia adalah muatan induktif. Ini bermaksud apabila transistor berhenti melakukan, arus di kipas akan terus mengalir ketika cas induktif cuba mengekalkan arus tetap. Ini akan mengakibatkan voltan tinggi pada pin ground kipas dan boleh merosakkan transistor. Itulah sebabnya kita memerlukan diod selari dengan kipas yang akan membuat arus terus mengalir melalui motor. Jenis penyediaan diod ini dipanggil diod Flywheel

Langkah 3: Program untuk Mengawal Kelajuan Kipas

Untuk mengawal kelajuan kipas, kami menggunakan isyarat PWM perisian dari perpustakaan RPi. GPIO. Isyarat PWM disesuaikan dengan baik untuk menggerakkan motor elektrik, kerana masa reaksi mereka sangat tinggi berbanding dengan frekuensi PWM.

Gunakan program calib_fan.py untuk mencari nilai FAN_MIN dengan berjalan di terminal:

python calib_fan.py

Periksa beberapa nilai antara 0 dan 100% (seharusnya sekitar 20%) dan lihat berapa nilai minimum untuk menghidupkan peminat anda.

Anda boleh menukar korespondensi antara suhu dan kelajuan kipas pada awal kod. Harus ada tempsteps sebanyak nilai speedSteps. Ini adalah kaedah yang biasanya digunakan pada papan induk PC, titik bergerak pada graf 2-paksi Temp / Speed.

Langkah 4: Jalankan Program pada Permulaan

Untuk menjalankan program secara automatik pada permulaan, saya membuat skrip bash di mana saya meletakkan semua program yang ingin saya lancarkan, dan kemudian saya melancarkan skrip bash ini pada permulaan dengan rc.locale

  1. Buat direktori / home / pi / Skrip / dan letakkan fail fan_ctrl.py di dalam direktori tersebut.
  2. Di direktori yang sama, buat fail bernama launcher.sh dan salin skrip di bawah ini.
  3. Edit fail /etc/rc.locale dan tambahkan baris baru sebelum "keluar 0": sudo sh '/home/pi/Scripts/launcher.sh'

skrip launcher.sh:

#! / bin / sh # launcher.sh # arahkan ke direktori rumah, kemudian ke direktori ini, kemudian jalankan skrip python, kemudian kembali homelocalecd / cd / home / pi / Scripts / sudo python3./fan_ctrl.py & cd /

Sekiranya anda ingin menggunakannya dengan OSMC misalnya, anda perlu memulakannya sebagai perkhidmatan dengan systemd.

  1. Muat turun fail perkhidmatan fanctrl.service.
  2. Periksa jalan ke fail python anda.
  3. Letakkan fanctrl.service di / lib / systemd / system.
  4. Akhirnya, aktifkan perkhidmatan dengan sudo systemctl aktifkan fanctrl.service.

Kaedah ini lebih selamat, kerana program akan dimulakan semula secara automatik jika dibunuh oleh pengguna atau sistem.

Disyorkan: