Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Фенээ тохируулна уу
- Алхам 2: PI (D) хянагч үүсгэх
- Алхам 3: Эхлэх үедээ Control Script -ийг ажиллуулна уу
Видео: Raspberry Pi 4: 3 алхам дээрх температурын нарийн хяналт
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Pimoroni Fan Shim бол халуун байх үед таны Пи -ийн температурыг бууруулах гайхалтай шийдэл юм. Үйлдвэрлэгчид CPU -ийн температур тодорхой босго хэмжээнээс (жишээ нь 65 градус) дээшлэх үед сэнсийг ажиллуулах програм хангамжийг хүртэл өгдөг. Температур нь доод босго хэмжээнээс хурдан буурч, сэнсийг унтраадаг. Энэ нь маш сайн боловч температур нь дунд зэргийн ачааллын дор өсч, буурч, сэнсний чимээ гаргадаг. Энэхүү зааварчилгаа нь PID хянагч гэж нэрлэгддэг зүйлийг ашиглан CPU -ийн температурыг тодорхой утгад тохируулахын зэрэгцээ сэнсний дуу чимээг бууруулах болно. Илүү өндөр босго (жишээ нь 65 градус) нь сэнсийг илүү чимээгүй болгоход хүргэдэг бол доод босго (жишээлбэл 50 градус) нь илүү чанга сэнстэй боловч температурыг илүү сайн хянах болно.
Дээрх жишээнд PID хянагчийг ажиллуулж, зорилтот температурыг 500 секунд тутамд өөрчилж байсны үр дүн харагдаж байна. Нарийвчлал нь +/- 1 градус бөгөөд температурын гэнэтийн өөрчлөлтийг даван туулдаг.
Хамгийн гол нь энэ туршилтыг туршилтын нийт хугацаанд ижил ачааллын дор гүйцэтгэсэн (BBC iPlayer үзэх).
Хангамж
- Raspberry Pi 4
- Пиморони Фан Шим
Алхам 1: Фенээ тохируулна уу
Эхний алхам бол фенээ тохируулах явдал юм. Пиморинигийн заавар үнэхээр сайхан байна!
Дараа нь Pi дээрх терминалыг нээнэ үү (ctrl alt t)
Мөн Пиморонигийн өгсөн кодыг суулгаарай
git clone https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
Алхам 2: PI (D) хянагч үүсгэх
Пропорциональ интеграл дериватив (PID) хянагч нь зарим физик төхөөрөмжийг (Fan Speed) удирдах замаар тодорхой процессын утгыг (CPU -ийн температур) хянахад ашигладаг систем юм. Бид сэнсний "хурд", дуу чимээг үе үе асааж, унтрааж удирдах боломжтой (Pulse Wave Modulation). Тухайн хугацаанд асаах хугацаа (жишээ нь 1 секунд) нь сэнс хэр хурдан, хэр чанга байгааг тодорхойлдог (900ms = чанга ба хурдан, 100ms = чимээгүй, удаан). Бид PID -ийг ашиглан сэнсний хурдыг удирдах бөгөөд ингэснээр температурыг хянах болно.
Бид PID -ийн хэрэглээг хэд хэдэн үе шатанд хувааж болно.
- Үр дүнд хүрэхийг хүсч буй процессын хувьсагчийн утгыг шийдээрэй (жишээ нь CPU -ийн температур = 55). Үүнийг таны тогтоосон цэг гэж нэрлэдэг.
- PID алдааг тооцоолох. Хэрэв таны тогтоосон цэг 55 градус, бодит температур 60 градус байвал таны алдаа 5 градус байна (Температур - тогтоосон цэг)
- Сэнсний ажиллах хугацааг алдаатай пропорциональ байдлаар өөрчлөх (Том алдаа нь сэнсний хурданд том өөрчлөлт, жижиг алдаа нь сэнсний хурданд бага зэргийн өөрчлөлтийг үүсгэдэг).
- Сэнсийг өмнөх утгаар нь тохируулна уу (Өмнөх бүх алдааны нийлбэр/нийлбэр)
- Сонголтын дагуу та алдааны өөрчлөлтийн хурд (дериватив) дээр үндэслэн сэнсний хурдыг тохируулж болно, гэхдээ бид үүнийг энд хийхгүй
Одоо та онолыг Thonny IDE (эсвэл өөр python IDE) дээр доорх кодыг ажиллуулна. Pi -г ямар температурт байлгахыг хүсч байгаагаа өөрчлөхийн тулд доорх кодон дахь 'target' утгыг өөрчилнө үү. Би 'P' ба 'I' гэсэн нэр томъёог арай дур зоргоороо тохируулсан. Хэрэв эдгээр нь танд тохирохгүй бол тэдгээрийг тохируулж болно. 'P' -ийг том болгох нь хянагч шинэ алдаанд хурдан хариу өгөх болно гэсэн үг (гэхдээ тогтвортой биш байж магадгүй). 'I' -г өөрчилснөөр хянагч өмнөх утгуудад илүү их хариу өгөх болно. Би эдгээр нэр томъёог хэт том болгохыг оролдохгүй, учир нь сэнсний хурдыг хурдан өөрчлөх нь температурыг хурдан өөрчлөхгүй. Түүнчлэн, хэрэв та Pi дээрээ гайхалтай хүнд ажил хийж байгаа бол хүссэн хугацаандаа хүрч чадахгүй байж магадгүй (сэнсний хязгаар хэвээр байх болно).
fanshim импортоос FanShim
цаг импортлох нойр, цаг импорт os импорт математик # CPU температурыг тэмдэгт мөр болгон буцаах defCPUtemperature (): res = os.popen ('vcgencmd tədbir_темп'). readline () буцах (res.replace ("temp =", " ").rease (" 'C / n "," ")) fanshim = FanShim () target = 55 # хүссэн температур (үүгээр тоглож, юу болохыг хараарай) үе = 1 # ХОУХ -ны үе =.1 # 0 -ийг эхлүүлэх % үүргийн мөчлөгийг унтраах = үеийг эхлүүлэх # 0% -ийн үүргийн мөчлөгийг эхлүүлэх P =.01 # пропорциональ ашиг олох хугацаа (үүнийг тоглож, юу болсныг харна уу) intErr = 0 # интеграл алдаа I =.0001 # завсрын ашиг олох хугацаа (үүнийг тоглоорой Үнэн бол # юу болохыг хараарай): # авах temperaute temp = int (float (getCPUtemperature ())) # алдааг тооцоолж, алдааг алдаагүй болгоорой = temp-target = 10 бол intErr = хугацаа: асаалттай = завсарлагааны хугацаа = 0 өөр: асаалттай = асаалттай = хугацаанд асаалттай # бол <.09: асаалттай =.09 бол хамгийн бага ажлын мөчлөгийг тохируулна уу. дээр == үе: fanshim.set_fan (Үнэн) унтах (асаах) өөр: fanshim.set_fan (Үнэн) s leep (on) fanshim.set_fan (Худал) унтах (унтраах)
Алхам 3: Эхлэх үедээ Control Script -ийг ажиллуулна уу
Та энэ скриптийг pi -ээ эхлүүлэх бүртээ ажиллуулж болно, эсвэл автоматаар дахин ачаалах боломжтой. Үүнийг crontab ашиглан хийхэд маш энгийн.
- терминалыг нээнэ үү
- терминал руу crontab-e гэж бичнэ үү
- Дараах кодын мөрийг '@reboot python /home/pi/bootScripts/fanControl.py &' файлд нэмнэ үү.
- гарах ба дахин ачаална уу
Би скриптийг (fanControl.py) bootScripts гэж нэрлэгддэг флотерт оруулсан боловч та хаана ч хамаагүй тавьж болно, crontab дээр зөв замыг зааж өгсөн эсэхээ шалгаарай.
Бүгд бэлэн! Одоо таны сэнс таны CPU -ийн температурыг тодорхой хэмжээнд хянаж, дуу чимээг багасгах болно.
Зөвлөмж болгож буй:
MCP9808 ба Raspberry Pi ашиглан температурын хяналт: 4 алхам
MCP9808 ба Raspberry Pi ашиглан температурын хяналт: MCP9808 бол өндөр нарийвчлалтай дижитал температур мэдрэгч ± 0.5 ° C I2C мини модуль юм. Тэдгээр нь температурыг мэдрэх програмыг хөнгөвчлөх хэрэглэгчийн програмчлагдах бүртгэлүүдтэй. MCP9808 өндөр нарийвчлалтай температур мэдрэгч нь салбар болжээ
DHT11 бүхий ESP32 дээр суурилсан M5Stack M5stick C цаг агаарын хяналт - M5stick-C дээрх температурын чийгшил ба дулааны индексийг DHT11: 6 алхамаар хянах
DHT11 бүхий ESP32 дээр суурилсан M5Stack M5stick C цаг агаарын хяналт | DHT11-ийн тусламжтайгаар M5stick-C дээрх температурын чийгшил ба дулааны индексийг хянаж үзээрэй: Сайн байна уу залуусаа, энэ зааварт бид DHT11 температур мэдрэгчийг m5stick-C (m5stack-ийн хөгжлийн самбар) -тай хэрхэн холбож, m5stick-C дэлгэц дээр харуулах талаар сурах болно. Тиймээс энэ хичээлээр бид температур, чийгшил & дулаан би
Steinhart-Hart-ийн залруулга ба температурын дохиолол бүхий ESP32 NTP температурын шалгалт хийх термометр: 7 алхам (зурагтай)
Steinhart-Hart-ийн залруулга ба температурын дохиолол бүхий ESP32 NTP температурын шалгалт хийх термометр: "Удахгүй болох төсөл", " ESP32 NTP-ийн температурын мэдрэгчтэй хоол хийх термометрийг Steinhart-Hart-ийн залруулга ба температурын дохиололоор " Энэ бол миний NTP температурын датчикийг хэрхэн нэмэхийг зааж өгөх заавар юм, piezo b
Aruino Pro Micro дээрх нууц үг хадгалагч эсвэл нарийн арга зам байхад яагаад энгийн байлгах ёстой вэ ?: 15 алхам (зурагтай)
Aruino Pro Micro дээрх нууц үг хадгалагч эсвэл нарийн арга зам байхад яагаад үүнийг энгийн байлгадаг вэ ?: Электроникийн фенүүдийн (ялангуяа эхлэгчдэд) зориулсан микроконтроллеруудын гол асуудал бол тэдгээрийг хаана хэрэглэхээ олж мэдэх явдал юм шиг санагддаг :) Nowaday electronics, ялангуяа дижитал төхөөрөмж , улам бүр хар ид шид шиг харагдаж байна. Зөвхөн 80-Lvl мэргэн ухаантнууд
ТВ -ийн дууны нарийн хяналт: 3 алхам
T.v -ийн нарийн дууны хяналт: Асуудал: миний шинэ телевиз. Дижитал дууны хяналттай бөгөөд энэ нь LOUD эсвэл OFF юм.Шийдэл: хоёрдогч аналог эзлэхүүний хяналтыг нэмэх Материалууд: 1. утас 2. гагнуур 3. агшилтын хоолой 4. потенциометр (би 1 Mohm -ийг сайн ашиглаж байсан