Sisukord:

PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: 4 sammu (koos piltidega)
PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: 4 sammu (koos piltidega)

Video: PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: 4 sammu (koos piltidega)

Video: PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: 4 sammu (koos piltidega)
Video: Объяснение прошивки Marlin 2.0.x 2024, Juuli
Anonim
PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril
PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril

Paljud Raspberry Pi ümbrised on varustatud väikese 5 V ventilaatoriga, et aidata CPU jahutada. Kuid need ventilaatorid on tavaliselt üsna mürarikkad ja paljud inimesed ühendavad selle müra vähendamiseks 3V3 pistikuga. Nende ventilaatorite võimsus on tavaliselt 200 mA, mis on RPi 3V3 regulaatori jaoks üsna kõrge. See projekt õpetab teile, kuidas ventilaatori kiirust CPU temperatuuri alusel reguleerida. Erinevalt enamikust seda teemat käsitlevatest õpetustest ei lülita me mitte ainult ventilaatorit sisse ega välja, vaid kontrollime selle kiirust nagu tavalises arvutis, kasutades Pythoni.

Samm: vajalikud osad

Selle projekti jaoks kasutame ainult mõnda komponenti, mis tavaliselt sisalduvad harrastajate elektroonikakomplektides, mida leiate Amazonist, nagu see.

  • Raspberry Pi töötab Raspbianiga (kuid peaks töötama koos teiste levitajatega).
  • 5 V ventilaator (kuid 12 V ventilaatorit saab kasutada koos kohandatud transistori ja 12 V toiteallikaga).
  • NPN -transistor, mis toetab vähemalt 300 mA, nagu 2N2222A.
  • 1K takisti.
  • 1 diood.

Valikuline, et komponendid korpuse sisse panna (kuid pole veel tehtud):

  • Väike tükk protoplaati komponentide jootmiseks.
  • Suur termokahaneb plaadi kaitsmiseks.

Samm: elektriühendused

Elektriühendused
Elektriühendused
Elektriühendused
Elektriühendused
Elektriühendused
Elektriühendused

Takisti saab ühendada mõlemal viisil, kuid olge ettevaatlik transistori ja dioodi suuna suhtes. Dioodi katood tuleb ühendada +5 V (punase) juhtmega ja anood GND (musta) juhtmega. Kontrollige oma transistori dokumendist emitteri, aluse ja kollektori kontakte. Ventilaatori maandus peab olema ühendatud kollektoriga ja Rpi maandus peab olema ühendatud Emitteriga

Ventilaatori juhtimiseks peame kasutama transistorit, mida kasutatakse avatud kollektori konfiguratsioonis. Seda tehes on meil lüliti, mis ühendab või eraldab maandusjuhtme ventilaatorist vaarika pi maapinnale.

NPN BJT transistor juhib sõltuvalt selle väravast voolavast voolust. Vool, mis lastakse kollektorist (C) emitterisse (E) voolata, on järgmine:

Ic = B * Ib

Ic on vool, mis voolab läbi kollektor -emitteri, Ib on vool, mis voolab läbi aluse emitterisse ja B (beeta) on väärtus, mis sõltub igast transistorist. Ligikaudne B = 100.

Kuna meie ventilaatori võimsus on 200 mA, vajame transistori aluse kaudu vähemalt 2 mA. Pinget aluse ja kiirguri (Vbe) vahel peetakse konstantseks ja Vbe = 0, 7V. See tähendab, et kui GPIO on sisse lülitatud, on meil takisti juures 3,3 - 0,7 = 2,6 V. Selleks, et selle takisti kaudu oleks 2mA, vajame takisti, maksimaalselt 2,6 / 0,002 = 1300 oomi. Vigade lihtsustamiseks ja hoidmiseks kasutame 1000 oomi takistit. Meil on GPIO -pistiku kaudu 2,6 mA, mis on täiesti ohutu.

Kuna ventilaator on põhimõtteliselt elektrimootor, on see induktiivne laeng. See tähendab, et kui transistor lakkab juhtimast, jätkab ventilaatori vool voolamist, kuna induktiivne laeng püüab voolu konstantsena hoida. See tooks kaasa ventilaatori maandusnõela kõrge pinge ja võib transistori kahjustada. Sellepärast vajame ventilaatoriga paralleelselt dioodi, mis paneb voolu pidevalt läbi mootori liikuma. Seda tüüpi dioodide seadistamist nimetatakse hooratta dioodiks

Samm: programm ventilaatori kiiruse juhtimiseks

Ventilaatori kiiruse juhtimiseks kasutame tarkvara PWM signaali RPi. GPIO teegist. PWM -signaal on hästi kohandatud elektrimootorite juhtimiseks, kuna nende reaktsiooniaeg on PWM -sagedusega võrreldes väga kõrge.

Kasutage programmi calib_fan.py, et leida FAN_MIN väärtus terminalis käivitades:

python calib_fan.py

Kontrollige mitmeid väärtusi vahemikus 0 kuni 100% (peaks olema umbes 20%) ja vaadake, milline on teie ventilaatori sisselülitamise minimaalne väärtus.

Temperatuuri ja ventilaatori kiiruse vahelist vastavust saate muuta koodi alguses. TempSteps peab olema sama palju kui speedSteps väärtusi. Seda meetodit kasutatakse tavaliselt arvutite emaplaatidel, mis liigutavad punkte 2-teljelisel graafikul Temp / Speed.

Samm: käivitage programm käivitamisel

Programmi käivitamiseks automaatseks käivitamiseks tegin bash -skripti, kuhu panin kõik programmid, mida soovin käivitada, ja käivitan selle bash -skripti käivitamisel rc.locale

  1. Looge kataloog/home/pi/Scripts/ja asetage fail fan_ctrl.py sellesse kataloogi.
  2. Looge samas kataloogis fail nimega launcher.sh ja kopeerige allpool olev skript.
  3. Muutke faili /etc/rc.locale ja lisage uus rida "exit 0" ette: sudo sh '/home/pi/Scripts/launcher.sh'

käivitaja.sh skript:

#!/bin/sh #launcher.sh #navigeeri kodukataloogi, seejärel sellesse kataloogi, seejärel käivita pythoni skript, seejärel tagasi homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/

Kui soovite seda kasutada näiteks OSMC -ga, peate selle käivitama teenusena süsteemiga.

  1. Laadige alla fail fanctrl.service.
  2. Kontrollige oma pythoni faili teed.
  3. Asetage fanctrl.service kausta/lib/systemd/system.
  4. Lõpuks lubage teenus sudo systemctl enable fanctrl.service.

See meetod on turvalisem, kuna programm taaskäivitatakse automaatselt, kui kasutaja või süsteem selle tapab.

Soovitan: