Სარჩევი:

ჟოლოს პი 4: 3 საფეხურის ტემპერატურის ზუსტი კონტროლი
ჟოლოს პი 4: 3 საფეხურის ტემპერატურის ზუსტი კონტროლი

ვიდეო: ჟოლოს პი 4: 3 საფეხურის ტემპერატურის ზუსტი კონტროლი

ვიდეო: ჟოლოს პი 4: 3 საფეხურის ტემპერატურის ზუსტი კონტროლი
ვიდეო: დონატი ჟოლოს ჯემით #მარტივი 2024, ნოემბერი
Anonim
ჟოლოს პი 4 ტემპერატურის ზუსტი კონტროლი
ჟოლოს პი 4 ტემპერატურის ზუსტი კონტროლი

Pimoroni Fan Shim არის შესანიშნავი გამოსავალი თქვენი Pi ტემპერატურის შესამცირებლად, როდესაც ის ცხელდება. შემქმნელები უზრუნველყოფენ პროგრამულ უზრუნველყოფას, რომელიც იწვევს ვენტილატორს, როდესაც პროცესორის ტემპერატურა აღწევს გარკვეულ ზღვარს (მაგ. 65 გრადუსი). ტემპერატურა სწრაფად მცირდება ქვედა ბარიერის ქვემოთ და გამორთულია ვენტილატორი. ეს შესანიშნავია, მაგრამ იწვევს ტემპერატურის ზრდას და დაცემას ზომიერი დატვირთვის ქვეშ და ქმნის გულშემატკივართა ხმაურს. ეს ინსტრუქცია შეამცირებს გულშემატკივართა ხმაურს, ხოლო პროცესორის ტემპერატურის სპეციფიკურ მნიშვნელობამდე დაყენებით, რასაც ჰქვია PID კონტროლერი. უფრო მაღალი ზღურბლები (მაგალითად, 65 გრადუსი) გამოიწვევს გაცილებით ჩუმ ვენტილატორს, ხოლო ქვედა ზღურბლები (მაგ. 50 გრადუსი) გამოიწვევს ხმამაღალ ვენტილატორს, მაგრამ ტემპერატურის უკეთეს კონტროლს.

ზემოთ მოყვანილი მაგალითი გვიჩვენებს ჩემს შედეგებს PID კონტროლერის გაშვებისა და სამიზნე ტემპერატურის შეცვლისას ყოველ 500 წამში. სიზუსტე არის +/- 1 გრადუსი ტემპერატურის უეცარი ცვლილებების გარკვეული გადაჭარბებით.

მნიშვნელოვანია, რომ ეს ტესტი შესრულდა ერთი დატვირთვით მთელი სატესტო დროის განმავლობაში (BBC iPlayer– ის ყურება).

მარაგები

  • ჟოლო პი 4
  • პიმორონი ფანი შიმ

ნაბიჯი 1: დააყენეთ თქვენი გულშემატკივარი

დააყენეთ თქვენი გულშემატკივარი
დააყენეთ თქვენი გულშემატკივარი

პირველი ნაბიჯი არის თქვენი გულშემატკივართა დაყენება. პიმორინის სამეურვეო პროგრამა შესანიშნავია!

შემდეგ გახსენით ტერმინალი თქვენს Pi- ზე (ctrl alt t)

და დააინსტალირეთ პიმორონის მიერ მოწოდებული კოდი

git clone https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh

ნაბიჯი 2: შექმენით PI (D) კონტროლერი

შექმენით PI (D) კონტროლერი
შექმენით PI (D) კონტროლერი

პროპორციული ინტეგრალური წარმოებული (PID) კონტროლერი არის სისტემა, რომელიც გამოიყენება გარკვეული პროცესის მნიშვნელობის გასაკონტროლებლად (პროცესორის ტემპერატურა) ზოგიერთი ფიზიკური მოწყობილობის მანიპულირებით (Fan Speed). ჩვენ შეგვიძლია მანიპულირება გავაკეთოთ ვენტილატორის "სიჩქარით" და ხმაურით პერიოდულად ჩართვით და გამორთვით (პულსის ტალღის მოდულაცია). დროის ხანგრძლივობა, რომელიც გრძელდება მოცემულ პერიოდში (მაგ. 1 წამი) განსაზღვრავს რამდენად სწრაფი და რამდენად ხმამაღალია ვენტილატორი (900ms = ხმამაღალი და სწრაფი, 100ms = მშვიდი და ნელი). ჩვენ გამოვიყენებთ PID- ს ვენტილატორის სიჩქარით მანიპულირებისთვის და ამით ტემპერატურის გასაკონტროლებლად.

ჩვენ შეგვიძლია PID– ის გამოყენება გავყოთ რამდენიმე ნაბიჯად.

  1. გადაწყვიტეთ პროცესის ცვლადის მნიშვნელობა, რომლის მიღწევაც გსურთ (მაგ. CPU ტემპერატურა = 55). ამას ქვია შენი დასახული წერტილი.
  2. გამოთვალეთ PID შეცდომა. თუ თქვენი მითითებული წერტილი არის 55 გრადუსი და ფაქტობრივი ტემპერატურა 60 გრადუსია თქვენი შეცდომა არის 5 გრადუსი (ტემპერატურა - მითითებული წერტილი)
  3. შეცვალეთ გულშემატკივართა დროულად შეცდომის პროპორციულად (დიდი შეცდომები იწვევს დიდ ცვლილებებს ვენტილატორის სიჩქარეში, მცირე შეცდომები იწვევს მცირე ცვლილებებს ვენტილატორის სიჩქარეში).
  4. შეცვალეთ ვენტილატორი წარსულის მნიშვნელობების შესაბამისად (ინტეგრალური/ყველა წინა შეცდომის ჯამი)
  5. სურვილისამებრ თქვენ შეცვლით გულშემატკივართა სიჩქარეს შეცდომის შეცვლის სიჩქარის მიხედვით (წარმოებული), მაგრამ ჩვენ ამას აქ არ გავაკეთებთ

ახლა, როდესაც თქვენ გაქვთ თეორია გაშვებული კოდი ქვემოთ Thonny IDE (ან სხვა პითონის IDE). შეცვალეთ „სამიზნის“მნიშვნელობა ქვემოთ მოცემულ კოდში, რომ შეცვალოთ რა ტემპერატურაზე გსურთ შეინარჩუნოთ თქვენი Pi. მე დავაყენე "P" და "I" პირობები გარკვეულწილად თვითნებურად. მოგერიდებათ შეცვალოთ ისინი, თუ ისინი თქვენთვის არ გამოდგება. "P" - ის გაზრდა ნიშნავს, რომ კონტროლერი სწრაფად რეაგირებს ახალ შეცდომებზე (მაგრამ შეიძლება არ იყოს სტაბილური). „მე“-ს შეცვლა გამოიწვევს კონტროლერს, რომ შეაფასოს მისი პასუხი უფრო მეტად წარსულ მნიშვნელობებზე. მე არ შევეცდები ეს ტერმინები ძალიან დიდი გავხადო, რადგან ვენტილატორის სიჩქარის სწრაფად შეცვლა არ შეცვლის სწრაფად ტემპერატურას. ასევე, თუ თქვენ წარმოუდგენლად მძიმე სამუშაოს ასრულებთ თქვენს Pi– ზე, შესაძლოა არ მიაღწიოთ სასურველ ტემპერატურას (ვენტილატორის შეზღუდვები კვლავ მოქმედებს).

საწყისი fanshim იმპორტი FanShim

დროიდან იმპორტი ძილი, დრო იმპორტი os იმპორტი მათემატიკა # დააბრუნეთ CPU ტემპერატურა სიმბოლოების სტრიქონი def getCPUtemperature (): res = os.popen ('vcgencmd ღონისძიება_ ტემპი'). readline () return (res.replace ("temp =", " ").შეცვლა (" 'C / n "," ")) fanshim = FanShim () target = 55 # სასურველი ტემპერატურა (ითამაშე და ნახე რა მოხდება) პერიოდი = 1 # PWM პერიოდი =.1 # ინიციალიზაცია 0 -ზე % მოვალეობის ციკლი გამორთულია = პერიოდი # იწყება 0% მოვალეობის ციკლი P =.01 # პროპორციული მოგების ვადა (ითამაშე და ნახე რა მოხდება) intErr = 0 # ინტეგრალური შეცდომა I =.0001 # ინტერგრალური მოგების ტერმინი (ითამაშე და ნახე რა ხდება) მართალია: # მიიღე ტემპერამენტი temp = int (float (getCPUtemperature ())) # გამოთვალე შეცდომა და შეასწორე err = temp-target # გამოთვალე ინტეგრა შეცდომა და შეიზღუდე intErr = intErr+err თუ intErr> 10: intErr = 10 თუ intErr = პერიოდი: ჩართული = გამორთული პერიოდი = 0 სხვა: ჩართული = გამორთული = პერიოდი-ჩართული # დააყენეთ მინიმალური სამუშაო ციკლი, თუ <.09: ჩართულია =.09 სხვა შემთხვევაში: ჩართულია = # PWM ფანშიმის პინზე, თუ on == პერიოდი: fanshim.set_fan (True) ძილი (on) სხვა: fanshim.set_fan (True) s ნახტომი (ჩართული) fanshim.set_fan (ყალბი) ძილი (გამორთული)

ნაბიჯი 3: გაუშვით საკონტროლო სკრიპტი გაშვებისას

გაუშვით საკონტროლო სკრიპტი გაშვებისას
გაუშვით საკონტროლო სკრიპტი გაშვებისას

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

  1. გახსენით ტერმინალი
  2. ჩაწერეთ crontab-e ტერმინალში
  3. დაამატეთ კოდის შემდეგი ხაზი ფაილში "@reboot python /home/pi/bootScripts/fanControl.py &"
  4. გასვლა და გადატვირთვა

სკრიპტი (fanControl.py) ჩავდე ფლოდერში, სახელწოდებით bootScripts, მაგრამ თქვენ შეგიძლიათ განათავსოთ იგი სადმე, დარწმუნდით, რომ მიუთითეთ სწორი გზა crontab– ში.

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

გირჩევთ: