Innholdsfortegnelse:
- Trinn 1: CPU -ytelse og temperatur
- Trinn 2: GPIO -pinner og motstander
- Trinn 3: Deler
- Trinn 4: Skjematisk
- Trinn 5: Få skriptet
- Trinn 6: Start opp skriptet automatisk
- Trinn 7: Vedlegg: Referanser
- Trinn 8: Vedlegg: Oppdateringer
- Trinn 9: Vedlegg: Feilsøking
Video: Kontroller en kjølevifte på en Raspberry Pi 3: 9 -trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Legg en vifte til en bringebær pi 3, med kontroll for å slå den på og av etter behov.
En enkel måte å legge til en vifte på er å bare koble vifteledningene til en 3.3V eller 5V pin og til jord. Ved å bruke denne tilnærmingen vil viften gå hele tiden.
Jeg synes det er mye mer interessant å slå på viften når den nådde eller overgikk en høy temperatur terskel, og deretter slå den av når CPU ble avkjølt under en lav temperatur terskel.
Den instruerbare forutsetter at du har et Raspberry Pi 3 -oppsett og kjører, og du vil legge til en vifte. I mitt tilfelle bruker jeg Kodi på OSMC.
Trinn 1: CPU -ytelse og temperatur
Det er ingen handlinger her. Dette er bare bakgrunnsinformasjon, og du kan hoppe til neste trinn:
En kjøleribbe er nok for de fleste Raspberry Pi 3 -applikasjoner, og en vifte er ikke nødvendig.
En overklokket bringebær pi bør bruke en vifte.
På kodi, hvis du ikke har en MPEG-2-lisensnøkkel, kan du få et termometerikon, som indikerer behovet for enten en lisens eller en vifte.
Raspberry Pi 3s CPU er beregnet til å kjøre mellom -40 ° C til 85 ° C. Hvis CPU -temperaturen overstiger 82 ° C, reduseres CPUens klokkehastighet til temperaturen synker under 82 ° C.
En økning i CPU -temperaturen vil få halvledere til å gå saktere fordi økning av temperaturen øker motstanden. Imidlertid har en økning i temperaturen fra 50 ° C til 82 ° C ubetydelig innvirkning på CPU -ytelsen til en Raspberry Pi 3.
Hvis temperaturen på Raspberry Pi 3 'CPU er over 82 ° C, blir CPUen strupet (klokkehastigheten senkes). Hvis den samme belastningen blir påført, kan det hende at CPU -en har vanskelig for å få den tilbake raskt nok, spesielt hvis den er overklokket. Fordi halvledere har en negativ temperaturkoeffisient, kan temperaturen løpe unna når temperaturen overskrider spesifikasjonene, og CPU -en kan mislykkes, og du må kaste Raspberry Pi.
Kjøring av CPU ved høy temperatur, forkorter CPUens levetid.
Trinn 2: GPIO -pinner og motstander
Det er ingen handlinger her. Dette er bare bakgrunnsinformasjon, og du kan hoppe til neste trinn:
Fordi jeg ikke er elektroingeniør og fulgte instruksjoner fra prosjekter på nettet, skadet jeg et stort antall GPIO -pinner ved å gjøre det og måtte til slutt kaste mer enn en Raspberry Pi. Jeg prøvde også å overklokke og endte med å kaste noen Raspberry Pis som ikke lenger ville fungere.
En vanlig applikasjon er å legge til en trykknapp på en Raspberry Pi. Ved å sette inn en trykknapp mellom en 5V eller 3.3V pin og en jordet pin, opprettes det effektivt en kort når knappen trykkes inn. Fordi det ikke er noen belastning mellom spenningskilden og jord. Det samme skjer når en GPIO -pinne brukes til 3,3V utgang (eller inngang).
Et annet problem er at når en inngangspinne ikke er tilkoblet, vil den "flyte", noe som betyr at verdien som er lest, er udefinert, og hvis koden din iverksetter tiltak basert på verdien som er lest, vil den være feil.
Det kreves en motstand mellom en GPIO -pin og alt den kobles til.
GPIO -pinner har interne trekk opp og ned motstander. Disse kan aktiveres med oppsettfunksjonen for GPIO -biblioteket:
GPIO.setup (kanal, GPIO. IN, pull_up_down = GPIO. PUD_UP)
GPIO.setup (kanal, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)
Eller en fysisk motstand kan settes inn. I denne instruksen brukte jeg en fysisk motstand, men du kan prøve den interne motstanden og aktivere med GPIO -biblioteket.
Fra Arduino Playground -nettstedet i vedleggsreferansen:
"En opptrekkmotstand" trekker "svakt" spenningen til ledningen den er koblet til mot spenningskildenivået når de andre komponentene på linjen er inaktive. Når bryteren på linjen er åpen, er den høyimpedans og virker som om den er frakoblet. Siden de andre komponentene virker som om de er frakoblet, virker kretsen som om den er frakoblet, og opptrekkmotstanden fører ledningen opp til det høye logiske nivået. Når en annen komponent på linjen blir aktiv, den vil overstyre det høye logiske nivået som er angitt av pull-up-motstanden. Pull-up-motstanden sikrer at ledningen er på et definert logisk nivå, selv om ingen aktive enheter er koblet til den."
Trinn 3: Deler
Du kan bruke det meste, men dette er delene jeg brukte.
Deler:
-
NPN S8050 transistor
250 stykker diverse $ 8,99, eller omtrent $ 0,04
-
110 Ohm motstand
400 motstander for $ 5,70, eller omtrent $ 0,01
-
Micro Fan, krav i beskrivelsen eller spesifikasjonene:
- ca $ 6,00
- børsteløs
- stille
- laveste amp eller watt sammenlignet med en lignende vifte
- I beskrivelsen, se etter noe som "arbeidsspenning på 2V-5V"
- hun-kvinne og mann-hunn-jumper ledninger
- brødbrett
- Raspberry Pi 3
- 5.1V 2.4A strømforsyning
Merknader:
Tekst i spader er ment å bli erstattet av dataene dine, ♣ dine-data ♣
Trinn 4: Skjematisk
run-fan krever at en S8050 NPN-transistor og en motstand kobles til som følger:
Den flate siden av S8050 vender på denne måten>
- S8050 pin c: kobles til svart (-) ledning på viften
- S8050 pin b: kobles til 110 Ohm motstand og til GPIO pin 25
- S8050 pin e: kobles til jordet GPIO -pin
- vifte rød (+): kobles til 3.3v GPIO -pin på bringebær pi 3
GPIO pin 25 brukes, men den kan endres til hvilken som helst GPIO input pin
Trinn 5: Få skriptet
Logg inn på din bringebær pi med ett av følgende:
$ ssh osmc@♣ ip-adresse ♣
$ shh osmc@♣osmc-hostname♣.local
Og så kan du laste ned skriptet ved hjelp av:
$ sudo wget "https://raw.githubusercontent.com/dumbo25/rpi-fan/master/run-fan.py"
Jeg bruker kodi på osmc, og brukeren er osmc. Hvis du har bruker pi, er det bare å endre alle forekomster av osmc med pi i skriptet og i tjenesten.
Gjør skriptet kjørbart.
$ sudo chmod +x run-fan.py
Jeg slår på viften på 60 C. Hvis starttemperaturen er satt for lavt, vil viften slås på og kjøle ned CPU -en, og når viften slås av, er temperaturen nesten tilbake til starttemperaturen. Prøv 45 C for å se denne effekten. Jeg er ikke sikker på hva som er den optimale temperaturen.
Trinn 6: Start opp skriptet automatisk
For å få kjøreviften til å starte automatisk, bruk systemd
Logg inn på din bringebær pi med ett av følgende:
$ ssh osmc@♣ ip-adresse ♣
$ shh osmc@♣osmc-hostname♣.local
Og så kan du laste ned systemd -servicefilen ved hjelp av:
$ sudo wget https://raw.githubusercontent.com/dumbo25/rpi-fan/…
Eller du kan opprette en systemd servicefil ved å kopiere innholdet i run-fan-tjenesten fra github og deretter kjøre:
$ sudo nano /lib/systemd/system/run-fan.service
Lim inn innholdet fra github i filen
ctrl-o, ENTER, ctrl-x for å lagre og avslutte nano-editoren
Filen må være eid av root, og den må være i/lib/systemd/system. Kommandoene er:
$ sudo chown root: root run-fan.service
$ sudo mv run-fan.service/lib/systemd/system/.
Etter endringer i /lib/systemd/system/run-fan.service:
$ sudo systemctl daemon-reload
$ sudo systemctl aktiverer run-fan.service $ sudo omstart
Etter omstart av Raspberry Pi, bør viften fungere!
Hvis du har problemer med at skriptet starter ved omstart, må du sjekke systemd-emnet i feilsøkingsvedlegget.
Trinn 7: Vedlegg: Referanser
Vanlige spørsmål om temperatur Raspberry Pi Org
Hackernoon: Slik kontrollerer du en vifte
Forklarende datamaskiner: Avkjølende videoer
Toms maskinvare: Temperatureffekt på ytelsen
Puget -systemer: Temperaturens innvirkning på CPU -ytelsen
Trekk opp og trekk ned motstander
Trinn 8: Vedlegg: Oppdateringer
Å gjøre: slå sammen RF -mottaker kretskort med viftekontroll
Trinn 9: Vedlegg: Feilsøking
Kontrollerer systemtjenesten
For å sikre at run-fan.service i systemd er aktivert og kjører, kjør en eller flere av kommandoene:
$ systemctl list-unit-files | grep aktivert
$ systemctl | grep løping | grep fan $ systemctl status run -fan.service -l
Hvis det er problemer med å starte skriptet ved hjelp av systemd, kan du undersøke journalen ved hjelp av:
$ sudo journalctl -u run -fan.service
For å sjekke om run-fan.py kjører:
$ cat /home/osmc/run-fan.log
Anbefalt:
Vanntett Raspberry Pi Powered Wifi DSLR Webcam for Time Laps: 3 Steps (with Pictures)
Vanntett Raspberry Pi Powered Wifi DSLR Webcam for Time Lapses: Jeg er en suger for å se solnedganger hjemmefra. Så mye at jeg får litt FOMO når det er en god solnedgang og jeg ikke er hjemme for å se det. IP -webkameraer ga skuffende bildekvalitet. Jeg begynte å se på måter å gjenbruke min første DSLR: en 2007 Cano
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Steps
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: MPL3115A2 bruker en MEMS -trykksensor med et I2C -grensesnitt for å gi nøyaktige trykk-/høyde- og temperaturdata. Sensorutgangene digitaliseres med en høyoppløselig 24-biters ADC. Intern behandling fjerner kompensasjonsoppgaver fra
RASPBERRY PI Pi OBJECT DETECTION WITH MULTIPLE CAMERA'S: 3 Steps
RASPBERRY PI Pi OBJEKTDETEKSJON MED FLERE KAMERAS: Jeg holder introen kort, ettersom tittelen i seg selv antyder hva hovedformålet med den instruerbare er. I denne trinnvise instruksjonen vil jeg forklare deg hvordan du kobler til flere kameraer som 1-pi-kamera og minst ett USB-kamera eller 2 USB-kameraer
Raspberry Pi Whole Home Synchronous Audio With Phone App Remotes: 10 Steps (with Pictures)
Raspberry Pi Whole Home Synchronous Audio With Phone App Remotes: Målet er synkronisert lyd og/eller individuelle kilder i alle rom, enkelt kontrollert med en telefon eller et nettbrett via iTunes Remote (apple) eller Retune (android). Jeg vil også at lydsonene skal slås av/på automatisk, så jeg snudde meg til Raspberry Pi og
SENSLY HAT FOR RASPBERRY PI AIR QUALITY & GAS DETECTOR V1.1: 9 Steps
SENSLY HAT FOR RASPBERRY PI AIR QUALITY & GAS DETECTOR V1.1: Sensly er en bærbar forurensningssensor som er i stand til å oppdage forurensningsnivåene i luften ved hjelp av sine innebygde gassensorer for å samle informasjon om de forskjellige gassene som er tilstede. Denne informasjonen kan mates direkte til smarttelefonen din for sanntid