Բովանդակություն:

Raspberry Pi CPU ջերմաստիճանի ցուցիչ. 11 քայլ (նկարներով)
Raspberry Pi CPU ջերմաստիճանի ցուցիչ. 11 քայլ (նկարներով)

Video: Raspberry Pi CPU ջերմաստիճանի ցուցիչ. 11 քայլ (նկարներով)

Video: Raspberry Pi CPU ջերմաստիճանի ցուցիչ. 11 քայլ (նկարներով)
Video: ՈՂՋ ԳԻՇԵՐ ՊՈԼՏԵՐԳԱՅՍՏԻ ՀԵՏ ԲՆԱԿԱՐԱՆԻ ՇԵՆՔՈՒՄ նկարահանել եմ սողացող գործունեությունը։ 2024, Նոյեմբեր
Anonim
Raspberry Pi CPU ջերմաստիճանի ցուցիչ
Raspberry Pi CPU ջերմաստիճանի ցուցիչ

Նախկինում ես ներկայացրել էի պարզ ազնվամորու պի (այսուհետ `RPI) գործառնական կարգավիճակի ցուցիչ:

Այս անգամ, ես կբացատրեմ որոշ ավելի օգտակար ցուցիչ միացում RPI- ի համար, որն աշխատում է առանց գլխի (առանց մոնիտորի) եղանակով:

Վերոնշյալ սխեման ցույց է տալիս պրոցեսորի ջերմաստիճանը 4 տարբեր մակարդակներում, ինչպիսիք են.

- Կանաչ LED- ն միացված է, երբ պրոցեսորի ջերմաստիճանը 30 ~ 39 աստիճանի սահմաններում է

- Դեղին LED- ը ցույց է տալիս, որ ջերմաստիճանը բարձրացել է 40 -ից 45 աստիճանի սահմաններում

- 3 -րդ կարմիր LED- ը ցույց է տալիս, որ պրոցեսորը մի փոքր տաքանում է ՝ հասնելով 46 ~ 49 աստիճանի

- Մեկ այլ կարմիր լուսադիոդ կթարթվի, երբ ջերմաստիճանը գերազանցի 50 աստիճանը

Վերոնշյալ պրոցեսորի ջերմաստիճանի տիրույթներն իմ անձնական դիզայնի հայեցակարգն են (temperatureերմաստիճանի այլ միջակայքերը կարող են կազմաձևվել ՝ փոխելով python ծրագրի փորձարկման պայմանները, որոնք վերահսկում են այս սխեման):

Այս սխեման օգտագործելով ՝ դուք պարտադիր չէ, որ հաճախակի կատարում եք «vcgencmd masë_temp» հրամանը վահանակի տերմինալում:

Այս սխեման անընդհատ և հարմարավետորեն տեղեկացնում է պրոցեսորի ընթացիկ ջերմաստիճանը:

Քայլ 1: Պատկերների պատրաստում

Սխեմաների պատրաստում
Սխեմաների պատրաստում

Չնայած դուք կարող եք ուղղակիորեն վերահսկել 4 լուսադիոդային լուսարձակներ ՝ օգտագործելով միայն պիթոնի ծածկագրեր, ծրագրի կառավարման տրամաբանությունը կբեռնի RPI- ն, և արդյունքում ՝ պրոցեսորի ջերմաստիճանը ավելի կբարձրանա, քանի որ անընդհատ պետք է մի փոքր բարդ պիթոնի կոդ գործարկել:

Հետևաբար, ես նվազագույնի եմ հասցնում պիթոնի կոդի բարդությունը հնարավորինս պարզ և չբեռնող LED վերահսկման տրամաբանությունը արտաքին ապարատային շղթայի վրա:

Պրոցեսորի ջերմաստիճանի ցուցիչի (այսուհետ `INICATOR) միացումը բաղկացած է հետևյալ հիմնական մասերից.

-Երկու օպտո-միակցիչներ միացված են RPI GPIO կապումներին `ջերմաստիճանի մակարդակի վերաբերյալ տվյալներ ստանալու համար, ինչպիսիք են` 00-> OWԱՐ, 01-> Միջին, 10-> Բարձր, 11-> Սառեցման կարիք:

-74LS139 (կամ 74HC139, 2-ից-4 ապակոդավորիչ և դե-մուլտիպլեքսերատոր) վերահսկման ելքեր (Y0, Y1, Y2, Y3) ՝ ըստ մուտքերի (A, B)

- Երբ ջերմաստիճանը 30 ~ 39 աստիճանի սահմաններում է, պիթոնի կոդը թողեք 00 դեպի GPIO կապում: Հետևաբար, 74LS139- ը մուտքագրում է տվյալներ 00 (A-> 0, B-> 0)

- Երբ մուտքագրվում է 00, Y0 ելքը դառնում է OWԱՐ: (Խնդրում ենք հղել 74LS139- ի ճշմարտության աղյուսակը)

- Երբ Y0 ելքը դառնում է OWԱՐ, այն ակտիվացնում է 2N3906 PNP տրանզիստորը, և արդյունքում ՝ կանաչ LED- ը միացված է

- Նմանապես, Y1 (01 -> CPU ջերմաստիճանի միջավայր) պետք է միացնել Դեղին LED- ը և այլն

- Երբ Y3- ը դառնում է OWԱՐ, DB140- ն ակտիվացնում է NE555 LED թարթիչ միացումը (սա սովորական 555 IC- ով հիմնված LED թարթիչ է), որը BD140 PNP տրանզիստորի բեռ է:

Այս սխեմայի ամենակարևոր բաղադրիչն է 74LS139- ը, որը վերծանում է 2 նիշերի մուտքագրումը 4 տարբեր առանձին ելքերի մեջ, ինչպես ցույց է տրված ստորև ներկայացված ճշմարտության աղյուսակում:

Մուտքային | Ելք

G (Միացնել) | Բ | Ա | Y0 | Y1 | Y2 | Y3 |

Հ | X | X | Հ | Հ | Հ | Հ |

Լ | Լ | Լ | Լ | Հ | Հ | Հ |

Լ | Լ | Հ | Հ | Լ | Հ | Հ |

Լ | Հ | Լ | Հ | Հ | Լ | Հ |

Լ | Հ | Հ | Հ | Հ | Հ | Լ |

Քանի որ 74LS139 ելքը դառնում է OWԱՐ, PNP տիպի տրանզիստորը կարող է ընդհանուր միացումը պարզեցնել, քանի որ PNP տրանզիստորը միացված է, երբ բազային տերմինալը դառնում է OWԱՐ: (Ես այս պատմության վերջում ցույց կտամ NPN տարբերակը)

Քանի որ 100K պոտենցիոմետրը ներառված է NE555 LED թարթիչների շղթայի մեջ, կարմիր LED միացման/անջատման ժամանակը կարող է ազատորեն կարգավորվել ըստ կարիքների:

Քայլ 2. PCB նկարչություն պատրաստելը

PCB նկարչություն պատրաստելը
PCB նկարչություն պատրաստելը

Explainedուցանիշի գործառնական սխեմայի բացատրությամբ, եկեք սկսենք միացում կատարել:

Նախքան ունիվերսալ տախտակի վրա ինչ -որ բան կպցնելը, վերը նշված PCB նկարը պատրաստելը օգտակար է ցանկացած սխալը նվազագույնի հասցնելու համար:

Նկարչությունը կազմված է power-point- ի միջոցով `յուրաքանչյուր հատվածը տեղադրելու ունիվերսալ տախտակի վրա և լարերի միջոցով մասերի միջև լարերի տեղադրման միջոցով:

Քանի որ IC- ն և տրանզիստորների քորոցային պատկերները համատեղ տեղակայված են PCB- ի միացման սխեմայի հետ միասին, զոդումը կարող է իրականացվել `օգտագործելով այս նկարը:

Քայլ 3: Sոդում

Oldոդման
Oldոդման

Չնայած PCB- ի սկզբնական գծանկարն արված է ՝ չօգտագործելով առանձին լարեր ՝ PCB- ի բաղադրիչները միացնելու համար, ես մի փոքր այլ կերպ եմ զոդում:

Օգտագործելով լարերի մեկ հաղորդիչ (ոչ թիթեղյա մետաղալար), ես փորձում եմ նվազեցնել ունիվերսալ PCB- ի չափը, որը պարունակում է NDՈICՈՎԱԱԿԻ միացում:

Բայց ինչպես կարող եք տեսնել PCB- ի զոդման կողմում, ես թիթեղյա մետաղալար եմ օգտագործում նաև ըստ PCB գծապատկերում պատկերված նախշերի:

Երբ յուրաքանչյուր բաղադրիչ միացված է ըստ PCB գծագրի նախնական նախագծի, PCB- ի ավարտված տախտակը, ներառյալ NDՈNDՈՎԱԳՐԱԿԱՆ միացումը, ճիշտ կգործի:

Քայլ 4: Փորձարկման նախապատրաստում

Փորձարկման նախապատրաստում
Փորձարկման նախապատրաստում

RPI միացումից առաջ պատրաստի միացումը պահանջում է փորձարկում:

Քանի որ ցանկացած զոդման սխալներ կարող են գոյություն ունենալ, DC էներգիայի մատակարարը օգտագործվում է վնասներ կանխելու համար, երբ շորտեր կամ սխալ էլեկտրագծեր են տեղի ունենում:

INDICATOR- ի փորձարկման համար էլեկտրամատակարարման երկու լրացուցիչ մալուխ միացված է սխեմայի 5 Վ լարման միակցիչին:

Քայլ 5. Փորձարկում (պրոցեսորի ջերմաստիճանը միջին մակարդակի է)

Փորձարկում (պրոցեսորի ջերմաստիճանը միջին մակարդակի է)
Փորձարկում (պրոցեսորի ջերմաստիճանը միջին մակարդակի է)

Երբ 5 Վ մուտք չի կիրառվում, ապա 74LS139 մուտքի վերծանումը և Y0- ի ելքի ակտիվացումը OWԱOWՐ (կանաչ LED- ն միացված է):

Բայց 5V կիրառվում է մուտքի A- ի համար, 74LS139- ի Y1 ելքը ակտիվանում է (LOW):

Հետևաբար, դեղին LED- ը միացված է, ինչպես ցույց է տրված վերևում նկարում:

Քայլ 6. Փորձարկում (պրոցեսորին անհրաժեշտ է հովացման մակարդակ)

Փորձարկում (պրոցեսորին անհրաժեշտ է հովացման մակարդակ)
Փորձարկում (պրոցեսորին անհրաժեշտ է հովացման մակարդակ)

Երբ 5V- ն կիրառեց 74LS139- ի երկու մուտքերը (A և B), 4 -րդ կարմիր LED- ը թարթում է:

Թարթման արագությունը կարող է փոխվել ՝ կարգավորելով 100K VR- ն, ինչպես ցույց է տրված վերևում նկարում:

Փորձարկումն ավարտվելուց հետո կարող են հեռացվել երկու Molex 3 պին կանացի մալուխներ:

Քայլ 7. ԷԼԵԿՏՐՈԹՅՈՆ ԻՆԴԻԿԱՏՈՐԻ շղթային

Էլեկտրաէներգիայի մատակարարում INDICATOR Circuit
Էլեկտրաէներգիայի մատակարարում INDICATOR Circuit

INDICATOR- ի միացման համար ես օգտագործում եմ սովորական ձեռքի հեռախոսի լիցքավորիչ, որը թողարկում է 5V և USB տիպի B ադապտեր, ինչպես ցույց է տրված վերևում նկարում:

RPI- ի հետ կապված խնդիրներից խուսափելու համար `3.3V GPIO և 5V սնուցող ցուցիչ միացնելով, ազդանշանի ինտերֆեյսը և սնուցման աղբյուրը լիովին մեկուսացված են միմյանց:

Քայլ 8: RPI լարերի միացում

RPI լարերի տեղադրում
RPI լարերի տեղադրում

RPI- ով ԻՆԴԻԿԱՏՈՐ շղթայի միացման համար երկու GPIO կապում պետք է հատկացված լինի երկու գրունտի հետ միասին:

GPIO կապում ընտրելու հատուկ պահանջ չկա:

NDուցանիշին միացնելու համար կարող եք օգտագործել ցանկացած GPIO կապում:

Բայց լարային կապում պիտոնների ծրագրում պետք է նշանակվեն որպես 74LS139 (օրինակ ՝ A, B) մուտքեր:

Քայլ 9: Python ծրագիր

Python ծրագիր
Python ծրագիր

Միացումն ավարտվելուն պես, Python ծրագրի պատրաստումը պահանջվում է NDուցանիշ գործառույթն օգտագործելու համար:

Խնդրում ենք անդրադառնալ վերևի հոսքի գծապատկերին `ծրագրի տրամաբանության մասին ավելի մանրամասն:

#-*-կոդավորում `utf-8-*-

ներմուծել ենթամշակույթ, ազդանշան, sys

ներմուծման ժամանակը, վեր

ներմուծել RPi. GPIO ինչպես g

A = 12

B = 16

g.setmode (g. BCM)

g.setup (A, g. OUT)

g.setup (B, g. OUT)

##

def signal_handler (sig, շրջանակ):

տպել ('Դուք սեղմել եք Ctrl+C!')

g.output (A, False)

g. ելք (B, False)

զ. փակել ()

sys.exit (0)

signal.signal (ազդանշան. SIGINT, signal_handler)

##

իսկական True:

f = բաց ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd masë_temp', shell = True)

temp_str = temp_str.decode (կոդավորում = 'UTF-8', սխալներ = 'խիստ')

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

# արդյունահանող պրոցեսորի ընթացիկ ջերմաստիճանը

current_temp = float (CPU_temp [0])

եթե current_temp> 30 և current_temp <40:

# ցածր ջերմաստիճան A = 0, B = 0

g.output (A, False)

g. ելք (B, False)

ժամանակ. քուն (5)

elif current_temp> = 40 և current_temp <45:

# ջերմաստիճանի միջավայր A = 0, B = 1

g.output (A, False)

g. ելք (B, True)

ժամանակ. քուն (5)

elif current_temp> = 45 և current_temp <50:

# բարձր ջերմաստիճան A = 1, B = 0

g. ելք (A, True)

g. ելք (B, False)

ժամանակ. քուն (5)

elif current_temp> = 50:

# Պրոցեսորի սառեցում պահանջվում է բարձր A = 1, B = 1

g. ելք (A, True)

g. ելք (B, True)

ժամանակ. քուն (5)

current_time = time.time ()

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

f.write (str (formated_time)+'\ t'+str (current_temp)+'\ n')

զ. փակել ()

Python ծրագրի հիմնական գործառույթը հետևյալն է.

- Նախ `GPIO 12, 16 -ը որպես ելքային նավահանգիստ սահմանելը

- Սահմանել Ctrl+C ընդհատումների կարգավորիչը `գրանցամատյան ֆայլը փակելու համար և անջատել GPIO 12, 16 -ը

- Անսահման հանգույց մտնելիս բացեք տեղեկամատյան ֆայլը `որպես հավելված

- Կարդացեք պրոցեսորի ջերմաստիճանը ՝ կատարելով «/opt/vc/bin/vcgencmd masë_temp» հրամանը

- Երբ ջերմաստիճանը 30 ~ 39 տիրույթում է, ապա թողեք 00 ՝ կանաչ LED- ը միացնելու համար

- Երբ ջերմաստիճանը 40 ~ 44 միջակայքում է, ապա թողեք 01 ՝ դեղին LED- ը միացնելու համար

- Երբ ջերմաստիճանը 45 ~ 49 միջակայքում է, ապա թողարկեք 10 ՝ կարմիր LED- ը միացնելու համար

- Երբ ջերմաստիճանը 50 -ից բարձր է, ապա թողեք 11, որպեսզի կարմիր LED- ը թարթվի

- Գրեք ժամանակի կնիք և ջերմաստիճանի տվյալներ գրանցման ֆայլում

Քայլ 10. NDուցանիշի շահագործում

Iուցանիշ Գործողություն
Iուցանիշ Գործողություն

Երբ ամեն ինչ կարգին է, կարող եք տեսնել, որ յուրաքանչյուր LED միացված կամ թարթող է `ըստ պրոցեսորի ջերմաստիճանի:

Ձեզ հարկավոր չէ մուտքագրել shell հրահանգ ՝ ընթացիկ ջերմաստիճանը ստուգելու համար:

Տեղեկամատյանում տվյալների հավաքումից և տեքստային տվյալները գրաֆիկի վերածելուց հետո `օգտագործելով Excel- ը, արդյունքը ցույց է տրված վերևի նկարում:

Բարձր բեռներ կիրառելիս (երկու Midori զննարկիչ գործարկելիս և Youtube- ի տեսանյութեր նվագելիս) պրոցեսորի ջերմաստիճանը հասնում է 57.9C- ի:

Քայլ 11. Այլընտրանքային պատրաստում (օգտագործելով NPN տրանզիստոր) և հետագա զարգացում

Այլընտրանքային պատրաստում (օգտագործելով NPN տրանզիստոր) և հետագա զարգացում
Այլընտրանքային պատրաստում (օգտագործելով NPN տրանզիստոր) և հետագա զարգացում

Սա նախորդ INDICATOR ծրագրի օրինակն է, որն օգտագործում է NPN տրանզիստորներ (2N3904 և BD139):

Ինչպես տեսնում եք, ևս մեկ IC (74HC04, Quad invertors) անհրաժեշտ է NPN տրանզիստոր վարելու համար, քանի որ տրանզիստորը միացնելու համար NPN- ի բազայի վրա պետք է կիրառվի Բարձր մակարդակի լարվածություն:

Որպես ամփոփում, NPN տրանզիստորի օգտագործումը ավելացնում է անհարկի բարդություն ՝ NDՈNDՈՎՈՄ միացում կազմելու համար:

Այս նախագծի հետագա զարգացման համար ես կավելացնեմ հովացման օդափոխիչ, ինչպես ցույց է տրված վերևում նկարում, որպեսզի ցուցիչն ավելի օգտակար դարձնի:

Խորհուրդ ենք տալիս: