Daftar Isi:

Kontrol Suhu yang Tepat pada Raspberry Pi 4: 3 Langkah
Kontrol Suhu yang Tepat pada Raspberry Pi 4: 3 Langkah

Video: Kontrol Suhu yang Tepat pada Raspberry Pi 4: 3 Langkah

Video: Kontrol Suhu yang Tepat pada Raspberry Pi 4: 3 Langkah
Video: Apa itu Raspberry Pi? Kelebihan dan Kegunaannya 2024, November
Anonim
Kontrol Suhu yang Tepat pada Raspberry Pi 4
Kontrol Suhu yang Tepat pada Raspberry Pi 4

Pimoroni Fan Shim adalah solusi hebat untuk mengurangi suhu Pi Anda saat panas. Pembuatnya bahkan menyediakan perangkat lunak yang memicu kipas ketika suhu CPU naik di atas ambang batas tertentu (misalnya 65 derajat). Suhu dengan cepat berkurang di bawah ambang batas yang lebih rendah dan mematikan kipas. Ini bagus tetapi menyebabkan suhu naik dan turun di bawah beban sedang dan menciptakan suara kipas yang terdengar. Instruksi ini akan mengurangi kebisingan kipas saat memperbaiki suhu CPU ke nilai tertentu menggunakan sesuatu yang disebut pengontrol PID. Ambang batas yang lebih tinggi (misalnya 65 derajat) akan menghasilkan kipas yang jauh lebih tenang sementara ambang batas yang lebih rendah (misalnya 50 derajat) akan menghasilkan kipas yang lebih keras tetapi kontrol suhu yang lebih baik.

Contoh di atas menunjukkan hasil saya dari menjalankan pengontrol PID dan mengubah suhu target setiap 500 detik. Akurasinya +/- 1 derajat dengan beberapa overshoot pada perubahan suhu yang tiba-tiba.

Yang penting, tes ini dilakukan di bawah beban yang sama untuk total waktu tes (menonton BBC iPlayer).

Perlengkapan

  • Raspberry Pi 4
  • Pimoroni Fan Shim

Langkah 1: Siapkan Kipas Anda

Siapkan Kipas Anda
Siapkan Kipas Anda

Langkah pertama adalah mengatur kipas Anda. Tutorial Pimorini sangat bagus!

Kemudian buka terminal pada Pi Anda (ctrl alt t)

Dan instal kode yang disediakan oleh Pimoroni

git clone https://github.com/pimoroni/fanshim-pythoncd fanshim-python Sudo./install.sh

Langkah 2: Buat Pengontrol PI(D)

Buat Pengontrol PI(D)
Buat Pengontrol PI(D)

Kontroler Proportional Integral Derivative (PID) adalah sistem yang digunakan untuk mengontrol nilai proses tertentu (suhu CPU) dengan memanipulasi beberapa perangkat fisik (Kecepatan Kipas). Kita dapat memanipulasi 'kecepatan' dan kebisingan kipas dengan menyalakan dan mematikannya secara berkala (Pulse Wave Modulation). Lamanya waktu menyala dalam jangka waktu tertentu (misalnya 1 detik) menentukan seberapa cepat dan seberapa keras kipas tersebut (900ms = keras dan cepat, 100ms = tenang dan lambat). Kami akan menggunakan PID untuk memanipulasi kecepatan kipas dan dengan demikian mengontrol suhu.

Kita dapat membagi penggunaan PID menjadi beberapa langkah.

  1. Tentukan nilai variabel proses yang ingin Anda capai (misalnya suhu CPU = 55). Ini disebut setpoint Anda.
  2. Hitung kesalahan PID. Jika setpoint Anda adalah 55 derajat dan suhu sebenarnya adalah 60 derajat, kesalahan Anda adalah 5 derajat (Suhu - setpoint)
  3. Ubah waktu kipas sesuai dengan kesalahannya (Kesalahan besar menghasilkan perubahan besar pada kecepatan kipas, kesalahan kecil menyebabkan perubahan kecil pada kecepatan kipas).
  4. Sesuaikan kipas sesuai dengan nilai sebelumnya (Integral/jumlah semua kesalahan sebelumnya)
  5. Secara opsional Anda menyesuaikan kecepatan kipas berdasarkan tingkat perubahan kesalahan (turunan) tetapi kami tidak akan melakukannya di sini

Sekarang setelah Anda memiliki teori, jalankan kode di bawah ini di Thonny IDE (atau IDE python lainnya). Ubah nilai 'target' pada kode di bawah ini untuk mengubah suhu yang ingin Anda pertahankan Pi Anda. Saya telah menetapkan istilah 'P' dan 'I' pada nilai yang agak arbitrer. Jangan ragu untuk menyesuaikan ini jika tidak cocok untuk Anda. membuat 'P' lebih besar berarti pengontrol akan merespons kesalahan baru dengan cepat (tetapi mungkin tidak stabil). Mengubah 'I' akan menyebabkan pengontrol menimbang responsnya lebih banyak ke nilai masa lalu. Saya tidak akan mencoba membuat istilah ini terlalu besar karena mengubah kecepatan kipas dengan cepat tidak akan mengubah suhu dengan cepat. Juga, jika Anda melakukan pekerjaan yang sangat berat pada Pi Anda, Anda mungkin tidak mencapai suhu yang diinginkan (batas kipas masih berlaku).

dari fanshim impor FanShim

dari waktu impor tidur, waktu impor os impor matematika # Kembalikan suhu CPU sebagai string karakter def getCPUtemperature(): res = os.popen('vcgencmd measure_temp').readline() return(res.replace("temp=", " ").replace("'C\n", "")) fanshim = FanShim() target = 55 # suhu yang diinginkan (mainkan ini dan lihat apa yang terjadi) periode=1 # periode PWM pada=.1 # inisialisasi ke 0 % duty cycle off=period-on # inisialisasi ke 0% duty cycle P=.01 # proporsional Gain term (mainkan ini dan lihat apa yang terjadi) intErr=0 # integral error I=.0001 # istilah gain intergral (mainkan ini dan lihat apa yang terjadi) while True: # get temperaute temp=int(float(getCPUtemperature())) # hitung error and smooth err = temp-target # hitung integra lerror dan batasi intErr=intErr+err jika intErr>10: intErr =10 if intErr=period: on=period off=0 else: on=on off = periode-on # setel duty cycle minimum jika on<.09: on=.09 else: on=on # PWM pada pin fanshim if pada ==periode: fanshim.set_fan(True) sleep(on) else: fanshim.set_fan(True) s leep(on) fanshim.set_fan(False) sleep(off)

Langkah 3: Jalankan Control Script saat Startup

Jalankan Skrip Kontrol di Startup
Jalankan Skrip Kontrol di Startup

Anda dapat menjalankan skrip ini setiap kali Anda memulai pi atau Anda dapat memicunya secara otomatis saat reboot. Ini sangat mudah dilakukan dengan crontab.

  1. buka terminalnya
  2. ketik crontab-e ke terminal
  3. tambahkan baris kode berikut ke file '@reboot python /home/pi/bootScripts/fanControl.py &'
  4. keluar dan reboot

Saya meletakkan skrip (fanControl.py) di floder bernama bootScripts tetapi Anda bisa meletakkannya di mana saja, pastikan Anda menentukan jalur yang benar di crontab.

Semua selesai! Sekarang kipas Anda akan mengontrol suhu CPU Anda ke nilai tertentu, sambil meminimalkan suara bising yang dihasilkannya.

Direkomendasikan: