Turinys:
- 1 žingsnis: reikalingos dalys
- 2 žingsnis: elektros jungtys
- 3 žingsnis: Ventiliatoriaus greičio valdymo programa
- 4 žingsnis: paleiskite programą paleisdami
Video: PWM reguliuojamas ventiliatorius, pagrįstas „Raspberry Pi“procesoriaus temperatūra: 4 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Daugelyje „Raspberry Pi“dėklų yra nedidelis 5 V ventiliatorius, kad būtų lengviau aušinti procesorių. Tačiau šie ventiliatoriai paprastai yra gana triukšmingi ir daugelis žmonių prijungia jį prie 3V3 kaiščio, kad sumažintų triukšmą. Šie ventiliatoriai paprastai yra vertinami 200 mA, o tai yra gana didelė RPi 3V3 reguliatoriui. Šis projektas išmokys jus reguliuoti ventiliatoriaus greitį pagal procesoriaus temperatūrą. Skirtingai nuo daugelio vadovėlių, apimančių šią temą, mes ne tik įjungsime arba išjungsime ventiliatorių, bet ir valdysime jo greitį, kaip tai daroma įprastame kompiuteryje, naudojant „Python“.
1 žingsnis: reikalingos dalys
Šiam projektui naudosime tik kelis komponentus, kurie paprastai yra įtraukti į mėgėjų elektronikos rinkinius, kuriuos galite rasti „Amazon“, kaip šis.
- „Raspberry Pi“veikia „Raspbian“(bet turėtų veikti su kitais platintojais).
- 5 V ventiliatorius (tačiau 12 V ventiliatorių galima naudoti su pritaikytu tranzistoriumi ir 12 V maitinimo šaltiniu).
- NPN tranzistorius, palaikantis bent 300 mA, kaip 2N2222A.
- 1K rezistorius.
- 1 diodas.
Neprivaloma, jei norite sudėti komponentus į korpusą (bet dar nepadaryta):
- Mažas protoboardo gabalas komponentams lituoti.
- Didelis šilumos susitraukimas, siekiant apsaugoti plokštę.
2 žingsnis: elektros jungtys
Rezistorius gali būti prijungtas bet kuriuo būdu, tačiau būkite atsargūs dėl tranzistoriaus ir diodo krypties. Diodo katodas turi būti prijungtas prie +5 V (raudonas) laido, o anodas - prie GND (juodo) laido. Patikrinkite, ar jūsų tranzistoriaus dokumente nėra spinduliuotės, pagrindo ir kolektoriaus kaiščių. Ventiliatoriaus įžeminimas turi būti prijungtas prie kolektoriaus, o „Rpi“- į „Emitter“
Norėdami valdyti ventiliatorių, turime naudoti tranzistorių, kuris bus naudojamas neatidarius kolektoriaus konfigūracijos. Tai darydami turime jungiklį, kuris prijungs arba atjungs įžeminimo laidą nuo ventiliatoriaus prie aviečių pi žemės.
NPN BJT tranzistorius veikia priklausomai nuo srovės, tekančios jo vartuose. Srovė, kuri bus leidžiama tekėti iš kolektoriaus (C) į emiterį (E), yra:
Ic = B * Ib
Ic yra srovė, tekanti per kolektorių ir emiterį, Ib - srovė, tekanti per pagrindą į emiterį, o B (beta) yra vertė, priklausanti nuo kiekvieno tranzistoriaus. Mes apytiksliai B = 100.
Kadangi mūsų ventiliatorius įvertintas kaip 200 mA, mums reikia mažiausiai 2 mA per tranzistoriaus pagrindą. Įtampa tarp pagrindo ir emiterio (Vbe) laikoma pastovia ir Vbe = 0, 7V. Tai reiškia, kad kai GPIO įjungtas, rezistoriuje turime 3,3 - 0,7 = 2,6 V. Kad per tą rezistorių būtų 2 mA, mums reikia maksimaliai 2,6 / 0,002 = 1300 omų rezistoriaus. Mes naudojame 1000 omų rezistorių, kad supaprastintume ir išlaikytume paklaidą. Mes turėsime 2,6 mA per GPIO kaištį, kuris yra visiškai saugus.
Kadangi ventiliatorius iš esmės yra elektros variklis, tai yra indukcinis krūvis. Tai reiškia, kad tranzistoriui nustojus veikti, srovė ventiliatoriuje ir toliau tekės, kai indukcinis krūvis bandys išlaikyti pastovią srovę. Dėl to ventiliatoriaus įžeminimo kaištyje atsiras aukšta įtampa ir galite sugadinti tranzistorių. Štai kodėl mums reikia diodo lygiagrečiai su ventiliatoriumi, kuris nuolatos teka per variklį. Šio tipo diodų sąranka vadinama „smagračio“diodu
3 žingsnis: Ventiliatoriaus greičio valdymo programa
Norėdami valdyti ventiliatoriaus greitį, naudojame programinį PWM signalą iš RPi. GPIO bibliotekos. PWM signalas yra gerai pritaikytas elektros varikliams varyti, nes jų reakcijos laikas yra labai ilgas, palyginti su PWM dažniu.
Naudokite programą calib_fan.py, kad surastumėte FAN_MIN vertę vykdydami terminale:
python calib_fan.py
Patikrinkite kelias reikšmes nuo 0 iki 100% (turėtų būti apie 20%) ir pažiūrėkite, kokia yra minimali vertė, kurią turi įjungti jūsų ventiliatorius.
Kodo pradžioje galite pakeisti temperatūros ir ventiliatoriaus greičio atitikimą. TempSteps turi būti tiek pat, kiek speedSteps reikšmių. Tai yra metodas, kuris dažniausiai naudojamas kompiuterių pagrindinėse plokštėse, judančiose taškuose temp / greitis 2 ašių grafike.
4 žingsnis: paleiskite programą paleisdami
Norėdami paleisti programą automatiškai paleidžiant, sukūriau „bash“scenarijų, kuriame įdėjau visas norimas paleisti programas, o tada paleisiu šį „bash“scenarijų paleidžiant su rc.locale
- Sukurkite katalogą/home/pi/Scripts/ir įdėkite failą fan_ctrl.py į tą katalogą.
- Tame pačiame kataloge sukurkite failą pavadinimu launcher.sh ir nukopijuokite žemiau esantį scenarijų.
- Redaguokite failą /etc/rc.locale ir pridėkite naują eilutę prieš „exit 0“: sudo sh '/home/pi/Scripts/launcher.sh'
scenarijus launcher.sh:
#!/bin/sh #launcher.sh #eikite į namų katalogą, tada į šį katalogą, tada paleiskite „python“scenarijų, tada grįžkite į homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/
Jei norite jį naudoti, pavyzdžiui, su OSMC, turite pradėti jį kaip paslaugą su sistema.
- Atsisiųskite fanctrl.service failą.
- Patikrinkite kelią į savo „python“failą.
- Įdėkite fanctrl.service į/lib/systemd/system.
- Galiausiai įgalinkite paslaugą naudodami sudo systemctl enable fanctrl.service.
Šis metodas yra saugesnis, nes programa bus automatiškai paleista iš naujo, jei vartotojas ar sistema jį užmuš.
Rekomenduojamas:
$ 3 Kompiuterio procesoriaus įsiurbimo ventiliatoriaus kanalas: 7 žingsniai (su nuotraukomis)
$ 3 Kompiuterio procesoriaus įsiurbimo ventiliatoriaus kanalas: Jei įsiurbimo kanalas tiesiai iš kompiuterio korpuso pusės į procesoriaus ventiliatorių, aušinimas bus daug geresnis nei bet kuris kitas (oro) aušinimo variantas. Užuot naudojęs orą, paimtą iš priekinio prievado, kuris turi laiko sušilti iš kito komponento
Būkite šilti šią žiemą: procesoriaus rankų šildytuvas: 4 žingsniai (su nuotraukomis)
Būkite šilti šią žiemą: procesoriaus rankų šildytuvas: Šiame mažame projekte aš jums parodysiu, kaip pertvarkiau seną AMD procesorių, kad sukurtų nedidelį, lengvą ir lengvai naudojamą elektrinį rankų šildytuvą. Padedant nedideliam nešiojamam maitinimo bankui, ši programėlė gali sušildyti maždaug 2 su puse valandos ir palengvinti
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: 8 žingsniai (su nuotraukomis)
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: bandžiau rasti būdą, kaip paaiškinti, kaip PWM veikė mano mokiniams, todėl iškėliau sau užduotį pabandyti valdyti šviesos diodo ryškumą naudojant du mygtukus - vienas mygtukas padidina šviesos diodo ryškumą, o kitas - jį pritemdo. Programa
Temperatūros valdymas naudojant „Arduino“ir PWM ventiliatorius: 6 žingsniai (su nuotraukomis)
Temperatūros valdymas naudojant „Arduino“ir „PWM“ventiliatorius: Temperatūros valdymas su PID „Arduino“ir PWM ventiliatoriuose, skirtas „pasidaryk pats“serverio/tinklo stovo aušinimui Prieš kelias savaites man reikėjo sukonfigūruoti stelažą su tinklo įrenginiais ir keliais serveriais. Stovas pastatytas uždarame garaže, Taigi temperatūra svyruoja nuo žiemos iki
AMD procesoriaus aušinimo ventiliatorius į „PowerColor ATI Radeon X1650“vaizdo plokštę: 8 žingsniai
AMD procesoriaus aušinimo ventiliatorius į „PowerColor ATI Radeon X1650“vaizdo plokštę: Turiu šią seną „PowerColor ATI Radeon X1650“vaizdo plokštę, kuri vis dar veikia. Tačiau pagrindinė problema yra ta, kad aušinimo ventiliatoriaus nepakanka ir jis beveik visada užstringa. Radau seną aušinimo ventiliatorių AMD Athlon 64 procesoriui ir jį panaudojau