Სარჩევი:
- ნაბიჯი 1: საჭირო ნაწილები
- ნაბიჯი 2: ელექტრო კავშირი
- ნაბიჯი 3: გულშემატკივართა სიჩქარის კონტროლის პროგრამა
- ნაბიჯი 4: გაუშვით პროგრამა გაშვებისას
ვიდეო: PWM რეგულირებადი გულშემატკივართა საფუძველზე CPU ტემპერატურა ჟოლო Pi: 4 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
Raspberry Pi– ს ბევრი შემთხვევა მოყვება პატარა 5V ვენტილატორს, რათა დაეხმაროს პროცესორის გაგრილებას. თუმცა, ეს გულშემატკივრები, როგორც წესი, საკმაოდ ხმაურიანია და ბევრი ადამიანი აერთებს მას 3V3 პინზე ხმაურის შესამცირებლად. ეს გულშემატკივრები ჩვეულებრივ შეფასებულია 200mA– ით, რაც საკმაოდ მაღალია RPi– ზე 3V3 მარეგულირებლისთვის. ეს პროექტი გასწავლით თუ როგორ უნდა დაარეგულიროთ ვენტილატორის სიჩქარე პროცესორის ტემპერატურის მიხედვით. ამ საგნის შესახებ გაკვეთილების უმეტესობისგან განსხვავებით, ჩვენ არა მხოლოდ ჩავრთავთ ან გამოვრთავთ გულშემატკივარს, არამედ გავაკონტროლებთ მის სიჩქარეს, როგორც ეს კეთდება ჩვეულებრივ კომპიუტერზე, პითონის გამოყენებით.
ნაბიჯი 1: საჭირო ნაწილები
ამ პროექტისთვის ჩვენ გამოვიყენებთ მხოლოდ რამდენიმე კომპონენტს, რომლებიც ჩვეულებრივ შედის ელექტრონიკის კომპლექტში მოყვარულთათვის, რომელთა ნახვა შეგიძლიათ ამაზონზე, როგორც ეს.
- Raspberry Pi მუშაობს Raspbian– ით (მაგრამ უნდა მუშაობდეს სხვა დისტრიბუტორებთან).
- 5V ვენტილატორი (მაგრამ 12V გულშემატკივართა გამოყენება შესაძლებელია ადაპტირებული ტრანზისტორით და 12V კვების ბლოკით).
- NPN ტრანზისტორი, რომელიც მხარს უჭერს მინიმუმ 300mA- ს, ისევე როგორც 2N2222A.
- 1K რეზისტორი.
- 1 დიოდი.
სურვილისამებრ, კომპონენტების ჩასადებად შიგნით (მაგრამ ჯერ არ გაკეთებულა):
- პატარა ნაჭერი პროტობორდი, კომპონენტების შესაკრავად.
- დიდი სითბოს შემცირება, დაფის დასაცავად.
ნაბიჯი 2: ელექტრო კავშირი
რეზისტორი შეიძლება იყოს ჩართული ნებისმიერი გზით, მაგრამ ფრთხილად იყავით ტრანზისტორისა და დიოდის მიმართულებით. დიოდის კათოდი უნდა იყოს დაკავშირებული +5V (წითელი) მავთულხლართთან, ხოლო ანოდი GND (შავი) მავთულს. შეამოწმეთ თქვენი ტრანზისტორი დოკუმენტი Emitter, Base და Collector ქინძისთავებისთვის. გულშემატკივართა მიწა უნდა იყოს დაკავშირებული კოლექტორთან, ხოლო Rpi- ის მიწა უნდა იყოს დაკავშირებული ემიტერთან
ვენტილატორის გასაკონტროლებლად, ჩვენ უნდა გამოვიყენოთ ტრანზისტორი, რომელიც გამოყენებული იქნება კოლექტორის გახსნილი კონფიგურაციით. ამით ჩვენ გვაქვს გადამრთველი, რომელიც დააკავშირებს ან გათიშავს მიწის მავთულს გულშემატკივართაგან ჟოლოს პი.
NPN BJT ტრანზისტორი ატარებს იმის მიხედვით, თუ რა დენი გადის მის კარიბჭეში. დენი, რომლის დაშვებაც შესაძლებელი იქნება კოლექტორიდან (C) ემისტერში (E) იყოს:
Ic = B * Ib
Ic არის დენი, რომელიც მიედინება გამომცემელ კოლექტორში, Ib არის დენი, რომელიც მიედინება ბაზაზე ემისტერში, ხოლო B (ბეტა) არის მნიშვნელობა თითოეული ტრანზისტორიდან გამომდინარე. ჩვენ ვიღებთ B = 100 -ს.
რადგან ჩვენი გულშემატკივარი შეფასებულია როგორც 200mA, ჩვენ გვჭირდება მინიმუმ 2mA ტრანზისტორის ბაზის გავლით. დაძაბულობა ბაზასა და ემიტერს შორის (Vbe) ითვლება მუდმივად და Vbe = 0, 7V. ეს ნიშნავს, რომ როდესაც GPIO ჩართულია, რეზისტორთან გვაქვს 3.3 - 0.7 = 2.6V. ამ რეზისტორის საშუალებით 2 mA რომ გვქონდეს, ჩვენ გვჭირდება რეზისტორი, მაქსიმალური, 2.6 / 0.002 = 1300 ოჰმი. ჩვენ ვიყენებთ 1000 ომის რეზისტორს შეცდომის ზღვრის გასამარტივებლად და შესანარჩუნებლად. ჩვენ გვექნება 2.6mA GPIO პინის საშუალებით, რაც სრულიად უსაფრთხოა.
როგორც გულშემატკივარი ძირითადად ელექტროძრავაა, ეს არის ინდუქციური მუხტი. ეს ნიშნავს, რომ როდესაც ტრანზისტორი შეწყვეტს გამტარობას, ვენტილატორში დენი გააგრძელებს დინებას, რადგან ინდუქციური მუხტი ცდილობს შეინარჩუნოს დენი მუდმივი. ეს გამოიწვევს მაღალი ძაბვის ვენტილატორს და შეიძლება დაზიანდეს ტრანზისტორი. ამიტომ ჩვენ გვჭირდება დიოდი გულშემატკივართა პარალელურად, რომელიც გახდის მიმდინარე ნაკადს მუდმივად ძრავაში. ამ ტიპის დიოდის დაყენებას ეწოდება Flywheel დიოდი
ნაბიჯი 3: გულშემატკივართა სიჩქარის კონტროლის პროგრამა
გულშემატკივართა სიჩქარის გასაკონტროლებლად ჩვენ ვიყენებთ პროგრამულ PWM სიგნალს RPi. GPIO ბიბლიოთეკიდან. PWM სიგნალი კარგად არის ადაპტირებული ელექტროძრავების მართვისთვის, რადგან მათი რეაქციის დრო ძალიან მაღალია PWM სიხშირესთან შედარებით.
გამოიყენეთ calib_fan.py პროგრამა, რათა იპოვოთ FAN_MIN მნიშვნელობა ტერმინალში გაშვებით:
პითონი calib_fan.py
შეამოწმეთ რამდენიმე მნიშვნელობა 0 -დან 100% -მდე (უნდა იყოს დაახლოებით 20%) და ნახეთ რა არის მინიმალური მნიშვნელობა თქვენი გულშემატკივრის ჩართვისთვის.
თქვენ შეგიძლიათ შეცვალოთ კორესპონდენცია ტემპერატურასა და ვენტილატორის სიჩქარეს შორის კოდის დასაწყისში. უნდა არსებობდეს იმდენი tempSteps, რამდენადაც speedSteps მნიშვნელობა. ეს არის მეთოდი, რომელიც ჩვეულებრივ გამოიყენება კომპიუტერის დედაპლატებში, მოძრაობს წერტილებს Temp / Speed 2 ღერძიანი გრაფიკით.
ნაბიჯი 4: გაუშვით პროგრამა გაშვებისას
პროგრამის ავტომატურად გაშვებისას, მე შევქმენი bash სკრიპტი, სადაც ჩავდე ყველა ის პროგრამა, რომლის გაშვებაც მსურს და შემდეგ გავუშვებ ამ bash სკრიპტს გაშვებისას rc.locale
- შექმენით დირექტორია/home/pi/Scripts/და განათავსეთ fan_ctrl.py ფაილი ამ დირექტორიაში.
- იმავე დირექტორიაში შექმენით ფაილი სახელწოდებით launcher.sh და დააკოპირეთ ქვემოთ მოყვანილი სკრიპტი.
- შეცვალეთ /etc/rc.locale ფაილი და დაამატეთ ახალი ხაზი "გასასვლელი 0" - მდე: sudo sh '/home/pi/Scripts/launcher.sh'
launcher.sh სკრიპტი:
#!/bin/sh #launcher.sh #ნავიგაცია სახლის დირექტორიაში, შემდეგ ამ დირექტორიაში, შემდეგ პითონის სკრიპტის შესრულება, შემდეგ homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/
თუ გსურთ გამოიყენოთ იგი OSMC– სთან ერთად, თქვენ უნდა დაიწყოთ ის როგორც სერვისი systemd– ით.
- ჩამოტვირთეთ fanctrl.service ფაილი.
- შეამოწმეთ თქვენი პითონის ფაილის გზა.
- მოათავსეთ fanctrl.service/lib/systemd/system.
- დაბოლოს, ჩართეთ სერვისი sudo systemctl ჩართეთ fanctrl.service.
ეს მეთოდი უფრო უსაფრთხოა, რადგან პროგრამა ავტომატურად გადატვირთულია მომხმარებლის ან სისტემის მიერ მოკვლის შემთხვევაში.
გირჩევთ:
სიმაღლის მეტრი (სიმაღლე მეტრი) ატმოსფერული წნევის საფუძველზე: 7 ნაბიჯი (სურათებით)
სიმაღლის მეტრი (სიმაღლე მეტრი) ატმოსფერული წნევის საფუძველზე: [რედაქტირება]; იხილეთ ვერსია 2 მე –6 საფეხურზე ხელით საბაზისო სიმაღლე სიმაღლეზე. ეს არის Altimeter– ის (სიმაღლის მეტრი) შენობის აღწერა Arduino Nano– ს და Bosch BMP180 ატმოსფერული წნევის სენსორის საფუძველზე. დიზაინი მარტივია, მაგრამ გაზომვები
[15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი - TR -064 (ბეტა) საფუძველზე: 4 ნაბიჯი (სურათებით)
[15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი-TR-064 (ბეტა) საფუძველზე: განახლება: იხილეთ ნაბიჯი 3. გრძელი ისტორია (TL; DR ქვემოთ): რამდენიმე ხნის წინ ჩემს კომპიუტერში დავწერე მცირე ზომის სკრიპტი, რომელიც დაასკანირეთ ქსელი რეგისტრირებული მოწყობილობებისთვის და შეადარეთ მათი ჰოსტინგის სახელები ჩამონათვალთან ასოცირებული სახელებით. ყოველ ჯერზე მოწყობილობა შედიოდა
იაფფასიანი IoT ჰაერის ხარისხის მონიტორი RaspberryPi საფუძველზე 4: 15 ნაბიჯი (სურათებით)
იაფფასიანი IoT ჰაერის ხარისხის მონიტორი, რომელიც დაფუძნებულია RaspberryPi 4 – ზე: სანტიაგო, ჩილე ზამთრის გარემოსდაცვითი საგანგებო სიტუაციის დროს აქვს პრივილეგია იცხოვროს მსოფლიოს ერთ – ერთ ულამაზეს ქვეყანაში, მაგრამ, სამწუხაროდ, ეს ყველაფერი ვარდები არ არის. ზამთრის სეზონზე ჩილე ძალიან განიცდის ჰაერის დაბინძურებას
ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა: 4 ნაბიჯი
ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა: მინდოდა გავზომოთ ტემპერატურა და ტენიანობა ჩემი Raspberry Pi გამოყენებით. მე ავირჩიე DHT11 სენსორი, რადგან ის არის ძლიერი და იაფი. მისი კონფიგურაცია ასევე კარგად არის დოკუმენტირებული, მაგრამ გზაზე არის რამოდენიმე ნაკლი, რომელზეც მსურს გავამახვილო ყურადღება. DHT11
ჟოლო ჟოლო Pi (12 თავი) (სურათებით)
შესავალი ჟოლოს (უთავო) ჟოლოში: ბოლოს და ბოლოს! გამოიყენეთ თქვენი Raspberry Pi ისე, რომ არ დახარჯოთ ის, რაც სამუდამოდ აკავშირებს გარე პერიფერიულ მოწყობილობებს და გაუმკლავდებით საკაბელო სისულელეს: დააკონფიგურირეთ თქვენი Pi, რომ იყოს უთავო! (არა საშინელი) მაგრამ ეს განსაკუთრებით გამოსადეგია მათთვის, ვინც ასწავლის