Tartalomjegyzék:

Pontos hőmérséklet -szabályozás a Raspberry Pi -n 4: 3 lépésben
Pontos hőmérséklet -szabályozás a Raspberry Pi -n 4: 3 lépésben

Videó: Pontos hőmérséklet -szabályozás a Raspberry Pi -n 4: 3 lépésben

Videó: Pontos hőmérséklet -szabályozás a Raspberry Pi -n 4: 3 lépésben
Videó: 🍟 MCDONALDS HACK #shorts 2024, November
Anonim
Pontos hőmérséklet -szabályozás a Raspberry Pi 4 -en
Pontos hőmérséklet -szabályozás a Raspberry Pi 4 -en

A Pimoroni Fan Shim nagyszerű megoldás a Pi hőmérsékletének csökkentésére forró állapotban. A gyártók olyan szoftvereket is biztosítanak, amelyek bekapcsolják a ventilátort, amikor a CPU hőmérséklete egy bizonyos küszöbérték (pl. 65 fok) fölé emelkedik. A hőmérséklet gyorsan csökken az alsó küszöb alá, és kikapcsolja a ventilátort. Ez nagyszerű, de mérsékelt terhelés hatására megemelkedik és csökken a hőmérséklet, és hallható ventilátorzajt okoz. Ez az utasítás csökkenti a ventilátor zaját, miközben a CPU hőmérsékletét egy meghatározott értékre rögzíti egy úgynevezett PID -szabályozó segítségével. A magasabb küszöbértékek (pl. 65 fok) sokkal csendesebb ventilátort eredményeznek, míg az alacsonyabb küszöbértékek (pl. 50 fok) hangosabb ventilátort, de jobb hőmérséklet -szabályozást eredményeznek.

A fenti példa a PID -szabályozó futtatásából és a célhőmérséklet 500 másodpercenként történő megváltoztatásából származó eredményeimet mutatja. A pontosság +/- 1 fok, némi túllépéssel a hirtelen hőmérsékletváltozások esetén.

Fontos, hogy ezt a tesztet ugyanazon terhelés mellett hajtottuk végre a teljes tesztidő alatt (a BBC iPlayer nézése).

Kellékek

  • Raspberry Pi 4
  • Pimoroni Fan Shim

1. lépés: Állítsa be a ventilátort

Állítsa be a ventilátort
Állítsa be a ventilátort

Az első lépés a ventilátor beállítása. A Pimorini bemutató remek!

Ezután nyissa meg a terminált a Pi -n (ctrl alt t)

És telepítse a Pimoroni által biztosított kódot

git klón https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh

2. lépés: Hozzon létre egy PI (D) vezérlőt

Hozzon létre egy PI (D) vezérlőt
Hozzon létre egy PI (D) vezérlőt

Az arányos integrált származékos (PID) vezérlő egy olyan rendszer, amelyet egy bizonyos folyamat (CPU hőmérséklet) értékének szabályozására használnak valamilyen fizikai eszköz (ventilátor sebesség) manipulálásával. A ventilátor „sebességét” és zaját manipulálhatjuk, ha rendszeresen be- és kikapcsoljuk (Pulse Wave Modulation). A bekapcsolt idő egy adott időszakban (pl. 1 másodperc) határozza meg a ventilátor sebességét és hangosságát (900 ms = hangos és gyors, 100 ms = csendes és lassú). A PID -t fogjuk használni a ventilátor sebességének szabályozására és ezáltal a hőmérséklet szabályozására.

A PID használatát több lépésre oszthatjuk.

  1. Döntse el az elérni kívánt folyamatváltozó értékét (pl. CPU hőmérséklet = 55). Ezt hívják alapjelnek.
  2. Számítsa ki a PID hibát. Ha az alapjel 55 fok és a tényleges hőmérséklet 60 fok, akkor a hiba 5 fok (hőmérséklet - alapjel)
  3. Módosítsa a ventilátor bekapcsolási idejét a hibával arányosan (a nagy hibák nagy változásokat eredményeznek a ventilátor sebességében, a kis hibák kismértékű változásokat okoznak a ventilátor sebességében).
  4. Állítsa be a ventilátort a korábbi értékekhez (integrál/az összes korábbi hiba összege)
  5. Opcionálisan beállíthatja a ventilátor sebességét a hiba változási aránya alapján (derivált), de ezt itt nem tesszük

Most, hogy megvan az elmélet, futtassa az alábbi kódot a Thonny IDE -ben (vagy más python IDE -ben). Módosítsa a „cél” értékét az alábbi kódban, hogy milyen hőmérsékleten szeretné fenntartani a Pi -t. A „P” és „I” kifejezéseket kissé önkényes értékekre állítottam. Nyugodtan módosítsa ezeket, ha nem működnek. A „P” nagyobbra állítása azt jelenti, hogy a vezérlő gyorsan reagál az új hibákra (de nem biztos, hogy stabil). Ha megváltoztatja az „I” értéket, a vezérlő jobban súlyozza a válaszát a korábbi értékekre. Nem próbálnám túl nagyra fűzni ezeket a kifejezéseket, mivel a ventilátor sebességének gyors megváltoztatása nem fogja gyorsan megváltoztatni a hőmérsékletet. Továbbá, ha hihetetlenül nehéz munkát végez a Pi -n, előfordulhat, hogy nem éri el a kívánt hőmérsékletet (a ventilátor korlátai továbbra is érvényesek).

from fanshim import FanShim

időimportálás alvó állapotból, időimportálás os import matematika # Visszaadja a CPU hőmérsékletét karakterláncként def getCPUtemperature (): res = os.popen ('vcgencmd intézkedés_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," ")) fanshim = FanShim () target = 55 # kívánt hőmérséklet (játssz ezzel, és nézd meg, mi történik) periódus = 1 # PWM periódus =.1 # inicializálás 0 -ra % terhelési ciklus kikapcsolva = időszakos bekapcsolás # inicializálás 0% -ra és nézze meg, mi történik), míg igaz: # get temperaute temp = int (float (getCPUtemperature ())) # hiba kiszámítása és sima err = temp-target # kiszámítja az integrációs hibát, és korlátozza = 10, ha intErr = periódus: be = időszak kikapcsolva = 0 más: be = be kikapcsolt = periódus be # beállítja a minimális üzemi ciklust, ha <.09: be =.09 egyéb: be = be # PWM a rajongócsap csapján, ha on == period: fanshim.set_fan (True) sleep (on) else: fanshim.set_fan (True) s leep (be) fanshim.set_fan (Hamis) alvás (ki)

3. lépés: Indításkor futtassa a vezérlőszkriptet

Indításkor futtassa a vezérlőszkriptet
Indításkor futtassa a vezérlőszkriptet

Ezt a szkriptet minden alkalommal futtathatja, amikor elindítja a pi -t, vagy automatikusan elindíthatja újraindításkor. Ez rendkívül egyszerű a crontab segítségével.

  1. nyissa meg a terminált
  2. írja be a terminálba a crontab-e parancsot
  3. adja hozzá a következő kód sort a „@reboot python /home/pi/bootScripts/fanControl.py &” fájlhoz
  4. lépjen ki és indítsa újra

A szkriptet (fanControl.py) a bootScripts nevű floderbe tettem, de bárhová elhelyezheti, csak győződjön meg róla, hogy a helyes elérési utat adja meg a crontab -ban.

Minden kész! Most a ventilátor szabályozza a CPU hőmérsékletét egy adott értékre, miközben minimalizálja az általa keltett zajt.

Ajánlott: