Obsah:
- Zásoby
- Krok 1: Nastavte si ventilátor
- Krok 2: Vytvořte ovladač PI (D)
- Krok 3: Spusťte ovládací skript při spuštění
Video: Přesná regulace teploty na krocích Raspberry Pi 4: 3
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Pimoroni Fan Shim je skvělým řešením pro snížení teploty vašeho Pi, když je horký. Tvůrci dokonce poskytují software, který spouští ventilátor, když teplota procesoru stoupne nad určitou prahovou hodnotu (např. 65 stupňů). Teplota se rychle sníží pod spodní práh a vypne ventilátor. To je skvělé, ale způsobuje to, že teplota stoupá a klesá při mírném zatížení a vytváří slyšitelný hluk ventilátoru. Tento instruktáž sníží hluk ventilátoru při fixaci teploty CPU na konkrétní hodnotu pomocí něčeho, co se nazývá PID regulátor. Vyšší prahové hodnoty (např.65 stupňů) budou mít za následek mnohem tišší ventilátor, zatímco nižší prahové hodnoty (např.50 stupňů) budou mít za následek hlasitější ventilátor, ale lepší regulaci teploty.
Výše uvedený příklad ukazuje mé výsledky ze spuštění PID regulátoru a změny cílové teploty každých 500 sekund. Přesnost je +/- 1 stupeň s určitým překročením při náhlých změnách teploty.
Důležité je, že tento test byl proveden při stejné zátěži po celou dobu testu (sledování BBC iPlayer).
Zásoby
- Raspberry Pi 4
- Pimoroni Fan Shim
Krok 1: Nastavte si ventilátor
Prvním krokem je nastavení ventilátoru. Výukový program na Pimorini je skvělý!
Poté otevřete terminál na vašem Pi (ctrl alt t)
A nainstalujte kód poskytovaný společností Pimoroni
git clone https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
Krok 2: Vytvořte ovladač PI (D)
Proporcionální integrovaný derivát (PID) je systém, který se používá k řízení hodnoty určitého procesu (teploty CPU) manipulací s nějakým fyzickým zařízením (rychlost ventilátoru). Můžeme manipulovat s 'rychlostí' a hlukem ventilátoru pravidelným zapínáním a vypínáním (Pulse Wave Modulation). Doba, po kterou je v daném období zapnutá (např. 1 sekunda), určuje, jak rychlý a hlasitý je ventilátor (900 ms = hlasitý a rychlý, 100 ms = tichý a pomalý). PID využijeme k manipulaci s otáčkami ventilátoru a tím k ovládání teploty.
Použití PID můžeme rozdělit na několik kroků.
- Rozhodněte se o hodnotě procesní proměnné, které chcete dosáhnout (např. Teplota CPU = 55). Toto se nazývá vaše požadovaná hodnota.
- Vypočítejte chybu PID. Pokud je vaše požadovaná hodnota 55 stupňů a skutečná teplota 60 stupňů, vaše chyba je 5 stupňů (teplota - požadovaná hodnota)
- Změňte čas zapnutí ventilátoru úměrně k chybě (Velké chyby způsobují velké změny rychlosti ventilátoru, malé chyby způsobují malé změny rychlosti ventilátoru).
- Upravte ventilátor v poměru k minulým hodnotám (integrál/součet všech předchozích chyb)
- Volitelně můžete upravit rychlost ventilátoru na základě rychlosti změny chyby (derivace), ale zde to neuděláme
Nyní, když máte teorii, spusťte níže uvedený kód v IDE Thonny (nebo jiném IDE pythonu). Změňte hodnotu „cíle“v níže uvedeném kódu, abyste změnili, na jaké teplotě chcete udržovat Pi. Nastavil jsem podmínky 'P' a 'I' na poněkud libovolné hodnoty. Pokud vám nefungují, můžete je upravit. zvětšení „P“znamená, že ovladač bude rychle reagovat na nové chyby (ale nemusí být stabilní). Změna „I“způsobí, že ovladač váží svou reakci více na minulé hodnoty. Nesnažil bych se, aby tyto termíny byly příliš velké, protože rychlá změna rychlosti ventilátoru rychle nezmění teplotu. Pokud na svém Pi provádíte neuvěřitelně těžkou práci, možná nedosáhnete požadované teploty (limity ventilátoru stále platí).
od fanshim importovat FanShim
z času importu spánku, importu času os importu matematiky # Vrátit teplotu CPU jako řetězec znaků def getCPUtemperature (): res = os.popen ('vcgencmd opatření_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," "))) fanshim = FanShim () cíl = 55 # požadovaná teplota (pohrajte si s tím a uvidíte, co se stane) perioda = 1 # perioda PWM zapnuta =.1 # inicializace na 0 % pracovního cyklu vypnuto = zapnuto # zapnuto # inicializováno na 0% pracovní cyklus P = 0,01 # proporcionální Gain term (pohrajte si s tím a uvidíte, co se stane) intErr = 0 # integrální chyba I =, 0001 # intergral gain term (hrajte s tímto a uvidíme, co se stane) zatímco True: # get temperaute temp = int (float (getCPUtemperature ())) # vypočítat chybu a vyhladit err = temp-target # vypočítat integrační chybu a omezit ji intErr = intErr+err pokud intErr> 10: intErr = 10 if intErr = perioda: on = period off = 0 else: on = on off = period-on # nastavte minimální pracovní cyklus pokud zapnuto <.09: on =.09 else: on = on # PWM na pinu ventilátoru pokud on == period: fanshim.set_fan (True) sleep (on) else: fanshim.set_fan (True) s leep (zapnuto) fanshim.set_fan (falešný) spánek (vypnuto)
Krok 3: Spusťte ovládací skript při spuštění
Tento skript můžete spustit vždy, když spustíte pi, nebo jej můžete nechat spustit automaticky při restartu. S crontabem je to velmi jednoduché.
- otevřete terminál
- do terminálu zadejte crontab-e
- přidejte následující řádek kódu do souboru '@reboot python /home/pi/bootScripts/fanControl.py &'
- ukončete a restartujte
Vložil jsem skript (fanControl.py) do floderu s názvem bootScripts, ale můžete jej umístit kamkoli, jen se ujistěte, že zadáte správnou cestu v crontab.
Vše hotovo! Nyní bude váš ventilátor řídit teplotu vašeho procesoru na konkrétní hodnotu a zároveň minimalizovat slyšitelný hluk, který vydává.
Doporučuje:
Systém regulace vlhkosti a teploty pro terárium: 11 kroků (s obrázky)
Systém řízení vlhkosti a teploty pro terárium: ÚVOD: Tento návod je pro vývoj modulárního systému řízení vlhkosti a teploty pomocí Arduino Uno. Tento systém používá vodotěsnou vlhkostní a teplotní sondu ke sledování parametrů prostředí a připojení Arduino Uno
Regulace teploty místnosti založená na IOT: 5 kroků
Řízení teploty místnosti založené na IOT: Toto je instruovatelné pro projekt řízení teploty místnosti na základě IOT. Vlastnosti: -1. Automaticky zapněte ventilátor nad zadanou pokojovou teplotu. 2. Automaticky vypněte ventilátor pod zadanou pokojovou teplotu. 3. Ruční ovládání v libovolném okamžiku
Regulace teploty s ventilátory Arduino a PWM: 6 kroků (s obrázky)
Regulace teploty pomocí ventilátorů Arduino a PWM: Regulace teploty pomocí PID na ventilátorech Arduino a PWM pro chlazení serverů/síťových stojanů vlastními silami Před několika týdny jsem potřeboval nastavit stojan se síťovými zařízeními a několika servery. Stojan je umístěn v uzavřené garáži, takže teplotní rozsah mezi zimou a
Regulace teploty v mrazničce nebo chladničce: 7 kroků
Regulace teploty pro mrazničku nebo ledničku: Tento návod se týká integrace ovládání teploty Johnson Controls do prodlužovacího kabelu s vypínačem a elektrickou zásuvkou pro ovládání mrazničky. Pro kvašení piva je hrudní mraznička fantastickou platformou, ale továrna pokračuje
Recyklace starého stmívače jako variabilní regulace teploty pro vaši páječku: 7 kroků
Recyklace starého stmívače jako variabilní regulace teploty vaší páječky: Viděl jsem spoustu profesionálních regulací teploty pro páječku, ale příliš drahé. Takže vyrobím jeden ze starého stmívače, zásuvky, spojovací desky a zástrčky, které již byly nevyžádané, a nějaké staré spínací skříňky z PVC, která byla dodána s ním, a tak