Daftar Isi:

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

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

Video: Kipas yang Diatur PWM Berdasarkan Suhu CPU untuk Raspberry Pi: 4 Langkah (dengan Gambar)
Video: Raspberry Pi OS Fan Temperature Control [Howto 2021] 2024, Juli
Anonim
Kipas yang Diatur PWM Berdasarkan Suhu CPU untuk Raspberry Pi
Kipas yang Diatur PWM Berdasarkan Suhu CPU untuk Raspberry Pi

Banyak casing untuk Raspberry Pi dilengkapi dengan kipas 5V kecil untuk membantu mendinginkan CPU. Namun, kipas ini biasanya cukup berisik dan banyak orang memasangnya pada pin 3V3 untuk mengurangi kebisingan. Kipas ini biasanya memiliki nilai 200mA yang cukup tinggi untuk regulator 3V3 pada RPi. Proyek ini akan mengajari Anda cara mengatur kecepatan kipas berdasarkan suhu CPU. Tidak seperti kebanyakan tutorial yang membahas topik ini, kami tidak hanya menghidupkan atau mematikan kipas, tetapi juga akan mengontrol kecepatannya seperti yang dilakukan pada PC mainstream, menggunakan Python.

Langkah 1: Bagian yang Dibutuhkan

Untuk proyek ini, kami hanya akan menggunakan beberapa komponen yang biasanya disertakan dalam kit elektronik untuk penghobi yang dapat Anda temukan di Amazon, seperti ini.

  • Raspberry Pi menjalankan Raspbian (tetapi harus bekerja dengan distrib lain).
  • Kipas 5V (tetapi kipas 12V dapat digunakan dengan transistor yang disesuaikan dan catu daya 12V).
  • Transistor NPN yang mendukung minimal 300mA, seperti 2N2222A.
  • resistor 1K.
  • 1 dioda.

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

  • Sepotong kecil protoboard, untuk menyolder komponen.
  • Panas menyusut besar, untuk melindungi papan.

Langkah 2: Sambungan Listrik

Sambungan Listrik
Sambungan Listrik
Sambungan Listrik
Sambungan Listrik
Sambungan Listrik
Sambungan Listrik

Resistor dapat dicolokkan dengan cara apa pun, tetapi berhati-hatilah dengan arah transistor dan dioda. Katoda dioda harus terhubung ke kabel +5V (merah), dan anoda harus terhubung ke kabel GND (hitam). Periksa dokumen transistor Anda untuk pin Emitter, Base dan Collector. Ground Fan harus terhubung ke Collector, dan ground Rpi harus terhubung ke Emitter

Untuk mengendalikan kipas, kita perlu menggunakan transistor yang akan digunakan konfigurasi kolektor terbuka. Dengan melakukan ini, kami memiliki sakelar yang akan menghubungkan atau memutuskan kabel ground dari kipas ke ground raspberry pi.

Transistor NPN BJT berjalan tergantung pada arus yang mengalir di gerbangnya. Arus yang akan dibiarkan mengalir dari kolektor (C) ke emitor (E) adalah:

Ic = B * Ib

Ic adalah arus yang mengalir melalui kolektor-emitor, Ib adalah arus yang mengalir melalui basis ke emitor, dan B (beta) adalah nilai yang tergantung pada masing-masing transistor. Kami memperkirakan B = 100.

Karena kipas kami memiliki nilai 200mA, kami membutuhkan setidaknya 2mA melalui basis transistor. Tegangan antara basis dan emitor (Vbe) dianggap konstan dan Vbe = 0, 7V. Ini berarti bahwa ketika GPIO menyala, kami memiliki 3,3 - 0,7 = 2,6V pada resistor. Untuk memiliki 2mA melalui resistor itu, kita membutuhkan resistor, maksimum, 2,6 / 0,002 = 1300 ohm. Kami menggunakan resistor 1000 ohm untuk menyederhanakan dan menjaga margin kesalahan. Kami akan memiliki 2.6mA melalui pin GPIO yang benar-benar aman.

Karena kipas pada dasarnya adalah motor listrik, itu adalah muatan induktif. Ini berarti ketika transistor berhenti berjalan, arus di kipas akan terus mengalir karena muatan induktif mencoba menjaga arus tetap konstan. Ini akan menghasilkan tegangan tinggi pada pin ground kipas dan dapat merusak transistor. Oleh karena itu diperlukan dioda yang paralel dengan kipas yang akan membuat arus mengalir secara konstan melalui motor. Jenis pengaturan dioda ini disebut dioda Flywheel

Langkah 3: Program untuk Mengontrol Kecepatan Kipas

Untuk mengontrol kecepatan kipas, kami menggunakan sinyal PWM perangkat lunak dari perpustakaan RPi. GPIO. Sinyal PWM disesuaikan dengan baik untuk menggerakkan motor listrik, karena waktu reaksinya sangat tinggi dibandingkan dengan frekuensi PWM.

Gunakan program calib_fan.py untuk menemukan nilai FAN_MIN dengan menjalankan di terminal:

python kalib_fan.py

Periksa beberapa nilai antara 0 dan 100% (harus sekitar 20%) dan lihat berapa nilai minimum untuk menyalakan kipas Anda.

Anda dapat mengubah korespondensi antara suhu dan kecepatan kipas di awal kode. Harus ada tempSteps sebanyak nilai speedSteps. Ini adalah metode yang umumnya digunakan di motherboard PC, memindahkan titik pada grafik 2 sumbu Temp / Kecepatan.

Langkah 4: Jalankan Program saat Startup

Untuk menjalankan program secara otomatis saat startup, saya membuat skrip bash tempat saya meletakkan semua program yang ingin saya luncurkan, dan kemudian saya meluncurkan skrip bash ini saat startup dengan rc.locale

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

skrip launcher.sh:

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

Jika Anda ingin menggunakannya dengan OSMC misalnya, Anda harus memulainya sebagai layanan dengan systemd.

  1. Unduh file fanctrl.service.
  2. Periksa jalur ke file python Anda.
  3. Tempatkan fanctrl.service di /lib/systemd/system.
  4. Terakhir, aktifkan layanan dengan sudo systemctl enable fanctrl.service.

Cara ini lebih aman, karena program akan otomatis restart jika dimatikan oleh pengguna atau sistem.

Direkomendasikan: