Sisällysluettelo:

PWM -säädetty tuuletin suorittimen lämpötilan perusteella Raspberry Pi: 4 vaihetta (kuvilla)
PWM -säädetty tuuletin suorittimen lämpötilan perusteella Raspberry Pi: 4 vaihetta (kuvilla)

Video: PWM -säädetty tuuletin suorittimen lämpötilan perusteella Raspberry Pi: 4 vaihetta (kuvilla)

Video: PWM -säädetty tuuletin suorittimen lämpötilan perusteella Raspberry Pi: 4 vaihetta (kuvilla)
Video: Using IRF520 MOSFET Switch Button to Turn ON or OFF DC load 2024, Marraskuu
Anonim
PWM -tuuletin, joka perustuu Raspberry Pi: n suorittimen lämpötilaan
PWM -tuuletin, joka perustuu Raspberry Pi: n suorittimen lämpötilaan

Monissa Raspberry Pi -koteloissa on pieni 5 V: n tuuletin CPU: n jäähdyttämiseksi. Nämä tuulettimet ovat kuitenkin yleensä melko meluisia, ja monet ihmiset kytkevät sen 3V3 -nastaan melun vähentämiseksi. Nämä puhaltimet on yleensä mitoitettu 200 mA: lle, mikä on melko korkea RPi: n 3V3 -säätimelle. Tämä projekti opettaa sinulle, kuinka säätää tuulettimen nopeutta suorittimen lämpötilan perusteella. Toisin kuin useimmat tätä aihetta käsittelevät opetusohjelmat, emme vain käynnistä tai sammuta tuuletinta, vaan hallitsemme sen nopeutta kuten tavallisessa PC: ssä Pythonin avulla.

Vaihe 1: Tarvittavat osat

Tässä projektissa käytämme vain muutamia komponentteja, jotka yleensä sisältyvät harrastajan elektroniikkapakkauksiin, joita löydät Amazonista, kuten tämä.

  • Raspberry Pi käynnissä Raspbian (mutta pitäisi toimia muiden jakelijoiden kanssa).
  • 5 V: n tuuletin (mutta 12 V: n tuuletinta voidaan käyttää sovitetun transistorin ja 12 V: n virtalähteen kanssa).
  • NPN -transistori, joka tukee vähintään 300 mA, kuten 2N2222A.
  • 1K vastus.
  • 1 diodi.

Valinnainen, jos haluat laittaa komponentit kotelon sisään (mutta ei vielä tehty):

  • Pieni pala protoboardia komponenttien juottamiseen.
  • Suuri lämpökutistuma levyn suojaamiseksi.

Vaihe 2: Sähköliitännät

Sähköliitännät
Sähköliitännät
Sähköliitännät
Sähköliitännät
Sähköliitännät
Sähköliitännät

Vastus voidaan kytkeä kumpaankin suuntaan, mutta ole varovainen transistorin ja diodin suunnan suhteen. Diodin katodi on kytkettävä +5 V (punainen) johtoon ja anodi GND (musta) johtoon. Tarkista transistoriasiakirjasta Emitter-, Base- ja Collector -nastat. Puhaltimen maa on kytkettävä kollektoriin ja Rpi: n maa on liitettävä Emitteriin

Puhaltimen hallitsemiseksi meidän on käytettävä transistoria, jota käytetään avaamattomassa keräyskokoonpanossa. Tällä tavoin meillä on kytkin, joka yhdistää tai irrottaa maadoitusjohdon tuulettimesta vadelmapi: n maahan.

NPN BJT -transistori johtaa portistaan virtaavan virran mukaan. Virta, jonka sallitaan virrata kollektorista (C) emitteriin (E), on:

Ic = B * Ib

Ic on virta, joka virtaa kollektorin ja emitterin läpi, Ib on virta, joka virtaa kannan läpi emitteriin, ja B (beta) on arvo kullekin transistorille riippuen. Arvioimme B = 100.

Koska puhaltimemme on mitoitettu 200 mA: ksi, tarvitsemme vähintään 2 mA transistorin pohjan kautta. Pohjan ja emitterin (Vbe) välistä jännitettä pidetään vakiona ja Vbe = 0, 7V. Tämä tarkoittaa, että kun GPIO on päällä, vastuksessa on 3,3 - 0,7 = 2,6 V. Jotta voisimme saada 2mA tuon vastuksen läpi, tarvitsemme enintään 2,6 / 0,002 = 1300 ohmin vastuksen. Käytämme 1000 ohmin vastusta yksinkertaistamaan ja pitämään virhemarginaalin. Meillä on 2,6 mA: n GPIO -nasta, joka on täysin turvallinen.

Koska tuuletin on pohjimmiltaan sähkömoottori, se on induktiivinen varaus. Tämä tarkoittaa sitä, että kun transistori lakkaa johtamasta, puhaltimen virta jatkaa virtaamistaan, kun induktiivinen varaus yrittää pitää virran vakiona. Tämä aiheuttaisi korkean jännitteen puhaltimen maadoitusnastaan ja voisi vahingoittaa transistoria. Siksi tarvitsemme puhaltimen kanssa rinnakkain diodin, joka saa virran virtaamaan jatkuvasti moottorin läpi. Tämän tyyppistä diodiasetusta kutsutaan vauhtipyörädiodiksi

Vaihe 3: Ohjelma tuulettimen nopeuden säätämiseksi

Puhaltimen nopeuden säätämiseen käytämme RPi. GPIO -kirjaston ohjelmistopohjaista PWM -signaalia. PWM -signaali soveltuu hyvin sähkömoottoreiden käyttämiseen, koska niiden reaktioaika on erittäin korkea PWM -taajuuteen verrattuna.

Käytä calib_fan.py -ohjelmaa löytääksesi FAN_MIN -arvon suorittamalla päätelaitteen:

python calib_fan.py

Tarkista useita arvoja välillä 0 - 100% (pitäisi olla noin 20%) ja katso, mikä on vähimmäisarvo puhaltimellesi.

Voit muuttaa lämpötilan ja puhaltimen nopeuden vastaavuutta koodin alussa. TempSteps -arvoja on oltava yhtä monta kuin speedSteps -arvoja. Tätä menetelmää käytetään yleisesti PC-emolevyissä, jotka siirtävät lämpötilan / nopeuden 2-akselisen kaavion pisteitä.

Vaihe 4: Suorita ohjelma käynnistyksen yhteydessä

Jos haluat suorittaa ohjelman automaattisesti käynnistyksen yhteydessä, tein bash -komentosarjan, johon laitoin kaikki ohjelmat, jotka haluan käynnistää, ja sitten käynnistän tämän bash -komentosarjan käynnistyksen yhteydessä rc.locale

  1. Luo hakemisto/home/pi/Scripts/ja aseta fan_ctrl.py -tiedosto hakemistoon.
  2. Luo samaan hakemistoon tiedosto launcher.sh ja kopioi alla oleva komentosarja.
  3. Muokkaa /etc/rc.locale -tiedostoa ja lisää uusi rivi ennen "exit 0": sudo sh '/home/pi/Scripts/launcher.sh'

Launcher.sh -komentosarja:

#!/bin/sh #launcher.sh #siirry kotihakemistoon, sitten tähän hakemistoon, suorita sitten python -skripti ja sitten takaisin homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/

Jos haluat käyttää sitä esimerkiksi OSMC: n kanssa, sinun on käynnistettävä se palveluna systemd: llä.

  1. Lataa fanctrl.service -tiedosto.
  2. Tarkista polku python -tiedostoosi.
  3. Aseta fanctrl.service/lib/systemd/system.
  4. Ota palvelu lopuksi käyttöön sudo systemctl enable fanctrl.service -palvelun avulla.

Tämä menetelmä on turvallisempi, koska ohjelma käynnistyy automaattisesti uudelleen, jos käyttäjä tai järjestelmä tappaa sen.

Suositeltava: