Mundarija:

Raspberry Pi -da haroratni aniq nazorat qilish 4: 3 qadam
Raspberry Pi -da haroratni aniq nazorat qilish 4: 3 qadam

Video: Raspberry Pi -da haroratni aniq nazorat qilish 4: 3 qadam

Video: Raspberry Pi -da haroratni aniq nazorat qilish 4: 3 qadam
Video: Guía 4.1 Arduino sensor temperatura Celsius, Farenheit y Kelvin 2024, Noyabr
Anonim
Raspberry Pi 4 -da haroratni aniq nazorat qilish
Raspberry Pi 4 -da haroratni aniq nazorat qilish

Pimoroni Fan Shim - bu Pi ishlayotgan vaqtda haroratni pasaytirish uchun ajoyib echim. Ishlab chiqaruvchilar hatto protsessor harorati ma'lum bir chegaradan oshganda (masalan, 65 daraja) fanni ishga tushiradigan dasturiy ta'minotni taqdim etadilar. Harorat tezda pastroq ostonadan pastga tushadi va fanni o'chiradi. Bu juda yaxshi, lekin harorat o'rtacha yuklar ostida ko'tarilib tushishiga olib keladi va fanat ovozini eshitadi. Bu ko'rsatma fanning shovqinini kamaytiradi, shu bilan birga CPU haroratini PID tekshirgichi yordamida ma'lum bir qiymatga o'rnatadi. Yuqori chegaralar (masalan, 65 daraja) fanni ancha jim qiladi, pastroq ostonalar (masalan, 50 daraja) esa baland ovozli fanatga olib keladi, lekin haroratni yaxshiroq boshqaradi.

Yuqoridagi misol PID tekshirgichini ishga tushirish va har 500 soniyada maqsadli haroratni o'zgartirish natijalarini ko'rsatadi. Aniqlik +/- 1 daraja bo'lib, termaturaning keskin o'zgarishi kuzatiladi.

Muhimi, bu test umumiy sinov vaqti uchun bir xil yuk ostida bajarilgan (BBC iPlayer -ni tomosha qilish).

Ta'minotlar

  • Raspberry Pi 4
  • Pimoroni Fan Shim

1 -qadam: muxlisni o'rnating

Muxlisingizni sozlang
Muxlisingizni sozlang

Birinchi qadam - fanatni o'rnatish. Pimorini darsligi ajoyib!

Keyin Pi terminalini oching (ctrl alt t)

Va Pimoroni tomonidan taqdim etilgan kodni o'rnating

git klon https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh

2 -qadam: PI (D) tekshirgichini yarating

PI (D) boshqaruvchisini yarating
PI (D) boshqaruvchisini yarating

Proportional Integral Derivative (PID) tekshirgichi - ma'lum bir jismoniy qurilmani (Fan tezligi) boshqarish orqali ma'lum bir jarayonning qiymatini (CPU harorati) boshqarish uchun ishlatiladigan tizim. Vaqti -vaqti bilan yoqish va o'chirish orqali fanning "tezligi" va shovqinini boshqarishimiz mumkin (Puls to'lqini modulyatsiyasi). Muayyan davrda (masalan, 1 soniya) ishlayotgan vaqt fanning qanchalik tez va qanchalik balandligini aniqlaydi (900ms = baland va tez, 100ms = jim va sekin). Biz fan tezligini boshqarish va shu bilan haroratni nazorat qilish uchun PIDdan foydalanamiz.

Biz PIDdan foydalanishni bir necha bosqichlarga bo'lishimiz mumkin.

  1. Siz erishmoqchi bo'lgan jarayon o'zgaruvchisining qiymati to'g'risida qaror qabul qiling (masalan, CPU harorati = 55). Bu sizning belgilangan nuqtangiz deb ataladi.
  2. PID xatosini hisoblang. Agar sizning belgilangan nuqtangiz 55 daraja va haqiqiy harorat 60 daraja bo'lsa, sizning xatoingiz 5 daraja (Harorat - belgilangan nuqta)
  3. Ventilyatorning ish vaqtini xatoga mutanosib ravishda o'zgartiring (Katta xatolar fan tezligida katta o'zgarishlarga olib keladi, kichik xatolar fan tezligida kichik o'zgarishlarga olib keladi).
  4. Ventilyatorni oldingi qiymatlarga mos ravishda sozlang (oldingi xatolar yig'indisi/yig'indisi)
  5. Ixtiyoriy ravishda siz fan tezligini xato tezligiga (lotin) qarab sozlaysiz, lekin biz buni bu erda qilmaymiz

Endi siz nazariyani Thonny IDE (yoki boshqa python IDE) da ishlatishingiz mumkin. Quyidagi koddagi "maqsad" qiymatini o'zgartiring, shunda siz Pi -ni qanday haroratda saqlamoqchisiz. Men "P" va "I" shartlarini biroz ixtiyoriy qiymatlarga qo'ydim. Agar ular sizga mos kelmasa, ularni sozlang. "P" ni kattalashtirish, nazoratchi yangi xatolarga tezda javob beradi (lekin barqaror bo'lmasligi mumkin). "Men" ni o'zgartirish nazoratchining og'irligini oshiradi, bu uning oldingi qadriyatlarga javobini ko'rsatadi. Men bu shartlarni juda katta qilishga urinmagan bo'lardim, chunki fan tezligini tez o'zgartirish termatoriyani tez o'zgartirmaydi. Bundan tashqari, agar siz Pi -da nihoyatda og'ir ish qilsangiz, siz xohlagan muddatga erisha olmaysiz (fan chegaralari haligacha amal qiladi).

fanshim import dan FanShim

Vaqt import uyqusidan, vaqt importi import import matematikasi # CPU haroratini belgi qatori sifatida qaytarish defCPUtemperature (): res = os.popen ('vcgencmd tədbir_temp'). readline () qaytish (res.replace ("temp =", " ").replace (" 'C / n "," ")) fanshim = FanShim () target = 55 # kerakli harorat (shu bilan o'ynang va nima bo'lishini ko'ring) davr = 1 # PWM davri =.1 # boshlanishini 0 ga % vazifa tsikli o'chiriladi = davr boshlanganda # boshlang'ich 0% vazifa tsikliga P =.01 # mutanosib daromad olish muddati (shu bilan o'ynang va nima bo'lishini ko'ring) intErr = 0 # integral xato I =.0001 # intergral daromad muddati va nima sodir bo'lishini ko'ring) rost bo'lsa: # get temperaute temp = int (float (getCPUtemperature ())) # xatoni hisoblab, err = temp-target # hisoblash integer lerror va uni cheklang intErr = intErr+err intErr> 10: intErr = 10 bo'lsa intErr = davr: yoqilgan = o'chirilgan vaqt = 0 boshqa: yoqilgan = o'chirilgan = davr-on # minimal ish tsiklini o'rnatilgan bo'lsa <.09: yoqilgan =.09 boshqa: yoqilgan bo'lsa = fanshim pinidagi # PWM == davrda: fanshim.set_fan (Haqiqiy) uyqu (yoqilgan) boshqa: fanshim.set_fan (To'g'ri) s zo'r (yoqilgan) fanshim.set_fan (yolg'on) uyqu (o'chirilgan)

3 -qadam: Boshlash paytida boshqaruv skriptini ishga tushiring

Boshlash paytida boshqaruv skriptini ishga tushiring
Boshlash paytida boshqaruv skriptini ishga tushiring

Siz har safar pi -ni ishga tushirganingizda ushbu skriptni ishga tushirishingiz yoki uni avtomatik ravishda qayta ishga tushirishingiz mumkin. Buni crontab bilan qilish juda oddiy.

  1. terminalni oching
  2. terminalga crontab-e kiriting
  3. "@reboot python /home/pi/bootScripts/fanControl.py &" fayliga quyidagi kod qatorini qo'shing
  4. chiqish va qayta yuklash

Men skriptni (fanControl.py) bootScripts deb nomlangan floderga qo'ydim, lekin siz uni istalgan joyga qo'yishingiz mumkin, faqat crontab -da to'g'ri yo'lni ko'rsatganingizga ishonch hosil qiling.

Hammasi bajarildi! Endi sizning muxlisingiz protsessoringiz haroratini ma'lum bir qiymatgacha boshqaradi, shu bilan birga u chiqaradigan tovushni kamaytiradi.

Tavsiya: