विषयसूची:
- आपूर्ति
- चरण 1: अपना प्रशंसक सेट करें
- चरण 2: एक पीआई (डी) नियंत्रक बनाएं
- चरण 3: स्टार्टअप पर नियंत्रण स्क्रिप्ट चलाएँ
वीडियो: रास्पबेरी पाई पर सटीक तापमान नियंत्रण 4: 3 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
पिमोरोनी फैन शिम गर्म होने पर आपके पाई के तापमान को कम करने के लिए एक बेहतरीन उपाय है। निर्माता ऐसे सॉफ़्टवेयर भी प्रदान करते हैं जो सीपीयू तापमान एक निश्चित सीमा (जैसे 65 डिग्री) से ऊपर उठने पर पंखे को चालू कर देते हैं। तापमान जल्दी से निचली दहलीज से नीचे चला जाता है और पंखा बंद कर देता है। यह बहुत अच्छा है लेकिन तापमान में वृद्धि और मध्यम भार के नीचे गिरने का कारण बनता है और श्रव्य प्रशंसक शोर पैदा करता है। यह निर्देशयोग्य सीपीयू तापमान को एक विशिष्ट मूल्य पर पीआईडी नियंत्रक नामक किसी चीज़ का उपयोग करके ठीक करते समय पंखे के शोर को कम करेगा। उच्च थ्रेशोल्ड (जैसे 65 डिग्री) के परिणामस्वरूप अधिक शांत पंखा होगा जबकि कम थ्रेशोल्ड (जैसे 50 डिग्री) के परिणामस्वरूप एक तेज पंखा होगा लेकिन बेहतर तापमान नियंत्रण होगा।
ऊपर दिया गया उदाहरण मेरे परिणामों को पीआईडी नियंत्रक चलाने और लक्ष्य अवधि को हर 500 सेकंड में बदलने से दिखाता है। सटीकता +/- 1 डिग्री है जिसमें टर्मपरचर में अचानक बदलाव पर कुछ ओवरशूट होते हैं।
महत्वपूर्ण रूप से, यह परीक्षण कुल परीक्षण समय (बीबीसी iPlayer को देखते हुए) के लिए समान भार के तहत किया गया था।
आपूर्ति
- रास्पबेरी पाई 4
- पिमोरोनी फैन शिमो
चरण 1: अपना प्रशंसक सेट करें
पहला कदम अपने प्रशंसक को स्थापित करना है। पिमोरिनी ट्यूटोरियल बहुत अच्छा है!
फिर अपने पाई पर टर्मिनल खोलें (ctrl alt t)
और Pimoroni. द्वारा प्रदान किया गया कोड इंस्टॉल करें
गिट क्लोन https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
चरण 2: एक पीआई (डी) नियंत्रक बनाएं
एक आनुपातिक अभिन्न व्युत्पन्न (पीआईडी) नियंत्रक एक प्रणाली है जिसका उपयोग कुछ भौतिक उपकरण (फैन स्पीड) में हेरफेर करके एक निश्चित प्रक्रिया (सीपीयू तापमान) के मूल्य को नियंत्रित करने के लिए किया जाता है। हम समय-समय पर इसे चालू और बंद करके पंखे की 'गति' और शोर में हेरफेर कर सकते हैं (पल्स वेव मॉड्यूलेशन)। एक निश्चित अवधि (जैसे 1 सेकंड) में यह चालू रहने की अवधि निर्धारित करती है कि पंखा कितना तेज़ और कितना तेज़ है (900ms = तेज़ और तेज़, 100ms = शांत और धीमा)। हम पंखे की गति को नियंत्रित करने के लिए PID का उपयोग करेंगे और इस प्रकार तापमान को नियंत्रित करेंगे।
हम PID के उपयोग को कई चरणों में विभाजित कर सकते हैं।
- उस प्रक्रिया चर के मूल्य पर निर्णय लें जिसे आप प्राप्त करना चाहते हैं (जैसे सीपीयू तापमान = 55)। इसे आपका सेटपॉइंट कहा जाता है।
- पीआईडी त्रुटि की गणना करें। यदि आपका सेटपॉइंट 55 डिग्री है और वास्तविक तापमान 60 डिग्री है तो आपकी त्रुटि 5 डिग्री है (तापमान - सेटपॉइंट)
- त्रुटि के अनुपात में पंखे का ऑन-टाइम बदलें (बड़ी त्रुटियों के परिणामस्वरूप पंखे की गति में बड़े परिवर्तन होते हैं, छोटी त्रुटियों के कारण पंखे की गति में छोटे परिवर्तन होते हैं)।
- पिछले मूल्यों के अनुपात में पंखे को समायोजित करें (सभी पिछली त्रुटियों का अभिन्न / योग)
- वैकल्पिक रूप से आप त्रुटि (व्युत्पन्न) के परिवर्तन की दर के आधार पर पंखे की गति को समायोजित करते हैं, लेकिन हम यहां ऐसा नहीं करेंगे
अब जब आपके पास सिद्धांत है तो नीचे दिए गए कोड को थोनी आईडीई (या कुछ अन्य पायथन आईडीई) में चलाएं। नीचे दिए गए कोड में 'लक्ष्य' का मान बदलें कि आप अपने पाई को किस स्थान पर बनाए रखना चाहते हैं। मैंने 'पी' और 'आई' शब्दों को कुछ हद तक मनमाने मूल्यों पर सेट किया है। यदि वे आपके लिए काम नहीं करते हैं तो इन्हें समायोजित करने के लिए स्वतंत्र महसूस करें। 'पी' को बड़ा करने का मतलब है कि नियंत्रक नई त्रुटियों पर तेजी से प्रतिक्रिया देगा (लेकिन स्थिर नहीं हो सकता है)। 'I' को बदलने से नियंत्रक अपनी प्रतिक्रिया को पिछले मूल्यों के प्रति अधिक महत्व देगा। मैं इन शर्तों को बहुत बड़ा बनाने की कोशिश नहीं करूंगा क्योंकि तेजी से पंखे की गति को बदलने से टर्मपेचर तेजी से नहीं बदलेगा। इसके अलावा, यदि आप अपने पाई पर अविश्वसनीय रूप से भारी काम कर रहे हैं, तो हो सकता है कि आप अपनी वांछित अवधि (पंखे की सीमाएं अभी भी लागू) प्राप्त न करें।
फैनशिम से फैनशिम आयात करें
समय से आयात नींद, समय आयात ओएस आयात गणित # एक चरित्र स्ट्रिंग के रूप में सीपीयू तापमान लौटाएं getCPUtemperature(): res = os.popen('vcgencmd माप_temp')।readline() वापसी (res.replace("temp=", " ").replace("'C\n", "")) fanshim = FanShim() target = 55 # वांछित तापमान (इसके साथ खेलें और देखें कि क्या होता है) अवधि = 1 # PWM अवधि =.1 # प्रारंभ से 0 % कर्तव्य चक्र बंद = अवधि-पर # 0% कर्तव्य चक्र के लिए प्रारंभ करें पी =.01 # आनुपातिक लाभ अवधि (इसके साथ खेलें और देखें कि क्या होता है) intErr = 0 # अभिन्न त्रुटि I =.0001 # अंतर लाभ अवधि (इसके साथ खेलें) और देखें कि क्या होता है) जबकि ट्रू: # टेम्पर्यूट टेम्प = इंट (फ्लोट (getCPUtemperature ()) प्राप्त करें) # एरर की गणना करें और स्मूथ एरर = टेम्प-टारगेट # इंटीग्रेटेड एरर की गणना करें और इसे बाधित करें intErr=intErr+err if intErr>10: intErr = १० अगर intErr = अवधि: चालू = अवधि बंद = ० अन्य: चालू = बंद = अवधि-पर # न्यूनतम कर्तव्य चक्र निर्धारित करें यदि <.09: पर =.09 अन्य: पर = पर # पीडब्लूएम फैनशिम पिन पर अगर पर == अवधि: fanshim.set_fan(True) नींद (चालू) अन्य: fanshim.set_fan(True) रों लीप (ऑन) फैन्शिम.सेट_फैन (झूठी) नींद (बंद)
चरण 3: स्टार्टअप पर नियंत्रण स्क्रिप्ट चलाएँ
जब भी आप अपना पीआई शुरू करते हैं तो आप इस स्क्रिप्ट को चला सकते हैं या आप इसे रीबूट पर स्वचालित रूप से ट्रिगर कर सकते हैं। यह क्रोंटैब के साथ करना बहुत आसान है।
- टर्मिनल खोलें
- टर्मिनल में crontab-e टाइप करें
- फ़ाइल में कोड की अगली पंक्ति जोड़ें '@reboot python /home/pi/bootScripts/fanControl.py &'
- बाहर निकलें और रिबूट करें
मैंने स्क्रिप्ट (fanControl.py) को बूटस्क्रिप्ट्स नामक एक फ़्लोडर में रखा है, लेकिन आप इसे कहीं भी रख सकते हैं, बस सुनिश्चित करें कि आप crontab में सही पथ निर्दिष्ट करते हैं।
सब कुछ कर दिया! अब आपका पंखा आपके सीपीयू के तापमान को एक विशिष्ट मान पर नियंत्रित करेगा, जबकि इससे उत्पन्न होने वाले श्रव्य शोर को कम करेगा।
सिफारिश की:
Arduino सटीक और सटीक वोल्ट मीटर (0-90V DC): 3 चरण
Arduino सटीक और सटीक वोल्ट मीटर (0-90V DC): इस निर्देश में, मैंने Arduino नैनो का उपयोग करके सापेक्ष सटीकता और सटीकता के साथ उच्च वोल्टेज DC (0-90v) को मापने के लिए एक वोल्टमीटर बनाया है। मेरे द्वारा लिए गए परीक्षण माप काफी सटीक थे, ज्यादातर वास्तविक वोल्टेज के 0.3v के भीतर मापा गया
रास्पबेरी पाई के साथ एलईडी ब्लिंक - रास्पबेरी पाई पर GPIO पिन का उपयोग कैसे करें: 4 कदम
रास्पबेरी पाई के साथ एलईडी ब्लिंक | रास्पबेरी पाई पर GPIO पिन का उपयोग कैसे करें: हाय दोस्तों इस निर्देश में हम सीखेंगे कि रास्पबेरी पाई के GPIO का उपयोग कैसे करें। अगर आपने कभी Arduino का इस्तेमाल किया है तो शायद आप जानते हैं कि हम LED स्विच आदि को इसके पिन से जोड़ सकते हैं और इसे इस तरह काम कर सकते हैं। एलईडी ब्लिंक करें या स्विच से इनपुट प्राप्त करें ताकि
पुश बटन, रास्पबेरी पाई और स्क्रैच का उपयोग करके चमक नियंत्रण पीडब्लूएम आधारित एलईडी नियंत्रण: 8 कदम (चित्रों के साथ)
पुश बटन, रास्पबेरी पाई और स्क्रैच का उपयोग करके चमक नियंत्रण पीडब्लूएम आधारित एलईडी नियंत्रण: मैं यह समझाने का एक तरीका खोजने की कोशिश कर रहा था कि पीडब्लूएम मेरे छात्रों के लिए कैसे काम करता है, इसलिए मैंने खुद को 2 पुश बटन का उपयोग करके एक एलईडी की चमक को नियंत्रित करने की कोशिश करने का कार्य निर्धारित किया। - एक बटन एलईडी की चमक बढ़ाता है और दूसरा इसे कम करता है। कार्यक्रम के लिए
रास्पबेरी पाई 3 पर रास्पियन बस्टर स्थापित करना - रास्पबेरी पाई 3बी / 3बी+ के साथ रास्पियन बस्टर के साथ शुरुआत करना: 4 कदम
रास्पबेरी पाई 3 पर रास्पियन बस्टर स्थापित करना | रास्पबेरी पाई 3 बी / 3 बी + के साथ रास्पियन बस्टर के साथ शुरुआत करना: हाय दोस्तों, हाल ही में रास्पबेरी पाई संगठन ने रास्पियन बस्टर नामक नया रास्पियन ओएस लॉन्च किया। यह रास्पबेरी पाई के लिए रास्पियन का एक नया संस्करण है। तो आज इस निर्देश में हम सीखेंगे कि रास्पबेरी पाई 3 पर रास्पियन बस्टर ओएस कैसे स्थापित करें
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना - रास्पबेरी पाई 3बी के साथ शुरुआत करना - अपना रास्पबेरी पाई सेट करना 3: 6 कदम
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना | रास्पबेरी पाई 3बी के साथ शुरुआत करना | अपना रास्पबेरी पाई 3 सेट करना: जैसा कि आप में से कुछ लोग जानते हैं कि रास्पबेरी पाई कंप्यूटर काफी शानदार हैं और आप पूरे कंप्यूटर को सिर्फ एक छोटे बोर्ड पर प्राप्त कर सकते हैं। रास्पबेरी पाई 3 मॉडल बी में क्वाड-कोर 64-बिट एआरएम कोर्टेक्स ए 53 है। 1.2 गीगाहर्ट्ज़ पर क्लॉक किया गया। यह पाई 3 को लगभग 50