Cuprins:

Controlați un ventilator de răcire pe un Raspberry Pi 3: 9 Pași
Controlați un ventilator de răcire pe un Raspberry Pi 3: 9 Pași

Video: Controlați un ventilator de răcire pe un Raspberry Pi 3: 9 Pași

Video: Controlați un ventilator de răcire pe un Raspberry Pi 3: 9 Pași
Video: Octopus Max EZ v1.0 - Hotend and Automatic Cooling Fans 2024, Noiembrie
Anonim
Controlați un ventilator de răcire pe un Raspberry Pi 3
Controlați un ventilator de răcire pe un Raspberry Pi 3

Adăugați un ventilator la un raspberry pi 3, cu control pentru a-l porni și opri după cum este necesar.

O modalitate ușoară de a adăuga un ventilator este să conectați pur și simplu cablurile ventilatorului la un pin de 3,3V sau 5V și la masă. Folosind această abordare, ventilatorul va rula tot timpul.

Cred că este mult mai interesant să porniți ventilatorul când a atins sau a depășit un prag de temperatură ridicată și apoi să-l opriți când CPU-ul a fost răcit sub un prag de temperatură scăzută.

Instrucțiunea presupune că aveți o configurare și funcționare Raspberry Pi 3 și doriți să adăugați un ventilator. În cazul meu, folosesc Kodi pe OSMC.

Pasul 1: Performanță și temperatură CPU

Nu există acțiuni aici. Acestea sunt doar informații generale și puteți trece la pasul următor:

Un radiator este suficient pentru majoritatea aplicațiilor Raspberry Pi 3 și nu este necesar un ventilator.

Un pi zmeură overclockat ar trebui să folosească un ventilator.

Pe kodi, dacă nu aveți o cheie de licență MPEG-2, atunci puteți primi o pictogramă termometru, care indică necesitatea unei licențe sau a unui ventilator.

Procesorul Raspberry Pi 3 este specificat să funcționeze între -40 ° C și 85 ° C. Dacă temperatura CPU depășește 82 ° C, atunci viteza de ceas a CPU va fi încetinită până când temperatura scade sub 82 ° C.

O creștere a temperaturii procesorului va face ca semiconductorii să funcționeze mai lent, deoarece creșterea temperaturii crește rezistența. Cu toate acestea, o creștere a temperaturii de la 50 ° C la 82 ° C are un impact neglijabil asupra performanțelor procesorului Raspberry Pi 3.

Dacă temperatura procesorului Raspberry Pi 3 'este peste 82 ° C, atunci CPU este limitată (viteza ceasului este redusă). Dacă se aplică aceeași sarcină, atunci CPU ar putea avea dificultăți în a-l reduce suficient de repede, mai ales dacă este overclockat. Deoarece semiconductorii au un coeficient de temperatură negativ, atunci când temperatura depășește specificațiile, atunci temperatura s-ar putea să fugă, iar procesorul să nu funcționeze și va trebui să aruncați Raspberry Pi.

Rularea procesorului la temperatură ridicată, scurtează durata de viață a procesorului.

Pasul 2: Pinii și rezistențele GPIO

Nu există acțiuni aici. Acestea sunt doar informații generale și puteți trece la pasul următor:

Deoarece nu sunt inginer electric și am urmat instrucțiunile din proiectele de pe net, făcând acest lucru, am deteriorat un număr destul de mare de pini GPIO și în cele din urmă a trebuit să arunc mai mult de un Raspberry Pi. De asemenea, am încercat overclockarea și am ajuns să arunc câteva Raspberry Pis care nu ar mai funcționa.

O aplicație obișnuită este să adăugați un buton la un Raspberry Pi. Introducerea unui buton între un știft de 5V sau 3,3V și un știft de masă creează efectiv un scurtcircuit atunci când butonul este apăsat. Deoarece nu există nicio sarcină între sursa de tensiune și masă. Același lucru se întâmplă atunci când un pin GPIO este utilizat pentru ieșire (sau intrare) de 3,3V.

O altă problemă este atunci când un pin de intrare nu este conectat, acesta va „pluti”, ceea ce înseamnă că valoarea citită este nedefinită și dacă codul dvs. acționează pe baza valorii citite, acesta va avea erori.

Este necesar un rezistor între un pin GPIO și orice se conectează la acesta.

Pinii GPIO au rezistențe interne de tragere în sus și de coborâre. Acestea pot fi activate cu funcția de configurare a bibliotecii GPIO:

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

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

Sau poate fi introdus un rezistor fizic. În acest instructable, am folosit un rezistor fizic, dar puteți încerca rezistorul intern și activați cu biblioteca GPIO.

De pe site-ul Arduino Playground din Anexa Referință:

„Un rezistor de tracțiune„ trage”slab tensiunea firului la care este conectat spre nivelul sursei de tensiune atunci când celelalte componente de pe linie sunt inactive. Când comutatorul de pe linie este deschis, este cu impedanță ridicată și acționează ca și cum ar fi deconectat. Deoarece celelalte componente acționează ca și cum ar fi deconectate, circuitul acționează ca și cum ar fi deconectat, iar rezistența de tragere aduce firul la nivelul logic ridicat. Când o altă componentă de pe linie este activă, va suprascrie nivelul logic ridicat stabilit de rezistența de tragere. Rezistența de tragere asigură că firul se află la un nivel logic definit chiar dacă nu sunt conectate dispozitive active la acesta."

Pasul 3: Piese

Puteți folosi aproape orice, dar acestea sunt părțile pe care le-am folosit.

Părți:

  • Tranzistor NPN S8050

    250 de bucăți asortate 8,99 USD, sau aproximativ 0,04 USD

  • Rezistor de 110 Ohm

    400 de rezistențe pentru 5,70 USD, sau aproximativ 0,01 USD

  • Micro ventilator, cerințe în descriere sau specificații:

    • aproximativ 6,00 USD
    • fără perii
    • tăcut
    • cel mai mic Amp sau Watts comparativ cu un ventilator similar
    • În descriere, căutați ceva de genul „tensiune de lucru de 2V-5V”
  • fire jumper feminin-feminin și mascul-feminin
  • panou de masă
  • Raspberry Pi 3
  • Alimentare 5.1V 2.4A

Note:

Textul închis în pică este menit să fie înlocuit cu datele dvs., ♣ datele dvs. ♣

Pasul 4: Schematic

Schematic
Schematic

rularea-ventilator necesită un tranzistor S8050 NPN și un rezistor pentru a fi conectat după cum urmează:

Partea plană a S8050 este orientată în acest fel>

  • S8050 pin c: se conectează la firul negru (-) al ventilatorului
  • S8050 pin b: se conectează la rezistența de 110 ohmi și la pinul GPIO 25
  • S8050 pin e: se conectează la pinul GPIO de masă
  • ventilator roșu (+): se conectează la pinul GPIO de 3,3 v pe raspberry pi 3

Pinul GPIO 25 este utilizat, dar poate fi schimbat cu orice pin de intrare GPIO

Pasul 5: Obțineți scriptul

Conectați-vă la raspberry pi cu una dintre următoarele:

$ ssh osmc @ ♣ adresa IP ♣

$ shh osmc@♣osmc-hostname♣.local

Și apoi puteți descărca scriptul folosind:

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

Folosesc kodi pe osmc, iar utilizatorul este osmc. Dacă aveți utilizator pi, atunci schimbați doar toate aparițiile osmc cu pi în script și în serviciu.

Faceți scriptul executabil.

$ sudo chmod + x run-fan.py

Pornesc ventilatorul la 60 C. Dacă temperatura de pornire este setată prea scăzută, ventilatorul va porni răcirea procesorului și, până când ventilatorul este oprit, temperatura este aproape înapoi pentru a porni temperatura. Încercați 45 C pentru a vedea acest efect. Nu sunt sigur care este temperatura optimă.

Pasul 6: Porniți automat scriptul

Porniți automat scriptul
Porniți automat scriptul

Pentru a porni run-fanul să pornească automat, utilizați systemd

Conectați-vă la raspberry pi cu una dintre următoarele:

$ ssh osmc @ ♣ adresa IP ♣

$ shh osmc@♣osmc-hostname♣.local

Și apoi puteți descărca fișierul de servicii systemd folosind:

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

Sau, puteți crea un fișier de serviciu systemd copiind conținutul serviciului run-fan din github și apoi executând:

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

Lipiți conținutul din github în fișier

ctrl-o, ENTER, ctrl-x pentru a salva și a ieși din editorul nano

Fișierul trebuie să fie deținut de root și trebuie să fie în / lib / systemd / system. Comenzile sunt:

$ sudo chown root: root run-fan.service

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

După orice modificare a /lib/systemd/system/run-fan.service:

$ sudo systemctl daemon-reload

$ sudo systemctl activează run-fan.service $ sudo reboot

După repornirea Raspberry Pi, ventilatorul ar trebui să funcționeze!

Dacă aveți probleme cu scriptul care începe la re-boot, verificați subiectul systemd în Anexa de depanare.

Pasul 7: Anexă: Referințe

Întrebări frecvente despre temperatura Raspberry Pi Org

Hackernoon: Cum să controlezi un fan

Calculatoare explicative: videoclipuri răcitoare

Tom's Hardware: Efect de temperatură asupra performanței

Puget Systems: Impactul temperaturii asupra performanței procesorului

Trageți în sus și trageți în jos rezistențele

Pasul 8: Anexă: Actualizări

De făcut: îmbinați placa de circuit a receptorului RF cu controlerul ventilatorului

Pasul 9: Anexă: Depanare

Verificarea serviciului systemd

Pentru a vă asigura că run-fan.service în systemd este activat și rulează, rulați una sau mai multe dintre comenzi:

$ systemctl list-unit-files | grep activat

$ systemctl | grep care rulează | grep fan $ systemctl status run-fan.service -l

Dacă există probleme cu pornirea scriptului folosind systemd, examinați jurnalul folosind:

$ sudo journalctl -u run-fan.service

Pentru a verifica dacă rulează run-fan.py:

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

Recomandat: