Orodha ya maudhui:

PWM Inasimamiwa Shabiki Kulingana na Joto la CPU kwa Raspberry Pi: Hatua 4 (na Picha)
PWM Inasimamiwa Shabiki Kulingana na Joto la CPU kwa Raspberry Pi: Hatua 4 (na Picha)

Video: PWM Inasimamiwa Shabiki Kulingana na Joto la CPU kwa Raspberry Pi: Hatua 4 (na Picha)

Video: PWM Inasimamiwa Shabiki Kulingana na Joto la CPU kwa Raspberry Pi: Hatua 4 (na Picha)
Video: MKS Gen L — Марлин 1 1 9 (configuration.h) 2024, Julai
Anonim
PWM Inasimamiwa Shabiki Kulingana na Joto la CPU kwa Raspberry Pi
PWM Inasimamiwa Shabiki Kulingana na Joto la CPU kwa Raspberry Pi

Kesi nyingi za Raspberry Pi huja na shabiki mdogo wa 5V ili kusaidia kupoza CPU. Walakini, mashabiki hawa kawaida huwa na kelele nzuri na watu wengi huziba kwenye pini ya 3V3 ili kupunguza kelele. Mashabiki hawa kawaida hupimwa kwa 200mA ambayo ni nzuri sana kwa mdhibiti wa 3V3 kwenye RPi. Mradi huu utakufundisha jinsi ya kudhibiti kasi ya shabiki kulingana na joto la CPU. Tofauti na mafunzo mengi yanayofunika mada hii, hatutawasha au kuzima shabiki tu, lakini tutadhibiti kasi yake kama inavyofanyika kwenye PC kuu, kwa kutumia Python.

Hatua ya 1: Sehemu Zinazohitajika

Kwa mradi huu, tutatumia vifaa vichache tu ambavyo kawaida hujumuishwa kwenye vifaa vya elektroniki kwa hobbyist ambayo unaweza kupata kwenye Amazon, kama hii.

  • Raspberry Pi inayoendesha Raspbian (lakini inapaswa kufanya kazi na usambazaji mwingine).
  • Shabiki wa 5V (lakini shabiki wa 12V inaweza kutumika na transistor iliyobadilishwa na usambazaji wa umeme wa 12V).
  • Transistor ya NPN ambayo inasaidia angalau 300mA, kama 2N2222A.
  • Kinga 1K.
  • 1 diode.

Hiari, kuweka vifaa ndani ya kesi (lakini haijafanywa bado):

  • Kipande kidogo cha protoboard, ili kuziunganisha vifaa.
  • Kubwa joto hupungua, kulinda bodi.

Hatua ya 2: Uunganisho wa Umeme

Uunganisho wa Umeme
Uunganisho wa Umeme
Uunganisho wa Umeme
Uunganisho wa Umeme
Uunganisho wa Umeme
Uunganisho wa Umeme

Resistor inaweza kuziba kwa njia yoyote, lakini kuwa mwangalifu juu ya mwelekeo wa transistor na diode. Cathode ya Diode lazima iunganishwe na waya + 5V (nyekundu), na anode lazima iunganishwe na waya wa GND (mweusi). Angalia hati yako ya transistor kwa pini za Emitter, Base na Collector. Ardhi ya shabiki lazima iunganishwe na Mtoza, na ardhi ya Rpi lazima iunganishwe na Emitter

Ili kudhibiti shabiki, tunahitaji kutumia transistor ambayo itatumika usanidi wa ushuru wa watoza. Kwa kufanya hivyo, tuna swichi ambayo itaunganisha au kukata waya ya ardhi kutoka kwa shabiki hadi chini ya pi ya raspberry.

Transistor ya NPN BJT inafanya kazi kulingana na sasa ambayo inapita kwenye lango lake. Sasa ambayo itaruhusiwa kutoka kwa mtoza (C) kwenda kwa mtoaji (E) ni:

Ic = B * Ib

Ic ni ya sasa ambayo inapita kati ya mtoza mtoaji, Ib ni sasa ambayo inapita katikati hadi kwa mtoaji, na B (beta) ni thamani kulingana na kila transistor. Tunakadiri B = 100.

Kama shabiki wetu amekadiriwa kama 200mA, tunahitaji angalau 2mA kupitia msingi wa transistor. Mvutano kati ya msingi na mtoaji (Vbe) huzingatiwa kila wakati na Vbe = 0, 7V. Hii inamaanisha kuwa wakati GPIO imewashwa, tuna 3.3 - 0.7 = 2.6V kwenye kontena. Kuwa na 2mA kupitia kontena hilo, tunahitaji kipinga cha, kiwango cha juu, 2.6 / 0.002 = 1300 ohm. Tunatumia kontena la 1000 ohm kurahisisha na kuweka kiwango cha makosa. Tutakuwa na 2.6mA kupitia pini ya GPIO ambayo ni salama kabisa.

Kama shabiki kimsingi ni motor ya umeme, ni malipo ya kufata. Hii inamaanisha wakati transistor ataacha kufanya, sasa katika shabiki itaendelea kutiririka wakati malipo ya kufata yanajaribu kuweka hali ya sasa. Hii itasababisha voltage kubwa kwenye pini ya ardhi ya shabiki na inaweza kuharibu transistor. Ndio sababu tunahitaji diode sambamba na shabiki ambayo itafanya mtiririko wa sasa kila wakati kupitia motor. Aina hii ya usanidi wa diode inaitwa diode ya Flywheel

Hatua ya 3: Mpango wa Kudhibiti Kasi ya Shabiki

Kudhibiti kasi ya shabiki, tunatumia ishara ya PWM ya programu kutoka kwa maktaba ya RPi. GPIO. Ishara ya PWM imebadilishwa vizuri kuendesha motors za umeme, kwani wakati wao wa athari ni kubwa sana ikilinganishwa na mzunguko wa PWM.

Tumia programu ya calib_fan.py kupata thamani ya FAN_MIN kwa kukimbia kwenye terminal:

chatu calib_fan.py

Angalia maadili kadhaa kati ya 0 na 100% (inapaswa kuwa karibu 20%) na uone ni nini kiwango cha chini cha shabiki wako kuwasha.

Unaweza kubadilisha mawasiliano kati ya joto na kasi ya shabiki mwanzoni mwa msimbo. Lazima kuwe na templeti nyingi kama maadili ya kasi. Hii ndio njia ambayo hutumiwa kwa jumla kwenye bodi za mama za PC, hoja zinazohamia kwenye grafu ya Temp / Speed 2-axis.

Hatua ya 4: Endesha Programu wakati wa kuanza

Ili kuendesha programu moja kwa moja wakati wa kuanza, nilitengeneza script ya bash ambapo ninaweka mipango yote ninayotaka kuzindua, na kisha nizindue hii script ya bash wakati wa kuanza na rc.locale

  1. Unda saraka / nyumba / pi / Hati / na uweke faili ya fan_ctrl.py ndani ya saraka hiyo.
  2. Katika saraka hiyo hiyo, tengeneza faili inayoitwa launcher.sh na unakili script bellow.
  3. Hariri faili ya /etc/rc.locale na ongeza laini mpya kabla ya "kutoka 0": sudo sh '/home/pi/Script/launcher.sh'

script ya launcher.sh:

#! / bin / sh # launcher.sh # nenda kwenye saraka ya nyumbani, kisha kwenye saraka hii, kisha fanya hati ya chatu, halafu rudisha homelocalecd / cd / home / pi / Scripts / sudo python3./fan_ctrl.py & cd /

Ikiwa unataka kuitumia na OSMC kwa mfano, unahitaji kuianza kama huduma na systemd.

  1. Pakua faili ya fanctrl.service.
  2. Angalia njia ya faili yako ya chatu.
  3. Weka fanctrl.service katika / lib / systemd / system.
  4. Mwishowe, wezesha huduma na sudo systemctl kuwezesha fanctrl.service.

Njia hii ni salama, kwani programu itaanza upya kiatomati ikiwa itauawa na mtumiaji au mfumo.

Ilipendekeza: