Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: I-set up ang Iyong Fan
- Hakbang 2: Lumikha ng isang Controller ng PI (D)
- Hakbang 3: Patakbuhin ang Control Script sa Startup
Video: Tiyak na Pagkontrol sa Temperatura sa Raspberry Pi 4: 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ang Pimoroni Fan Shim ay isang mahusay na solusyon para sa pagbawas ng temperatura ng iyong Pi kapag mainit ito. Nagbibigay pa ang mga gumagawa ng software na nagpapalitaw ng fan kapag ang temperatura ng CPU ay tumataas sa itaas ng isang tiyak na threshold (hal. 65 degree). Ang temperatura ay mabilis na binabawasan sa ibaba ng isang mas mababang threshold at pinapatay ang fan. Mahusay ito ngunit sanhi ng pagtaas ng temperatura at pagbagsak ng katamtamang pag-load at lumilikha ng ingay ng fan. Ang itinuturo na ito ay magbabawas ng ingay ng fan habang inaayos ang temperatura ng CPU sa isang tukoy na halaga gamit ang isang bagay na tinatawag na isang PID controller. Ang mga mas mataas na threshold (hal. 65 degree) ay magreresulta sa isang mas tahimik na fan habang ang mga mas mababang threshold (hal. 50 degree) ay magreresulta sa isang mas malakas na fan ngunit mas mahusay na kontrol sa temperatura.
Ipinapakita ng halimbawa sa itaas ang aking mga resulta mula sa pagpapatakbo ng PID controller at pagbabago ng target na termperature tuwing 500 segundo. Ang kawastuhan ay +/- 1 degree na may ilang overshoot sa biglaang mga pagbabago sa termperature.
Mahalaga, ang pagsubok na ito ay na-perfrom sa ilalim ng parehong pag-load para sa kabuuang oras ng pagsubok (nanonood ng BBC iPlayer).
Mga gamit
- Raspberry Pi 4
- Pimoroni Fan Shim
Hakbang 1: I-set up ang Iyong Fan
Ang unang hakbang ay upang i-set up ang iyong fan. Ang tutorial ng Pimorini ay mahusay!
Pagkatapos buksan ang terminal sa iyong Pi (ctrl alt t)
At i-install ang code na ibinigay ng Pimoroni
git clone https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
Hakbang 2: Lumikha ng isang Controller ng PI (D)
Ang isang Proportional Integral Derivative (PID) controller ay isang sistema na ginagamit upang makontrol ang halaga ng isang tiyak na proseso (temperatura ng CPU) sa pamamagitan ng pagmamanipula ng ilang pisikal na aparato (Fan Speed). Maaari nating manipulahin ang 'bilis' at ingay ng fan sa pamamagitan ng pag-on at pag-off nito pana-panahon (Pulse Wave Modulation). Ang haba ng oras na ito ay nasa para sa isang naibigay na tagal (hal. 1 segundo) ay tumutukoy kung gaano kabilis at kung gaano kalakas ang fan (900ms = malakas at mabilis, 100ms = tahimik at mabagal). Gagamitin namin ang PID upang manipulahin ang bilis ng fan at sa gayon ay makontrol ang temperatura.
Maaari nating hatiin ang paggamit ng isang PID sa bilang ng mga hakbang.
- Magpasya sa halaga ng variable ng proseso na nais mong makamit (hal. CPU temperatura = 55). Ito ang tinatawag mong setpoint.
- Kalkulahin ang error na PID. Kung ang iyong setpoint ay 55 degree at ang aktwal na temperatura ay 60 degree ang iyong error ay 5 degree (Temperatura - setpoint)
- Baguhin ang on-time ng fan ayon sa proporsyon ng error (Ang mga malalaking error ay nagreresulta sa malalaking pagbabago sa bilis ng fan, ang maliliit na error ay nagdudulot ng maliliit na pagbabago sa bilis ng fan).
- Ayusin ang fan sa proprtion sa mga nakaraang halaga (Integral / kabuuan ng lahat ng nakaraang mga error)
- Opsyonal na inaayos mo ang bilis ng fan batay sa rate ng pagbabago ng error (nagmula) ngunit hindi namin ito gagawin dito
Ngayon na mayroon ka ng teorya patakbuhin ang code sa ibaba sa Thonny IDE (o ilang iba pang python IDE). Baguhin ang halaga ng 'target' sa code sa ibaba upang baguhin kung anong detalyadong nais mong mapanatili ang iyong Pi. Itinakda ko ang mga term na 'P' at 'I' sa medyo di-makatwirang mga halaga. Huwag mag-atubiling ayusin ang mga ito kung hindi sila gagana para sa iyo. ang paggawa ng 'P' na mas malaki nangangahulugan na ang controller ay mabilis na tutugon sa mga bagong error (ngunit maaaring hindi maging matatag). Ang pagpapalit ng 'Ako' ay magdudulot sa timbang ng tagakontrol na tumutugon ito nang higit pa sa mga nakaraang halaga. Hindi ko susubukan na gawing masyadong malaki ang mga term na ito tulad ng mabilis na pag-chan ng bilis ng fan ay hindi mabilis na mababago ang termperature. Gayundin, kung gumagawa ka ng hindi kapani-paniwalang mabibigat na trabaho sa iyong Pi maaaring hindi mo makamit ang iyong ninanais na termperature (nalalapat pa rin ang mga limitasyon ng fan).
mula sa fanhim import FanShim
mula sa oras na pag-import ng pagtulog, pag-import ng oras ng pag-import ng matematika # Ibalik ang temperatura ng CPU bilang isang character string def getCPUtemperature (): res = os.popen ('vcgencmd measure_temp'). readline () return (res.replace ("temp =", " ").palit (" 'C / n "," ")) fanshim = FanShim () target = 55 # nais na temperatura (maglaro dito at tingnan kung ano ang mangyayari) period = 1 # PWM period on =.1 # initialise to 0 % duty cycle off = period-on # initialise to 0% duty cycle P =.01 # proportional Gain term (maglaro dito at tingnan kung ano ang mangyayari) intErr = 0 # integral error I =.0001 # intergral gain term (maglaro kasama nito at tingnan kung ano ang mangyayari) habang Totoo: # makakuha ng temperaute temp = int (float (getCPUtemperature ())) # kalkulahin ang error at makinis na err = temp-target # compute integra lerror at pigilan ito intErr = intErr + err kung intErr> 10: intErr = 10 if intErr = period: on = period off = 0 else: on = on off = period-on # set minimum duty cycle if on <.09: on =.09 else: on = on # PWM on the fanshim pin if sa == panahon: fanshim.set_fan (True) pagtulog (sa) iba pa: fanshim.set_fan (True) s leep (on) fanshim.set_fan (Maling) pagtulog (off)
Hakbang 3: Patakbuhin ang Control Script sa Startup
Maaari mong patakbuhin ang script na ito sa tuwing sinisimulan mo ang iyong pi o maaari mo itong awtomatikong mag-trigger sa pag-reboot. Ito ay sobrang simpleng gawin sa crontab.
- buksan ang terminal
- i-type ang crontab-e sa terminal
- idagdag ang follwing line ng code sa file na '@reboot python /home/pi/bootScripts/fanControl.py &'
- exit at reboot
Inilagay ko ang script (fanControl.py) sa isang floder na tinatawag na bootScripts ngunit maaari mo itong ilagay kahit saan siguraduhing tinukoy mo ang tamang landas sa crontab.
Tapos na! Ngayon makokontrol ng iyong fan ang temperatura ng iyong CPU sa isang tukoy na halaga, habang pinapaliit ang naririnig na ingay na ginagawa nito.
Inirerekumendang:
Tiyak na Arduino at Tumpak na Volt Meter (0-90V DC): 3 Mga Hakbang
Arduino Precise & Accurate Volt Meter (0-90V DC): Sa itinuturo na ito, nagtayo ako ng isang voltmeter upang sukatin ang mataas na voltages DC (0-90v) na may kawalang katumpakan at kawastuhan gamit ang isang Arduino Nano. Ang mga sukat sa pagsubok na kinuha ko ay sapat na tumpak, karamihan sa loob ng 0.3v ng aktwal na boltahe na sinusukat sa isang
Pagkontrol ng Mga Ilaw Sa Iyong Mga Mata: 9 Mga Hakbang (na may Mga Larawan)
Pagkontrol ng Mga Ilaw Sa Iyong Mga Mata: Sa semestre na ito sa kolehiyo, kumuha ako ng klase na tinatawag na Instrumentation in Biomedicine kung saan natutunan ko ang mga pangunahing kaalaman sa pagpoproseso ng signal para sa mga medikal na aplikasyon. Para sa huling proyekto ng klase, nagtrabaho ang aking koponan sa teknolohiya ng EOG (electrooculography). Essenti
Pagkontrol ng Maramihang mga LED Sa Python at Iyong Mga Piano ng GPP ng Iyong Raspberry Pi: 4 na Hakbang (na may Mga Larawan)
Pagkontrol ng Maramihang mga LED Sa Python at Mga GPIO Pins ng Iyong Raspberry Pi: Ipinapakita ng Tagubilin na ito kung paano makontrol ang maraming mga GPIO na pin sa iyong RaspberryPi upang mapagana ang 4 na LED. Ipapakilala ka rin nito sa mga parameter at kondisyunal na pahayag sa Python. Ang aming nakaraang Instructable Gamit ang Iyong Raspberry Pi's GPIO Pins to Con
Tiyak na Peristaltic Pump: 13 Mga Hakbang
Tiyak na Peristaltic Pump: Kami ay isang koponan ng mag-aaral mula sa iba't ibang mga disiplina ng RWTH Aachen University at nilikha ang proyektong ito sa konteksto ng kumpetisyon ng 2017 iGEM. Matapos ang lahat ng gawain na pumasok sa aming bomba, nais naming ibahagi ang aming mga resulta sa iyo ! Bumili kami
Paano Mag-Program ng Audacity upang Magtala sa isang Tiyak na Oras: 8 Mga Hakbang
Paano Mag-Program ng Audacity upang Magtala sa isang Tiyak na Oras: Ito ay Isang mabilis na Trick, gamitin ito upang maniktik, upang magrekord ng isang tawag sa telepono o simpleng upang maitala ang iyong pagsasalita sa klase sa kasaysayan habang nasa labas ka Paggamit ng sikat na Open-source app na pagsisimula ng Audacitylet