Indholdsfortegnelse:

Styr en køleventilator på en Raspberry Pi 3: 9 trin
Styr en køleventilator på en Raspberry Pi 3: 9 trin

Video: Styr en køleventilator på en Raspberry Pi 3: 9 trin

Video: Styr en køleventilator på en Raspberry Pi 3: 9 trin
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Juli
Anonim
Styr en køleventilator på en Raspberry Pi 3
Styr en køleventilator på en Raspberry Pi 3

Føj en blæser til en hindbær pi 3, med kontrol for at tænde og slukke efter behov.

En let måde at tilføje en blæser på er ved blot at tilslutte ventilatorledningerne til en 3,3V eller 5V pin og til jorden. Ved hjælp af denne fremgangsmåde kører blæseren hele tiden.

Jeg synes, det er meget mere interessant at tænde blæseren, når den nåede eller overskred en høj temperatur tærskel, og derefter slukke den, når CPU'en blev afkølet under en lav temperatur tærskel.

Den instruerbare forudsætter, at du har en Raspberry Pi 3 -opsætning og kører, og du vil tilføje en fan. I mit tilfælde bruger jeg Kodi på OSMC.

Trin 1: CPU -ydelse og temperatur

Der er ingen handlinger her. Dette er kun baggrundsinformation, og du kan springe til det næste trin:

Et kølelegeme er nok til de fleste Raspberry Pi 3 -applikationer, og en ventilator er ikke påkrævet.

En overklokket hindbær pi skal bruge en ventilator.

På kodi, hvis du ikke har en MPEG-2-licensnøgle, kan du få et termometerikon, der angiver behovet for enten en licens eller en ventilator.

Raspberry Pi 3's CPU er beregnet til at køre mellem -40 ° C til 85 ° C. Hvis CPU -temperaturen overstiger 82 ° C, sænkes CPU'ens urhastighed, indtil temperaturen falder til under 82 ° C.

En stigning i CPU -temperaturen vil få halvledere til at køre langsommere, fordi stigning i temperaturen øger modstanden. En stigning i temperaturen fra 50 ° C til 82 ° C har imidlertid en ubetydelig indvirkning på en Raspberry Pi 3's CPU -ydelse.

Hvis temperaturen på Raspberry Pi 3 'CPU er over 82 ° C, bliver CPU'en kvalt (urets hastighed sænkes). Hvis den samme belastning påføres, kan CPU'en have svært ved at drosle den hurtigt nok tilbage, især hvis den er overklokket. Fordi halvledere har en negativ temperaturkoefficient, når temperaturen overstiger specifikationerne, kan temperaturen løbe væk, og CPU'en kan mislykkes, og du bliver nødt til at kaste Raspberry Pi.

Kører CPU'en ved høj temperatur, forkortes CPU'ens levetid.

Trin 2: GPIO pins og modstande

Der er ingen handlinger her. Dette er kun baggrundsinformation, og du kan springe til det næste trin:

Fordi jeg ikke er elektroingeniør og fulgte instruktioner fra projekter på nettet, beskadigede jeg ved at gøre et stort antal GPIO -ben og i sidste ende måtte kaste mere end en Raspberry Pi. Jeg prøvede også at overklokke og endte med at smide et par hindbærpis, der ikke længere ville fungere.

En almindelig applikation er at tilføje en trykknap til en Raspberry Pi. Ved at indsætte en trykknap mellem en 5V eller 3.3V pin og en jordstift, skabes der effektivt en kortslutning, når der trykkes på knappen. Fordi der ikke er nogen belastning mellem spændingskilden og jorden. Det samme sker, når en GPIO -pin bruges til 3.3V output (eller input).

Et andet problem er, at når en input -pin ikke er tilsluttet, vil den 'flyde', hvilket betyder, at den læste værdi er udefineret, og hvis din kode tager handling baseret på den læste værdi, vil den være uberegnelig.

Der kræves en modstand mellem en GPIO -pin og alt, hvad den forbinder til.

GPIO -benene har interne træk -op- og nedtrækningsmodstande. Disse kan aktiveres med GPIO -bibliotekets opsætningsfunktion:

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 modstand kan indsættes. I denne instruks brugte jeg en fysisk modstand, men du kan prøve den interne modstand og aktivere med GPIO -biblioteket.

Fra Arduino Playground -webstedet i appendiksreferencen:

"En pull-up-modstand" trækker "svagt spændingen på den ledning, den er forbundet til, mod dens spændingskildeniveau, når de andre komponenter på linjen er inaktive. Når kontakten på linjen er åben, er den højimpedans og virker som om den er afbrudt. Da de andre komponenter fungerer som om de er afbrudt, fungerer kredsløbet som om det er afbrudt, og pull-up-modstanden bringer ledningen op på det høje logiske niveau. Når en anden komponent på linjen bliver aktiv, det vil tilsidesætte det høje logiske niveau, der er indstillet af pull-up-modstanden. Pull-up-modstanden sikrer, at ledningen er på et defineret logisk niveau, selvom der ikke er tilsluttet nogen aktive enheder."

Trin 3: Dele

Du kan bruge det meste, men det er de dele, jeg brugte.

Dele:

  • NPN S8050 transistor

    250 stykker assorteret $ 8,99, eller omkring $ 0,04

  • 110 Ohm modstand

    400 modstande til $ 5,70, eller omkring $ 0,01

  • Micro Fan, krav i beskrivelsen eller specifikationerne:

    • omkring $ 6,00
    • børsteløs
    • stille
    • laveste Amp eller Watt i forhold til en lignende blæser
    • I beskrivelsen skal du kigge efter noget som "arbejdsspænding på 2V-5V"
  • hun-hun og hun-hun jumper ledninger
  • brødbræt
  • Raspberry Pi 3
  • 5.1V 2.4A strømforsyning

Bemærkninger:

Tekst i spader er beregnet til at blive erstattet af dine data, ♣ dine-data ♣

Trin 4: Skematisk

Skematisk
Skematisk

run-fan kræver, at en S8050 NPN-transistor og en modstand tilsluttes som følger:

Den flade side af S8050 vender på denne måde>

  • S8050 pin c: tilsluttes til sort (-) ledning på ventilator
  • S8050 pin b: tilsluttes 110 Ohm modstand og til GPIO pin 25
  • S8050 pin e: forbindes til jordet GPIO pin
  • blæser rød (+): tilsluttes til 3.3v GPIO pin på hindbær pi 3

GPIO pin 25 bruges, men den kan ændres til en hvilken som helst GPIO input pin

Trin 5: Få scriptet

Log ind på din hindbær pi med et af følgende:

$ ssh osmc@♣ ip-adresse ♣

$ shh osmc@♣osmc-hostname♣.local

Og så kan du downloade scriptet ved hjælp af:

$ sudo wget "https://raw.githubusercontent.com/dumbo25/rpi-fan/master/run-fan.py"

Jeg bruger kodi på osmc, og brugeren er osmc. Hvis du har bruger pi, skal du bare ændre alle forekomster af osmc med pi i scriptet og i tjenesten.

Gør scriptet eksekverbart.

$ sudo chmod +x run-fan.py

Jeg tænder blæseren ved 60 C. Hvis starttemperaturen er indstillet for lav, vil ventilatoren tænde for at afkøle CPU'en, og når blæseren slukkes, er temperaturen næsten tilbage til starttemperaturen. Prøv 45 C for at se denne effekt. Jeg er ikke sikker på, hvad den optimale temperatur er.

Trin 6: Start automatisk scriptet

Start automatisk scriptet
Start automatisk scriptet

For at få run-fan til at starte automatisk skal du bruge systemd

Log ind på din hindbær pi med et af følgende:

$ ssh osmc@♣ ip-adresse ♣

$ shh osmc@♣osmc-hostname♣.local

Og så kan du downloade systemd -servicefilen ved hjælp af:

$ sudo wget https://raw.githubusercontent.com/dumbo25/rpi-fan/…

Eller du kan oprette en systemd-servicefil ved at kopiere indholdet af run-fan-tjenesten fra github og derefter køre:

$ sudo nano /lib/systemd/system/run-fan.service

Indsæt indholdet fra github i filen

ctrl-o, ENTER, ctrl-x for at gemme og afslutte nano-editoren

Filen skal ejes af root, og den skal være i/lib/systemd/system. Kommandoerne er:

$ sudo chown root: root run-fan.service

$ sudo mv run-fan.service/lib/systemd/system/.

Efter eventuelle ændringer af /lib/systemd/system/run-fan.service:

$ sudo systemctl daemon-reload

$ sudo systemctl aktiverer run-fan.service $ sudo genstart

Efter genstart af din Raspberry Pi skulle ventilatoren fungere!

Hvis du har problemer med scriptet, der starter ved genstart, skal du kontrollere systemd-emnet i fejlfindingsbilaget.

Trin 7: Tillæg: Referencer

Temperatur Raspberry Pi Org FAQ

Hackernoon: Sådan styres en blæser

Forklarende computere: Videoer til afkøling

Toms hardware: Temperatureffekt på ydeevnen

Puget -systemer: Temperaturens indvirkning på CPU -ydelsen

Træk op og træk ned modstande

Trin 8: Tillæg: Opdateringer

At gøre: flet RF -modtager kredsløbskort med ventilator controller

Trin 9: Tillæg: Fejlfinding

Kontrol af systemd -tjenesten

For at sikre, at run-fan.service i systemd er aktiveret og kører, skal du køre en eller flere af kommandoerne:

$ systemctl list-unit-files | grep aktiveret

$ systemctl | grep løb | grep fan $ systemctl status run -fan.service -l

Hvis der er problemer med at starte scriptet ved hjælp af systemd, skal du undersøge journalen ved hjælp af:

$ sudo journalctl -u run -fan.service

For at kontrollere, om run-fan.py kører:

$ kat /home/osmc/run-fan.log

Anbefalede: