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

CPU температурын үзүүлэлт бүхий хөргөх сэнсний Raspberry Pi хайрцаг: 10 алхам (зурагтай)
CPU температурын үзүүлэлт бүхий хөргөх сэнсний Raspberry Pi хайрцаг: 10 алхам (зурагтай)

Видео: CPU температурын үзүүлэлт бүхий хөргөх сэнсний Raspberry Pi хайрцаг: 10 алхам (зурагтай)

Видео: CPU температурын үзүүлэлт бүхий хөргөх сэнсний Raspberry Pi хайрцаг: 10 алхам (зурагтай)
Видео: Эх хавтангийн хойд гүүрийг дулаацуулж байна 2024, Арваннэгдүгээр
Anonim
CPU температурын үзүүлэлт бүхий хөргөх сэнсний Raspberry Pi хайрцаг
CPU температурын үзүүлэлт бүхий хөргөх сэнсний Raspberry Pi хайрцаг

Би өмнөх төсөл дээр бөөрөлзгөнө pi (цаашид RPI гэх) CPU -ийн температурын индикаторын хэлхээг нэвтрүүлсэн.

Энэ хэлхээнд RPI 4 процессорын өөр өөр температурын түвшинг дараах байдлаар харуулав.

- Ногоон LED нь CPU -ийн температур 30 ~ 39 хэмд байх үед асдаг

- Шар LED нь температур 40-45 хэм хүртэл нэмэгддэгийг илтгэнэ

- 3 -р улаан LED нь CPU нь 46 ~ 49 градус хүрч бага зэрэг халж байгааг харуулж байна

- Температур 50 градусаас дээш байх үед өөр нэг улаан LED анивчих болно

***

Температур 50С -аас дээш байх үед бага зэргийн RPI хэт их ачаалал өгөхгүй байхын тулд ямар нэгэн тусламж шаардлагатай болно.

RPI-ийн хамгийн их зөвшөөрөгдөх температурын талаар ярьж буй хэд хэдэн вэб хуудсуудаас олж авсан мэдээллээс үзэхэд, халаагчийг ашиглах үед 60С-аас дээш температур хэвийн байгаа гэж хэн нэгэн дурдсан байдаг.

Гэхдээ миний хувийн туршлагаас харахад дамжуулах сервер (дулаан шингээгч ашиглан RPI ашиглах) удаан болж, хэдэн цагийн турш асаахад эцэст нь зомби шиг ажилладаг.

Тиймээс энэхүү нэмэлт хэлхээ ба хөргөлтийн FAN нь RPI -ийн тогтвортой ажиллагааг хангахын тулд CPU -ийн температурыг 50С -аас бага температурт зохицуулахад зориулагдсан болно.

***

Түүнчлэн өмнө нь танилцуулсан CPU -ийн температурын заагч хэлхээг (цаашид INDICATOR гэж нэрлэдэг) консол терминал дээр "vcgencmd tədbir_temp" командыг ажиллуулахгүйгээр тохиромжтой температурын түвшинг шалгахад дэмжлэг үзүүлэх зорилгоор нэгтгэсэн болно.

Алхам 1: Схемийг бэлтгэх

Схемийг бэлтгэх
Схемийг бэлтгэх

Өмнөх хоёр төсөл дээр би RPI болон гадаад хэлхээний хооронд цахилгаан хангамжийг бүрэн тусгаарлах талаар дурдсан.

FAN хөргөх тохиолдолд DC 5V FAN (мотор) нь харьцангуй хүнд ачаалалтай, ажиллах явцад дуу чимээ ихтэй байдаг тул бие даасан цахилгаан хангамж нь маш чухал юм.

Тиймээс энэ хэлхээг зохион бүтээхдээ дараахь зүйлийг анхаарч үзэх хэрэгтэй.

- Опто холбогчийг хөргөлтийн FAN идэвхжүүлэх дохиог авахын тулд RPI GPIO зүүтэй холбож өгдөг

- Энэ хэлхээний тэжээлийн эх үүсвэрт гар утасны ердийн цэнэглэгч ашиглан RPI-ээс эрчим хүч авахгүй.

- LED индикаторыг хөргөх сэнсний ажиллагааг мэдээлэхэд ашигладаг

- 5V реле нь хөргөх сэнсийг механик аргаар идэвхжүүлэхэд ашигладаг

***

Энэ хэлхээ нь python програмын удирдлагаар CPU-ийн температурын индикаторын хэлхээтэй (цаашид Индикатор) ажиллах болно.

ИНДИКАТОР анивчиж эхлэхэд (температур 50С -аас дээш) хөргөх сэнсний хэлхээ ажиллаж эхэлнэ.

Алхам 2: эд ангиудыг бэлтгэх

Өмнөх бусад төслүүдийн нэгэн адил хөргөх сэнсний хэлхээг доор жагсаасан байдлаар хийхэд маш түгээмэл бүрэлдэхүүн хэсгүүдийг ашигладаг.

- Опто холбогч: PC817 (SHARP) x 1

- 2N3904 (NPN) x 1, BD139 (NPN) x 1

- TQ2-5V (Panasonic) 5V реле

- 1N4148 диод

- Резистор (1/4Вт): 220 Ом x 2 (гүйдлийн хязгаарлалт), 2.2 К (Транзистор солих) x 2

- LED x 1

- 5V хөргөх сэнс 200мА

- Бүх нийтийн самбар 20 (W) -ээс 20 (H) нүхний хэмжээтэй (Та хүссэн хэмжээгээрээ бүх нийтийн хавтанг хэлхээнд тааруулан хайчилж болно)

- Цагаан тугалга утас (цагаан тугалганы утасны хэрэглээний талаар илүү дэлгэрэнгүй мэдээлэл авахыг хүсвэл миний "Raspberry Pi унтрах үзүүлэлт" төслийн бичлэгийг үзнэ үү)

- Кабель (улаан, цэнхэр нийтлэг ганц утас кабель)

- Аливаа гар утасны цэнэглэгч 220В оролт ба 5В гаралт (USB төрлийн B холбогч)

- Зүү толгой (3 зүү) x 2

***

Хөргөх FAN -ийн физик хэмжигдэхүүн нь RPI -ийн дээд хэсэгт суурилуулах хангалттай жижиг байх ёстой.

5В -т ажиллах боломжтой, нэгээс олон механик контакттай бол ямар ч төрлийн реле ашиглаж болно.

Алхам 3: ПХБ -ийн зураг зурах

ПХБ -ийн зураг зурах
ПХБ -ийн зураг зурах

Бүрэлдэхүүн хэсгүүдийн тоо бага тул бүх нийтийн ПХБ -ийн хэмжээ тийм ч том биш юм.

Дээрх зурагт үзүүлсэн шиг TQ2-5V-ийн туйлшралын байрлалыг анхаарч үзээрэй. (Уламжлалт сэтгэлгээнээс ялгаатай нь бодит нэмэх/газрын байршлыг урвуу байдлаар байрлуулсан болно)

Би хувьдаа урвуу байрлалтай (бусад реле бүтээгдэхүүнтэй харьцуулахдаа) TQ2-5V туйлт тээглүүрээс болж гагнуурын дараа гэнэтийн асуудал гардаг.

Алхам 4: Гагнах

Гагнах
Гагнах

Хэлхээ нь өөрөө маш энгийн тул утаснуудын загвар нь тийм ч төвөгтэй биш юм.

ПХБ -ийг босоо чиглэлд засахын тулд би "L" хэлбэрийн бэхэлгээг боолт хийж байна.

Хожим нь харж байгаа шиг бүх зүйлийг суурилуулдаг нийлэг явах эд анги нь арай жижиг хэмжээтэй байдаг.

Нийлэг явах эд анги нь ПХБ болон бусад дэд хэсгүүдээр дүүрсэн тул хөлийг нарийн нарийсгах шаардлагатай.

LED нь урд талд байрладаг бөгөөд FAN -ийн ажиллагааг хялбархан таних болно.

Алхам 5: Хөргөх сэнсний малгай хийх, суурилуулах

Хөргөх FAN HAT хийх ба угсрах
Хөргөх FAN HAT хийх ба угсрах

Бүх нийтийн ПХБ бол янз бүрийн зориулалтаар ашиглах боломжтой маш ашигтай хэсэг гэж би бодож байна.

Хөргөх сэнс нь бүх нийтийн ПХБ дээр суурилагдсан бөгөөд боолт, самараар бэхлээд бэхлэнэ.

Агаарын урсгалыг зөвшөөрөхийн тулд би ПХБ өрөмдөж том нүх гаргаж байна.

Түүнчлэн холбогч кабелийг хялбархан залгахын тулд GIPO 40 зүү бүхий хэсгийг ПХБ -ээр хайчилж нээдэг.

Алхам 6: ПХБ -ийг угсрах

ПХБ -ийг угсрах
ПХБ -ийг угсрах

Дээр дурдсанчлан би хоёр өөр хэлхээг нэг нэгж болгон нэгтгэхээр төлөвлөсөн.

Өмнө нь хийсэн CPU -ийн температурын заагч хэлхээг дээрх хөргөлтийн FAN хэлхээнд нэгтгэсэн болно., Бүх зүйлийг тунгалаг, жижиг хэмжээтэй (15см х 10см D) нийлэг явах эд ангиудад савласан.

Явах эд ангиудын тал орчим хувь нь хоосон, бэлэн байгаа боловч дараа нь үлдсэн хэсгийг нэмэлт бүрэлдэхүүн хэсэгт байрлуулах болно.

Алхам 7: RPI -ийг хэлхээгээр холбох

Цахилгаан хэлхээний RPI холболт
Цахилгаан хэлхээний RPI холболт

Хоёр хэлхээг оптик холбогч ашиглан тусгаарлагдсан байдлаар RPI-тэй холбодог.

Гадна гар утасны цэнэглэгч нь хэлхээг тэжээлээр хангадаг тул RPI-аас ямар ч хүч авдаггүй.

Нэмэлт бүрэлдэхүүн хэсгүүдийг дараа нь нийлэг явах эд анги руу илүү нэгтгэх үед ийм төрлийн тусгаарлагдсан интерфэйсийн схем нь маш их ашиг тустай болохыг та хожим мэдэх болно.

Алхам 8: Python програм нь бүх хэлхээг хянадаг

Python програм нь бүх хэлхээг хянадаг
Python програм нь бүх хэлхээг хянадаг

CPU температурын индикаторын хэлхээний эх кодоос зөвхөн бага хэмжээний код оруулах шаардлагатай.

Температур 50С -ээс дээш байх үед FAN -ийг 10 секундын турш асааж, 3 секундын турш унтраах хорин (20) давталт эхэлнэ.

Жижиг сэнсний хөдөлгүүр нь ажиллах явцад хамгийн ихдээ 200 мА гүйдэл шаарддаг тул гар утасны цэнэглэгчийг ачаалал багатай болгохын тулд PWM (Pulse Width Modulation) хөдөлгүүрийг идэвхжүүлэх аргыг ашигладаг.

Өөрчлөгдсөн эх код нь доорх шиг байна.

***

#-*-кодчилол: utf-8-*-

##

дэд процесс, дохио, систем импортлох

импортлох хугацаа, дахин

g гэж RPi. GPIO импортлох

##

A = 12

B = 16

FAN = 25

##

g.setmode (g. BCM)

g. тохиргоо (A, g. OUT)

g. тохиргоо (B, g. OUT)

g. тохиргоо (FAN, g. OUT)

##

def signal_handler (сиг, хүрээ):

хэвлэх ('Та Ctrl+C дарсан!')

g. гаралт (A, худал)

g. гаралт (B, Худал)

g. гаралт (FAN, Худал)

f.clos ()

sys.exit (0)

дохио. дохио (дохио SIGINT, signal_handler)

##

үнэн байхад:

f = нээлттэй ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd tədbir_temp', бүрхүүл = Үнэн)

temp_str = temp_str.decode (кодчилол = 'UTF-8', алдаа = 'хатуу')

CPU_temp = re.findall ("\ d+\. / D+", temp_str)

# CPU -ийн одоогийн температурыг гаргаж авах

##

current_temp = хөвөх (CPU_temp [0])

хэрэв current_temp> 30 ба current_temp <40 бол:

# температур бага A = 0, B = 0

g. гаралт (A, худал)

g. гаралт (B, Худал)

цаг унтах (5)

elif current_temp> = 40 ба current_temp <45:

# температурын орчин A = 1, B = 0

g. гаралт (A, Үнэн)

g. гаралт (B, Худал)

цаг унтах (5)

elif current_temp> = 45 ба current_temp <50:

# өндөр температур A = 0, B = 1

g. гаралт (A, Худал)

g. гаралт (B, Үнэн)

цаг унтах (5)

elif current_temp> = 50:

# CPU хөргөх шаардлагатай өндөр A = 1, B = 1

g. гаралт (A, Үнэн)

g. гаралт (B, Үнэн)

i -ийн хувьд (1, 20):

g. гаралт (FAN, Үнэн)

цаг унтах (10)

g. гаралт (FAN, Худал)

цаг унтах (3)

current_time = time.time ()

formated_time = time.strftime ("%H:%M:%S", time.gmtime (current_time))

f. бичих (str (formated_time)+'\ t'+str (current_temp)+'\ n')

f.clos ()

##

Энэхүү питон кодын үйлдлийн логик нь CPU -ийн температурын заагчийн хэлхээтэй бараг ижил байдаг тул би энд дэлгэрэнгүй мэдээллийг давтахгүй.

Алхам 9: FAN хэлхээний ажиллагаа

FAN хэлхээний ажиллагаа
FAN хэлхээний ажиллагаа

Графикийг харахад FAN хэлхээгүй температур 50С -аас дээш байна.

RPI ажиллаж байх үед CPU -ийн дундаж температур 40 ~ 47С орчим байдаг бололтой.

Хэрэв вэб хөтөч дээр Youtube тоглуулах гэх мэт системийн ачаалал их байвал температур ихэвчлэн 60С хүртэл хурдан өсдөг.

Гэхдээ FAN хэлхээний тусламжтайгаар хөргөлтийн сэнс ажиллуулснаар температур 5 секундын дотор 50С -аас доош буурах болно.

Үүний үр дүнд та өдрийн турш RPI-ийг асааж, хэт халалтаас санаа зоволгүйгээр дуртай ажлаа хийх боломжтой болно.

Алхам 10: Цаашдын хөгжил

Цаашдын хөгжил
Цаашдын хөгжил

Таны харж байгаагаар нийлэг эд ангиудын хагас нь хоосон хэвээр байна.

Би тэнд нэмэлт бүрэлдэхүүн хэсгүүдийг оруулж, RPI хайрцгийн энэ үндсэн блокыг илүү ашигтай зүйл болгон өргөжүүлэх болно.

Мэдээжийн хэрэг нэмэлт зүйл нэмэх нь нарийн төвөгтэй байдлыг бага зэрэг нэмэгдүүлэх болно гэсэн үг юм.

Ямар ч байсан би энэ төсөлд хоёр хэлхээг нэг хайрцагт нэгтгэж байна.

Энэ түүхийг уншсанд баярлалаа.

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