Orodha ya maudhui:

Udhibiti wa Joto sahihi kwenye Raspberry Pi 4: 3 Hatua
Udhibiti wa Joto sahihi kwenye Raspberry Pi 4: 3 Hatua

Video: Udhibiti wa Joto sahihi kwenye Raspberry Pi 4: 3 Hatua

Video: Udhibiti wa Joto sahihi kwenye Raspberry Pi 4: 3 Hatua
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Udhibiti wa Joto sahihi kwenye Raspberry Pi 4
Udhibiti wa Joto sahihi kwenye Raspberry Pi 4

Shim ya Shabiki wa Pimoroni ni suluhisho nzuri ya kupunguza hali ya joto ya Pi yako inapokuwa moto. Watengenezaji hata hutoa programu ambayo husababisha shabiki wakati joto la CPU linapoinuka juu ya kizingiti fulani (k.v. digrii 65). Joto hupunguza haraka chini ya kizingiti cha chini na kuzima shabiki. Hii ni nzuri lakini husababisha joto kuongezeka na kushuka chini ya mizigo ya wastani na hufanya kelele ya shabiki inayosikika. Mafundisho haya yatapunguza kelele ya shabiki wakati wa kurekebisha joto la CPU kwa thamani maalum kwa kutumia kitu kinachoitwa mtawala wa PID. Vizingiti vya juu (k.v. digrii 65) vitasababisha shabiki mwenye utulivu zaidi wakati vizingiti vya chini (k.v. digrii 50) vitasababisha shabiki mwenye nguvu zaidi lakini udhibiti bora wa joto.

Mfano hapo juu unaonyesha matokeo yangu kutoka kwa kuendesha kidhibiti cha PID na kubadilisha muda wa kulenga kila sekunde 500. Usahihi ni +/- 1 digrii na upitishaji mwingi juu ya mabadiliko ya ghafla katika kumaliza muda.

Muhimu, jaribio hili lilitiwa chini ya mzigo huo kwa jumla ya wakati wa kujaribu (kutazama BBC iPlayer).

Vifaa

  • Raspberry Pi 4
  • Shim wa Shabiki wa Pimoroni

Hatua ya 1: Sanidi Shabiki wako

Sanidi Shabiki Wako
Sanidi Shabiki Wako

Hatua ya kwanza ni kuanzisha shabiki wako. Mafunzo ya Pimorini ni nzuri!

Kisha fungua kituo kwenye Pi yako (ctrl alt t)

Na usakinishe nambari iliyotolewa na Pimoroni

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

Hatua ya 2: Unda Kidhibiti cha PI (D)

Unda Kidhibiti cha PI (D)
Unda Kidhibiti cha PI (D)

Kidhibiti cha Usanifu wa Pamoja (PID) ni mfumo unaotumika kudhibiti dhamana ya mchakato fulani (Joto la CPU) kwa kutumia kifaa fulani cha mwili (Kasi ya Shabiki). Tunaweza kudhibiti "kasi" na kelele ya shabiki kwa kuiwasha na kuzima mara kwa mara (Pulse Wave Modulation). Urefu wa muda umewashwa kwa kipindi fulani (k.m sekunde 1) huamua jinsi shabiki alivyo na kasi na sauti kubwa (900ms = kubwa na haraka, 100ms = kimya na polepole). Tutatumia PID kudhibiti kasi ya shabiki na kwa hivyo kudhibiti joto.

Tunaweza kugawanya matumizi ya PID kwa idadi ya hatua.

  1. Amua juu ya thamani ya mabadiliko ya mchakato unayotaka kufikia (k.v joto la CPU = 55). Hii inaitwa setpoint yako.
  2. Hesabu kosa la PID. Ikiwa setpoint yako ni digrii 55 na joto halisi ni digrii 60 kosa lako ni digrii 5 (Joto - setpoint)
  3. Badilisha wakati wa shabiki kulingana na kosa (Makosa makubwa husababisha mabadiliko makubwa katika kasi ya shabiki, makosa madogo husababisha mabadiliko madogo kwa kasi ya shabiki).
  4. Rekebisha shabiki kwa kujipendekeza kwa maadili ya zamani (Ujumuishaji / jumla ya makosa yote ya awali)
  5. Kwa hiari unaweza kurekebisha kasi ya shabiki kulingana na kiwango cha mabadiliko ya kosa (derivative) lakini hatutafanya hivyo hapa

Sasa kwa kuwa una nadharia endesha nambari hapa chini katika Thonny IDE (au IDE nyingine ya chatu). Badilisha thamani ya 'shabaha' katika nambari iliyo hapo chini ili ubadilishe kiwango gani cha juu unachotaka kudumisha Pi yako. Nimeweka masharti ya 'P' na 'I' kwa maadili ya kiholela. Jisikie huru kurekebisha haya ikiwa hayakufanyi kazi. kutengeneza 'P' kubwa inamaanisha mtawala atajibu haraka kwa makosa mapya (lakini inaweza kuwa sio sawa). Kubadilisha 'I' itasababisha mtawala kupima majibu yake kwa maadili ya zamani. Nisingejaribu kufanya maneno haya kuwa makubwa sana kwa kasi ya kupiga kasi ya kasi ya shabiki haitabadilisha haraka muda mfupi. Pia, ikiwa unafanya kazi nzito sana kwenye Pi yako unaweza usifikie muda wako unaotarajiwa (mipaka ya shabiki bado inatumika).

kutoka kwa fanshim kuagiza FanShim

kutoka kwa muda wa kuagiza usingizi, kuagiza muda kuingiza hesabu # Rudisha joto la CPU kama kamba ya tabia def getCPUtemperature (): res = os.popen ('vcgencmd measure_temp'). mstari wa kusoma () kurudi (res.replace ("temp =", " mahali) ("'C / n", "")) fanshim = FanShim () lengo = 55 # joto linalotarajiwa (cheza na hii na uone kinachotokea) kipindi = 1 # PWM kipindi cha =.1 # mwanzo hadi 0 Mzunguko wa ushuru wa% = kipindi-juu ya # kuanza kwa mzunguko wa ushuru wa 0% P =.01 # muda sawa wa Kupata faida (cheza na hii na uone kinachotokea) na uone kinachotokea) wakati ni Kweli: # pata temperaute temp = int (kuelea (kupataCPUtemperature ())) # hesabu makosa na laini err = temp-target # compute integra lerror na kuilazimisha intErr = intErr + makosa ikiwa intErr> 10: intErr = 10 ikiwa intErr = kipindi: on = muda off = 0 mwingine: on = on off = period-on # set kiwango cha chini cha ushuru ikiwa kwenye <.09: on =.09 else: on = on # PWM on the fanshim pin if on == kipindi: fanshim.set_fan (Kweli) kulala (juu) nyingine: fanshim.set_fan (Kweli) s leep (on) fanshim.set_fan (Uongo) kulala (mbali)

Hatua ya 3: Endesha Hati ya Udhibiti katika Mwanzo

Endesha Hati ya Udhibiti wakati wa kuanza
Endesha Hati ya Udhibiti wakati wa kuanza

Unaweza kuendesha hati hii kila wakati unapoanza pi yako au unaweza kuifanya itomatiki kuanza tena. Hii ni rahisi sana kufanya na crontab.

  1. fungua kituo
  2. andika crontab-e kwenye terminal
  3. ongeza laini ya msimbo kwenye faili '@reboot python /home/pi/bootScript/fanControl.py &'
  4. toka na uwashe upya

Ninaweka script (fanControl.py) kwenye floder iitwayo bootScript lakini unaweza kuiweka mahali popote tu hakikisha unataja njia sahihi kwenye crontab.

Yote yamekamilika! Sasa shabiki wako atadhibiti halijoto ya CPU yako kwa thamani maalum, huku akipunguza kelele inayosikika inayozalisha.

Ilipendekeza: