Taula de continguts:

Controleu un ventilador de refrigeració en un Raspberry Pi 3: 9 Passos
Controleu un ventilador de refrigeració en un Raspberry Pi 3: 9 Passos

Vídeo: Controleu un ventilador de refrigeració en un Raspberry Pi 3: 9 Passos

Vídeo: Controleu un ventilador de refrigeració en un Raspberry Pi 3: 9 Passos
Vídeo: BTT - Manta M4P - Automated Controller fan for stepper cooling 2024, Juliol
Anonim
Controleu un ventilador de refrigeració en un Raspberry Pi 3
Controleu un ventilador de refrigeració en un Raspberry Pi 3

Afegiu un ventilador a un raspberry pi 3, amb control per engegar-lo i apagar-lo segons sigui necessari.

Una manera senzilla d’afegir un ventilador és simplement connectar els cables del ventilador a un pin de 3,3V o 5V i a terra. Utilitzant aquest enfocament, el ventilador funcionarà tot el temps.

Crec que és molt més interessant encendre el ventilador quan va assolir o superar un llindar de temperatura alta i després apagar-lo quan la CPU es va refredar per sota d’un llindar de temperatura baixa.

La informació suposa que teniu configurat i executat Raspberry Pi 3 i voleu afegir un ventilador. En el meu cas, estic fent servir Kodi a l’OSMC.

Pas 1: rendiment i temperatura de la CPU

Aquí no hi ha accions. Aquesta és només informació de fons i podeu passar al següent pas:

Un dissipador de calor és suficient per a la majoria d’aplicacions de Raspberry Pi 3 i no cal un ventilador.

Un raspberry pi overclocked hauria d’utilitzar un ventilador.

A kodi, si no teniu una clau de llicència MPEG-2, és possible que obtingueu una icona de termòmetre que indiqui la necessitat de llicència o ventilador.

La CPU del Raspberry Pi 3 s'especifica que funcioni entre -40 ° C i 85 ° C. Si la temperatura de la CPU supera els 82 ° C, la velocitat de rellotge de la CPU es reduirà fins que la temperatura baixi de 82 ° C.

Un augment de la temperatura de la CPU farà que els semiconductors funcionin més lentament, ja que augmentar la temperatura augmenta la resistència. No obstant això, un augment de la temperatura de 50 ° C a 82 ° C té un impacte insignificant en el rendiment de la CPU d'un Raspberry Pi 3.

Si la temperatura de la CPU Raspberry Pi 3 'és superior a 82 ° C, la CPU s'accelera (la velocitat del rellotge es redueix). Si s'aplica la mateixa càrrega, és possible que la CPU tingui dificultats per accelerar-la prou ràpidament, especialment si està overclockada. Com que els semiconductors tenen un coeficient de temperatura negatiu, quan la temperatura supera les especificacions, la temperatura pot fugir i la CPU pot fallar i haureu de llançar el Raspberry Pi.

Si s’executa la CPU a alta temperatura, s’escurça la vida útil de la CPU.

Pas 2: pins i resistències GPIO

Aquí no hi ha accions. Aquesta és només informació de fons i podeu passar al següent pas:

Com que no sóc enginyer elèctric i vaig seguir les instruccions dels projectes a la xarxa, en fer-ho, vaig danyar un bon nombre de pins GPIO i, finalment, vaig haver de llançar més d’un Raspberry Pi. També vaig provar l’overclocking i vaig acabar llençant alguns Raspberry Pis que ja no funcionarien.

Una aplicació habitual és afegir un polsador a un Raspberry Pi. Si inseriu un polsador entre un pin de 5V o 3,3V i un pin de terra, es crea un curt quan es prem el botó. Com que no hi ha càrrega entre la font de tensió i la terra. El mateix passa quan s’utilitza un pin GPIO per a la sortida (o entrada) de 3,3V.

Un altre problema és que quan un pin d'entrada no està connectat, "flotarà", el que significa que el valor llegit no està definit i, si el vostre codi pren accions basant-se en el valor llegit, serà erràtic.

Es requereix una resistència entre un pin GPIO i qualsevol cosa a la qual es connecti.

Els pins GPIO tenen resistències internes cap amunt i cap avall. Es poden activar amb la funció de configuració de la biblioteca GPIO:

GPIO.setup (canal, GPIO. IN, pull_up_down = GPIO. PUD_UP)

GPIO.setup (canal, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)

O es pot inserir una resistència física. En aquesta instrucció, he utilitzat una resistència física, però podeu provar-la i habilitar-la amb la biblioteca GPIO.

Des del lloc web Arduino Playground a l'Apèndix Referència:

"Una resistència de tracció" tira "dèbilment la tensió del cable al qual està connectat cap al nivell de la font de tensió quan els altres components de la línia estan inactius. Quan l'interruptor de la línia està obert, és d'alta impedància i actua Com que els altres components actuen com si estiguessin desconnectats, el circuit actua com si estigués desconnectat i la resistència de tracció fa que el cable arribi al nivell lògic alt. Quan un altre component de la línia s’activa, anul·larà l'alt nivell lògic establert per la resistència de tracció. La resistència de tracció assegura que el cable es troba a un nivell lògic definit encara que no hi estiguin connectats cap dispositiu actiu."

Pas 3: parts

Podeu utilitzar la majoria de qualsevol cosa, però aquestes són les parts que he fet servir.

Parts:

  • Transistor NPN S8050

    250 peces van assortir 8,99 dòlars, o aproximadament 0,04 dòlars

  • Resistència de 110 Ohm

    400 resistències per 5,70 dòlars, o aproximadament 0,01 dòlars

  • Micro Ventilador, requisits a la descripció o especificacions:

    • aproximadament 6,00 dòlars
    • sense escombretes
    • en silenci
    • Amp o Watts més baixos en comparació amb un ventilador similar
    • A la descripció, cerqueu alguna cosa com "tensió de treball de 2V a 5V"
  • cables de pont femení-femení i masculí-femení
  • taulell de pa
  • Raspberry Pi 3
  • Font d'alimentació de 5.1V 2.4A

Notes:

El text inclòs en pics s'ha de substituir per les vostres dades, ♣ les vostres dades ♣

Pas 4: esquema

Esquema
Esquema

El funcionament del ventilador requereix un transistor N80 S8050 i una resistència per connectar-se de la següent manera:

El costat pla del S8050 està orientat cap a aquesta>

  • S8050 pin c: es connecta al cable negre (-) del ventilador
  • Pin S8050 b: es connecta a la resistència de 110 ohms i al pin 25 GPIO
  • Pin S8050 e: es connecta al pin GPIO de terra
  • vermell ventilador (+): es connecta al pin GPIO de 3,3 v al raspberry pi 3

S'utilitza el pin 25 GPIO, però es pot canviar a qualsevol pin d'entrada GPIO

Pas 5: Obteniu l'script

Inicieu la sessió al raspberry pi amb una de les opcions següents:

$ ssh osmc @ ♣ adreça ip ♣

$ shh osmc@♣osmc-hostname♣.local

A continuació, podeu descarregar l'script mitjançant:

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

Estic fent servir kodi a osmc i l’usuari és osmc. Si teniu l'usuari pi, canvieu totes les aparicions d'osmc amb pi a l'script i al servei.

Feu que l'script sigui executable.

$ sudo chmod + x run-fan.py

Encenc el ventilador a 60 C. Si la temperatura d’inici és massa baixa, el ventilador s’encendrà i refredarà la CPU i, quan el ventilador s’apagui, la temperatura gairebé tornarà a iniciar-se. Proveu 45 C per veure aquest efecte. No estic segur de quina és la temperatura òptima.

Pas 6: inicieu automàticament l'script

Inicieu l'script automàticament
Inicieu l'script automàticament

Per aconseguir que run-fan s'iniciï automàticament, utilitzeu systemd

Inicieu la sessió al raspberry pi amb una de les opcions següents:

$ ssh osmc @ ♣ adreça ip ♣

$ shh osmc@♣osmc-hostname♣.local

A continuació, podeu descarregar el fitxer de servei systemd mitjançant:

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

O bé, podeu crear un fitxer de servei systemd copiant el contingut del servei run-fan de github i després executant:

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

Enganxeu el contingut de github al fitxer

ctrl-o, ENTER, ctrl-x per desar i sortir de l'editor nano

El fitxer ha de ser propietat de root i ha de ser a / lib / systemd / system. Les ordres són:

$ sudo chown root: root run-fan.service

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

Després de qualsevol canvi a /lib/systemd/system/run-fan.service:

$ sudo systemctl daemon-recoad

$ sudo systemctl habilita reiniciar run-fan.service $ sudo

Després de reiniciar el Raspberry Pi, el ventilador hauria de funcionar.

Si teniu problemes amb el script que comença en reiniciar, consulteu el tema systemd a l'apèndix de resolució de problemes.

Pas 7: Apèndix: Referències

Preguntes freqüents sobre la temperatura del gerd Pi

Hackernoon: Com controlar un ventilador

Explicació d’ordinadors: vídeos refrescants

Tom's Hardware: efecte de la temperatura sobre el rendiment

Puget Systems: impacte de la temperatura sobre el rendiment de la CPU

Resistències de tracció cap amunt i cap avall

Pas 8: Apèndix: actualitzacions

Per fer: combinar la placa de circuit del receptor de RF amb el controlador del ventilador

Pas 9: Apèndix: resolució de problemes

Comprovació del servei systemd

Per assegurar-vos que el run-fan.service a systemd està habilitat i en execució, executeu una o més de les ordres:

$ systemctl list-unit-files | grep activat

$ systemctl | grep corrent | grep fan $ systemctl status run-fan.service -l

Si hi ha problemes relacionats amb l'inici de l'script mitjançant systemd, examineu el diari mitjançant:

$ sudo journalctl -u run-fan.service

Per comprovar si s'executa run-fan.py:

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

Recomanat: