Obsah:

Regulovaný ventilátor PWM na základě teploty CPU pro Raspberry Pi: 4 kroky (s obrázky)
Regulovaný ventilátor PWM na základě teploty CPU pro Raspberry Pi: 4 kroky (s obrázky)

Video: Regulovaný ventilátor PWM na základě teploty CPU pro Raspberry Pi: 4 kroky (s obrázky)

Video: Regulovaný ventilátor PWM na základě teploty CPU pro Raspberry Pi: 4 kroky (s obrázky)
Video: Jak snížit otáčky ventilátoru v BIOS-u 2024, Listopad
Anonim
PWM regulovaný ventilátor na základě teploty CPU pro Raspberry Pi
PWM regulovaný ventilátor na základě teploty CPU pro Raspberry Pi

Mnoho případů pro Raspberry Pi je vybaveno malým 5V ventilátorem, který pomáhá chladit CPU. Tito fanoušci jsou však obvykle velmi hluční a mnoho lidí jej připojuje ke kolíku 3V3, aby snížilo hluk. Tyto ventilátory jsou obvykle dimenzovány na 200 mA, což je pro regulátor 3V3 na RPi dost vysoké. Tento projekt vás naučí, jak regulovat rychlost ventilátoru na základě teploty CPU. Na rozdíl od většiny výukových programů pokrývajících toto téma nebudeme pouze zapínat nebo vypínat ventilátor, ale budeme řídit jeho rychlost, jako se to děje na běžném počítači, pomocí Pythonu.

Krok 1: Potřebné součásti

Pro tento projekt použijeme pouze několik komponent, které jsou obvykle součástí elektronických sad pro fandy, které najdete na Amazonu, jako je tento.

  • Raspberry Pi se systémem Raspbian (ale mělo by fungovat s jinými distribucemi).
  • 5V ventilátor (ale mohl by být použit 12V ventilátor s upraveným tranzistorem a napájecím zdrojem 12 V).
  • NPN tranzistor, který podporuje alespoň 300mA, jako 2N2222A.
  • 1K odpor.
  • 1 dioda.

Volitelné pro vložení součástí do pouzdra (ale ještě nebylo provedeno):

  • Malý kousek protoboardu k pájení součástek.
  • Velké tepelné smrštění, které chrání desku.

Krok 2: Elektrická připojení

Elektrická připojení
Elektrická připojení
Elektrická připojení
Elektrická připojení
Elektrická připojení
Elektrická připojení

Rezistor lze zapojit oběma způsoby, ale dávejte pozor na směr tranzistoru a diody. Diodová katoda musí být připojena k vodiči +5 V (červený) a anoda musí být připojena k vodiči GND (černý). Zkontrolujte, zda váš tranzistorový dokument neobsahuje kolíky vysílače, základny a kolektoru. Uzemnění ventilátoru musí být připojeno ke kolektoru a uzemnění Rpi musí být připojeno k vysílači

Abychom mohli ovládat ventilátor, musíme použít tranzistor, který bude použit v konfiguraci otevřeného kolektoru. Tímto způsobem máme přepínač, který připojí nebo odpojí zemnící vodič od ventilátoru k zemi malinového pi.

Tranzistor NPN BJT vede v závislosti na proudu, který protéká jeho branou. Proud, který bude moci proudit z kolektoru (C) do emitoru (E), je:

Ic = B * Ib

Ic je proud, který protéká kolektorem emitoru, Ib je proud, který protéká základnou k emitoru, a B (beta) je hodnota závislá na každém tranzistoru. Přibližně B = 100.

Protože je náš ventilátor dimenzován na 200mA, potřebujeme alespoň 2mA přes základnu tranzistoru. Napětí mezi základnou a emitorem (Vbe) je považováno za konstantní a Vbe = 0, 7V. To znamená, že když je GPIO zapnuté, máme na rezistoru 3,3 - 0,7 = 2,6V. Abychom měli přes tento rezistor 2mA, potřebujeme rezistor maximálně 2,6 / 0,002 = 1300 ohmů. Ke zjednodušení a udržení rezervy chyby používáme odpor 1000 ohmů. Prostřednictvím GPIO pinu budeme mít 2,6 mA, což je naprosto bezpečné.

Protože ventilátor je v podstatě elektrický motor, je to indukční náboj. To znamená, že když tranzistor přestane vést, proud ve ventilátoru bude dále proudit, protože indukční náboj se pokusí udržet proud konstantní. To by mělo za následek vysoké napětí na uzemňovacím kolíku ventilátoru a mohlo by dojít k poškození tranzistoru. Proto potřebujeme diodu paralelně s ventilátorem, která zajistí neustálý tok proudu motorem. Tento typ nastavení diody se nazývá dioda setrvačníku

Krok 3: Program pro ovládání rychlosti ventilátoru

K ovládání otáček ventilátoru používáme softwarový PWM signál z knihovny RPi. GPIO. Signál PWM je dobře přizpůsoben k pohonu elektromotorů, protože jejich reakční doba je ve srovnání s frekvencí PWM velmi vysoká.

Pomocí programu calib_fan.py najděte hodnotu FAN_MIN spuštěním v terminálu:

python calib_fan.py

Zkontrolujte několik hodnot mezi 0 a 100% (mělo by být kolem 20%) a zjistěte, jaká je minimální hodnota, kterou má váš ventilátor zapnout.

Soulad mezi teplotou a rychlostí ventilátoru můžete změnit na začátku kódu. Musí existovat tolik tempSteps jako hodnot speedSteps. Toto je metoda, která se obecně používá na základních deskách PC a pohybuje body na 2osém grafu Temp / Speed.

Krok 4: Spusťte program při spuštění

Aby se program spustil automaticky při spuštění, vytvořil jsem bash skript, kam jsem vložil všechny programy, které chci spustit, a poté spustím tento bash skript při spuštění pomocí rc.locale

  1. Vytvořte adresář/home/pi/Scripts/a umístěte do tohoto adresáře soubor fan_ctrl.py.
  2. Ve stejném adresáři vytvořte soubor s názvem launcher.sh a zkopírujte níže uvedený skript.
  3. Upravte soubor /etc/rc.locale a před „exit 0“přidejte nový řádek: sudo sh '/home/pi/Scripts/launcher.sh'

skript launcher.sh:

#!/bin/sh #launcher.sh #přejděte do domovského adresáře, pak do tohoto adresáře, poté spusťte skript pythonu, pak zpět homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/

Pokud jej chcete použít například s OSMC, musíte jej spustit jako službu pomocí systemd.

  1. Stáhněte si soubor fanctrl.service.
  2. Zkontrolujte cestu k vašemu souboru python.
  3. Umístěte službu fanctrl.service do/lib/systemd/system.
  4. Nakonec službu povolte pomocí sudo systemctl enable fanctrl.service.

Tato metoda je bezpečnější, protože program bude automaticky restartován, pokud jej zabije uživatel nebo systém.

Doporučuje: