विषयसूची:

वॉशिंग मशीन अधिसूचना सेंसर: 6 कदम (चित्रों के साथ)
वॉशिंग मशीन अधिसूचना सेंसर: 6 कदम (चित्रों के साथ)

वीडियो: वॉशिंग मशीन अधिसूचना सेंसर: 6 कदम (चित्रों के साथ)

वीडियो: वॉशिंग मशीन अधिसूचना सेंसर: 6 कदम (चित्रों के साथ)
वीडियो: How to repair PE Error in LG washing machine 7kg | Top load | Smart inverter | E Tester 2024, जुलाई
Anonim
Image
Image
प्रोटोटाइप
प्रोटोटाइप

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

कोड यहां पाया जा सकता है:

पूर्ण भागों की सूची:

  • WEMOS LOLIN32
  • आधा आकार का ब्रेडबोर्ड (प्रोटोटाइपिंग के लिए)
  • मैट्रिक्स बोर्ड 59x88x30mm. के साथ ABS प्रोजेक्ट बॉक्स
  • स्पार्कफुन LIS3DH - ट्रिपल एक्सिस एक्सेलेरोमीटर ब्रेकआउट
  • 1x ZVP3306A P-चैनल MOSFET, 160 mA, 60 V, 3-पिन ई-लाइन
  • 1x BC549B TO92 30V NPN ट्रांजिस्टर
  • 5 मिमी एलईडी ब्लू 68 एमसीडी
  • 1x 100k 0.125W सीएफ प्रतिरोधी
  • 1x 330k 0.125W सीएफ प्रतिरोधी
  • 2x 10k 0.250W सीएफ प्रतिरोधी
  • 1x 100 0.250W सीएफ प्रतिरोधी
  • 2-पिन महिला जेएसटी पीएच-स्टाइल केबल (14 सेमी)
  • 4x M1219-8 नियोडिमियम डिस्क चुंबक 6x4mm

चरण 1: प्रोटोटाइप

प्रोटोटाइप
प्रोटोटाइप

डिवाइस एक ESP32 माइक्रोकंट्रोलर का उपयोग करता है। इस मामले में मैं Wemos द्वारा Lolin32 विकास बोर्ड का उपयोग कर रहा हूं जिसे आप AliExpress पर लगभग $7 में खरीद सकते हैं। एक्सेलेरोमीटर स्पार्कफुन LIS3DH है - यह महत्वपूर्ण है कि एक्सेलेरोमीटर एनालॉग के बजाय डिजिटल हो जैसा कि आप बाद में देखेंगे। ब्लूटूथ स्पीकर के पुराने सेट से मैंने जो बैटरी ली थी।

ESP32 I2C के माध्यम से एक्सेलेरोमीटर से जुड़ता है। कोड के पहले संस्करण ने हर 20ms में मापा त्वरण मान के लिए तीन त्वरण अक्षों (x, y और z) को आसानी से चुना। ब्रेडबोर्ड प्रोटोटाइप को वॉशिंग मशीन पर रखकर और मैंने उपरोक्त ग्राफ तैयार किया जो वॉश चक्र के विभिन्न चरणों के दौरान त्वरण चोटियों को दर्शाता है। वे चोटियाँ जहाँ निरपेक्ष त्वरण 125mg (सामान्य गुरुत्वाकर्षण का 125 हज़ारवां) से अधिक था, नारंगी रंग में दिखाए गए हैं। हम इन अवधियों का पता लगाना चाहते हैं और उनका उपयोग वाशिंग मशीन की स्थिति निर्धारित करने के लिए करना चाहते हैं।

कैसे निर्धारित करें कि मशीन चालू है या बंद है?

इस उपकरण के निर्माण का एक लक्ष्य यह था कि यह पूरी तरह से निष्क्रिय होगा। अर्थात। कोई बटन दबाने की जरूरत नहीं है; यह सिर्फ काम करेगा। यह भी बहुत कम शक्ति वाला होना चाहिए क्योंकि मेरे मामले में बिजली के तारों को वाशिंग मशीन तक बढ़ाना वास्तव में संभव नहीं था।

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

छद्म कोड कुछ इस तरह दिखेगा:

# डिवाइस वेक अप

अधिसूचना_थ्रेसहोल्ड = २४० काउंटर = १० एक्सेलेरोमीटर। () esp32.set_wakeup_trigger_on_interrupt () esp32.deep_sleep ()

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

चरण 2: Blynk. के माध्यम से एक अधिसूचना भेजना

Blynk. के माध्यम से एक अधिसूचना भेजना
Blynk. के माध्यम से एक अधिसूचना भेजना

Blynk एक ऐसी सेवा है जिसे आपके फ़ोन पर एक ऐप के साथ IoT उपकरणों के साथ सहभागिता की अनुमति देने के लिए डिज़ाइन किया गया है। इस मामले में, मैं पुश नोटिफिकेशन एपीआई का उपयोग कर रहा हूं जो कि एक साधारण HTTP POST द्वारा Blynk API को ट्रिगर किया गया है।

चरण 3: बिजली की खपत को मापना और बैटरी जीवन का अनुमान लगाना

बिजली की खपत को मापना और बैटरी जीवन का अनुमान लगाना
बिजली की खपत को मापना और बैटरी जीवन का अनुमान लगाना

ESP32 चिप को बहुत कम बिजली की खपत के रूप में विज्ञापित किया जाता है जब गहरी नींद (5uA जितनी कम) में होती है। दुर्भाग्य से, कई अलग-अलग विकास बोर्डों पर सर्किट बहुत अलग बिजली खपत विशेषताओं को प्रदान करते हैं - सभी ईएसपी 32 देव बोर्ड समान नहीं बनाए जाते हैं। उदाहरण के लिए, जब मैंने पहली बार इस परियोजना को शुरू किया था, तो मैंने स्पार्कफुन ईएसपी 32 थिंग का उपयोग किया था जो गहरी नींद मोड में लगभग 1 एमए बिजली की खपत करेगा (पावर एलईडी को अक्षम करने के बाद भी)। तब से मैं Lolin32 (लाइट संस्करण नहीं) का उपयोग कर रहा हूं, जिस पर मैंने गहरी नींद मोड में रहते हुए 144.5uA का करंट मापा। इस माप को करने के लिए, मैंने बस बैटरी और डिवाइस के साथ श्रृंखला में एक मल्टीमीटर को तार दिया। ब्रेडबोर्ड के साथ प्रोटोटाइप करते समय ऐसा करना निश्चित रूप से आसान है। डिवाइस के चालू होने पर मैंने वर्तमान उपयोग को भी मापा:

  • गहरी नींद: 144.5uA
  • जागो: 45mA
  • वाईफ़ाई सक्षम: 150mA

यह मानते हुए कि मैं सप्ताह में दो बार मशीन का उपयोग करता हूं, मैंने अनुमान लगाया कि सेंसर प्रत्येक राज्य में कितना समय बिताता है:

  • गहरी नींद: 604090 सेकंड (~ 1 सप्ताह)
  • जागना: 720 सेकंड (12 मिनट)
  • वाईफ़ाई सक्षम: 10 सेकंड

इन आंकड़ों से हम अंदाजा लगा सकते हैं कि बैटरी कितने समय तक चलने वाली है। मैंने 0.2mA की औसत बिजली खपत प्राप्त करने के लिए इस आसान कैलकुलेटर का उपयोग किया। अनुमानित बैटरी लाइफ 201 दिन या लगभग 6 महीने है! वास्तव में मैंने पाया है कि डिवाइस लगभग 2 महीने बाद काम करना बंद कर देगा, इसलिए माप या बैटरी की क्षमता में कुछ त्रुटियां हो सकती हैं।

चरण 4: बैटरी स्तर मापना

बैटरी स्तर मापना
बैटरी स्तर मापना
बैटरी स्तर मापना
बैटरी स्तर मापना

मैंने सोचा कि यह अच्छा होगा यदि डिवाइस मुझे बता सके कि बैटरी कब कम चल रही है इसलिए मुझे पता है कि इसे कब चार्ज करना है। इसे मापने के लिए हमें बैटरी के वोल्टेज को मापने की जरूरत है। बैटरी की वोल्टेज रेंज 4.3V - 2.2V (ESP32 का न्यूनतम ऑपरेटिंग वोल्टेज) है। दुर्भाग्य से, ESP32 के ADC पिन की वोल्टेज रेंज 0-3.3V है। इसका मतलब है, हमें एडीसी को ओवरलोड करने से बचने के लिए बैटरी के वोल्टेज को अधिकतम 4.3 से 3.3 तक कम करने की आवश्यकता है। वोल्टेज विभक्त के साथ ऐसा करना संभव है। बस दो प्रतिरोधों को बैटरी से जमीन तक उपयुक्त मानों के साथ तार दें और बीच में वोल्टेज को मापें।

दुर्भाग्य से, एक साधारण वोल्टेज डिवाइडर सर्किट बैटरी से बिजली की निकासी करेगा, तब भी जब वोल्टेज को मापा नहीं जा रहा हो। आप उच्च मूल्य प्रतिरोधों का उपयोग करके इसे कम कर सकते हैं लेकिन नीचे की ओर यह है कि एडीसी सटीक माप करने के लिए पर्याप्त धारा खींचने में सक्षम नहीं हो सकता है। मैंने 100kΩ और 330kΩ के मान वाले प्रतिरोधों का उपयोग करने का निर्णय लिया, जो इस वोल्टेज विभक्त सूत्र के अनुसार 4.3V से 3.3V तक गिर जाएगा। 430kΩ के कुल प्रतिरोध को देखते हुए, हम 11.6uA (ओम के नियम का उपयोग करके) के वर्तमान ड्रा की अपेक्षा करेंगे। हमारी गहरी नींद को देखते हुए वर्तमान उपयोग 144uA है, यह काफी महत्वपूर्ण वृद्धि है।

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

उपरोक्त सर्किट के साथ, मैं बैटरी प्रतिशत मान प्राप्त करने के लिए निम्नलिखित छद्म कोड का उपयोग करता हूं:

बैटरी का प्रतिशत():

# बैटरी वोल्टेज सर्किट सक्षम करें gpio_set_level(BATTERY_EN_PIN, HIGH) # बैटरी स्तर 0 और 4095 adc_value = adc1_get_value (ADC_PIN) के बीच एक पूर्णांक के रूप में लौटाया जाता है # बैटरी वोल्टेज सर्किट सक्षम करें gpio_set_level(BATTERY_EN_PIN, LOW) फ्लोट adc_voltage = 3.3 / adc_value डिवाइडर १००k / ३३०k ओम रेसिस्टर्स का उपयोग करता है -अपेक्षित_मिनट) वापसी बैटरी_लेवल * 100.0

चरण 5: इसे सुंदर बनाना

इसे सुंदर बनाना
इसे सुंदर बनाना
इसे सुंदर बनाना
इसे सुंदर बनाना
इसे सुंदर बनाना
इसे सुंदर बनाना

जबकि ब्रेडबोर्ड संस्करण ठीक काम करता है, मैं इसे एक ऐसे पैकेज में रखना चाहता था जो कि नट और अधिक विश्वसनीय हो (कोई तार जो ढीले या छोटे हो सकते हैं)। मैं अपनी आवश्यकताओं के लिए सही प्रोजेक्ट बॉक्स खोजने में कामयाब रहा, जो सही आकार का था, जिसमें एक पिन बोर्ड, माउंटिंग होल्ड और सभी को एक साथ रखने के लिए स्क्रू शामिल थे। इसके अलावा, यह £2 से भी कम कीमत पर सस्ता था। बॉक्स प्राप्त करने के बाद, मुझे केवल पिन बोर्ड पर घटकों को मिलाप करना था।

शायद इसका सबसे मुश्किल हिस्सा लोलिन 32 के बगल में छोटी जगह पर सभी बैटरी वोल्टेज सर्किट घटकों को फिट कर रहा था। सौभाग्य से थोड़ा गुड़ पोकरी और सोल्डर के साथ किए गए उपयुक्त कनेक्शन के साथ सर्किट बड़े करीने से फिट बैठता है। इसके अलावा, चूंकि Wemos Lolin32 में सकारात्मक बैटरी टर्मिनल को उजागर करने के लिए पिन नहीं है, इसलिए मुझे बैटरी कनेक्टर से पिन बोर्ड तक एक तार मिलाप करना पड़ा।

मैंने एक एलईडी भी जोड़ी है जो तब चमकती है जब डिवाइस ने गति का पता लगाया है।

चरण 6: फिनिशिंग टच

Image
Image
अंतिम समापन कार्य
अंतिम समापन कार्य
अंतिम समापन कार्य
अंतिम समापन कार्य

मैंने बॉक्स के आधार पर 4 6 मिमी x 4 मिमी नियोडिमियम मैग्नेट को सुपर-चिपकाया जो इसे वॉशिंग मशीन के धातु के शीर्ष पर सुरक्षित रूप से चिपकाने की अनुमति देता है।

केबल तक पहुंच प्रदान करने के लिए प्रोजेक्ट बॉक्स में पहले से ही एक छोटा सा छेद होता है। सौभाग्य से, मैं माइक्रो यूएसबी कनेक्टर को एक्सेस देने के लिए ईएसपी32 बोर्ड को इस छेद के करीब रखने में सक्षम था। एक शिल्प चाकू के साथ छेद को बड़ा करने के बाद, केबल बैटरी को आसानी से चार्ज करने की अनुमति देने के लिए पूरी तरह से फिट होती है।

यदि आप इस परियोजना के किसी भी विवरण में रुचि रखते हैं, तो कृपया एक टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें। यदि आप कोड देखना चाहते हैं, तो कृपया इसे जीथब पर देखें:

github.com/alexspurling/washingmachine

सिफारिश की: