विषयसूची:

कक्ष थर्मोस्टेट - Arduino + ईथरनेट: 3 चरण
कक्ष थर्मोस्टेट - Arduino + ईथरनेट: 3 चरण

वीडियो: कक्ष थर्मोस्टेट - Arduino + ईथरनेट: 3 चरण

वीडियो: कक्ष थर्मोस्टेट - Arduino + ईथरनेट: 3 चरण
वीडियो: What is Arduino with Full Information? – [Hindi] – Quick Support 2024, नवंबर
Anonim
कक्ष थर्मोस्टेट - Arduino + ईथरनेट
कक्ष थर्मोस्टेट - Arduino + ईथरनेट

हार्डवेयर के संदर्भ में, परियोजना का उपयोग करता है:

  • Arduino Uno / मेगा 2560
  • ईथरनेट शील्ड Wiznet W5100 / ईथरनेट मॉड्यूल Wiznet W5200-W5500
  • वनवायर बस में DS18B20 तापमान सेंसर
  • रिले SRD-5VDC-SL-C बॉयलर स्विचिंग के लिए उपयोग किया जाता है

चरण 1: ईथरनेट थर्मोस्टेट का विवरण

ईथरनेट थर्मोस्टेट का विवरण
ईथरनेट थर्मोस्टेट का विवरण

Arduino एक आसान एम्बेडेड प्लेटफॉर्म है जिसका उपयोग किया जा सकता है, उदाहरण के लिए, एक रूम थर्मोस्टेट बनाने के लिए, जिसे हम आज दिखाएंगे। थर्मोस्टेट उस लैन नेटवर्क से पहुंच योग्य है जिसमें यह स्थित है, जबकि यह एक वेब इंटरफेस से लैस है जिसका उपयोग थर्मोस्टेट के सभी तत्वों को कॉन्फ़िगर करने के लिए किया जाता है। वेब इंटरफ़ेस सीधे Arduino पर वेब सर्वर मोड में चलता है। वेब सर्वर कई स्वतंत्र HTML पृष्ठों को चलाने की अनुमति देता है, जो सूचनात्मक या कार्यात्मक भी हो सकते हैं। वेब सर्वर पोर्ट 80 - HTTP पर चलता है।

विद्युत चुम्बकीय रिले SRD-5VDC-SL-C, जिसका उपयोग परियोजना में किया जाता है, 230V - पावर 2300W पर 10A तक स्विच करने की अनुमति देता है। डीसी सर्किट (लोड) स्विच करने के मामले में 300W (30V डीसी पर 10A) स्विच करना संभव है। वैकल्पिक रूप से, ओमरॉन G3MB-202P SSR रिले वायरिंग आरेख के लिए पूरी तरह से अनुकूल है, जो केवल गैर-प्रेरक भार के लिए और विशेष रूप से एसी सर्किट के लिए उपयुक्त है। अधिकतम स्विचिंग पावर 460W (230V, 2A)। ईथरनेट शील्ड और अन्य बाह्य उपकरणों के साथ Arduino की खपत 100-120mA के स्तर पर है जिसमें रिले खुला है। बंद होने पर, 5V आपूर्ति पर 200mA से नीचे।

चरण 2: वेब इंटरफ़ेस

वेब इंटरफेस
वेब इंटरफेस

थर्मोस्टेट के लिए वेब इंटरफ़ेस अनुमति देता है:

  • DS18B20 सेंसर से रीयल-टाइम तापमान देखें
  • पृष्ठ पर गतिशील आउटपुट परिवर्तन के साथ रीयल-टाइम रिले स्थिति देखें
  • लक्ष्य (संदर्भ) तापमान को ०.२५ डिग्री सेल्सियस स्टेप. के साथ ५ से ५० डिग्री सेल्सियस की सीमा में संशोधित करें
  • हिस्टैरिसीस को 0 से 10 डिग्री सेल्सियस की सीमा में 0.25 डिग्री सेल्सियस चरण के साथ संशोधित करें

वेब इंटरफ़ेस को बड़ी और छोटी स्क्रीन को समायोजित करने के लिए डिज़ाइन किया गया है। यह उत्तरदायी है, वाइडस्क्रीन हाई-डेफिनिशन स्क्रीन का समर्थन करता है, लेकिन मोबाइल डिवाइस भी। इंटरफ़ेस बाहरी सीडीएन सर्वर से बूटस्ट्रैप फ्रेमवर्क की आयातित सीएसएस शैलियों का उपयोग करता है, जो Arduino पर चल रहे पेज को खोलते समय क्लाइंट-साइड डिवाइस को लोड करता है। क्योंकि Arduino Uno मेमोरी सीमित है, यह केवल कुछ kB आकार के पेज चला सकता है। बाहरी सर्वर से CSS शैलियों को आयात करके, यह Arduino के प्रदर्शन और मेमोरी लोड को कम करेगा। सॉफ्टवेयर कार्यान्वयन (Arduine Uno के लिए) 70% फ्लैश मेमोरी (32kB - 4kB बूटलोडर) और 44% RAM मेमोरी (2kB) का उपयोग करता है।

वेब पेज के स्थिर हिस्से (एचटीएमएल दस्तावेज़ शीर्षलेख और पाद लेख, बूटस्ट्रैप सीएसएस लिंकिंग, मेटा टैग, एचटीटीपी प्रतिक्रिया शीर्षलेख, सामग्री प्रकार, फॉर्म और अधिक) सीधे Arduino की फ्लैश मेमोरी में संग्रहीत होते हैं, जो उपयोगकर्ता के लिए उपयोग की जाने वाली रैम की मात्रा को काफी कम कर सकते हैं - उत्पन्न सामग्री। वेब सर्वर इस प्रकार अधिक स्थिर है और एक ही समय में नेटवर्क में कई उपकरणों के बहु-कनेक्शन को संभाल सकता है।

बिजली की विफलता के बाद भी निर्धारित मूल्यों को बनाए रखने के लिए, उन्हें Arduino की EEPROM मेमोरी में संग्रहीत किया जाता है। संदर्भ तापमान 10 को ऑफसेट करने के लिए, हिस्टैरिसीस 100 ऑफसेट करने के लिए। प्रत्येक मान EEPROM मेमोरी में अधिकतम 5B रखता है। EEPROM प्रतिलेखन सीमा १००,००० प्रतिलेखों के स्तर पर है। HTML फॉर्म सबमिट होने पर ही डेटा को ओवरराइट किया जाता है। यदि डिवाइस में पहले स्टार्ट-अप पर उल्लिखित EEPROM ऑफसेट पर कुछ भी संग्रहीत नहीं है, तो स्वचालित लेखन डिफ़ॉल्ट मानों के साथ किया जाएगा - संदर्भ: 20.25, हिस्टैरिसीस 0.25 ° C

रिफ्रेश मेटा टैग हर 10 सेकंड में पूरे Arduino पेज को रिफ्रेश करता है। इस समय तक थर्मोस्टैट के लिए परिवर्तन लिखना आवश्यक है, अन्यथा पृष्ठ के ताज़ा होने पर इनपुट विंडो रीसेट हो जाएंगी। चूंकि ईथरनेट लाइब्रेरी में एसिंक्रोनस वेब सर्वर का उपयोग शामिल नहीं है, इसलिए पूरे पेज को फिर से लिखा जाना चाहिए। गतिशील डेटा जो मुख्य रूप से बदल रहा है वह आउटपुट का वर्तमान मूल्य है - चालू / बंद।

चरण 3: वेबसर्वर, स्कीमैटिक्स, सोर्स कोड पर चलने वाले HTML पृष्ठ

वेबसर्वर, स्कीमैटिक्स, सोर्स कोड पर चलने वाले HTML पृष्ठ
वेबसर्वर, स्कीमैटिक्स, सोर्स कोड पर चलने वाले HTML पृष्ठ

Arduino पर चल रहे HTML पृष्ठ:

  • / - रूट पेज जिसमें फॉर्म है, रिले के लिए वर्तमान लॉजिक आउटपुट लिस्टिंग, तापमान
  • /action.html - प्रपत्र से मूल्यों को संसाधित करता है, उन्हें EEPROM मेमोरी में लिखता है, उपयोगकर्ता को मूल पृष्ठ पर पुनर्निर्देशित करता है
  • /get_data/ - JSON प्रारूप में वर्तमान तापमान, संदर्भ तापमान और तीसरे पक्ष (कंप्यूटर, माइक्रोकंट्रोलर, अन्य क्लाइंट …) को डेटा वितरित करता है

इस थर्मोस्टेट का विस्तारित संस्करण भी है जिसमें शामिल हैं:

  • रिले के लिए मैनुअल मोड (असीमित समय, कठिन चालू / बंद)
  • निगरानी घड़ी
  • उपलब्ध अधिक सेंसर, उदाहरण के लिए: SHT21, SHT31, DHT22, BME280, BMP280 और अन्य
  • कूलिंग मोड
  • ईथरनेट से स्वतंत्र RS232 / UART के माध्यम से नियंत्रण और विन्यास
  • थर्मोस्टेट के लिए पीआईडी तापमान नियंत्रण
  • थर्मोस्टेट के लिए ESP8266, ESP32 प्लेटफॉर्म का उपयोग करने की संभावना

परियोजना के लिए कार्यक्रम कार्यान्वयन यहां पाया जा सकता है: https://github.com/martinius96/termostat-ethernet/ कार्यान्वयन में ईथरनेट शील्ड को निर्दिष्ट स्थिर / गतिशील IPv4 पते के लिए कार्यक्रम शामिल हैं।

थर्मोस्टेट केवल इनडोर तापमान के लिए अभिप्रेत है! (0 डिग्री सेल्सियस से ऊपर), जिसके लिए सिस्टम लॉजिक को अनुकूलित किया जाता है। मौजूदा कमरे के थर्मोस्टैट को थर्मोस्टेट से बदलना संभव है, रेफ्रिजरेटर में थर्मोस्टैट को अस्थायी रूप से बदलना संभव है, टेरारियम और इसी तरह एक निरंतर तापमान बनाए रखना संभव है।

सिफारिश की: