Სარჩევი:

Raspberry Pi ყუთი გამაგრილებელი ვენტილატორი CPU ტემპერატურის მაჩვენებლით: 10 ნაბიჯი (სურათებით)
Raspberry Pi ყუთი გამაგრილებელი ვენტილატორი CPU ტემპერატურის მაჩვენებლით: 10 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi ყუთი გამაგრილებელი ვენტილატორი CPU ტემპერატურის მაჩვენებლით: 10 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi ყუთი გამაგრილებელი ვენტილატორი CPU ტემპერატურის მაჩვენებლით: 10 ნაბიჯი (სურათებით)
ვიდეო: ხელუხლებელი მიტოვებული აფრო-ამერიკული სახლი - ძალიან უცნაური გაუჩინარება! 2024, ივლისი
Anonim
Raspberry Pi ყუთი გამაგრილებელი ვენტილატორი CPU ტემპერატურის მაჩვენებლით
Raspberry Pi ყუთი გამაგრილებელი ვენტილატორი CPU ტემპერატურის მაჩვენებლით

მე შემოვიღე ჟოლოს პი (შემდგომში როგორც RPI) პროცესორის ტემპერატურის მაჩვენებელი წინა პროექტში.

წრე უბრალოდ აჩვენებს RPI 4 სხვადასხვა CPU ტემპერატურის დონეს შემდეგნაირად.

- მწვანე LED ჩართულია, როდესაც პროცესორის ტემპერატურა 30 ~ 39 გრადუსამდეა

- ყვითელი LED მიუთითებს ტემპერატურის გაზრდაზე 40 -დან 45 გრადუსამდე

მე –3 წითელი LED აჩვენებს, რომ პროცესორი ოდნავ ცხელდება 46 ~ 49 გრადუსამდე

- სხვა წითელი LED აციმციმდება, როდესაც ტემპერატურა აღემატება 50 გრადუსს

***

როდესაც ტემპერატურა აღემატება 50C- ს, ნებისმიერი დახმარება საჭირო იქნება მცირე RPI– სთვის, რომელიც არ არის ძალიან დაძაბული.

იმ ინფორმაციის თანახმად, რაც მე ვნახე რამდენიმე ვებ გვერდზე, სადაც საუბარია RPI ტემპერატურის მაქსიმალურ ამტან დონეზე, მოსაზრებები მრავალფეროვანია, მაგალითად ვიღაცამ აღნიშნა, რომ 60 ° C- ზე მეტი მაინც ნორმალურია, როდესაც გამაცხელებელი გამოიყენება.

მაგრამ ჩემი პირადი გამოცდილება სულ სხვა რამეს ამბობს, რომ გადამცემი სერვერი (RPI- ს გამოყენება გამაცხელებელთან ერთად) ხდება ნელი და საბოლოოდ ზომბივით იქცევა, როდესაც მას რამდენიმე საათის განმავლობაში ვრთავ.

ამრიგად, ეს დამატებითი წრე და გამაგრილებელი FAN ემატება CPU ტემპერატურის რეგულირებისათვის 50C– მდე, RPI– ის სტაბილური მუშაობის მხარდასაჭერად.

***

ასევე ადრე შემოღებული CPU ტემპერატურის მაჩვენებელი სქემა (შემდგომში INDICATOR) ინტეგრირებულია ერთად, რათა უზრუნველყოს ტემპერატურის მოსახერხებელი დონის შემოწმება კონსოლის ტერმინალზე „vcgencmd ღონისძიება_ტემპერა“ბრძანების გარეშე.

ნაბიჯი 1: სქემების მომზადება

სქემების მომზადება
სქემების მომზადება

ორ წინა პროექტში მე აღვნიშნე ელექტროენერგიის მიწოდების სრული იზოლაცია RPI და გარე სქემებს შორის.

გაგრილების FAN- ის შემთხვევაში, დამოუკიდებელი ელექტრომომარაგება საკმაოდ მნიშვნელოვანია, რადგან DC 5V FAN (ძრავა) არის შედარებით მძიმე დატვირთვა და საკმაოდ ხმაურიანი მუშაობის დროს.

ამრიგად, ამ სქემის შესაქმნელად ხაზგასმულია შემდეგი მოსაზრებები.

- Opto-couplers გამოიყენება ინტერფეისის RPI GPIO pin მისაღებად გაგრილების FAN გააქტიურების სიგნალი

- RPI– დან ენერგია არ არის მიღებული და ამ ტელეფონის მიკროსქემის ენერგიის წყაროსთვის იყენებს საერთო ტელეფონის დამტენს.

- LED ინდიკატორი გამოიყენება გაგრილების FAN მუშაობის შესახებ

- 5V სარელეო გამოიყენება გაგრილების FAN გააქტიურების მექანიკური წესით

***

ეს წრე ურთიერთქმედებს პროცესორის ტემპერატურის მაჩვენებელთან (შემდგომში ინდიკატორი) პითონის პროგრამის კონტროლის საშუალებით.

როდესაც ინდიკატორი აციმციმებს (ტემპერატურა აღემატება 50C), ამ გაგრილების FAN სქემის მოქმედება დაიწყება.

ნაბიჯი 2: ნაწილების მომზადება

სხვა წინა პროექტების მსგავსად, ძალიან გავრცელებული კომპონენტები გამოიყენება გაგრილების FAN სქემისთვის, როგორც ქვემოთ ჩამოთვლილია.

- ოპტო-წყვილი: 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

- 5V გაგრილების FAN 200mA

- უნივერსალური დაფა 20 -ზე მეტი (W) 20 (H) ხვრელის ზომით (თქვენ შეგიძლიათ გაჭრათ ნებისმიერი ზომის უნივერსალური დაფა სქემის შესაცვლელად)

- თუნუქის მავთულები (გთხოვთ, მიმართოთ ჩემს პროექტს "Raspberry Pi shutdown მაჩვენებელი", თუკი უფრო დეტალურად ნახავთ კალის მავთულის გამოყენებას)

- კაბელი (წითელი და ლურჯი საერთო ერთი მავთულის კაბელი)

- ნებისმიერი ტელეფონის ტელეფონის დამტენი 220V შეყვანის და 5V გამომავალი (USB ტიპის B კონექტორი)

- pin ხელმძღვანელი (3 ქინძისთავები) x 2

***

გაგრილების გულშემატკივართა ფიზიკური განზომილება უნდა იყოს იმდენად მცირე, რომ იყოს დამონტაჟებული RPI– ს თავზე.

ნებისმიერი ტიპის სარელეო შეიძლება გამოყენებულ იქნას, როდესაც მას შეუძლია იმუშაოს 5 ვ -ზე და ჰქონდეს ერთზე მეტი მექანიკური კონტაქტი.

ნაბიჯი 3: PCB ნახატის დამზადება

PCB ნახატის დამზადება
PCB ნახატის დამზადება

რადგან კომპონენტების რაოდენობა მცირეა, PCB– ის საჭირო უნივერსალური ზომა არ არის დიდი.

გთხოვთ გაუფრთხილდეთ TQ2-5V პინების პოლარობის განლაგებას, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე. (ჩვეულებრივი აზროვნების საწინააღმდეგოდ, ფაქტობრივი პლუს/გრუნტის განლაგება საპირისპიროდ არის მოწყობილი)

პირადად მე მაქვს მოულოდნელი პრობლემა შედუღების შემდეგ საპირისპიროდ (სხვა სარელეო პროდუქტებთან შედარებით) TQ2-5V პოლარობის ქინძისთავების გამო.

ნაბიჯი 4: შედუღება

შედუღება
შედუღება

რადგან წრე თავისთავად საკმაოდ მარტივია, გაყვანილობის სქემა არ არის რთული.

მე ვამაგრებ "L" ფორმის სამონტაჟო ფრჩხილს, რომ დავაფიქსირო PCB როგორც სწორი მიმართულება.

როგორც მოგვიანებით ხედავთ, აკრილის შასი, რომელიც ყველაფერს ამონტაჟებს, მცირე ზომისაა.

ამიტომ, ფეხის ანაბეჭდის შევიწროება აუცილებელია, რადგან აკრილის შასი ძალიან ხალხმრავალია PCB- ებით და სხვა ქვე-ნაწილებით.

LED მდებარეობს წინა მხარეს, რათა ადვილად აღიაროს FAN ოპერაცია.

ნაბიჯი 5: FAN HAT– ის გაგრილების დამზადება და მონტაჟი

FAN HAT გაგრილების დამზადება და მონტაჟი
FAN HAT გაგრილების დამზადება და მონტაჟი

მე ვთვლი, რომ უნივერსალური PCB არის ძალიან სასარგებლო ნაწილი, რომელიც შეიძლება გამოყენებულ იქნას მრავალფეროვანი გამოყენების მიზნით.

გაგრილების FAN დამონტაჟებულია უნივერსალურ PCB- ზე და დამონტაჟებულია და ფიქსირდება ჭანჭიკებითა და კაკლებით.

ჰაერის ნაკადის დასაშვებად, მე დიდ ხვრელს ვაკეთებ PCB– ის ბურღვით.

ასევე ჯუმბერის კაბელების მოსახსნელად, GIPO 40 ქინძისთავების ფართობი იხსნება PCB ჭრის საშუალებით.

ნაბიჯი 6: PCB- ების შეკრება

PCB- ების აწყობა
PCB- ების აწყობა

როგორც ზემოთ აღვნიშნეთ, მე ვგეგმავდი ორი განსხვავებული სქემის გაერთიანებას ერთ ერთეულში.

ადრე დამზადებული CPU ტემპერატურის მაჩვენებელი სქემა გაერთიანებულია ახალ გამაგრილებელ FAN სქემასთან, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე., ყველაფერი ერთად არის შეფუთული აკრილის შასის გამჭვირვალე და მცირე ზომის (15 სმ W x 10 სმ D).

მიუხედავად იმისა, რომ შასის სივრცის დაახლოებით ნახევარი ცარიელი და ხელმისაწვდომია, დამატებითი კომპონენტი მოგვიანებით დარჩება დარჩენილ სივრცეში.

ნაბიჯი 7: RPI გაყვანილობა სქემებით

გაყვანილობა RPI სქემებით
გაყვანილობა RPI სქემებით

ორი სქემა ერთმანეთთან არის დაკავშირებული RPI– სთან, როგორც იზოლირებული მეთოდით, ოპტო-წყვილების გამოყენებით.

ასევე RPI– დან ენერგია არ არის ამოღებული, როგორც გარე ტელეფონის ტელეფონის დამტენი, რომელიც ამარაგებს სქემებს.

მოგვიანებით თქვენ გეცოდინებათ, რომ ამგვარი ინტერფეისის სქემა საკმაოდ ანაზღაურებადია, როდესაც დამატებითი კომპონენტები უფრო მეტად ინტეგრირდება აკრილის შასისთან.

ნაბიჯი 8: პითონის პროგრამა აკონტროლებს ყველა სქემას

პითონის პროგრამა აკონტროლებს ყველა სქემას
პითონის პროგრამა აკონტროლებს ყველა სქემას

მხოლოდ მცირეოდენი კოდის დამატებაა საჭირო პროცესორის ტემპერატურის მაჩვენებლის სქემის წყაროს კოდიდან.

როდესაც ტემპერატურა აღემატება 50C- ს, იწყება ოცი (20) გამეორება ჩართვა FAN 10 წამი და გამორთვა 3 წამი.

რადგან FAN– ის მცირე ძრავა მოითხოვს მაქსიმუმ 200 mA დენს ექსპლუატაციის დროს, PWM (პულსის სიგანის მოდულაცია) ტიპის საავტომობილო გააქტიურების მეთოდი გამოიყენება ნაკლებად დამძიმებელი ტელეფონის ტელეფონის დამტენისთვის.

შეცვლილი კოდის მსგავსია ქვემოთ.

***

#-*-კოდირება: utf-8-*-

##

იმპორტის ქვეპროცესები, სიგნალები, სისტემები

იმპორტის დრო, ხელახლა

იმპორტი RPi. GPIO როგორც გ

##

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, frame):

ბეჭდვა ("თქვენ დააჭირეთ Ctrl+C!")

ზ. გამომავალი (A, ყალბი)

ზ. გამოსავალი (B, ყალბი)

g.output (FAN, False)

ვ. დახურვა ()

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

ზ. გამომავალი (A, ყალბი)

ზ. გამოსავალი (B, ყალბი)

დრო. ძილი (5)

elif current_temp> = 40 და current_temp <45:

# ტემპერატურის საშუალო A = 1, B = 0

ზ. გამომავალი (A, True)

ზ. გამოტანა (B, ყალბი)

დრო. ძილი (5)

elif current_temp> = 45 და current_temp <50:

# მაღალი ტემპერატურა A = 0, B = 1

ზ. გამომავალი (A, ყალბი)

g. გამომავალი (B, True)

დრო. ძილი (5)

elif current_temp> = 50:

# პროცესორის გაგრილება საჭიროა მაღალი A = 1, B = 1

ზ. გამომავალი (A, True)

g. გამომავალი (B, True)

მე დიაპაზონში (1, 20):

g.output (FAN, True)

დრო. ძილი (10)

g.output (FAN, False)

დრო. ძილი (3)

მიმდინარე_დრო = დრო. დრო ()

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 მიკროსქემის გარეშე.

როგორც ჩანს, საშუალო CPU ტემპერატურაა დაახლოებით 40 ~ 47C, სანამ RPI მუშაობს.

თუ გამოიყენება სისტემის მძიმე დატვირთვა, როგორიცაა ბრაუზერში Youtube– ის დაკვრა, ჩვეულებრივ ტემპერატურა სწრაფად იმატებს 60C– მდე.

მაგრამ FAN სქემით, ტემპერატურა მცირდება 50C– ზე ნაკლები 5 წამში გაგრილების FAN– ის მოქმედებით.

შედეგად, თქვენ შეგიძლიათ ჩართოთ RPI მთელი დღის განმავლობაში და შეასრულოთ თქვენთვის სასურველი სამუშაოები ზედმეტი გათბობის ფიქრის გარეშე.

ნაბიჯი 10: შემდგომი განვითარება

Შემდგომი განვითარება
Შემდგომი განვითარება

როგორც ხედავთ, აკრილის შასის ნახევარი ცარიელი დარჩა.

მე დავდებ დამატებით კომპონენტებს და გავაფართოვებ RPI ყუთის ამ ძირითად ბლოკს უფრო სასარგებლო რამეში.

რა თქმა უნდა, უფრო მეტი დამატება ნიშნავს ოდნავ გაზრდილ სირთულესაც.

ყოველ შემთხვევაში, მე ამ პროექტში ვაერთებ ორ სქემას ერთ ყუთში.

მადლობა რომ წაიკითხეთ ეს ამბავი.

გირჩევთ: