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

Raspberry Pi CPU -ийн температурын үзүүлэлт: 11 алхам (зурагтай)
Raspberry Pi CPU -ийн температурын үзүүлэлт: 11 алхам (зурагтай)

Видео: Raspberry Pi CPU -ийн температурын үзүүлэлт: 11 алхам (зурагтай)

Видео: Raspberry Pi CPU -ийн температурын үзүүлэлт: 11 алхам (зурагтай)
Видео: Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 4 Сравнение температуры с алюм. корпусом и без 2024, Долдугаар сарын
Anonim
Raspberry Pi CPU -ийн температурын үзүүлэлт
Raspberry Pi CPU -ийн температурын үзүүлэлт

Өмнө нь би энгийн бөөрөлзгөнө pi (цаашид RPI гэж нэрлэдэг) ажиллагааны төлөв байдлын заагчийн хэлхээг нэвтрүүлсэн.

Энэ удаад би RPI -ийн толгойгүй (дэлгэцгүй) байдлаар ажилладаг илүү ашигтай заагчийн хэлхээг тайлбарлах болно.

Дээрх хэлхээ нь CPU -ийн температурыг 4 өөр түвшинд харуулдаг.

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

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

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

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

Дээрх CPU -ийн температурын хязгаар нь миний хувийн дизайны үзэл баримтлал юм (Энэ хэлхээг хянадаг python програмын туршилтын нөхцлийг өөрчилснөөр бусад температурын хязгаарыг тохируулж болно).

Энэ хэлхээг ашигласнаар та консол терминал дээр "vcgencmd tədbir_temp" тушаалыг байнга гүйцэтгэх шаардлагагүй болно.

Энэ хэлхээ нь CPU -ийн одоогийн температурыг тасралтгүй, тохиромжтой байдлаар мэдээлэх ёстой.

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

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

Зөвхөн 4 питон кодыг ашиглан 4 LED -ийг шууд удирдах боломжтой боловч програмын хяналтын логик нь RPI -ийг ачаалах бөгөөд үүний үр дүнд та жаахан төвөгтэй питон кодыг тасралтгүй ажиллуулж байх ёстой тул CPU -ийн температур нэмэгдэх болно.

Тиймээс би питоны кодын нарийн төвөгтэй байдлыг аль болох хялбарчилж, LED хяналтын логикийг гадаад тоног төхөөрөмжийн хэлхээнд буулгаж байна.

CPU температурын заагч (цаашид INICATOR) хэлхээ нь дараах үндсэн хэсгүүдээс бүрдэнэ.

-Хоёр опто холбогчийг RPI GPIO тээглүүрт холбож 00-> LOW, 01-> Medium, 10-> High, 11-> Хөргөх шаардлагатай гэх мэт температурын түвшний мэдээллийг авах боломжтой.

-74LS139 (эсвэл 74HC139, 2-оос 4 хүртэлх декодер ба мультиплексор) хяналтын гаралтыг (Y0, Y1, Y2, Y3) оролтын дагуу (A, B)

- Температур 30 ~ 39 хэмд байвал python код 00 нь GPIO тээглүүр рүү гарна. Тиймээс 74LS139 нь оролтын өгөгдлийг авдаг 00 (A-> 0, B-> 0)

- 00 -г оруулснаар Y0 гаралт LOW болно. (74LS139 -ийн үнэний хүснэгтийг үзнэ үү)

- Y0 гаралт LOW болоход 2N3906 PNP транзисторыг идэвхжүүлж, улмаар Ногоон LED асдаг.

- Үүний нэгэн адил Y1 (01 -> CPU -ийн температурын орчин) шар LED гэх мэтийг асаах болно

- Y3 нь LOW болоход DB140 нь BD140 PNP транзисторын ачаалал болох NE555 LED анивчих хэлхээг идэвхжүүлдэг (энэ нь 555 IC дээр суурилсан LED анивчуулагч юм).

Энэ хэлхээний хамгийн чухал бүрэлдэхүүн хэсэг нь 74LS139 бөгөөд 2 оронтой оролтыг 4 өөр нэг гаралт болгон тайлж, доорх үнэн хүснэгтэд үзүүлэв.

Оролт | Гаралт

G (Идэвхжүүлэх) | Б | A | Y0 | Y1 | Y2 | Y3 |

H | X | X | H | H | H | H |

L | L | L | L | H | H | H |

L | L | H | H | L | H | H |

L | H | L | H | H | L | H |

L | H | H | H | H | H | L |

74LS139 гаралт нь LOW болоход PNP төрлийн транзистор нь үндсэн хэлхээ LOW болоход PNP транзисторыг асаахад ерөнхий хэлхээг хялбарчилж чаддаг. (Би энэ өгүүллийн төгсгөлд NPN хувилбарыг үзүүлэх болно)

100K потенциометрийг NE555 LED анивчих хэлхээнд оруулдаг тул Улаан LED асаах/унтраах хугацааг хэрэгцээний дагуу чөлөөтэй тохируулж болно.

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

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

Индикаторын ажиллах схемийг тайлбарласны дагуу хэлхээг эхлүүлье.

Бүх нийтийн самбар дээр ямар нэгэн зүйл гагнахаас өмнө дээр дурдсан ПХБ -ийн зургийг бэлтгэх нь аливаа алдааг багасгахад тустай.

Зураг нь бүх нийтийн самбар дээрх хэсэг бүрийг байрлуулахын тулд power-point ашиглан хийж, утсан хэсгүүдийн хооронд утаснуудын загварыг гаргадаг.

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

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

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

ПХБ -ийн анхны зургийг ПХБ -ийн бүрэлдэхүүн хэсгүүдийг холбохын тулд ганц утсыг ашигладаггүй боловч би арай өөрөөр гагндаг.

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

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

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

Алхам 4: Туршилтын бэлтгэл

Туршилтын бэлтгэл
Туршилтын бэлтгэл

RPI холболт хийхээс өмнө дууссан хэлхээ нь туршилтыг шаарддаг.

Гагнуурын аливаа алдаа гарч болзошгүй тул богино холболт эсвэл буруу утас тасрах үед эвдрэлээс урьдчилан сэргийлэх зорилгоор тогтмол гүйдлийн цахилгаан нийлүүлэгчийг ашигладаг.

INDICATOR -ийг туршихын тулд хэлхээний 5V цахилгаан тэжээлийн залгуурт хоёр нэмэлт тэжээлийн кабелийг холбосон болно.

Алхам 5: Туршилт (CPU -ийн температур дунд зэрэг)

Туршилт (CPU -ийн температур дунд зэрэг)
Туршилт (CPU -ийн температур дунд зэрэг)

5V оролт хийгдээгүй тохиолдолд 74LS139 оролтыг тайлж, Y0 гаралтыг LOW болгон идэвхжүүлнэ (Ногоон LED асаалттай).

Гэхдээ 5V нь A оролтод, 74LS139 -ийн Y1 гаралт идэвхждэг (LOW).

Тиймээс дээрх гэрэл дээрх шиг шар LED асаалттай байна.

Алхам 6: Туршилт (CPU -ийн хөргөлтийн түвшин шаардлагатай)

Туршилт (CPU -ийн хөргөлтийн түвшин шаардлагатай)
Туршилт (CPU -ийн хөргөлтийн түвшин шаардлагатай)

5V нь 74LS139 оролтыг (A ба B) хоёуланг нь ашиглахад 4 -р улаан LED анивчдаг.

Дээрх зурагт үзүүлсэн шиг 100K VR тохируулснаар анивчих хурдыг өөрчилж болно.

Туршилт дууссаны дараа Molex 3 зүү бүхий хоёр эмэгтэй кабелийг салгаж болно.

Алхам 7: Индикаторын хэлхээний цахилгаан хангамж

Индикаторын хэлхээний цахилгаан хангамж
Индикаторын хэлхээний цахилгаан хангамж

INDICATOR хэлхээг асаахын тулд би дээрх зураг дээр үзүүлсэн 5В гаралт, USB төрлийн В адаптер гаргадаг ердийн гар утасны цэнэглэгч ашиглаж байна.

3.3V GPIO ба 5V хүчдэлтэй INDICATOR хэлхээг холбосноор RPI -тай холбоотой асуудал гарахаас зайлсхийхийн тулд дохионы интерфейс болон тэжээлийн хангамж нь бие биенээсээ тусгаарлагдсан байдаг.

Алхам 8: RPI утас

RPI утас
RPI утас

INDICATOR хэлхээг RPI -тэй холбохын тулд хоёр GPIO тээглүүрийг хоёр газардуулгатай холбох ёстой.

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

INDICATOR -ийг холбохын тулд та ямар ч GPIO зүү ашиглаж болно.

Гэхдээ утастай тээглүүрийг python програмд 74LS139 (жишээ нь A, B) оролт болгон зааж өгөх ёстой.

Алхам 9: Python програм

Python програм
Python програм

Хэлхээг дуусгасны дараа INDICATOR функцийг ашиглахын тулд python програмыг хийх шаардлагатай болно.

Хөтөлбөрийн логикийн талаар илүү дэлгэрэнгүй мэдээллийг хүснэгтээс үзнэ үү.

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

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

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

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

A = 12

B = 16

g.setmode (g. BCM)

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

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

##

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

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

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

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

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 = 0, B = 1

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

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

цаг унтах (5)

elif current_temp> = 45 ба current_temp <50:

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

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

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

цаг унтах (5)

elif current_temp> = 50:

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

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

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

цаг унтах (5)

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 ()

Python програмын үндсэн функц нь доорх шиг байна.

- Эхлээд GPIO 12, 16 -г гаралтын порт болгон тохируулна уу

- Бүртгэлийн файлыг хааж, GPIO 12, 16 -г унтраахын тулд Ctrl+C тасалдлын зохицуулагчийг тодорхойлно уу

- Хязгааргүй давталтад оруулахдаа бүртгэлийн файлыг хавсралтын горимоор нээнэ үү

- "/opt/vc/bin/vcgencmd tədbir_temp" командыг ажиллуулж CPU -ийн температурыг уншина уу.

- Температур 30 ~ 39 -ийн хязгаарт байх үед 00 -ыг гаргаад Ногоон LED -ийг асаана

- Температур 40 ~ 44 хооронд байвал 01 гаралтыг гаргаснаар шар LED асдаг

- Температур 45 ~ 49 -ийн хязгаарт байх үед 10 гаралтыг гаргаснаар Улаан LED асна

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

- Цагийн тэмдэг, температурын өгөгдлийг бүртгэлийн файлд бичих

Алхам 10: ИНДИКАТОРын ажиллагаа

ИНДИКАТОР үйл ажиллагаа
ИНДИКАТОР үйл ажиллагаа

Бүх зүйл хэвийн байгаа үед та процессорын температурын дагуу LED тус бүр асаж эсвэл анивчиж байгааг харж болно.

Одоогийн температурыг шалгахын тулд бүрхүүлийн командыг оруулах шаардлагагүй болно.

Лог файлд өгөгдөл цуглуулж, Excel ашиглан текст өгөгдлийг график болгон хөрвүүлсний дараа дээрх зургийг харуулав.

Өндөр ачаалал өгөх үед (хоёр Midori хөтөч ажиллуулж, Youtube видео тоглуулах) процессорын температур 57.9С хүртэл нэмэгддэг.

Алхам 11: Альтернатив хийх (NPN транзистор ашиглах) ба цаашдын хөгжил

Альтернатив хийх (NPN транзистор ашиглах) ба цаашдын хөгжил
Альтернатив хийх (NPN транзистор ашиглах) ба цаашдын хөгжил

Энэ бол NPN транзистор (2N3904 ба BD139) ашигладаг өмнөх INDICATOR төслийн жишээ юм.

Таны харж байгаагаар NPN транзисторыг жолоодохын тулд өөр нэг IC (74HC04, Quad invertors) шаардлагатай бөгөөд транзисторыг асаахын тулд NPN баазад өндөр түвшний хүчдэл тавих шаардлагатай.

Дүгнэж хэлэхэд NPN транзисторыг ашиглах нь INDICATOR хэлхээг хийхэд шаардлагагүй нарийн төвөгтэй байдлыг нэмж өгдөг.

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

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