Tartalomjegyzék:
- Kellékek
- 1. lépés: Állítsa be a ventilátort
- 2. lépés: Hozzon létre egy PI (D) vezérlőt
- 3. lépés: Indításkor futtassa a vezérlőszkriptet
Videó: Pontos hőmérséklet -szabályozás a Raspberry Pi -n 4: 3 lépésben
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
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
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
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.
- 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.
- 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)
- 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).
- Állítsa be a ventilátort a korábbi értékekhez (integrál/az összes korábbi hiba összege)
- 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
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.
- nyissa meg a terminált
- írja be a terminálba a crontab-e parancsot
- adja hozzá a következő kód sort a „@reboot python /home/pi/bootScripts/fanControl.py &” fájlhoz
- 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:
Arduino pontos és pontos voltmérő (0-90V DC): 3 lépés
Arduino precíz és pontos voltmérő (0-90V DC): Ebben az oktatóanyagban egy voltmérőt építettem a nagyfeszültségű DC (0-90v) viszonylagos pontossággal és pontossággal történő mérésére Arduino Nano segítségével. Az elvégzett tesztmérések elég pontosak voltak, többnyire 0,3 V -on belül a tényleges feszültséggel, amelyet egy
Arcfelismerés a Raspberry Pi 4B készüléken 3 lépésben: 3 lépésben
Arcfelismerés a Raspberry Pi 4B készüléken 3 lépésben: Ebben az utasításban az arcfelismerést fogjuk elvégezni a Raspberry Pi 4 rendszeren Shunya O/S alkalmazással a Shunyaface Library segítségével. A Shunyaface egy arcfelismerő/felismerő könyvtár. A projekt célja a leggyorsabb észlelési és felismerési sebesség elérése a
Arduino hőmérséklet -érzékelője COVID 19: 12 lépésben (képekkel)
Hőmérséklet -érzékelő az Arduino számára A COVID 19 esetén: Az Arduino hőmérséklet -érzékelő alapvető elem, amikor meg akarjuk mérni az emberi test processzorának hőmérsékletét. Az Arduino -val rendelkező hőmérséklet -érzékelőnek érintkeznie kell vagy közel kell lennie ahhoz, hogy fogadja és mérje a hőfokot. Így t
Hőmérséklet leolvasása az LM35 hőmérséklet -érzékelő használatával Arduino Uno segítségével: 4 lépés
Hőmérséklet leolvasása az LM35 hőmérséklet -érzékelő használatával az Arduino Uno segítségével: Sziasztok, srácok, ebben az útmutatóban megtanuljuk, hogyan kell használni az LM35 -öt az Arduino -val. Az Lm35 egy hőmérséklet -érzékelő, amely -55 ° C és 150 ° C közötti hőmérséklet -értékeket képes leolvasni. Ez egy 3 kivezetésű eszköz, amely analóg feszültséget biztosít a hőmérséklettel arányosan. Hig
A NODEMcu USB port nem működik? Töltse fel a kódot USB használatával TTL (FTDI) modulba mindössze 2 lépésben: 3 lépésben
A NODEMcu USB port nem működik? Töltse fel a kódot az USB to TTL (FTDI) modul használatával mindössze 2 lépésben: Elege van abból, hogy sok vezetéket csatlakoztat USB -ről TTL modulra a NODEMcu -hoz, kövesse ezt az utasítást, és csak két lépésben töltse fel a kódot. Ha a A NODEMcu nem működik, akkor ne essen pánikba. Csak az USB -illesztőprogram -chip vagy az USB -csatlakozó