INHOUDSOPGAWE:
- Stap 1: CPU -prestasie en temperatuur
- Stap 2: GPIO -penne en weerstande
- Stap 3: Onderdele
- Stap 4: Skematiese
- Stap 5: Kry die script
- Stap 6: Begin die script outomaties
- Stap 7: Bylaag: Verwysings
- Stap 8: Bylaag: Opdaterings
- Stap 9: Bylaag: probleemoplossing
Video: Beheer 'n koelwaaier op 'n Raspberry Pi 3: 9 -stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Voeg 'n waaier by 'n framboos pi 3, met die beheer om dit aan en uit te skakel soos nodig.
'N Maklike manier om 'n waaier by te voeg, is om eenvoudig die waaierkabels aan 'n 3.3V- of 5V -pen te koppel en op die grond te plaas. Met hierdie benadering werk die waaier die hele tyd.
Ek dink dit is baie interessanter om die waaier aan te skakel wanneer dit 'n hoë temperatuurdrempel bereik of oorskry, en dit dan afskakel as die SVE onder 'n lae temperatuurdrempel afgekoel het.
Die instruksies neem aan dat u 'n Raspberry Pi 3 -opstelling het en u 'n waaier wil byvoeg. In my geval gebruik ek Kodi op OSMC.
Stap 1: CPU -prestasie en temperatuur
Hier is geen aksies nie. Dit is slegs agtergrondinligting, en u kan na die volgende stap gaan:
'N Koelbak is genoeg vir die meeste Raspberry Pi 3 -toepassings en 'n waaier is nie nodig nie.
'N Oorgeklokte framboospi moet 'n waaier gebruik.
Op kodi, as u nie 'n MPEG-2-lisensiesleutel het nie, kry u moontlik 'n termometer-ikoon, wat aandui dat u 'n lisensie of 'n waaier nodig het.
Die CPU van die Raspberry Pi 3 sal tussen -40 ° C en 85 ° C werk. As die SVE -temperatuur 82 ° C oorskry, word die kloksnelheid van die SVE vertraag totdat die temperatuur onder 82 ° C daal.
'N Verhoging in die SVE -temperatuur sal halfgeleiers stadiger laat loop, omdat die verhoging van die temperatuur die weerstand verhoog. 'N Toename in temperatuur van 50 ° C tot 82 ° C het egter 'n onbeduidende invloed op die CPU -prestasie van 'n Raspberry Pi 3.
As die temperatuur van die Raspberry Pi 3 'SVE bo 82 ° C is, word die SVE versper (die klokspoed word verlaag). As dieselfde las toegepas word, kan die SVE dit moeilik vind om dit vinnig genoeg terug te gooi, veral as dit oorgeklok word. Omdat halfgeleiers 'n negatiewe temperatuurkoëffisiënt het, kan die temperatuur wegloop as die temperatuur die spesifikasies oorskry, en die SVE kan misluk, en u moet die Raspberry Pi gooi.
Deur die SVE op hoë temperatuur te laat werk, word die lewensduur van die SVE verkort.
Stap 2: GPIO -penne en weerstande
Hier is geen aksies nie. Dit is slegs agtergrondinligting, en u kan na die volgende stap gaan:
Omdat ek nie 'n elektriese ingenieur is nie en die instruksies van projekte op die internet gevolg het, het ek 'n groot aantal GPIO -penne beskadig en moes ek uiteindelik meer as een Raspberry Pi gooi. Ek het ook probeer oorklok en uiteindelik 'n paar framboospis weggegooi wat nie meer sou werk nie.
'N Algemene toepassing is om 'n drukknoppie by 'n Raspberry Pi te voeg. Deur 'n drukknoppie tussen 'n 5V of 3.3V pen en 'n grondpen in te steek, word daar effektief 'n kort druk op die knoppie gemaak. Omdat daar geen las tussen die spanningsbron en die aarde is nie. Dieselfde gebeur wanneer 'n GPIO -pen gebruik word vir 3.3V -uitvoer (of invoer).
'N Ander probleem is dat as 'n invoerpen nie gekoppel is nie, dit' dryf ', wat beteken dat die waarde wat gelees is, nie gedefinieer is nie, en as u kode optree op grond van die waarde wat gelees word, sal dit onreëlmatig wees.
'N Weerstand is nodig tussen 'n GPIO -pen en alles waarmee dit verbind word.
GPIO -penne het interne trek- en aftrekweerstands. Dit kan geaktiveer word met die GPIO -biblioteekopstellingsfunksie:
GPIO.setup (kanaal, GPIO. IN, pull_up_down = GPIO. PUD_UP)
GPIO.setup (kanaal, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)
Of 'n fisiese weerstand kan ingevoeg word. In hierdie instruksies het ek 'n fisiese weerstand gebruik, maar u kan die interne weerstand probeer en aktiveer met die GPIO -biblioteek.
Van die Arduino Playground -webwerf in die aanhangselverwysing:
"'N Optrekweerstand" trek "swak die spanning van die draad waarmee dit gekoppel is na die spanningsbronvlak toe die ander komponente op die lyn onaktief is. As die skakelaar op die lyn oop is, is dit 'n hoë impedansie en werk dit Aangesien die ander komponente optree asof hulle ontkoppel is, tree die stroombaan op asof dit ontkoppel is, en die optrekweerstand bring die draad na die hoë logiese vlak. Wanneer 'n ander komponent op die lyn aktief word, dit sal die hoë logiese vlak wat deur die optrekweerstand gestel is, oorheers. Die optrekweerstand verseker dat die draad op 'n gedefinieerde logiese vlak is, selfs al is daar geen aktiewe toestelle daaraan gekoppel nie."
Stap 3: Onderdele
U kan alles gebruik, maar dit is die dele wat ek gebruik het.
Dele:
-
NPN S8050 transistor
250 stukke is $ 8,99 of ongeveer $ 0,04
-
110 Ohm Weerstand
400 weerstande vir $ 5,70, of ongeveer $ 0,01
-
Mikrowaaier, vereistes in die beskrywing of spesifikasies:
- ongeveer $ 6,00
- borselloos
- stil
- laagste Amp of Watt in vergelyking met 'n soortgelyke waaier
- Soek in die beskrywing iets soos "werkspanning van 2V-5V"
- trui vir vroulike en vroulike en manlike vroue
- broodbord
- Framboos Pi 3
- 5.1V 2.4A kragtoevoer
Notas:
Die teks wat in grawe ingesluit is, moet deur u data, 'u-data', vervang word
Stap 4: Skematiese
run-fan vereis dat 'n S8050 NPN transistor en 'n weerstand soos volg verbind word:
Die plat kant van S8050 kyk hierdie kant uit>
- S8050-pen c: verbind met swart (-) draad op waaier
- S8050 -pen b: sluit aan op 110 Ohm -weerstand en op GPIO -pen 25
- S8050 -pen e: maak verbinding met die grond -GPIO -pen
- fan rooi (+): sluit aan op 3.3v GPIO -pen op framboos pi 3
GPIO -pen 25 word gebruik, maar dit kan verander word na enige GPIO -invoerpen
Stap 5: Kry die script
Teken in op u framboos pi met een van die volgende:
$ ssh osmc@♣ ip-adres ♣
$ shh osmc@♣osmc-hostname♣.local
En dan kan u die script aflaai met:
$ sudo wget "https://raw.githubusercontent.com/dumbo25/rpi-fan/master/run-fan.py"
Ek gebruik kodi op osmc, en die gebruiker is osmc. As u user pi het, verander dan alle voorvalle van osmc met pi in die script en in die diens.
Maak die script uitvoerbaar.
$ sudo chmod +x run-fan.py
Ek skakel die waaier aan by 60 C. As die aanvangstemperatuur te laag gestel is, sal die waaier aanskakel om die SVE af te koel, en teen die tyd dat die waaier afgeskakel word, is die temperatuur amper weer terug na die aanvangstemperatuur. Probeer 45 C om hierdie effek te sien. Ek is nie seker wat die optimale temperatuur is nie.
Stap 6: Begin die script outomaties
Gebruik systemd. Om die waaier outomaties te laat begin
Teken in op jou framboos pi met een van die volgende:
$ ssh osmc@♣ ip-adres ♣
$ shh osmc@♣osmc-hostname♣.local
En dan kan u die systemd -dienslêer aflaai met:
$ sudo wget https://raw.githubusercontent.com/dumbo25/rpi-fan/…
Of u kan 'n systemd-dienslêer skep deur die inhoud van die run-fan-diens vanaf github te kopieer en dan uit te voer:
$ sudo nano /lib/systemd/system/run-fan.service
Plak die inhoud van github in die lêer
ctrl-o, ENTER, ctrl-x om die nano-redakteur op te slaan en te verlaat
Die lêer moet deur root besit word en moet in/lib/systemd/system wees. Die opdragte is:
$ sudo chown root: root run-fan.service
$ sudo mv run-fan.service/lib/systemd/system/.
Na enige veranderinge aan /lib/systemd/system/run-fan.service:
$ sudo systemctl daemon-herlaai
$ sudo systemctl aktiveer run-fan.service $ sudo herlaai
Nadat u Raspberry Pi herlaai het, behoort die waaier te werk!
As u probleme ondervind met die script wat begin met herlaai, kyk dan na die stelsel-onderwerp in die bylae vir probleemoplossing.
Stap 7: Bylaag: Verwysings
Temperatuur Raspberry Pi Org FAQs
Hackernoon: Hoe om 'n waaier te beheer
Rekenaars verduidelik: Video's afkoel
Tom's Hardware: temperatuur effek op prestasie
Puget -stelsels: impak van temperatuur op die SVE -prestasie
Trek weerstande op en af
Stap 8: Bylaag: Opdaterings
Om te doen: kombineer die RF -ontvanger -kring met die waaierbeheerder
Stap 9: Bylaag: probleemoplossing
Kontroleer die stelseldiens
Voer een of meer van die opdragte uit om te verseker dat die run-fan.service in systemd aangeskakel en werk:
$ systemctl list-unit-files | grep aangeskakel
$ systemctl | grep hardloop | grep fan $ systemctl status run -fan.service -l
As daar probleme is met die begin van die script met systemd, ondersoek dan die joernaal met:
$ sudo journalctl -u run -fan.service
Om te kyk of run-fan.py loop:
$ kat /home/osmc/run-fan.log