Агуулгын хүснэгт:

Raspberry Pi -ийн CPU температур дээр суурилсан ХОУХ -ны зохицуулалттай сэнс: 4 алхам (зурагтай)
Raspberry Pi -ийн CPU температур дээр суурилсан ХОУХ -ны зохицуулалттай сэнс: 4 алхам (зурагтай)

Видео: Raspberry Pi -ийн CPU температур дээр суурилсан ХОУХ -ны зохицуулалттай сэнс: 4 алхам (зурагтай)

Видео: Raspberry Pi -ийн CPU температур дээр суурилсан ХОУХ -ны зохицуулалттай сэнс: 4 алхам (зурагтай)
Видео: Reading CPU temperature on Raspberry PI 2024, Долдугаар сарын
Anonim
Raspberry Pi -ийн CPU температурт суурилсан ХОУХ -ны зохицуулалттай сэнс
Raspberry Pi -ийн CPU температурт суурилсан ХОУХ -ны зохицуулалттай сэнс

Raspberry Pi -ийн олон тохиолдол нь CPU -ийг хөргөхөд туслахын тулд бага зэрэг 5V сэнстэй байдаг. Гэсэн хэдий ч эдгээр фенүүд ихэвчлэн дуу чимээ ихтэй байдаг бөгөөд олон хүмүүс дуу чимээг бууруулахын тулд 3V3 зүүгээр холбодог. Эдгээр фенүүд нь ихэвчлэн 200 мА хүчдэлтэй байдаг бөгөөд энэ нь RPi дээрх 3V3 зохицуулагчийн хувьд нэлээд өндөр үзүүлэлт юм. Энэхүү төсөл нь CPU -ийн температур дээр үндэслэн сэнсний хурдыг хэрхэн зохицуулахыг танд заах болно. Энэ сэдвийг хамарсан ихэнх хичээлүүдээс ялгаатай нь бид зөвхөн сэнсийг асаах эсвэл унтраах биш харин Python ашиглан ердийн компьютер дээр ажилладаг шиг хурдыг нь хянах болно.

Алхам 1: Шаардлагатай эд анги

Энэ төслийн хувьд бид ихэвчлэн сонирхогчдод зориулагдсан электроникийн иж бүрдэлд багтдаг цөөн хэдэн бүрэлдэхүүн хэсгүүдийг ашиглах болно.

  • Raspberry Pi нь Raspbian програмыг ажиллуулдаг (гэхдээ бусад дистрибьюторуудтай ажиллах ёстой).
  • 5V сэнс (гэхдээ 12V сэнсийг дасан зохицсон транзистор болон 12V тэжээлийн хангамжтай ашиглаж болно).
  • 2N2222A шиг дор хаяж 300 мА дэмждэг NPN транзистор.
  • 1K эсэргүүцэл.
  • 1 диод.

Нэмэлт байдлаар бүрэлдэхүүн хэсгүүдийг хайрцагт оруулах (гэхдээ хараахан хийгээгүй байна):

  • Бүрэлдэхүүн хэсгүүдийг гагнахын тулд протобоардны жижиг хэсэг.
  • Самбарыг хамгаалахын тулд их хэмжээний дулаан багасдаг.

Алхам 2: Цахилгаан холболт

Цахилгаан холболт
Цахилгаан холболт
Цахилгаан холболт
Цахилгаан холболт
Цахилгаан холболт
Цахилгаан холболт

Резисторыг аль ч аргаар залгаж болох боловч транзистор ба диодын чиглэлийг анхаарч үзээрэй. Диодын катод нь +5V (улаан) утастай, анод GND (хар) утастай холбогдсон байх ёстой. Эмиттер, суурь ба коллекторын тээгч байгаа эсэхийг транзисторын баримт дээрээс шалгана уу. Сэнсний газар нь Коллектортой, Rpi -ийн газар нь Эмиттертэй холбогдсон байх ёстой

Сэнсийг хянахын тулд бид коллекторын нээлттэй тохиргоонд ашиглагдах транзисторыг ашиглах хэрэгтэй. Ингэснээр бид сэнсээс бөөрөлзгөнө pi -ийн газардуулгын газардуулгын утсыг холбох эсвэл салгах унтраалгатай болно.

NPN BJT транзистор нь түүний хаалган дээр урсаж буй гүйдлээс хамааран дамжуулдаг. Коллектор (C) -аас ялгаруулагч (E) руу урсахыг зөвшөөрөх гүйдэл нь:

Ic = B * Ib

Ic нь коллектороор ялгаруулагчаар дамжих урсгал, Ib нь сууринаас дамжуулагч руу урсах урсгал, B (бета) нь транзистор тус бүрээс хамаарах утга юм. Бид ойролцоогоор B = 100 байна.

Манай сэнсийг 200мА гэж үнэлдэг тул транзисторын суурийг дамжин дор хаяж 2мА байх шаардлагатай. Суурь ба ялгаруулагч (Vbe) хоорондын хурцадмал байдлыг тогтмол гэж үздэг ба Vbe = 0, 7V. Энэ нь GPIO асаалттай үед резистор дээр 3.3 - 0.7 = 2.6V байна гэсэн үг юм. Энэхүү резистороор 2мА байхын тулд бидэнд хамгийн ихдээ 2.6 / 0.002 = 1300 ом эсэргүүцэл хэрэгтэй болно. Алдааг хялбарчилж, хадгалахын тулд бид 1000 Ом эсэргүүцэл ашигладаг. Бид GPIO зүүгээр 2.6mA -тай байх бөгөөд энэ нь бүрэн аюулгүй юм.

Сэнс нь үндсэндээ цахилгаан мотор учраас индуктив цэнэг юм. Энэ нь транзистор дамжуулахаа болиход индуктив цэнэг гүйдлийг тогтмол байлгахыг оролдох үед сэнсний гүйдэл үргэлжлэн урсах болно гэсэн үг юм. Энэ нь сэнсний газардуулгын зүү дээр өндөр хүчдэл үүсгэж, транзисторыг гэмтээж болзошгүй юм. Ийм учраас бидэнд сэнстэй зэрэгцэн диод хэрэгтэй бөгөөд энэ нь мотороор дамжих урсгалыг байнга хийх болно. Энэ төрлийн диодын тохиргоог Flywheel диод гэж нэрлэдэг

Алхам 3: Сэнсний хурдыг хянах програм

Сэнсний хурдыг хянахын тулд бид RPi. GPIO номын сангийн PWM дохиог ашигладаг. ХОУХ -ны дохио нь цахилгаан хөдөлгүүрийг жолоодоход сайн зохицсон байдаг, учир нь тэдний хариу урвалын хугацаа нь ХОУХ -ны давтамжтай харьцуулахад маш өндөр байдаг.

Терминал дээр ажиллаж FAN_MIN утгыг олохын тулд calib_fan.py програмыг ашиглана уу.

python calib_fan.py

0 -ээс 100% (ойролцоогоор 20% байх ёстой) хооронд хэд хэдэн утгыг шалгаад фенээ асаах хамгийн бага утга хэд болохыг олж мэдээрэй.

Та кодын эхэнд температур ба сэнсний хурд хоорондын захидал харилцааг өөрчилж болно. SpeedSteps -ийн утга шиг tempSteps байх ёстой. Энэ бол Temp / Speed 2 тэнхлэг график дээрх цэгүүдийг зөөж, PC эх хавтан дээр ихэвчлэн ашигладаг арга юм.

Алхам 4: Эхлэх үедээ програмыг ажиллуулна уу

Програмыг эхлүүлэх үед автоматаар ажиллуулахын тулд би bash скрипт үүсгэж хүссэн бүх програмуудаа оруулаад rc.locale ашиглан эхлүүлэхдээ энэ bash скриптийг эхлүүлсэн.

  1. /Home/pi/Scripts/директор үүсгэж, fan_ctrl.py файлыг тэр директор дотор байрлуулна уу.
  2. Ижил лавлах санд launcher.sh нэртэй файл үүсгээд доорх скриптийг хуулна уу.
  3. /Etc/rc.locale файлыг засаад "0 гарахаас" өмнө шинэ мөр нэмнэ үү: sudo sh '/home/pi/Scripts/launcher.sh'

launcher.sh скрипт:

#!/bin/sh #launcher.sh #гэрийн лавлах руу очоод дараа нь энэ лавлах руу очоод python скриптийг ажиллуулаад homelocalecd/cd/home/pi/скриптүүд/sudo python3./fan_ctrl.py & cd/

Хэрэв та үүнийг OSMC -тэй хамт ашиглахыг хүсч байвал үүнийг systemd -тэй үйлчилгээ болгон эхлүүлэх хэрэгтэй.

  1. Fanctrl.service файлыг татаж аваарай.
  2. Python файл руугаа орох замыг шалгана уу.
  3. Fanctrl.service/lib/systemd/system дотор байрлуулна.
  4. Эцэст нь sudo systemctl -ийг идэвхжүүлэхийн тулд fanctrl.service -ийг идэвхжүүлнэ үү.

Хэрэглэгч эсвэл системээр устгагдсан тохиолдолд програмыг автоматаар дахин эхлүүлэх тул энэ арга нь илүү аюулгүй юм.

Зөвлөмж болгож буй: