विषयसूची:

IoT वाटर अलार्म: 5 कदम (चित्रों के साथ)
IoT वाटर अलार्म: 5 कदम (चित्रों के साथ)

वीडियो: IoT वाटर अलार्म: 5 कदम (चित्रों के साथ)

वीडियो: IoT वाटर अलार्म: 5 कदम (चित्रों के साथ)
वीडियो: How to draw an alarm clock | Alarm clock drawing | Clock drawing step by step | 2024, जुलाई
Anonim
IoT वाटर अलार्म
IoT वाटर अलार्म

मैंने हाल ही में किचन ड्रेन बैकअप का अनुभव किया है। अगर मैं उस समय घर पर नहीं होता, तो इससे मेरे अपार्टमेंट में फर्श और ड्राईवॉल क्षतिग्रस्त हो जाते। सौभाग्य से, मैं समस्या से अवगत था और बाल्टी से पानी निकालने के लिए तैयार था। इसने मुझे बाढ़ अलार्म खरीदने के बारे में सोचा। मैंने अमेज़ॅन पर बहुत सारे किफायती उत्पादों की खोज की, लेकिन इंटरनेट कनेक्टिविटी वाले लोगों की नकारात्मक समीक्षाओं का एक महत्वपूर्ण प्रतिशत था, मुख्य रूप से मालिकाना अधिसूचना सेवाओं के मुद्दों के कारण। इसलिए मैंने अपना खुद का IoT वॉटर अलार्म बनाने का फैसला किया जो मेरी पसंद के भरोसेमंद नोटिफिकेशन माध्यमों का उपयोग करेगा।

चरण 1: संचालन का सिद्धांत

संचालन का सिद्धांत
संचालन का सिद्धांत

अलार्म के मस्तिष्क के रूप में एक AVR ATtiny85 माइक्रोकंट्रोलर है। यह बैटरी और पानी के सेंसर से वोल्टेज रीडिंग लेता है और पानी की उपस्थिति या कम बैटरी की स्थिति का पता लगाने के लिए पूर्व-निर्धारित मूल्य के साथ उनकी तुलना करता है।

पानी का सेंसर केवल दो तार होते हैं जिन्हें लगभग 1 मिमी अलग रखा जाता है। तारों में से एक 3.3 V से जुड़ा है, और दूसरा माइक्रोकंट्रोलर पर एक सेंसिंग पिन से जुड़ा है, जो 0.5 MOhm रोकनेवाला के माध्यम से जमीन से भी जुड़ा है। आम तौर पर, सेंसर के तारों के बीच प्रतिरोध बहुत अधिक होता है (अच्छी तरह से 10 MOhm से अधिक), इसलिए सेंसिंग पिन को 0 V तक नीचे खींच लिया जाता है। हालाँकि, जब तारों के बीच पानी मौजूद होता है, तो प्रतिरोध 1 MOhm से कम हो जाता है, और सेंसिंग पिन कुछ वोल्टेज देखता है (मेरे मामले में लगभग 1.5 V)। जब ATtiny85 सेंसिंग पिन पर इस वोल्टेज का पता लगाता है, तो यह बजर को पावर देने के लिए MOSFET को सक्रिय करता है, और ESP8266 मॉड्यूल को वेक-अप सिग्नल भेजता है जो अलर्ट (ईमेल और पुश नोटिफिकेशन) भेजने के लिए जिम्मेदार है। एक मिनट के बजने के बाद, अलार्म निरस्त्र हो जाता है, और इसे केवल पावर साइकलिंग द्वारा रीसेट किया जा सकता है।

यह इकाई दो क्षारीय या NiMH कोशिकाओं से चलती है। माइक्रोकंट्रोलर बैटरियों के संरक्षण के लिए अधिकांश समय सो रहा है, पानी के सेंसर के साथ-साथ बैटरियों के वोल्टेज की जांच करने के लिए रुक-रुक कर जाग रहा है। यदि बैटरी कम है, तो माइक्रोकंट्रोलर कम बैटरी चेतावनी भेजने के लिए ESP8266 मॉड्यूल को जगाता है। चेतावनी के बाद, बैटरी को ओवर-डिस्चार्ज होने से रोकने के लिए अलार्म को निष्क्रिय कर दिया जाता है।

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

चरण 2: डिजाइन और असेंबली

डिजाइन और विधानसभा
डिजाइन और विधानसभा
डिजाइन और विधानसभा
डिजाइन और विधानसभा
डिजाइन और विधानसभा
डिजाइन और विधानसभा

मैंने ज्यादातर 0805 एसएमडी भागों का उपयोग करके सर्किट को दो तरफा 4x6 सेमी प्रोटोबार्ड पर बनाने के लिए डिज़ाइन किया था। प्रस्तुत योजनाबद्ध इस निर्माण पर आधारित हैं, लेकिन इसे थ्रू-होल घटकों के लिए आसानी से अनुकूलित किया जा सकता है (टिप: अंतरिक्ष को कम करने के लिए, सोल्डर थ्रू-होल रेसिस्टर्स लंबवत)।

निम्नलिखित भागों की आवश्यकता है:

- प्रतिरोधक: ३३० x १; ४७० एक्स १; ६८० x १; 1 केΩ एक्स 1; १० केΩ एक्स ३; ४७० केΩ एक्स ३; - एक 10 μF सिरेमिक कैपेसिटर- एक लॉजिक-लेवल एन-चैनल MOSFET (जैसे RFP30N06LE या AO3400)- एक लाल और एक पीला एलईडी (या यदि आप चाहें तो अन्य रंग)।- दो-तार स्क्रू टर्मिनल कनेक्टर x 3 (वे नहीं हैं बिल्कुल जरूरी है, लेकिन वे परीक्षण के दौरान परिधि को कनेक्ट और डिस्कनेक्ट करना आसान बनाते हैं) - एक जोरदार पीजो बजर जो 3.3 वी के लिए अच्छा है- एक एटीटीनी 85 माइक्रोकंट्रोलर (पीडीआईपी संस्करण) - माइक्रोकंट्रोलर के लिए 8-पिन पीडीआईपी सॉकेट- एक ईएसपी -01 मॉड्यूल (इसे किसी अन्य ESP8266-आधारित मॉड्यूल द्वारा प्रतिस्थापित किया जा सकता है, लेकिन उस स्थिति में लेआउट में बहुत सारे बदलाव होंगे) - एक 3.3 V DC-DC बूस्ट कन्वर्टर जो 2.2 V पर 200 mA (500 mA बर्स्ट) करंट देने में सक्षम है। इनपुट। (मैं https://www.canton-electronics.com/power-converter… इसकी अल्ट्रा-लो क्वाइसेन्ट करंट के कारण अनुशंसा करता हूं) - एक 3 पिन महिला हेडर- दो 4-पिन महिला हेडर या एक 2x4 हेडर- 22 AWG सॉलिड वायर जल संवेदक के लिए- 22 AWG फंसे तार (या निशान बनाने के लिए किसी अन्य प्रकार के पतले उजागर तार)

मैं ऊपर सूचीबद्ध प्रतिरोधी मानों की अनुशंसा करता हूं, लेकिन आप उनमें से अधिकतर समान मानों के लिए प्रतिस्थापित कर सकते हैं। आप जिस प्रकार के एल ई डी का उपयोग करना चाहते हैं, उसके आधार पर, आपको वांछित चमक प्राप्त करने के लिए वर्तमान-सीमित प्रतिरोधी मानों को समायोजित करने की आवश्यकता हो सकती है। MOSFET या तो थ्रू-होल या SMT (SOT23) हो सकता है। MOSFET के प्रकार से केवल 330 ओम रोकनेवाला का अभिविन्यास प्रभावित होता है। यदि आप एनआईएमएच बैटरी के साथ इस सर्किट का उपयोग करने की योजना बना रहे हैं तो एक पीटीसी फ्यूज (उदाहरण के लिए 1 ए के लिए रेटेड) की सिफारिश की जाती है। हालांकि, क्षारीय बैटरी के साथ इसकी आवश्यकता नहीं है। युक्ति: इस अलार्म के लिए आवश्यक भागों को eBay या aliexpress से सस्ते में खरीदा जा सकता है।

इसके अलावा आपको ESP-01 मॉड्यूल को प्रोग्राम करने के लिए एक ब्रेडबोर्ड, कई थ्रू-होल 10k रेसिस्टर्स, कई पुरुष-पुरुष और महिला-पुरुष जम्पर ("डुपॉन्ट") तारों और एक USB-UART एडेप्टर की आवश्यकता होगी।

पानी के सेंसर को कई तरह से बनाया जा सकता है, लेकिन सबसे सरल दो 22 एडब्ल्यूजी तार हैं जिनके खुले सिरे (1 सेमी लंबा) लगभग 1 मिमी अलग हैं। पानी मौजूद होने पर सेंसर संपर्कों के बीच 5 एमΩ से कम प्रतिरोध का लक्ष्य है।

सर्किट को अधिकतम बैटरी अर्थव्यवस्था के लिए डिज़ाइन किया गया है। यह निगरानी व्यवस्था में केवल ४०-६० μA खींचता है (ईएसपी-०१ मॉड्यूल पर बिजली एलईडी को हटाकर)। एक बार अलार्म चालू हो जाने पर, सर्किट एक सेकंड या उससे कम समय के लिए 300-500 mA (2.4 V इनपुट पर) खींचेगा, और उसके बाद करंट 180 mA से नीचे चला जाएगा। एक बार जब ईएसपी मॉड्यूल सूचनाएं भेज देता है, तो बजर बंद होने तक वर्तमान खपत 70 एमए से कम हो जाएगी। तब अलार्म खुद को निष्क्रिय कर देगा, और वर्तमान खपत 30 µA से कम होगी। इस प्रकार एए बैटरी का एक सेट सर्किट को कई महीनों (संभवतः एक वर्ष से अधिक) तक बिजली देने में सक्षम होगा। यदि आप एक अलग बूस्ट कन्वर्टर का उपयोग करते हैं, जैसे कि ५०० µA की एक मौन धारा के साथ, बैटरियों को अधिक बार बदलने की आवश्यकता होगी।

विधानसभा युक्तियाँ:

आसान सोल्डरिंग के लिए प्रोटोबार्ड पर सभी निशान और घटक को लेबल करने के लिए एक स्थायी मार्कर का उपयोग करें। मैं निम्नलिखित क्रम में आगे बढ़ने की अनुशंसा करता हूं:

- ऊपर की तरफ एसएमटी एलईडी और इंसुलेटेड वायर ब्रिज

- ऊपर की ओर MOSFET (नोट: यदि आपके पास SOT-23 MOSFET है, तो इसे तिरछे रूप में रखें जैसा कि फोटो में है। यदि आप एक थ्रू-होल MOSFET का उपयोग कर रहे हैं, तो इसे गेट पिन के साथ I3 स्थिति में क्षैतिज रूप से रखें।)

- छेद वाले हिस्सों के माध्यम से ऊपर की तरफ (ध्यान दें: बजर को मिलाप नहीं किया गया है और इसे पीसीबी पर भी नहीं लगाया जाना है)

- रिवर्स साइड एसएमटी भागों और निशान (उदाहरण के लिए एडब्ल्यूजी 22 तार से अलग-अलग तार)

चरण 3: फर्मवेयर

ATtiny85. के लिए सी कोड

Main.c में वह कोड होता है जिसे माइक्रोकंट्रोलर पर संकलित और अपलोड करने की आवश्यकता होती है। यदि आप एक प्रोग्रामर के रूप में एक Arduino बोर्ड का उपयोग करने जा रहे हैं, तो आप इस ट्यूटोरियल में वायरिंग आरेख पा सकते हैं। आपको केवल निम्नलिखित अनुभागों का पालन करने की आवश्यकता है (बाकी को अनदेखा करें):

- Arduino Uno को ISP (इन-सिस्टम प्रोग्रामिंग) के रूप में कॉन्फ़िगर करना

- ATtiny85 को Arduino Uno से जोड़ना।

फर्मवेयर को संकलित और अपलोड करने के लिए, आपको क्रॉसपैक (मैक ओएस के लिए) या एवीआर टूलचेन (विंडोज़ के लिए) की आवश्यकता होगी। कोड को संकलित करने के लिए निम्नलिखित कमांड को निष्पादित करने की आवश्यकता है:

avr-gcc -Os -mmcu=attiny85 -c main.c; avr-gcc -mmcu=attiny85 -o main.elf main.o; avr-objcopy -j.text -j.data -O ihex main.elf main.hex

फर्मवेयर अपलोड करने के लिए, निम्नलिखित चलाएँ:

avrdude -c arduino -p attiny85 -P /dev/cu.usbmodem1411 -b 19200 -e -U फ्लैश:w:main.hex

"/dev/cu.usbmodem1411" के बजाय आपको उस सीरियल पोर्ट को सम्मिलित करने की आवश्यकता होगी जिससे आपका Arduino जुड़ा हुआ है (आप इसे Arduino IDE: टूल्स पोर्ट में पा सकते हैं)।

कोड में कई कार्य होते हैं। डीप_स्लीप () माइक्रोकंट्रोलर को लगभग 8 सेकंड के लिए बहुत कम बिजली की स्थिति में प्रवेश कराता है। read_volt () का उपयोग बैटरी और सेंसर वोल्टेज को मापने के लिए किया जाता है। बैटरी वोल्टेज को आंतरिक वोल्टेज संदर्भ (2.56 वी प्लस या माइनस कुछ प्रतिशत) के खिलाफ मापा जाता है जबकि सेंसर वोल्टेज को वीसीसी = 3.3 वी के खिलाफ मापा जाता है। रीडिंग की तुलना क्रमशः BATT_THRESHOLD और SENSOR_THRESHOLD के रूप में 932 और 102 के रूप में परिभाषित की जाती है, जो इसके अनुरूप है ~2.3 और 0.3 V. आप बेहतर बैटरी जीवन के लिए बैटरी सीमा मान को कम करने में सक्षम हो सकते हैं, लेकिन इसकी अनुशंसा नहीं की जाती है (विस्तृत जानकारी के लिए बैटरी विचार देखें)।

Activate_alarm () पानी का पता लगाने और बजर की आवाज़ के बारे में ESP मॉड्यूल को सूचित करता है। Low_batt_notification () ईएसपी मॉड्यूल को सूचित करता है कि बैटरी कम है और बजर भी बजता है। यदि आप बैटरी बदलने के लिए आधी रात को जागना नहीं चाहते हैं, तो " | 1< " को low_batt_notification() में हटा दें।

ESP-01. के लिए Arduino स्केच

मैंने Arduino HAL (सेट अप निर्देशों के लिए लिंक का पालन करें) का उपयोग करके ESP मॉड्यूल को प्रोग्राम करना चुना। इसके अलावा मैंने निम्नलिखित दो पुस्तकालयों का उपयोग किया:

ESP8266 Górász Péter. द्वारा ईमेल भेजें

Arduino हनोवर टीम द्वारा ESP8266 पुशओवर

पहला पुस्तकालय एक एसएमटीपी सर्वर से जुड़ता है और आपके ईमेल पते पर अलर्ट भेजता है। बस अपने ईएसपी के लिए एक जीमेल अकाउंट बनाएं, और कोड में क्रेडेंशियल्स जोड़ें। दूसरा पुस्तकालय पुशओवर सेवा के माध्यम से पुश सूचनाएं भेजता है (सूचनाएं निःशुल्क हैं, लेकिन आपको अपने फोन/टैबलेट पर एप्लिकेशन इंस्टॉल करने के लिए एक बार भुगतान करना होगा)। दोनों पुस्तकालयों को डाउनलोड करें। ईमेल भेजें लाइब्रेरी की सामग्री को अपने स्केच फ़ोल्डर में रखें (जब आप पहली बार arduino स्केच खोलेंगे तो arduino इसे बनाएगा)। IDE के माध्यम से पुशओवर लाइब्रेरी स्थापित करें (स्केच -> लाइब्रेरी शामिल करें ->. ZIP लाइब्रेरी जोड़ें)।

ESP-01 मॉड्यूल को प्रोग्राम करने के लिए आप निम्नलिखित ट्यूटोरियल का अनुसरण कर सकते हैं: https://www.allaboutcircuits.com/projects/breadbo… गाइड में दिखाए गए पिन की एक पंक्ति को फिर से बेचने के लिए परेशान होने की आवश्यकता नहीं है - बस महिला-पुरुष ड्यूपॉन्ट का उपयोग करें मॉड्यूल के पिन को ब्रेडबोर्ड से जोड़ने के लिए तार। यह न भूलें कि बूस्ट कनवर्टर और यूएसबी-यूएआरटी एडाप्टर को जमीन साझा करना है (नोट: आप बूस्ट कनवर्टर के बजाय यूएसबी-यूएआरटी एडाप्टर के 3.3 वी आउटपुट का उपयोग करने में सक्षम हो सकते हैं, लेकिन अधिकतर यह नहीं होगा पर्याप्त करंट का उत्पादन करने में सक्षम हो)।

चरण 4: बैटरी विचार

आपूर्ति किया गया फर्मवेयर कोड कम बैटरी चेतावनी भेजने और ~ 2.3 V पर बंद करने के लिए पूर्व-कॉन्फ़िगर किया गया है। यह सीमा इस धारणा पर आधारित है कि श्रृंखला में दो NiMH बैटरी का उपयोग किया जाता है। 1 V से नीचे किसी भी व्यक्तिगत NiMH सेल को डिस्चार्ज करने की अनुशंसा नहीं की जाती है। यह मानते हुए कि दोनों कोशिकाओं में समान क्षमता और डिस्चार्ज विशेषताएँ हैं, दोनों को ~ 1.15 V पर काट दिया जाएगा - अच्छी तरह से सुरक्षित सीमा के भीतर। हालांकि, कई निर्वहन चक्रों के लिए उपयोग में आने वाली NiMH कोशिकाएं क्षमता में भिन्न होती हैं। क्षमता में 30% तक के अंतर को सहन किया जा सकता है क्योंकि यह अभी भी सबसे कम वोल्टेज सेल कट-ऑफ पॉइंट 1 V के आसपास होगा।

हालांकि फर्मवेयर में कम बैटरी सीमा को कम करना संभव है, ऐसा करने से सुरक्षा मार्जिन को हटा दिया जाएगा, और इसके परिणामस्वरूप बैटरी ओवर-डिस्चार्ज और क्षति हो सकती है, जबकि बैटरी जीवन में केवल मामूली वृद्धि की उम्मीद की जा सकती है (एक एनआईएमएच सेल है > 1.15 वी पर 85% छुट्टी दे दी गई)।

एक अन्य कारक जिसे ध्यान में रखने की आवश्यकता है, वह है कम बैटरी पर 300-500 mA पीक करंट पर कम से कम 3.0 V (उपाख्यानात्मक साक्ष्य के अनुसार 2.5 V) प्रदान करने के लिए बूस्टर कनवर्टर की क्षमता। NiMH बैटरियों का कम आंतरिक प्रतिरोध चरम धाराओं पर केवल 0.1 V की एक नगण्य गिरावट का कारण बनता है, इसलिए NiMH कोशिकाओं की एक जोड़ी को 2.3 V (ओपन सर्किट) से छुट्टी दे दी जाती है जो बूस्ट कनवर्टर को कम से कम 2.2 V प्रदान करने में सक्षम होगी। हालाँकि, यह क्षारीय बैटरी के साथ अधिक जटिल है। 2.2-2.3 वी (ओपन सर्किट) पर बैठे एए बैटरी की एक जोड़ी के साथ चरम धाराओं पर 0.2-0.4 वी की वोल्टेज ड्रॉप की उम्मीद की जानी चाहिए। हालाँकि मैंने सत्यापित किया है कि सर्किट अनुशंसित बूस्ट कन्वर्टर के साथ काम करता है, जिसमें पीक करंट पर आपूर्ति की गई 1.8 V कम होती है, यह संभवतः आउटपुट वोल्टेज को एस्प्रेसिफ द्वारा सुझाए गए मान से नीचे डुबकी लगाने का कारण बनता है। इस प्रकार 2.3 V की कट-ऑफ दहलीज क्षारीय बैटरी के साथ थोड़ा सुरक्षा मार्जिन छोड़ती है (ध्यान रखें कि माइक्रोकंट्रोलर द्वारा किया गया वोल्टेज माप केवल प्लस या माइनस कुछ प्रतिशत के भीतर ही सटीक होता है)। यह सुनिश्चित करने के लिए कि क्षारीय बैटरी कम होने पर ESP मॉड्यूल गड़बड़ नहीं करता है, मैं कट-ऑफ वोल्टेज को 2.4 V (#define BATT_THRESHOLD 973) तक बढ़ाने की सलाह देता हूं। १.२ वी (ओपन सर्किट) पर एक क्षारीय सेल लगभग ७०% डिस्चार्ज होता है जो १.१५ वी प्रति सेल पर डिस्चार्ज की डिग्री से केवल ५-१० प्रतिशत कम है।

इस अनुप्रयोग के लिए NiMH और क्षारीय कोशिकाओं दोनों के फायदे और नुकसान हैं। क्षारीय बैटरियां सुरक्षित होती हैं (यदि छोटी हो तो आग न पकड़ें), और उनकी स्व-निर्वहन दर बहुत कम होती है। हालांकि, NiMH बैटरियां कम आंतरिक प्रतिरोध के कारण कम कट-ऑफ बिंदु पर ESP8266 के विश्वसनीय संचालन की गारंटी देती हैं। लेकिन अंततः, कुछ सावधानियों के साथ किसी भी प्रकार का उपयोग किया जा सकता है, इसलिए यह केवल व्यक्तिगत वरीयता का मामला है।

चरण 5: कानूनी अस्वीकरण

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

सिफारिश की: