INHOUDSOPGAWE:

PWM -gereguleerde waaier gebaseer op CPU -temperatuur vir Framboos Pi: 4 stappe (met foto's)
PWM -gereguleerde waaier gebaseer op CPU -temperatuur vir Framboos Pi: 4 stappe (met foto's)

Video: PWM -gereguleerde waaier gebaseer op CPU -temperatuur vir Framboos Pi: 4 stappe (met foto's)

Video: PWM -gereguleerde waaier gebaseer op CPU -temperatuur vir Framboos Pi: 4 stappe (met foto's)
Video: BTT Octopus — конфигурация вентилятора с несколькими напряжениями. 2024, Junie
Anonim
PWM -gereguleerde waaier gebaseer op CPU -temperatuur vir Framboos Pi
PWM -gereguleerde waaier gebaseer op CPU -temperatuur vir Framboos Pi

Baie gevalle vir Raspberry Pi bevat 'n klein 5V -waaier om die SVE te help afkoel. Hierdie waaiers is egter gewoonlik raserig en baie mense koppel dit aan die 3V3 -pen om die geraas te verminder. Hierdie waaiers word gewoonlik beoordeel vir 200mA, wat redelik hoog is vir die 3V3 -reguleerder op die RPi. Hierdie projek sal u leer hoe u die ventilatorsnelheid kan reguleer op grond van die CPU -temperatuur. In teenstelling met die meeste tutoriale wat hierdie onderwerp dek, sal ons nie net die waaier aan- of uitskakel nie, maar ook die snelheid daarvan beheer soos op 'n gewone rekenaar met behulp van Python.

Stap 1: Onderdele benodig

Vir hierdie projek gebruik ons slegs 'n paar komponente wat gewoonlik ingesluit is in elektroniese stelle vir stokperdjies wat u op Amazon kan vind, soos hierdie.

  • Raspberry Pi met Raspbian (maar moet saam met ander verspreidings werk).
  • 5V waaier (maar 'n 12V waaier kan gebruik word met 'n aangepaste transistor en 'n 12V kragtoevoer).
  • NPN -transistor wat ten minste 300mA ondersteun, soos 'n 2N2222A.
  • 1K weerstand.
  • 1 diode.

Opsioneel om die komponente in die omhulsel te plaas (maar nog nie gedoen nie):

  • 'N Stukkie protobord om die komponente te soldeer.
  • Groot hitte krimp, om die bord te beskerm.

Stap 2: Elektriese verbindings

Elektriese aansluitings
Elektriese aansluitings
Elektriese aansluitings
Elektriese aansluitings
Elektriese aansluitings
Elektriese aansluitings

Weerstand kan in elk geval ingeprop word, maar wees versigtig met die rigting van die transistor en die diode. Die katode van die diode moet aan die +5V (rooi) draad gekoppel word, en die anode moet aan die GND (swart) draad gekoppel word. Kontroleer u transistor -dokument vir emitter-, basis- en versamelpenne. Die waaier se grond moet aan die versamelaar gekoppel wees, en die grond van Rpi moet aan die emitter gekoppel wees

Om die waaier te beheer, moet ons 'n transistor gebruik wat in die oop versamelaarkonfigurasie gebruik sal word. Deur dit te doen, het ons 'n skakelaar wat die gronddraad van die waaier na die grond van die framboospi verbind of ontkoppel.

'N NPN BJT -transistor gelei, afhangende van die stroom wat in sy hek vloei. Die stroom wat toegelaat word om van die kollektor (C) na die emitter (E) te vloei, is:

Ic = B * Ib

Ic is die stroom wat deur die kollektor die emitter vloei, Ib is die stroom wat deur die basis na die emitter vloei, en B (beta) is 'n waarde wat afhang van elke transistor. Ons benader B = 100.

Aangesien ons waaier 200mA is, benodig ons ten minste 2mA deur die basis van die transistor. Die spanning tussen die basis en die emitter (Vbe) word as konstant beskou en Vbe = 0, 7V. Dit beteken dat as die GPIO aan is, ons 3,3 - 0,7 = 2,6V by die weerstand het. Om 2mA deur die weerstand te hê, benodig ons 'n weerstand van maksimum 2.6 / 0.002 = 1300 ohm. Ons gebruik 'n weerstand van 1000 ohm om die foutmarge te vereenvoudig en te behou. Ons het 2.6mA deur die GPIO -pen, wat heeltemal veilig is.

Aangesien 'n waaier basies 'n elektriese motor is, is dit 'n induktiewe lading. Dit beteken dat wanneer die transistor ophou gelei, die stroom in die waaier aanhou vloei namate 'n induktiewe lading probeer om die stroom konstant te hou. Dit lei tot 'n hoë spanning op die grondpen van die waaier en kan die transistor beskadig. Daarom benodig ons 'n diode parallel met die waaier wat die stroom deur die motor sal laat vloei. Hierdie tipe diode -opstelling word 'n vliegwiel -diode genoem

Stap 3: Program om die waaierspoed te beheer

Om die ventilatorsnelheid te beheer, gebruik ons 'n sagteware PWM -sein van die RPi. GPIO -biblioteek. 'N PWM -sein is goed aangepas om elektriese motors aan te dryf, aangesien hul reaksietyd baie hoog is in vergelyking met die PWM -frekwensie.

Gebruik die calib_fan.py -program om die FAN_MIN -waarde te vind deur in die terminale te werk:

python calib_fan.py

Kontroleer verskeie waardes tussen 0 en 100% (behoort ongeveer 20% te wees) en kyk wat die minimum waarde vir u waaier is om aan te skakel.

U kan die ooreenstemming tussen temperatuur en waaiersnelheid aan die begin van die kode verander. Daar moet soveel tempSteps as speedSteps -waardes wees. Dit is die metode wat algemeen gebruik word in rekenaar moederborde, bewegende punte op 'n temp / spoed 2-as grafiek.

Stap 4: Begin die program tydens opstart

Om die program outomaties te laat loop by die aanvang, het ek 'n bash -script gemaak waar ek al die programme wat ek wil begin, plaas, en dan begin ek hierdie bash -script by die aanvang met rc.locale

  1. Skep 'n gids/home/pi/Scripts/en plaas die fan_ctrl.py -lêer in die gids.
  2. Skep in dieselfde gids 'n lêer met die naam launcher.sh en kopieer die skrif hieronder.
  3. Wysig die /etc/rc.locale lêer en voeg 'n nuwe reël by voor die "exit 0": sudo sh '/home/pi/Scripts/launcher.sh'

launcher.sh -skrif:

#!/bin/sh #launcher.sh #navigeer na tuisgids, dan na hierdie gids, voer dan python -script uit, dan terug homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/

As u dit byvoorbeeld met OSMC wil gebruik, moet u dit begin as 'n diens met systemd.

  1. Laai die fanctrl.service -lêer af.
  2. Gaan die pad na u python -lêer na.
  3. Plaas fanctrl.service in/lib/systemd/system.
  4. Laastens, aktiveer die diens met sudo systemctl enable fanctrl.service.

Hierdie metode is veiliger, aangesien die program outomaties weer begin as dit deur die gebruiker of die stelsel vermoor word.

Aanbeveel: