Daftar Isi:
- Perlengkapan
- Langkah 1: Siapkan Kipas Anda
- Langkah 2: Buat Pengontrol PI(D)
- Langkah 3: Jalankan Control Script saat Startup
Video: Kontrol Suhu yang Tepat pada Raspberry Pi 4: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
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
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)
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.
- Tentukan nilai variabel proses yang ingin Anda capai (misalnya suhu CPU = 55). Ini disebut setpoint Anda.
- Hitung kesalahan PID. Jika setpoint Anda adalah 55 derajat dan suhu sebenarnya adalah 60 derajat, kesalahan Anda adalah 5 derajat (Suhu - setpoint)
- Ubah waktu kipas sesuai dengan kesalahannya (Kesalahan besar menghasilkan perubahan besar pada kecepatan kipas, kesalahan kecil menyebabkan perubahan kecil pada kecepatan kipas).
- Sesuaikan kipas sesuai dengan nilai sebelumnya (Integral/jumlah semua kesalahan sebelumnya)
- 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
Anda dapat menjalankan skrip ini setiap kali Anda memulai pi atau Anda dapat memicunya secara otomatis saat reboot. Ini sangat mudah dilakukan dengan crontab.
- buka terminalnya
- ketik crontab-e ke terminal
- tambahkan baris kode berikut ke file '@reboot python /home/pi/bootScripts/fanControl.py &'
- 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:
Catu Daya Cadangan untuk Shutdown yang Tepat: 5 Langkah
Catu Daya Cadangan untuk Shutdown yang Tepat: Catu daya cadangan adalah sirkuit yang memasok daya ke perangkat jika catu daya utama mereka mati. Dalam hal ini, catu daya cadangan ini hanya dimaksudkan untuk memasok daya selama beberapa detik agar perangkat dapat melakukan prosedur mematikannya. Ini
Rep yang Tepat: 16 Langkah
The Right Rep: "Apakah Anda bahkan mengangkat Bro?"Untuk pemula gym, mempelajari cara mengangkat bisa menjadi tugas yang menakutkan. Latihan terasa tidak wajar dan setiap pengulangan terasa tidak berhasil. Lebih buruk lagi, menambah ketidaknyamanan adalah para penonton dengan menyakitkan menatap orang miskin Anda
Memotong dan Mengubah Ukuran yang Tepat di Photoshop: 6 Langkah
Pemangkasan dan Pengubahan Ukuran yang Tepat di Photoshop: Gambar ada di mana-mana. Mereka mendominasi media sosial, halaman web, karya cetak, iklan, dll, dll. Jadi kemungkinan besar, Anda harus bekerja dengan gambar di beberapa titik. Mungkin Anda perlu membuat PowerPoint atau selebaran, atau sesuatu yang lain sama sekali, dan Anda
Pompa Peristaltik yang Tepat: 13 Langkah
Pompa Peristaltik yang Tepat: Kami adalah tim mahasiswa dari berbagai disiplin ilmu Universitas RWTH Aachen dan telah membuat proyek ini dalam konteks kompetisi iGEM 2017. Setelah semua pekerjaan yang masuk ke pompa kami, kami ingin berbagi hasil kami dengan Anda !Kami membangun
Buat Unit Eksposur PCB yang Tepat dari Lampu Perawatan Kuku UV Murah: 12 Langkah (dengan Gambar)
Buat Unit Eksposur PCB yang Tepat dari Lampu Perawatan Kuku UV Murah: Apa kesamaan produksi PCB dan kuku palsu? Mereka berdua menggunakan sumber sinar UV dengan intensitas tinggi dan, untungnya, sumber cahaya itu memiliki panjang gelombang yang persis sama. Hanya yang untuk produksi PCB biasanya cukup mahal