विषयसूची:

वायरलेस डोर सेंसर - अल्ट्रा लो पावर: 5 कदम
वायरलेस डोर सेंसर - अल्ट्रा लो पावर: 5 कदम

वीडियो: वायरलेस डोर सेंसर - अल्ट्रा लो पावर: 5 कदम

वीडियो: वायरलेस डोर सेंसर - अल्ट्रा लो पावर: 5 कदम
वीडियो: Smallest CCTV Camera | USB camera with wifi 2024, नवंबर
Anonim
वायरलेस डोर सेंसर - अल्ट्रा लो पावर
वायरलेस डोर सेंसर - अल्ट्रा लो पावर
वायरलेस डोर सेंसर - अल्ट्रा लो पावर
वायरलेस डोर सेंसर - अल्ट्रा लो पावर
वायरलेस डोर सेंसर - अल्ट्रा लो पावर
वायरलेस डोर सेंसर - अल्ट्रा लो पावर
वायरलेस डोर सेंसर - अल्ट्रा लो पावर
वायरलेस डोर सेंसर - अल्ट्रा लो पावर

एक और दरवाजा सेंसर !! खैर मेरे लिए इस सेंसर को बनाने की प्रेरणा यह थी कि मैंने इंटरनेट पर जो कुछ देखा, उसकी एक सीमा या दूसरी थी। मेरे लिए सेंसर के कुछ लक्ष्य हैं:

1. सेंसर बहुत तेज होना चाहिए - अधिमानतः 5 सेकंड से कम

2. सेंसर को 3.7V ली-आयन बैटरी चलानी चाहिए क्योंकि मेरे पास उनमें से दर्जनों पड़े हैं

3. बैटरी को एक बार चार्ज करने पर सेंसर को कई महीनों तक चलना चाहिए। इसे स्लीप मोड में <10uA का उपभोग करना चाहिए

4. सेंसर लंबे समय तक दरवाजा संचालित न होने पर भी बैटरी की स्थिति जैसे महत्वपूर्ण डेटा को प्रसारित करने के लिए जागने में सक्षम होना चाहिए।

5. जब दरवाजा खोला जाता है और साथ ही जब दरवाजा बंद होता है तो सेंसर को डेटा को एमक्यूटीटी विषय पर प्रेषित करना चाहिए

6. दरवाजे की स्थिति के बावजूद सेंसर को समान मात्रा में बिजली का उपभोग करना चाहिए

सेंसर का कार्य:

सेंसर में 2 मुख्य नियंत्रक होते हैं। पहला छोटा माइक्रो कंट्रोलर ATiny 13A है। दूसरा ईएसपी है जो आमतौर पर स्लीप मोड में होता है और तभी जागता है जब एटीनी इसे सक्षम करता है। पूरे सर्किट को केवल ईएसपी द्वारा स्लीप मोड में उपयोग करके भी बनाया जा सकता है, लेकिन यह जिस करंट की खपत करता है वह बैटरी के महीनों तक चलने की आवश्यकता से कहीं अधिक होता है इसलिए ATTiny बचाव में आता है। यह केवल हर एन सेकंड में जागने के उद्देश्य से कार्य करता है, एक दरवाजा घटना या स्वास्थ्य जांच घटना की तलाश करता है, यदि कोई है, तो यह ईएसपी के सीएच_पीडी पिन को हाई पर रखता है और ईएसपी को घटना के प्रकार का उपयुक्त संकेत भेजता है।. इसकी भूमिका वहीं समाप्त हो जाती है।

ईएसपी तब लेता है, सिग्नल प्रकार पढ़ता है, वाईफाई/एमक्यूटीटी से जुड़ता है, बैटरी स्तर सहित आवश्यक संदेशों को प्रकाशित करता है और फिर एन पिन को कम पर वापस लाकर स्वयं को बंद कर देता है।

इस तरह से इन चिप्स का उपयोग करके मैं ATtiny के कम स्लीप करंट और ESP के जीरो आइडल करंट का लाभ उठाता हूं जब चिप CH_PD पिन के माध्यम से अक्षम हो जाता है।

आपूर्ति

पूर्व अनुरोध:

- एटीटीनी और ईएसपी 01 प्रोग्रामिंग का ज्ञान

- एक पीसीबी पर सोल्डरिंग घटकों का ज्ञान

ESP-01 (या कोई भी ESP)

ATTiny 13A - AVR

एलडीओ 7333-ए - कम ड्रॉपआउट वोल्टेज नियामक

प्रतिरोधक - 1K, 10K, 3K3

कैपेसिटर: 100uF, 0.1 uF

पुशबटन स्विच, माइक्रो ऑन/ऑफ स्विच - (दोनों वैकल्पिक)

डायोड - IN4148 (या कोई समकक्ष)

लिथियम - ऑइन बैटरी

रीड स्विच

यह सब करने के लिए एक मामला

मिलाप, पीसीबी आदि

चरण 1: योजनाबद्ध और स्रोत कोड

योजनाबद्ध और स्रोत कोड
योजनाबद्ध और स्रोत कोड

स्कैमैटिक्स संलग्न आरेख में दिखाया गया है।

मैंने रिवर्स पोलरिटी प्रोटेक्शन के लिए P चैनल MOSFET को शामिल किया है। यदि आपको इसकी आवश्यकता नहीं है, तो आप इसे छोड़ सकते हैं। कम Rds ON वाला कोई भी P चैनल MOSFET करेगा।

वर्तमान में ईएसपी में ओटीए की क्षमता नहीं है लेकिन यह भविष्य में सुधार के लिए है।

स्रोत कोड स्मार्ट-डोर-सेंसर

चरण 2: सर्किट का कार्य

ATTiny कार्य प्रवाह

यहाँ जादू होता है कि कैसे ATTiny दरवाजे के स्विच की स्थिति की निगरानी करता है।

सामान्य विकल्प यह होगा कि स्विच में एक पुल अप रेसिस्टर लगाया जाए और उसकी स्थिति की निगरानी करते रहें। इसमें पुल अप रेसिस्टर द्वारा खपत किए जा रहे निरंतर करंट का नकारात्मक पहलू है। यहां जिस तरह से इससे बचा गया है वह यह है कि मैंने स्विच की निगरानी के लिए एक के बजाय दो पिन का उपयोग किया है। मैंने यहां PB3 और PB4 का उपयोग किया है। PB3 को इनपुट के रूप में और PB4 को PB3 पर आंतरिक INPUT_PULLUP के साथ आउटपुट के रूप में परिभाषित किया गया है। जब ATtiny स्लीप मोड में होता है तो आम तौर पर PB4 को हाई रखा जाता है। यह सुनिश्चित करता है कि रीड स्विच की स्थिति के बावजूद इनपुट पुल अप रेसिस्टर के माध्यम से कोई करंट फ्लो नहीं है। अर्थात। यदि स्विच बंद है, तो PB3 और PB4 दोनों उच्च हैं और इसलिए उनके बीच कोई धारा प्रवाहित नहीं होती है। यदि स्विच खुला है तो उनके बीच कोई रास्ता नहीं है और इसलिए करंट शून्य है। जब ATtiny जागता है तो यह PB4 पर LOW लिखता है और फिर PB3 की स्थिति की जाँच करता है। यदि PB3 उच्च है तो रीड स्विच खुला है अन्यथा यह बंद है। यह फिर PB4 पर एक उच्च लिखता है।

ATtiny और ESP के बीच संचार ESP के Tx/RX से जुड़े दो पिन PB1 / PB2 के माध्यम से होता है। मैंने सिग्नल को इस प्रकार परिभाषित किया है

PB1 PB2 ====== टीएक्स आरएक्स

0 0 ====== WAKE_UP (स्वास्थ्य जांच)

0 1 ====== SENSOR_OPEN

1 0 ====== SENSOR_CLOSED

१ १ ====== अप्रयुक्त

ESP को सिग्नल भेजने के अलावा यह PB0 पर एक हाई पल्स भी भेजता है जो ESP CH_PD पिन से जुड़ा होता है। यह ईएसपी को जगाता है। सबसे पहले ईएसपी इसे GPIO0 HIGH रखने के लिए करता है जो CH_PD से जुड़ा होता है जिससे ATTiny PB0 HIGH को दूर ले जाने पर भी अपनी शक्तियों को सुनिश्चित करता है। नियंत्रण अब ईएसपी के पास है कि वह यह निर्धारित करे कि वह कब बिजली बंद करना चाहता है।

यह तब वाईफाई, एमक्यूटीटी से जुड़ता है, संदेश पोस्ट करता है और GPIO0 पर LOW लिखकर खुद को शक्ति देता है।

ईएसपी 01 कार्य प्रवाह:

ईएसपी प्रवाह सीधे आगे है। यह जागता है और यह निर्धारित करने के लिए टीएक्स/आरएक्स पिन के मूल्यों को पढ़ता है कि किस प्रकार का संदेश पोस्ट किया जाना है। वाईफाई और एमक्यूटीटी से जुड़ता है, संदेश पोस्ट करता है और स्वयं को शक्ति देता है।

बिजली बंद करने से पहले, यह फिर से इनपुट पिन के मूल्यों की जांच करता है कि क्या वे पिछली बार पढ़ने के बाद से बदल गए हैं। यह दरवाजे के जल्दी खुलने और बंद होने का ध्यान रखना है। यदि आपके पास यह चेक नहीं है तो कुछ मामलों में आप दरवाजे के बंद होने से चूक सकते हैं यदि इसे खोलने के 5-6 सेकंड के भीतर बंद कर दिया जाता है। दरवाजे का एक व्यावहारिक परिदृश्य 2 सेकंड के भीतर खोला और बंद किया जा रहा है, जबकि लूप द्वारा अच्छी तरह से कब्जा कर लिया जाता है जो संदेशों को तब तक पोस्ट करता रहता है जब तक कि दरवाजे की वर्तमान स्थिति पिछले एक से अलग होती है। सभी खुली / बंद घटनाओं को रिकॉर्ड करने के लिए एकमात्र परिदृश्य यह हो सकता है कि जब 4-5 सेकंड की खिड़की के भीतर दरवाजा बार-बार खोला / बंद किया जाता है जो कि एक बहुत ही असंभव मामला है - शायद किसी बच्चे के दरवाजे से खेलने का मामला।

चरण 3: स्वास्थ्य जांच

मुझे ईएसपी से स्वास्थ्य जांच संदेश प्राप्त करने का एक तरीका भी चाहिए था जहां यह ईएसपी के बैटरी स्तर को भी भेजता है ताकि यह सुनिश्चित किया जा सके कि सेंसर मैन्युअल निरीक्षण के बिना ठीक काम कर रहा है। इसके लिए ATTiny हर 12 घंटे में WAKE_UP सिग्नल भेजता है। इसे ATtiny कोड में वेरिएबल WAKEUP_COUNT के माध्यम से कॉन्फ़िगर किया जा सकता है। यह दरवाजे या खिड़कियों के लिए बहुत उपयोगी है जो शायद ही कभी खोले जाते हैं और इसलिए आपको पता नहीं चल सकता है कि सेंसर या इसकी बैटरी में कुछ गड़बड़ है या नहीं।

यदि आपको स्वास्थ्य जांच कार्यक्षमता की आवश्यकता नहीं है तो ATTiny का उपयोग करने की पूरी अवधारणा की आवश्यकता नहीं है। उस स्थिति में आप उन अन्य डिज़ाइनों को पा सकते हैं जिन्हें लोगों ने बनाया है जहाँ ESP को आपूर्ति MOSFET के माध्यम से की जाती है और इसलिए जब दरवाजा संचालित नहीं किया जा रहा हो तो आप शून्य करंट ड्रॉ प्राप्त कर सकते हैं। अन्य बातों का ध्यान रखा जाना चाहिए जैसे कि वर्तमान ड्रा दरवाजे के खुले और दरवाजे के पास की स्थिति में समान होना चाहिए - इसके लिए मैंने कहीं एक डिज़ाइन देखा जिसमें सामान्य 2 राज्य के बजाय 3 राज्य रीड स्विच का उपयोग किया गया था।

चरण 4: शक्ति माप और बैटरी जीवन

मैंने सर्किट की वर्तमान खपत को माप लिया है और सोते समय और आसपास ~ 30uA लेता है। ATTiny की डेटाशीट के अनुसार, यह पूरे सर्किट के लिए लगभग 1-4 uA होना चाहिए, जिसमें LDO का मौन प्रवाह भी शामिल है, लेकिन फिर मेरा माप 30 दिखाता है। MOSFET और LDO नगण्य करंट की खपत करते हैं।

तो 800 एमएएच की बैटरी लंबे समय तक चलनी चाहिए। मेरे पास सटीक आँकड़े नहीं हैं, लेकिन मैं इसे अपने 2 दरवाजों पर एक वर्ष से अधिक समय से उपयोग कर रहा हूं और प्रत्येक 18650 सेल जिसमें लगभग 800mAH बचा है, मेरे मुख्य दरवाजे पर लगभग 5-6 महीने तक रहता है जो खुलता और बंद होता है दिन में कम से कम 30 बार। छत के दरवाजे पर जो एक सप्ताह में केवल कुछ ही बार खुलता है, वह 7-8 महीने तक चलता है।

चरण 5: भविष्य में सुधार

1. ईएसपी एमक्यूटीटी संदेश के वितरण को स्वीकार नहीं करता है। वितरण की पुष्टि के लिए संदेश प्रकाशित करने वाले विषय की सदस्यता लेकर कार्यक्रम में सुधार किया जा सकता है या QoS 1 के साथ संदेश पोस्ट करने के लिए Async MQTT लाइब्रेरी का उपयोग किया जा सकता है।

2. ओटीए अपडेट: अपडेट के लिए एमक्यूटीटी विषय को पढ़ने के लिए ईएसपी कोड को संशोधित किया जा सकता है और इसलिए फाइल प्राप्त करने के लिए ओटीए मोड में प्रवेश करें।

3. अधिक इनपुट पिन तक पहुंच प्राप्त करने के लिए ESP01 को ESP-12 से बदला जा सकता है और इसलिए इसमें अधिक सेंसर संलग्न कर सकते हैं। उस स्थिति में 2 बिट विधि के माध्यम से संचार संभव नहीं है। इसके बाद ATtiny और ESP के बीच I2C संचार को लागू करने के लिए इसे बेहतर बनाया जा सकता है। यह थोड़ा जटिल है लेकिन व्यावहारिक है। मेरे पास यह एक और सेट अप में काम कर रहा है जहां एक एटीटीनी आई 2 सी लाइन पर ईएसपी को रोटरी एन्कोडर मान भेजता है।

4. वर्तमान सर्किट ईएसपी के आंतरिक वीसीसी की निगरानी करता है, यदि हम ईएसपी 12 का उपयोग करते हैं तो इसे एडीसी पिन के माध्यम से वास्तविक बैटरी स्तर को पढ़ने के लिए संशोधित किया जा सकता है।

5. भविष्य में मैं इसमें एक संशोधन भी पोस्ट करूंगा जिसे एमक्यूटीटी या किसी होम ऑटोमेशन सिस्टम की आवश्यकता के बिना स्टैंडअलोन सेंसर के रूप में इस्तेमाल किया जा सकता है। सेंसर स्टैंडअलोन काम करेगा और ट्रिगर होने पर फोन कॉल कर सकता है - बेशक इसके लिए इंटरनेट कनेक्शन की जरूरत है।

6. और सूची जारी है …

7. रिवर्स बैटरी सुरक्षा - हो गया (वास्तविक डिवाइस चित्र पुराने हैं और इसलिए MOSFET को प्रतिबिंबित नहीं करते हैं)

सिफारिश की: