Բովանդակություն:
- Քայլ 1: Պատկերների պատրաստում
- Քայլ 2. PCB նկարչություն պատրաստելը
- Քայլ 3: Sոդում
- Քայլ 4: Փորձարկման նախապատրաստում
- Քայլ 5. Փորձարկում (պրոցեսորի ջերմաստիճանը միջին մակարդակի է)
- Քայլ 6. Փորձարկում (պրոցեսորին անհրաժեշտ է հովացման մակարդակ)
- Քայլ 7. ԷԼԵԿՏՐՈԹՅՈՆ ԻՆԴԻԿԱՏՈՐԻ շղթային
- Քայլ 8: RPI լարերի միացում
- Քայլ 9: Python ծրագիր
- Քայլ 10. NDուցանիշի շահագործում
- Քայլ 11. Այլընտրանքային պատրաստում (օգտագործելով NPN տրանզիստոր) և հետագա զարգացում
Video: Raspberry Pi CPU ջերմաստիճանի ցուցիչ. 11 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Նախկինում ես ներկայացրել էի պարզ ազնվամորու պի (այսուհետ `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 նկարչություն պատրաստելը
Explainedուցանիշի գործառնական սխեմայի բացատրությամբ, եկեք սկսենք միացում կատարել:
Նախքան ունիվերսալ տախտակի վրա ինչ -որ բան կպցնելը, վերը նշված PCB նկարը պատրաստելը օգտակար է ցանկացած սխալը նվազագույնի հասցնելու համար:
Նկարչությունը կազմված է power-point- ի միջոցով `յուրաքանչյուր հատվածը տեղադրելու ունիվերսալ տախտակի վրա և լարերի միջոցով մասերի միջև լարերի տեղադրման միջոցով:
Քանի որ IC- ն և տրանզիստորների քորոցային պատկերները համատեղ տեղակայված են PCB- ի միացման սխեմայի հետ միասին, զոդումը կարող է իրականացվել `օգտագործելով այս նկարը:
Քայլ 3: Sոդում
Չնայած 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- ի միացման համար ես օգտագործում եմ սովորական ձեռքի հեռախոսի լիցքավորիչ, որը թողարկում է 5V և USB տիպի B ադապտեր, ինչպես ցույց է տրված վերևում նկարում:
RPI- ի հետ կապված խնդիրներից խուսափելու համար `3.3V GPIO և 5V սնուցող ցուցիչ միացնելով, ազդանշանի ինտերֆեյսը և սնուցման աղբյուրը լիովին մեկուսացված են միմյանց:
Քայլ 8: RPI լարերի միացում
RPI- ով ԻՆԴԻԿԱՏՈՐ շղթայի միացման համար երկու GPIO կապում պետք է հատկացված լինի երկու գրունտի հետ միասին:
GPIO կապում ընտրելու հատուկ պահանջ չկա:
NDուցանիշին միացնելու համար կարող եք օգտագործել ցանկացած GPIO կապում:
Բայց լարային կապում պիտոնների ծրագրում պետք է նշանակվեն որպես 74LS139 (օրինակ ՝ A, B) մուտքեր:
Քայլ 9: 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ուցանիշի շահագործում
Երբ ամեն ինչ կարգին է, կարող եք տեսնել, որ յուրաքանչյուր LED միացված կամ թարթող է `ըստ պրոցեսորի ջերմաստիճանի:
Ձեզ հարկավոր չէ մուտքագրել shell հրահանգ ՝ ընթացիկ ջերմաստիճանը ստուգելու համար:
Տեղեկամատյանում տվյալների հավաքումից և տեքստային տվյալները գրաֆիկի վերածելուց հետո `օգտագործելով Excel- ը, արդյունքը ցույց է տրված վերևի նկարում:
Բարձր բեռներ կիրառելիս (երկու Midori զննարկիչ գործարկելիս և Youtube- ի տեսանյութեր նվագելիս) պրոցեսորի ջերմաստիճանը հասնում է 57.9C- ի:
Քայլ 11. Այլընտրանքային պատրաստում (օգտագործելով NPN տրանզիստոր) և հետագա զարգացում
Սա նախորդ INDICATOR ծրագրի օրինակն է, որն օգտագործում է NPN տրանզիստորներ (2N3904 և BD139):
Ինչպես տեսնում եք, ևս մեկ IC (74HC04, Quad invertors) անհրաժեշտ է NPN տրանզիստոր վարելու համար, քանի որ տրանզիստորը միացնելու համար NPN- ի բազայի վրա պետք է կիրառվի Բարձր մակարդակի լարվածություն:
Որպես ամփոփում, NPN տրանզիստորի օգտագործումը ավելացնում է անհարկի բարդություն ՝ NDՈNDՈՎՈՄ միացում կազմելու համար:
Այս նախագծի հետագա զարգացման համար ես կավելացնեմ հովացման օդափոխիչ, ինչպես ցույց է տրված վերևում նկարում, որպեսզի ցուցիչն ավելի օգտակար դարձնի:
Խորհուրդ ենք տալիս:
DHT21 թվային ջերմաստիճանի և խոնավության ցուցիչ Arduino- ով. 6 քայլ
DHT21 թվային ջերմաստիճանի և խոնավության սենսոր Arduino- ով. Այս ձեռնարկում մենք կսովորենք, թե ինչպես օգտագործել DHT21 խոնավության և ջերմաստիճանի տվիչը Arduino- ի հետ և արժեքները ցուցադրել OLED էկրանին: Դիտեք տեսանյութը:
Raspberry Pi HTS221 Հարաբերական խոնավության և ջերմաստիճանի ցուցիչ Java ձեռնարկ. 4 քայլ
Ազնվամորի Pi HTS221 Հարաբերական խոնավության և ջերմաստիճանի ցուցիչ Java ձեռնարկ. HTS221- ը ծայրահեղ կոմպակտ տարողունակ թվային սենսոր է հարաբերական խոնավության և ջերմաստիճանի համար: Այն ներառում է զգայուն տարր և խառը ազդանշանների կիրառման հատուկ ինտեգրալ միացում (ASIC) ՝ թվային սերիայի միջոցով չափման տեղեկատվությունը տրամադրելու համար
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղիչ և ջերմաստիճանի ահազանգով. 7 քայլ (նկարներով)
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղման և ջերմաստիճանի տագնապի միջոցով. Դեռևս ճանապարհորդում եք «առաջիկա նախագիծ» ավարտելու համար, հրահանգելի է, որը ցույց է տալիս, թե ինչպես եմ ավելացնում NTP ջերմաստիճանի զոնդ, պիեզո բ
RGB ջերմաստիճանի ցուցիչ (XinaBox- ով) ՝ 5 քայլ (նկարներով)
RGB ջերմաստիճանի ցուցիչ (XinaBox- ի հետ). Սա պաշտոնապես իմ Instructables- ի առաջին հոդվածն է, ուստի ես պատրաստվում եմ խոստովանել, որ հենց հիմա օգտագործում եմ այս հնարավորությունը `այն փորձելու համար: Getգացեք, թե ինչպես է աշխատում հարթակը և դրա ամբողջ օգտագործողի փորձը: Բայց մինչ ես դա անում էի, ես մտածեցի, որ կարող եմ
Ո՞վ է իմ դռան մոտ: PIR Շարժման ցուցիչ/միջակայքի ցուցիչ `5 քայլ
Ո՞վ է իմ դռան մոտ: PIR Շարժման սենսոր/Շարժման սենսորային նախագիծ. Մեր նախագիծը նպատակ ունի զգալ շարժումը PIR և հեռավորության տվիչների միջոցով: Arduino ծածկագիրը կտա տեսողական և ձայնային ազդանշան ՝ օգտագործողին մոտակայքում հայտնելու համար: MATLAB ծածկագիրը կուղարկի էլեկտրոնային փոստի ազդանշան ՝ օգտագործողին զգուշացնելու համար, որ ինչ -որ մեկը մոտ է: Այս սարքը