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

Raspberry Pi արկղ սառեցման օդափոխիչով `պրոցեսորի ջերմաստիճանի ցուցիչով. 10 քայլ (նկարներով)
Raspberry Pi արկղ սառեցման օդափոխիչով `պրոցեսորի ջերմաստիճանի ցուցիչով. 10 քայլ (նկարներով)

Video: Raspberry Pi արկղ սառեցման օդափոխիչով `պրոցեսորի ջերմաստիճանի ցուցիչով. 10 քայլ (նկարներով)

Video: Raspberry Pi արկղ սառեցման օդափոխիչով `պրոցեսորի ջերմաստիճանի ցուցիչով. 10 քայլ (նկարներով)
Video: Raspberry Delight! Տորթն այնքան համեղ է, որ ես անընդհատ թխում եմ: Հեշտ բաղադրատոմս! 2024, Նոյեմբեր
Anonim
Raspberry Pi արկղ սառեցման օդափոխիչ CPU- ի ջերմաստիճանի ցուցիչով
Raspberry Pi արկղ սառեցման օդափոխիչ CPU- ի ջերմաստիճանի ցուցիչով

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

Շղթան պարզապես ցույց է տալիս RPI 4 տարբեր պրոցեսորի ջերմաստիճանի մակարդակը հետևյալ կերպ.

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

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

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

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

***

Երբ ջերմաստիճանը գերազանցում է 50C- ը, ցանկացած RPI- ի համար անհրաժեշտ է ցանկացած օգնություն, որը շատ չի շեշտում:

Ըստ այն տեղեկատվության, որը ես տեսա մի քանի ինտերնետային էջերում, որտեղ խոսվում է RPI ջերմաստիճանի առավելագույն տանելի մակարդակի մասին, կարծիքները բազմազան են, օրինակ ՝ ինչ-որ մեկը նշում է, որ 60 ° C- ից բարձր ջերմաստիճանը դեռ լավ է, երբ օգտագործվում է ջերմահաղորդիչ:

Բայց իմ անձնական փորձը այլ բան է ասում, որ փոխանցման սերվերը (RPI- ի օգտագործումը տաքացուցիչով) դանդաղ է դառնում և վերջապես գործում է որպես զոմբի, երբ միացնում եմ այն մի քանի ժամով:

Հետևաբար, այս լրացուցիչ միացման և հովացման FAN- ը ավելացվում է 50C- ից ցածր CPU ջերմաստիճանը կարգավորելու համար `RPI- ի կայուն գործունեությունն ապահովելու համար:

***

Նախկինում ներմուծված պրոցեսորի ջերմաստիճանի ցուցիչի սխեման (այսուհետ `NDՈNDՈՎԱԴՐՈԹՅՈՆ) ինտեգրված է ՝ ջերմաստիճանի հարմար մակարդակի ստուգումն ապահովելու համար ՝ առանց վահանակի տերմինալում« vcgencmd μέτρα_տեմպ »հրամանի կատարման:

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

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

Նախորդ երկու նախագծերում ես նշել էի էներգիայի մատակարարման ամբողջական մեկուսացումը RPI- ի և արտաքին սխեմաների միջև:

FAN- ի հովացման դեպքում անկախ էներգիայի մատակարարումը բավականին կարևոր է, քանի որ DC 5V FAN (շարժիչը) համեմատաբար ծանր բեռ է և բավականին աղմկոտ շահագործման ընթացքում:

Հետևաբար, այս սխեմայի նախագծման համար կարևորվում են հետևյալ նկատառումները:

- Opto-couplers- ը օգտագործվում է RPI GPIO կապի հետ միանալու համար `FAN ակտիվացման ազդանշան ստանալու համար

- RPI- ից էներգիա չի վերցվում և օգտագործում է սովորական ձեռքի հեռախոսի լիցքավորիչ `այս սխեմայի էներգիայի աղբյուրի համար:

- LED ցուցիչն օգտագործվում է օդափոխիչի օդափոխիչի աշխատանքը տեղեկացնելու համար

- 5 Վ ռելե օգտագործվում է սառեցման օդափոխիչը որպես մեխանիկական եղանակ ակտիվացնելու համար

***

Այս միացումն աշխատելու է պրոցեսորի ջերմաստիճանի ցուցիչի շղթայի հետ (այսուհետ `NDՈICՈՎՈԹՅՈՆ)` պիթոնային ծրագրի կառավարման միջոցով:

Երբ NDՈNDՈՎԻՉԸ սկսում է թարթել (ջերմաստիճանը գերազանցում է 50C), այս հովացման FAN միացումը պետք է սկսի գործել:

Քայլ 2: Մասերի պատրաստում

Ինչպես և մյուս նախորդ նախագծերը, շատ տարածված բաղադրիչներ են օգտագործվում ստորև թվարկված հովացման օդափոխիչի միացման համար:

- Opto- միակցիչ ՝ PC817 (SHARP) x 1

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

- TQ2-5V (Panasonic) 5V ռելե

- 1N4148 դիոդ

- Ռեզիստորներ (1/4 Վտ) ՝ 220ohm x 2 (ընթացիկ սահմանափակում), 2.2K (տրանզիստորների անջատում) x 2

- LED x 1

- 5 Վ հովացման FAN 200 մԱ

- Ունիվերսալ տախտակ ՝ ավելի քան 20 (Վտ) 20 (Հ) անցքերի չափերով (կարող եք կտրել ունիվերսալ տախտակի ցանկացած չափ ՝ միացմանը միանալու համար)

- Թիթեղյա մետաղալար (Խնդրում եմ անդրադառնալ իմ «Raspberry Pi անջատման ցուցիչ» նախագծի տեղադրմանը ՝ թիթեղյա մետաղալարերի օգտագործման ավելի մանրամասն տեղեկությունների համար)

- Մալուխ (կարմիր և կապույտ ընդհանուր մեկ մետաղալար մալուխ)

- handանկացած ձեռքի հեռախոսի լիցքավորիչ 220V մուտք և 5V ելք (USB տիպ B միակցիչ)

- Գլխի գլուխ (3 կապում) x 2

***

Սառեցման FAN- ի ֆիզիկական չափը պետք է այնքան փոքր լինի, որ տեղադրվի RPI- ի վերևում:

Typeանկացած տեսակի ռելեներ կարող են օգտագործվել, երբ այն կարող է աշխատել 5 Վ լարման դեպքում և ունենալ մեկից ավելի մեխանիկական կոնտակտ:

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

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

Քանի որ բաղադրիչների քանակը փոքր է, պահանջվող ունիվերսալ PCB չափը մեծ չէ:

Խնդրում ենք հոգ տանել TQ2-5V- ի քորոցների բևեռայնության դասավորության մասին, ինչպես ցույց է տրված վերևում նկարում: (Հակառակ ավանդական մտածողության, փաստացի գումարած/հիմքի դասավորությունը հակառակ կարգով է կազմակերպված)

Անձամբ ես անսպասելի խնդիր ունեմ զոդումից հետո հակառակ TQ2-5V- ի հակադարձ տեղակայված (Երբ համեմատում եմ այլ ռելեական արտադրանքի հետ) բևեռականության կապում:

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

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

Քանի որ միացումն ինքնին բավականին պարզ է, էլեկտրագծերի կառուցվածքը այնքան էլ բարդ չէ:

Ես ամրացնում եմ «L» ձևի ամրացման փակագիծը ՝ PCB- ն ուղղահայաց ուղղելու համար:

Ինչպես կարող եք տեսնել ավելի ուշ, ակրիլային շասսի, որը ամեն ինչ ամրացնում է, փոքր -ինչ փոքր է:

Հետևաբար, ոտնաթաթերի նեղացումը անհրաժեշտ է, քանի որ ակրիլային շասսին շատ մարդաշատ է PCB- ներով և այլ ենթամասերով:

LED- ը տեղադրված է առջևի մասում ՝ օդափոխիչի աշխատանքը հեշտությամբ ճանաչելու համար:

Քայլ 5. FAN HAT հովացման պատրաստում և տեղադրում

FAN HAT հովացման պատրաստում և տեղադրում
FAN HAT հովացման պատրաստում և տեղադրում

Ենթադրում եմ, որ ունիվերսալ PCB- ն շատ օգտակար մաս է, որը կարող է օգտագործվել բազմազան օգտագործման նպատակով:

Cooling FAN- ը տեղադրված է ունիվերսալ PCB- ի վրա և ամրացված և ամրացված է պտուտակներով և ընկույզներով:

Օդի հոսքը թույլ տալու համար ես մեծ փոս եմ բացում ՝ PCB- ի հորատմամբ:

Նաև թռիչքային մալուխների հեշտ միացման համար GIPO 40 կապում տարածքը բացվում է PCB- ն կտրելով:

Քայլ 6: Հավաքեք PCB- ներ

Հավաքեք PCB- ներ
Հավաքեք PCB- ներ

Ինչպես նշվեց վերևում, ես նախատեսում էի երկու տարբեր սխեմաների համախմբում մեկ միավորի մեջ:

Նախկինում պատրաստված պրոցեսորի ջերմաստիճանի ցուցիչի սխեման միաձուլվում է հովացման FAN- ի նոր սխեմայով, ինչպես ցույց է տրված վերևում նկարում:, Ամեն ինչ փաթեթավորված է թափանցիկ և փոքր չափի (15 սմ W x 10 սմ D) ակրիլային շասսիի մեջ:

Չնայած որ շասսիի տարածքի մոտ կեսը դատարկ է և հասանելի, լրացուցիչ բաղադրիչը հետագայում կտեղադրվի մնացած տարածքում:

Քայլ 7. Շղթաներով RPI- ի միացում

Շղթաներով RPI- ի միացում
Շղթաներով RPI- ի միացում

Երկու սխեման փոխկապակցված են RPI- ի հետ `որպես մեկուսացված եղանակ` օգտագործելով օպտո-միակցիչները:

Նաև RPI- ից էներգիա չի հանվում, քանի որ արտաքին ձեռքի հեռախոսի լիցքավորիչը սնուցում է սխեմաները:

Հետագայում դուք կիմանաք, որ այս տեսակի մեկուսացված ինտերֆեյսի սխեման բավականին շահավետ է, երբ լրացուցիչ բաղադրիչները ավելի շատ ինտեգրվեն ակրիլային շասսիին:

Քայլ 8: Python ծրագիրը վերահսկում է բոլոր սխեմաները

Python ծրագիրը վերահսկում է բոլոր սխեմաները
Python ծրագիրը վերահսկում է բոլոր սխեմաները

CPU- ի ջերմաստիճանի ցուցիչի սխեմայի աղբյուրի կոդից պահանջվում է միայն կոդի աննշան ավելացում:

Երբ ջերմաստիճանը գերազանցում է 50C- ը, սկսվում է FAN միացման և 3 վայրկյան անջատման քսան (20) կրկնություն:

Քանի որ FAN- ի փոքր շարժիչը պահանջում է առավելագույնը 200 մԱ հոսանք շահագործման ընթացքում, PWM (Pulse Width Modulation) տիպի շարժիչի ակտիվացման մեթոդը օգտագործվում է ձեռքի հեռախոսի լիցքավորիչը ավելի չծանրաբեռնելու համար:

Փոփոխված աղբյուրի կոդը նման է ստորև:

***

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

##

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

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

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

##

A = 12

B = 16

FAN = 25

##

g.setmode (g. BCM)

g.setup (A, g. OUT)

g.setup (B, g. OUT)

g.setup (FAN, g. OUT)

##

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

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

g.output (A, False)

g. ելք (B, False)

g.output (FAN, 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 = 1, B = 0

g. ելք (A, True)

g. ելք (B, False)

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

elif current_temp> = 45 և current_temp <50:

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

g.output (A, False)

g. ելք (B, True)

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

elif current_temp> = 50:

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

g. ելք (A, True)

g. ելք (B, True)

համար միջակայքում (1, 20):

g.output (FAN, True)

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

g.output (FAN, False)

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

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

զ. փակել ()

##

Քանի որ այս պիթոնի կոդի շահագործման տրամաբանությունը գրեթե նման է պրոցեսորի ջերմաստիճանի ցուցիչի սխեմային, այստեղ մանրամասներ չեմ կրկնի:

Քայլ 9: FAN միացումի շահագործում

FAN միացումի գործողություն
FAN միացումի գործողություն

Գրաֆիկին նայելիս `50C- ից բարձր ջերմաստիճան` առանց FAN միացման:

Թվում է, թե պրոցեսորի միջին ջերմաստիճանը մոտ 40 ~ 47C է, մինչ RPI- ն գործում է:

Եթե կիրառվում է համակարգային ծանրաբեռնվածություն, ինչպիսին է վեբ դիտարկիչում Youtube նվագարկելը, սովորաբար ջերմաստիճանը արագորեն բարձրանում է մինչև 60C:

Բայց FAN միացման դեպքում ջերմաստիճանը կնվազի 50C- ից պակաս 5 վայրկյանում `հովացման FAN- ի գործարկմամբ:

Արդյունքում, դուք կարող եք ամբողջ օրը միացնել RPI- ն և կատարել ցանկացած աշխատանք, որը ձեզ դուր է գալիս ՝ առանց անհանգստանալու գերտաքացումից:

Քայլ 10: Հետագա զարգացում

Հետագա զարգացում
Հետագա զարգացում

Ինչպես տեսնում եք, ակրիլային շասսիի կեսը դատարկ է մնում:

Ես այնտեղ լրացուցիչ բաղադրիչներ կդնեմ և RPI տուփի այս հիմնական բլոկը կընդլայնեմ ավելի օգտակար բանի մեջ:

Իհարկե, ավելացում նշանակում է նաև մի փոքր ավելի բարդություն:

Ինչևէ, ես այս նախագծում միացնում եմ երկու սխեմաներ մեկ տուփի մեջ:

Շնորհակալություն այս պատմվածքը կարդալու համար:

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