- आवश्यक सामग्री
- सर्किट आरेख
- रिले:
- थर्मिस्टर का उपयोग करके तापमान की गणना:
- Arduino कोड
- तापमान नियंत्रित गृह स्वचालन प्रणाली का कार्य:
मान लीजिए कि आप एक कमरे में बैठे हैं और ठंड महसूस कर रहे हैं और आप चाहते हैं कि आपका हीटर अपने आप चालू हो जाए, और फिर कुछ समय बाद जब कमरे का तापमान बढ़ जाता है, तो यह परियोजना आपको तापमान के अनुसार अपने घरेलू उपकरणों को स्वचालित रूप से नियंत्रित करने में मदद करती है। यहां हम तापमान पर आधारित Arduino के साथ होम एसी उपकरणों को नियंत्रित कर रहे हैं । यहां हमने तापमान को पढ़ने के लिए थर्मिस्टर का उपयोग किया है। हमने पहले से ही Arduino के साथ थर्मिस्टर को बाधित किया और एलसीडी पर तापमान प्रदर्शित किया।
इस ट्यूटोरियल में, हम रिले के साथ एक एसी उपकरण संलग्न करेंगे और Arduino का उपयोग करके एक तापमान नियंत्रित होम ऑटोमेशन सिस्टम बनाएंगे । यह सर्किट से जुड़े 16 * 2 एलसीडी डिस्प्ले पर तापमान और उपकरण की स्थिति भी दिखाता है।
आवश्यक सामग्री
- Arduino UNO
- रिले (5 वी)
- 16 * 2 एलसीडी डिस्प्ले
- लाइट बल्ब (सीएफएल)
- एनटीसी थर्मिस्टर 10k
- तारों को जोड़ना
- प्रतिरोधों (1k और 10k ओम)
- पोटेंशियोमीटर (10k)
सर्किट आरेख
इस तापमान आधारित होम ऑटोमेशन सिस्टम में विभिन्न घटकों जैसे Arduino बोर्ड, एलसीडी डिस्प्ले, रिले और थर्मिस्टर हैं। कार्य मुख्य रूप से रिले और थर्मिस्टर पर निर्भर करता है क्योंकि तापमान में वृद्धि से रिले को चालू किया जाएगा और यदि तापमान पूर्व निर्धारित मूल्य से कम हो जाता है तो रिले बंद हो जाएगा। रिले के साथ जुड़ा होम उपकरण भी उसी के अनुसार चालू और बंद होगा। यहां हमने एसी उपकरण के रूप में सीएफएल बल्ब का उपयोग किया है । पूरी तरह से ट्रिगर करने की प्रक्रिया और तापमान मूल्य निर्धारण क्रमबद्ध Arduino बोर्ड द्वारा किया जाता है। यह हमें एलसीडी स्क्रीन पर हर आधे सेकेंड और उपकरण की स्थिति में तापमान में बदलाव के बारे में भी जानकारी देता है।
रिले:
रिले एक इलेक्ट्रोमैग्नेटिक स्विच है, जिसे छोटे करंट द्वारा नियंत्रित किया जाता है, और इसे अपेक्षाकृत बड़े प्रवाह को चालू और बंद करने के लिए उपयोग किया जाता है। छोटे धारा को लागू करने के माध्यम से हम रिले पर स्विच कर सकते हैं जो प्रवाह को बहुत बड़ा प्रवाह की अनुमति देता है। एक रिले एसी (वैकल्पिक चालू) उपकरणों को नियंत्रित करने का एक अच्छा उदाहरण है, बहुत छोटे डीसी करंट का उपयोग करना। आमतौर पर इस्तेमाल किया जाने वाला रिले सिंगल पोल डबल थ्रो (SPDT) रिले है, इसमें नीचे दिए गए पांच टर्मिनल हैं:
जब कॉइल पर कोई वोल्टेज लागू नहीं होता है, तो COM (आम) नेकां (सामान्य रूप से बंद संपर्क) से जुड़ा होता है। जब कुंडल पर कुछ वोल्टेज लागू होता है, तो विद्युत चुम्बकीय क्षेत्र का उत्पादन होता है, जो आर्मेचर (वसंत से जुड़ा लीवर) को आकर्षित करता है, और COM और NO (सामान्य रूप से खुला संपर्क) जुड़ा होता है, जो एक बड़े प्रवाह को प्रवाह करने की अनुमति देता है। रिले कई रेटिंग्स में उपलब्ध हैं, यहाँ हमने 5V ऑपरेटिंग वोल्टेज रिले का इस्तेमाल किया, जो 7A-250VAC करंट को प्रवाहित करने की अनुमति देता है।
रिले को एक छोटे चालक सर्किट का उपयोग करके कॉन्फ़िगर किया गया है जिसमें एक ट्रांजिस्टर, डायोड और एक रोकनेवाला शामिल हैं। ट्रांजिस्टर का उपयोग वर्तमान को बढ़ाने के लिए किया जाता है ताकि पूर्ण वर्तमान (डीसी स्रोत - 9 वी बैटरी से) एक कुंडल के माध्यम से इसे पूरी तरह से ऊर्जा देने के लिए प्रवाह कर सके। रोकनेवाला का उपयोग ट्रांजिस्टर को पूर्वाग्रह प्रदान करने के लिए किया जाता है। और डायोड का उपयोग रिवर्स वर्तमान प्रवाह को रोकने के लिए किया जाता है, जब ट्रांजिस्टर को स्विच किया जाता है। हर इंडेक्टर कॉइल समान और विपरीत ईएमएफ का उत्पादन करता है जब अचानक बंद हो जाता है, इससे घटकों को स्थायी नुकसान हो सकता है, इसलिए रिवर्स वर्तमान को रोकने के लिए डायोड का उपयोग किया जाना चाहिए। एक रिले मॉड्यूल बोर्ड पर अपने सभी चालक सर्किट के साथ बाजार में आसानी से उपलब्ध है या आप उपरोक्त घटकों का उपयोग करके इसे बना सकते हैं। यहां हमने 5V रिले मॉड्यूल का उपयोग किया है
थर्मिस्टर का उपयोग करके तापमान की गणना:
हम वोल्टेज विभक्त सर्किट से जानते हैं कि:
वी आउट = (वी इन * आरटी) / (आर + आरटी)
तो Rt का मान होगा:
आरटी = आर (विन / वाउट) - 1
यहाँ Rt थर्मिस्टर (Rt) का प्रतिरोध होगा और R 10k ओम रेसिस्टर होगा।
इस समीकरण का उपयोग आउटपुट वोल्टेज Vo के मापा मूल्य से थर्मिस्टर प्रतिरोध की गणना के लिए किया जाता है। हम Arduino के पिन A0 पर ADC मान से वोल्टता वोट का मान प्राप्त कर सकते हैं जैसा कि नीचे दिए गए Arduino कोड में दिखाया गया है।
थर्मिस्टर प्रतिरोध से तापमान की गणना
गणितीय रूप से थर्मिस्टर प्रतिरोध केवल स्टेन-हार्ट समीकरण की मदद से गणना की जा सकती है।
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
जहां, ए, बी और सी स्थिरांक हैं, आरटी थर्मिस्टर प्रतिरोध है और एलएन लॉग का प्रतिनिधित्व करता है।
परियोजना में इस्तेमाल thermistor के लिए निरंतर मूल्य है एक = १.००,९२,४९,५२२ × 10 -3, बी = २.३७८४०५४४४ × 10 -4, सी = २.०१९२०२६९७ × 10 -7 । इन निरंतर मूल्यों को तीन अलग-अलग तापमानों पर थर्मिस्टर के तीन प्रतिरोध मूल्यों में प्रवेश करके यहां कैलकुलेटर से प्राप्त किया जा सकता है। आप सीधे थर्मिस्टर की डेटशीट से इन निरंतर मूल्यों को प्राप्त कर सकते हैं या आप अलग-अलग तापमान पर तीन प्रतिरोध मान प्राप्त कर सकते हैं और दिए गए कैलकुलेटर का उपयोग करके कॉन्स्टेंट मान प्राप्त कर सकते हैं।
तो, तापमान की गणना के लिए हमें केवल थर्मिस्टर प्रतिरोध के मूल्य की आवश्यकता होती है। ऊपर दी गई गणना से Rt का मान प्राप्त करने के बाद स्टीन-हार्ट समीकरण में मान डालें और हम केल्विन की इकाई में तापमान का मान प्राप्त करेंगे। चूंकि आउटपुट वोल्टेज के कारण तापमान में मामूली बदलाव होता है।
Arduino कोड
इस लेख के अंत में तापमान नियंत्रित घरेलू उपकरणों के लिए पूरा Arduino कोड दिया गया है। यहाँ हमने इसके कुछ भाग बताए हैं।
गणितीय कार्य करने के लिए हम Header फ़ाइल का उपयोग करते हैं “#include
#शामिल
सेटअप के लिए रिले (एक आउटपुट के रूप में) और एलसीडी शुरू के समय हमें शून्य सेटअप भाग में कोड लिखना होगा
शून्य सेटअप () {lcd.begin (16,2); lcd.clear (); पिनमोड (RELAY, OUTPUT); }
थर्मिनिस्टर के विद्युत प्रतिरोध का उपयोग करके स्टीन-हार्ट समीकरण द्वारा तापमान की गणना के लिए हम गणना में बताए अनुसार कोड में कुछ सरल गणितीय समीकरण करते हैं:
फ्लोट ए = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; फ्लोट टी, लॉगआरटी, टीएफ, टीसी; फ्लोट थर्मिस्टर (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (a + b * logRt + c * logRt * logRt * logRt)); // हम इस स्टीन-हार्ट समीकरण Tc = T - 273.15 से केल्विन में तापमान मान प्राप्त करते हैं; // केल्विन को सेल्सियस Tf = (Tc * 1.8) + 32.0 में बदलें; // केल्विन को फारेनहाइट रिटर्न टी में परिवर्तित करें; }
नीचे दिए गए कोड में फ़ंक्शन थर्मिस्टर Arduino के एनालॉग पिन से मान पढ़ रहा है, और गणितीय ऑपरेशन करके तापमान मान प्रिंट करता है
lcd.print ((Thermistor (analogRead (0))));
और उस मूल्य को थर्मिस्टर फ़ंक्शन द्वारा लिया जाता है और फिर गणना शुरू होती है
फ्लोट थर्मिस्टर (int Vo)
हमें तापमान के अनुसार लाइट ऑन और ऑफ करने की स्थिति के लिए कोड लिखना होगा क्योंकि हम तापमान मान को सेट करते हैं जैसे अगर तापमान 28 डिग्री सेल्सियस से अधिक बढ़ जाता है तो रोशनी कम रहने पर रोशनी चालू हो जाएगी। इसलिए जब भी तापमान 28 डिग्री से ऊपर जाता है, तो हमें रिले मॉड्यूल को बनाने के लिए RELAY पिन (पिन 8) को उच्च बनाने की आवश्यकता होती है । और जब तापमान 28 डिग्री से नीचे चला जाता है, तो हमें रिले मॉड्यूल को बंद करने के लिए RELAY पिन को कम करना होगा ।
अगर (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("लाइट स्थिति: ON"), देरी (500); अगर (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("लाइट स्थिति: OFF"), देरी (500);
तापमान नियंत्रित गृह स्वचालन प्रणाली का कार्य:
Arduino को सप्लाई देने के लिए आप इसे USB के माध्यम से अपने लैपटॉप में पावर दे सकते हैं या 12v एडप्टर कनेक्ट कर सकते हैं। तापमान मानों को प्रदर्शित करने के लिए एक एलसीडी को अर्डुइनो के साथ हस्तक्षेप किया जाता है, थर्मिस्टर और रिले सर्किट आरेख के अनुसार जुड़ा हुआ है। एनालॉग पिन (A0) का उपयोग हर पल थर्मामीटर पिन के वोल्टेज की जांच करने के लिए किया जाता है और Arduino कोड के माध्यम से स्टीन-हार्ट समीकरण का उपयोग करके गणना के बाद हम तापमान प्राप्त करने और सेल्सियस और फ़ारेनहाइट में एलसीडी पर प्रदर्शित करने में सक्षम होते हैं।
जब तापमान 28 डिग्री सेल्सियस से अधिक बढ़ जाता है, तो Arduino पिन 8 उच्च (जहां रिले मॉड्यूल जुड़ा होता है) बनाकर रिले मॉड्यूल को चालू करता है जब तापमान 28 डिग्री से नीचे चला जाता है तो Arduino पिन LOW बनाकर रिले मॉड्यूल को बंद कर देता है। रिले मॉड्यूल के अनुसार सीएफएल बल्ब भी चालू और बंद होगा।
तापमान नियंत्रित फैन और स्वचालित एसी तापमान नियंत्रक परियोजना में यह प्रणाली बहुत उपयोगी हो सकती है।
विभिन्न तकनीकों और माइक्रोकंट्रोलर का उपयोग करके हमारे कई प्रकार के होम ऑटोमेशन प्रोजेक्ट भी देखें: