Innehållsförteckning:
- Tillbehör
- Steg 1: Konfigurera din fläkt
- Steg 2: Skapa en PI (D) -kontroller
- Steg 3: Kör kontrollskript vid start
Video: Exakt temperaturkontroll på Raspberry Pi 4: 3 -steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Pimoroni Fan Shim är en bra lösning för att minska temperaturen på din Pi när den blir varm. Tillverkarna tillhandahåller till och med programvara som triggar fläkten när CPU -temperaturen stiger över en viss tröskel (t.ex. 65 grader). Temperaturen minskar snabbt under ett lägre tröskelvärde och stänger av fläkten. Detta är bra men får temperaturen att stiga och falla under måttliga belastningar och skapar hörbart fläktljud. Denna instruerbara kommer att minska fläktens brus samtidigt som CPU -temperaturen fixeras till ett specifikt värde med hjälp av något som kallas en PID -styrenhet. Högre trösklar (t.ex. 65 grader) kommer att resultera i en mycket tystare fläkt medan lägre trösklar (t.ex. 50 grader) kommer att resultera i en högre fläkt men bättre temperaturkontroll.
Exemplet ovan visar mina resultat från att köra PID -regulatorn och ändra måltermperaturen var 500: e sekund. Noggrannheten är +/- 1 grad med lite överskridande vid plötsliga förändringar i terminsperiod.
Det viktigaste var att detta test utfördes under samma belastning under den totala testtiden (tittade på BBC iPlayer).
Tillbehör
- Hallon Pi 4
- Pimoroni Fan Shim
Steg 1: Konfigurera din fläkt
Det första steget är att ställa in din fläkt. Pimorini -handledningen är fantastisk!
Öppna sedan terminalen på din Pi (ctrl alt t)
Och installera koden från Pimoroni
git-klon https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
Steg 2: Skapa en PI (D) -kontroller
En Proportional Integral Derivative (PID) -kontroller är ett system som används för att styra värdet på en viss process (CPU -temperatur) genom att manipulera någon fysisk enhet (fläkthastighet). Vi kan manipulera fläktens "hastighet" och brus genom att slå på och av den regelbundet (Pulse Wave Modulation). Den tid den är på under en viss period (t.ex. 1 sekund) avgör hur snabbt och hur högt fläkten är (900 ms = högt och snabbt, 100 ms = tyst och långsamt). Vi kommer att använda PID för att manipulera fläktens hastighet och därmed styra temperaturen.
Vi kan dela upp användningen av en PID i antal steg.
- Bestäm värdet på processvariabeln du vill uppnå (t.ex. CPU -temperatur = 55). Detta kallas ditt börvärde.
- Beräkna PID -felet. Om ditt börvärde är 55 grader och den verkliga temperaturen är 60 grader är ditt fel 5 grader (Temperatur - börvärde)
- Ändra fläktens tid i proportion till felet (Stora fel resulterar i stora förändringar i fläkthastigheten, små fel orsakar små förändringar i fläkthastigheten).
- Justera fläkten i proprtion till tidigare värden (Integral/summa av alla tidigare fel)
- Alternativt kan du justera fläkthastigheten baserat på hastighetsändringen för felet (derivat) men vi kommer inte att göra det här
Nu när du har teorin kör koden nedan i Thonny IDE (eller någon annan python IDE). Ändra värdet på "mål" i koden nedan för att ändra vilken terperatur du vill behålla din Pi på. Jag har satt termen 'P' och 'I' till något godtyckliga värden. Justera gärna dessa om de inte fungerar för dig. att göra 'P' större betyder att regulatorn svarar snabbt på nya fel (men kanske inte är stabil). Om du ändrar "I" kommer kontrollern att väga sitt svar mer på tidigare värden. Jag skulle inte försöka göra dessa termer för stora eftersom att snabbt växla fläkthastigheten inte snabbt kommer att ändra terminsperiod. Om du gör otroligt tungt arbete med din Pi kanske du inte uppnår önskad termperiod (fläktens gränser gäller fortfarande).
från fanshim importera FanShim
från tid import sömn, tid import os import matematik # Returnera CPU -temperaturen som en teckensträng def getCPUtemperature (): res = os.popen ('vcgencmd measure_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," ")) fanshim = FanShim () target = 55 # önskad temperatur (spela med detta och se vad som händer) period = 1 # PWM -period på =.1 # initialiseras till 0 % duty cycle off = period-on # initialis till 0% duty cycle P =.01 # proportionell Gain term (spela med detta och se vad som händer) intErr = 0 # integral error I =.0001 # intergral gain term (lek med detta och se vad som händer) medan True: # få temperaute temp = int (float (getCPUtemperature ())) # beräkna fel och jämna err = temp-target # beräkna integra lerror och begränsa det intErr = intErr+err if intErr> 10: intErr = 10 if intErr = period: on = period off = 0 else: on = on off = period-on # ställ in lägsta driftscykel om på <.09: on =.09 else: on = on # PWM på fanshim-stiftet om on == period: fanshim.set_fan (True) sleep (on) else: fanshim.set_fan (True) s leep (on) fanshim.set_fan (False) sleep (off)
Steg 3: Kör kontrollskript vid start
Du kan köra detta skript varje gång du startar din pi eller så kan du få det automatiskt att utlösa vid omstart. Detta är superenkelt att göra med crontab.
- öppna terminalen
- skriv crontab-e i terminalen
- lägg till följande kodrad i filen '@reboot python /home/pi/bootScripts/fanControl.py &'
- avsluta och starta om
Jag lade skriptet (fanControl.py) i en floder som heter bootScripts men du kan placera det var som helst bara se till att du anger rätt sökväg i crontab.
Klart! Nu kommer din fläkt att styra temperaturen på din CPU till ett visst värde, samtidigt som det minimerar det hörbara brus som det producerar.
Rekommenderad:
RASPBERRY PI Pi OBJECT DETECTION WITH MULTIPLE CAMERA'S: 3 Steps
RASPBERRY PI Pi OBJEKTDETEKTION MED MULTIPLE CAMERAS: Jag ska hålla introt kort, eftersom själva titeln antyder vad huvudsyftet med den instruerbara är. I denna steg-för-steg-instruktion kommer jag att förklara hur du ansluter flera kameror som 1-pi-kamera och minst en USB-kamera eller 2 USB-kameror.
Raspberry Pi Oled Clock Watch It Hear It and Feel It: 5 Steps (with Pictures)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: Det här är en smart klocka som visar tiden på en OLED -display och du kan också höra tid vid olika tidsintervall som är full för blinda och det ändrar också LED -färgen med tiden som ljus i skymningen ljus på kvällen blir orange till gult och gillar
Raspberry Pi Zero Guitar Pedal: 5 Steps (med bilder)
Raspberry Pi Zero Guitar Pedal: Pedal-Pi är en lo-fi programmerbar gitarrpedal som fungerar med Raspberry Pi ZERO Board. Projektet är helt öppen källkod & Öppen hårdvara och gjord för hackare, programmerare och musiker som vill experimentera med ljud och lära sig att gräva
Konfigurator El Wifi Y Activar El SSH En Una Raspberry PI ZERO: 3 Steps
Konfigurator El Wifi Y Activar El SSH En Una Raspberry PI ZERO: En este INSTRUCTABLE veremos como configurar la conexi ó n WiFi y el servidor sshd en la Raspberry pi zero, aunque sirve para cualquier hallon con el sistema operativo Raspbian y lo haremos directamente tarjeta SD de la Hallon, Para