विषयसूची:

Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है: 8 कदम (चित्रों के साथ)
Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है: 8 कदम (चित्रों के साथ)

वीडियो: Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है: 8 कदम (चित्रों के साथ)

वीडियो: Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है: 8 कदम (चित्रों के साथ)
वीडियो: What is Sensor & Types of Sensor - electrical interview question 2024, जुलाई
Anonim
Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है
Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है
Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है
Arduino CO मॉनिटर MQ-7 सेंसर का उपयोग कर रहा है

कुछ शब्द क्यों यह निर्देश योग्य बनाया गया था: एक दिन मेरी प्रेमिका की माँ ने हमें आधी रात को फोन किया क्योंकि वह वास्तव में बीमार महसूस कर रही थी - उसे चक्कर आना, क्षिप्रहृदयता, मतली, उच्च रक्तचाप था, वह अज्ञात समय के लिए बेहोश भी हो गई थी (शायद ~ 5 मिनट, लेकिन बताने का कोई तरीका नहीं है), बिना किसी स्पष्ट कारण के। वह अस्पतालों से दूर एक छोटे से गाँव में रहती है (हमारी जगह से 60 किमी, निकटतम अस्पताल से 30 किमी, बीच में बिना किसी सामान्य सड़क के 10 किमी), इसलिए हम उसके पास पहुंचे और एम्बुलेंस के तुरंत बाद वहां पहुंचे। वह अस्पताल में भर्ती हो गई और सुबह वह लगभग ठीक महसूस कर रही थी, लेकिन डॉक्टर इसका कारण नहीं खोज पाए। अगले दिन हमें एक विचार आया: यह सीओ विषाक्तता हो सकती है, क्योंकि उसके पास गैस वॉटर बॉयलर (फोटो पर) है, और जब यह हुआ तो पूरी शाम उसके पास बैठी थी। हमने हाल ही में एमक्यू -7 सीओ सेंसर खरीदा है, लेकिन इसके लिए एक योजना तैयार करने का समय नहीं था, इसलिए ऐसा करने का यह सही समय था। किसी भी निर्देश के लिए इंटरनेट पर खोज करने के एक घंटे के बाद, मैंने महसूस किया कि मुझे कोई गाइड नहीं मिल रहा है जो एक ही समय में सेंसर निर्माता के निर्देशों का पालन करता है और इसके डेटाशीट में कुछ भी समझाता है (एक उदाहरण में काफी अच्छा कोड लग रहा था, लेकिन यह यह स्पष्ट नहीं था कि इसे कैसे लागू किया जाए, अन्य को सरलीकृत किया गया था और यह अच्छी तरह से काम नहीं करेगा)। इसलिए हमने स्कीमैटिक्स विकसित करने, 3डी केस बनाने और प्रिंट करने, सेंसर के परीक्षण और कैलिब्रेट करने के लिए लगभग 12 घंटे बिताए, और अगले दिन संदिग्ध बॉयलर में गए। यह पता चला कि सीओ का स्तर बहुत अधिक था, और अगर सीओ एक्सपोजर का समय लंबा था तो यह घातक हो सकता है। इसलिए मेरा मानना है कि जिस किसी की भी ऐसी ही स्थिति है (जैसे गैस बॉयलर या रहने की जगह के अंदर होने वाला अन्य दहन) कुछ बुरा होने से रोकने के लिए ऐसा सेंसर मिलना चाहिए।

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

चरण 1: सामग्री का बिल

सामग्री के बिल
सामग्री के बिल

आपको आवश्यकता होगी: 0। अरुडिनो बोर्ड। मैं $ 3 की बकाया कीमत के लिए Arduino नैनो के चीनी क्लोन को पसंद करता हूं, लेकिन कोई भी 8-बिट arduino यहां काम करेगा। स्केच कुछ उन्नत टाइमर ऑपरेशन का उपयोग करता है, और केवल atmega328 माइक्रोकंट्रोलर पर परीक्षण किया गया था - हालांकि शायद यह दूसरों पर भी अच्छा काम करेगा।1। एमक्यू-7 सीओ सेंसर। इस फ्लाइंग फिश सेंसर मॉड्यूल के साथ सबसे अधिक उपलब्ध है, इसे एक छोटे से संशोधन के माध्यम से चलाना है, अगले चरण में विवरण, या आप एक अलग MQ-7sensor का उपयोग कर सकते हैं।

2. एनपीएन द्विध्रुवी ट्रांजिस्टर। वस्तुतः कोई भी एनपीएन ट्रांजिस्टर जो 300 एमए या उससे अधिक को संभाल सकता है, यहां काम करेगा। पीएनपी ट्रांजिस्टर एक उल्लिखित फ्लाइंग फिश मॉड्यूल के साथ काम नहीं करेगा (क्योंकि इसमें सेंसर के आउटपुट के लिए हीटर पिन सोल्डर किया गया है), लेकिन इसका उपयोग असतत एमक्यू -7 सेंसर के साथ किया जा सकता है।

3. रेसिस्टर्स: 2 x 1k (0.5k से 1.2k तक ठीक काम करेगा), और 1 x 10k (जिसे सबसे अच्छा सटीक रखा जाता है - हालाँकि यदि आपको बिल्कुल अलग मान का उपयोग करना है, तो स्केच में रेफरेंस_रेसिस्टर_कोहम वैरिएबल को तदनुसार समायोजित करें)।

4. कैपेसिटर: 2 x 10uF या अधिक। टैंटलम या सिरेमिक वाले की आवश्यकता होती है, उच्च ईएसआर के कारण इलेक्ट्रोलाइटिक अच्छी तरह से काम नहीं करेगा (वे उच्च-वर्तमान लहर को सुचारू करने के लिए पर्याप्त वर्तमान प्रदान करने में सक्षम नहीं होंगे)।5। हरे और लाल एल ई डी वर्तमान सीओ स्तर को इंगित करने के लिए (आप 3 टर्मिनलों के साथ एक एकल दोहरे रंग एलईडी का भी उपयोग कर सकते हैं, जैसा कि हमने अपने पीले बॉक्स प्रोटोटाइप में इस्तेमाल किया था)।6। उच्च सीओ स्तर इंगित करने के लिए पीजो बजर।7। ब्रेडबोर्ड और तार (आप नैनो पिन में सब कुछ मिलाप कर सकते हैं या ऊनो सॉकेट में निचोड़ सकते हैं, लेकिन इस तरह से गलती करना आसान है)।

चरण 2: मॉड्यूल संशोधन या असतत सेंसर वायरिंग

मॉड्यूल संशोधन या असतत सेंसर वायरिंग
मॉड्यूल संशोधन या असतत सेंसर वायरिंग

मॉड्यूल के लिए, आपको रोकनेवाला और संधारित्र को हटाना होगा, जैसा कि फोटो में दिखाया गया है। यदि आप चाहें तो मूल रूप से सब कुछ हटा सकते हैं - मॉड्यूल इलेक्ट्रॉनिक्स पूरी तरह से बेकार है, हम इसे केवल सेंसर के लिए धारक के रूप में उपयोग करते हैं, लेकिन ये दो घटक आपको सही रीडिंग प्राप्त करने से रोकेंगे, यदि आप असतत सेंसर का उपयोग कर रहे हैं, तो हीटर पिन (H1 और H2) को 5V और ट्रांजिस्टर के कलेक्टर को संगत रूप से संलग्न करें। एक सेंसिंग साइड (ए पिन में से कोई भी) को 5V से, दूसरे सेंसिंग साइड (बी पिन में से कोई भी) को 10k रेसिस्टर से अटैच करें, जैसे कि योजनाबद्ध में मॉड्यूल के एनालॉग पिन।

चरण 3: ऑपरेशन सिद्धांत

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

हमें इन सभी जटिलताओं की आवश्यकता क्यों है, क्यों न 5V, ग्राउंड संलग्न करें, और केवल रीडिंग प्राप्त करें?खैर, आपको इस तरह से कुछ भी उपयोगी नहीं मिलेगा, दुर्भाग्य से। MQ-7 डेटाशीट के अनुसार, सेंसर को उच्च- और उचित माप प्राप्त करने के लिए कम ताप चक्र। कम तापमान के चरण के दौरान, सीओ प्लेट पर अवशोषित हो जाता है, जिससे सार्थक डेटा उत्पन्न होता है। उच्च तापमान चरण के दौरान, अवशोषित सीओ और अन्य यौगिक सेंसर प्लेट से वाष्पित हो जाते हैं, इसे अगले माप के लिए साफ करते हैं।

तो सामान्य ऑपरेशन में सरल है:

1. 60 सेकंड के लिए 5V लागू करें, CO माप के लिए इन रीडिंग का उपयोग न करें।

2. 90 सेकंड के लिए 1.4V लागू करें, CO माप के लिए इन रीडिंग का उपयोग करें।

3. चरण 1 पर जाएं।

लेकिन यहाँ समस्या है: Arduino इस सेंसर को अपने पिन से चलाने के लिए पर्याप्त शक्ति प्रदान नहीं कर सकता है - सेंसर के हीटर को 150 mA की आवश्यकता होती है, जबकि Arduino पिन 40 mA से अधिक नहीं प्रदान कर सकता है, इसलिए यदि सीधे संलग्न किया जाता है, तो Arduino पिन जल जाएगा और सेंसर अभी भी जीत जाएगा काम नहीं। इसलिए हमें किसी प्रकार के करंट एम्पलीफायर का उपयोग करना चाहिए जो बड़े आउटपुट करंट को नियंत्रित करने के लिए छोटा इनपुट करंट लेता है। एक और समस्या 1.4V हो रही है। बहुत सारे एनालॉग घटकों को पेश किए बिना इस मान को मज़बूती से प्राप्त करने का एकमात्र तरीका पीडब्लूएम (पल्स चौड़ाई मॉड्यूलेशन) दृष्टिकोण का उपयोग फीडबैक के साथ करना है जो आउटपुट वोल्टेज को नियंत्रित करेगा।

एनपीएन ट्रांजिस्टर दोनों समस्याओं को हल करता है: जब इसे लगातार चालू किया जाता है, तो सेंसर में वोल्टेज 5V होता है और यह उच्च तापमान चरण के लिए गर्म होता है। जब हम PWM को इसके इनपुट पर लागू करते हैं, करंट स्पंदित होता है, तब इसे कैपेसिटर द्वारा स्मूद किया जाता है, और औसत वोल्टेज को स्थिर रखा जाता है। यदि हम उच्च आवृत्ति पीडब्लूएम का उपयोग करते हैं (स्केच में इसकी आवृत्ति 62.5 किलोहर्ट्ज़ है) और औसत बहुत सारे एनालॉग रीडिंग (स्केच में हमारा औसत ~ 1000 रीडिंग से अधिक है), तो परिणाम काफी विश्वसनीय है।

योजनाबद्ध के अनुसार कैपेसिटर जोड़ना महत्वपूर्ण है। यहां छवियां सी 2 कैपेसिटर के साथ और बिना सिग्नल में अंतर दर्शाती हैं: इसके बिना, पीडब्लूएम रिपल स्पष्ट रूप से दिखाई देता है और यह रीडिंग को काफी विकृत करता है।

चरण 4: स्कैमैटिक्स और ब्रेडबोर्ड

स्कैमैटिक्स और ब्रेडबोर्ड
स्कैमैटिक्स और ब्रेडबोर्ड
स्कैमैटिक्स और ब्रेडबोर्ड
स्कैमैटिक्स और ब्रेडबोर्ड
स्कैमैटिक्स और ब्रेडबोर्ड
स्कैमैटिक्स और ब्रेडबोर्ड

यहाँ योजनाबद्ध और ब्रेडबोर्ड असेंबली है।

चेतावनी! एक मानक ब्रेकआउट मॉड्यूल के संशोधन की आवश्यकता है! संशोधन के बिना मॉड्यूल बेकार है। दूसरे चरण में संशोधन का वर्णन किया गया है।

एल ई डी के लिए पिन डी 9 और डी 10 का उपयोग करना महत्वपूर्ण है, क्योंकि हमारे पास हार्डवेयर टाइमर 1 के आउटपुट हैं, यह आसानी से उनके रंग बदलने की अनुमति देगा। पिन D5 और D6 बजर के लिए उपयोग किए जाते हैं, क्योंकि D5 और D6 हार्डवेयर Timer0 के आउटपुट हैं। हम उन्हें एक दूसरे के विपरीत होने के लिए कॉन्फ़िगर करेंगे, इसलिए वे (5V, 0V) और (0V, 5V) राज्यों के बीच स्विच करेंगे, इस प्रकार बजर पर ध्वनि उत्पन्न करेंगे। चेतावनी: यह Arduino के मुख्य समय के व्यवधान को प्रभावित करता है, इसलिए सभी समय-निर्भर कार्य (जैसे मिलिस ()) इस स्केच में सही परिणाम नहीं देंगे (इस पर बाद में अधिक)। पिन डी 3 में हार्डवेयर टाइमर 2 आउटपुट जुड़ा हुआ है (साथ ही साथ) D11 - लेकिन D3 की तुलना में D11 पर तार लगाना कम सुविधाजनक है) - इसलिए हम इसका उपयोग वोल्टेज नियंत्रण ट्रांजिस्टर के लिए PWM प्रदान करने के लिए कर रहे हैं। रेसिस्टर R1 का उपयोग एलईडी की चमक को नियंत्रित करने के लिए किया जाता है। यह ३०० से ३००० ओम तक कहीं भी हो सकता है, १k चमक/बिजली की खपत में इष्टतम है। ट्रांजिस्टर के बेस करंट को सीमित करने के लिए रेसिस्टर R2 का उपयोग किया जाता है। यह ३०० ओम से कम नहीं होना चाहिए (अरुडिनो पिन को ओवरलोड नहीं करने के लिए), और १५०० ओम से अधिक नहीं होना चाहिए। 1k एक सुरक्षित विकल्प है।

वोल्टेज विभक्त बनाने के लिए रेसिस्टर R3 का उपयोग सेंसर की प्लेट के साथ श्रृंखला में किया जाता है। सेंसर के आउटपुट पर वोल्टेज R3/(R3 + रुपये) * 5V के बराबर है, जहां रुपये वर्तमान सेंसर का प्रतिरोध है। सेंसर प्रतिरोध सीओ एकाग्रता पर निर्भर करता है, इसलिए वोल्टेज तदनुसार बदलता है। कैपेसिटर सी 1 का उपयोग एमक्यू -7 सेंसर पर इनपुट पीडब्लूएम वोल्टेज को सुचारू करने के लिए किया जाता है, इसकी क्षमता जितनी अधिक होगी, उतना ही बेहतर होगा, लेकिन इसमें कम ईएसआर भी होना चाहिए - इसलिए सिरेमिक (या टैंटलम) संधारित्र यहाँ पसंद किया जाता है, इलेक्ट्रोलाइटिक एक अच्छा प्रदर्शन नहीं करेगा।

कैपेसिटर C2 का उपयोग सेंसर के एनालॉग आउटपुट को सुचारू करने के लिए किया जाता है (आउटपुट वोल्टेज इनपुट वोल्टेज पर निर्भर करता है - और हमारे यहां काफी उच्च वर्तमान PWM है, जो सभी स्कीमैटिक्स को प्रभावित करता है, इसलिए हमें C2 की आवश्यकता है)। सबसे सरल उपाय यह है कि C1 के समान संधारित्र का उपयोग किया जाए। NPN ट्रांजिस्टर या तो सेंसर के हीटर पर उच्च धारा प्रदान करने के लिए हर समय करंट का संचालन करता है, या PWM मोड में काम करता है जिससे हीटिंग करंट कम होता है।

चरण 5: Arduino प्रोग्राम

अरुडिनो प्रोग्राम
अरुडिनो प्रोग्राम

चेतावनी: सेंसर को किसी भी व्यावहारिक उपयोग के लिए मैनुअल कैलिब्रेशन की आवश्यकता होती है। कैलिब्रेशन के बिना, आपके विशेष सेंसर के मापदंडों के आधार पर, यह स्केच स्वच्छ हवा में अलार्म चालू कर सकता है या घातक कार्बन मोनोऑक्साइड एकाग्रता का पता नहीं लगा सकता है।

अंशांकन निम्नलिखित चरणों में वर्णित है। रफ कैलिब्रेशन बहुत सरल है, सटीक काफी जटिल है।

सामान्य स्तर पर, कार्यक्रम अपेक्षाकृत सरल है:

सबसे पहले हम सेंसर द्वारा आवश्यक स्थिर 1.4V का उत्पादन करने के लिए अपने पीडब्लूएम को कैलिब्रेट करते हैं (उचित पीडब्लूएम चौड़ाई सटीक प्रतिरोधी मानों, इस विशेष सेंसर के प्रतिरोध, ट्रांजिस्टर के वीए वक्र इत्यादि जैसे कई मानकों पर निर्भर करती है - इसलिए विभिन्न मूल्यों को आजमाने का सबसे अच्छा तरीका है और जो सबसे अच्छा फिट बैठता है उसका उपयोग करें। फिर, हम लगातार 60 सेकंड हीटिंग और 90 सेकंड माप के चक्र के माध्यम से चलते हैं। कार्यान्वयन में यह कुछ जटिल हो जाता है। हमें हार्डवेयर टाइमर का उपयोग करना होगा क्योंकि हमारे यहां जो कुछ भी है उसे ठीक से काम करने के लिए उच्च आवृत्ति स्थिर पीडब्लूएम की आवश्यकता है। कोड यहां संलग्न है और हमारे जीथब से डाउनलोड किया जा सकता है, साथ ही फ्रिट्ज़िंग में स्कीमैटिक्स स्रोत। कार्यक्रम में हैं 3 फ़ंक्शन जो टाइमर को संभालते हैं: setTimer0PWM, setTimer1PWM, setTimer2PWM। उनमें से प्रत्येक दिए गए मापदंडों (कोड में टिप्पणी) के साथ PWM मोड में टाइमर सेट करता है, और इनपुट मानों के अनुसार पल्स चौड़ाई सेट करता है। मापन चरणों को फ़ंक्शन startMeasurementPhase और startHeatingPhase का उपयोग करके स्विच किया जाता है, वे अंदर सब कुछ संभालो। और 5वी और 1.4वी हीटिंग के बीच स्विच करने के लिए उचित टाइमर मान सेट करें। एल ई डी राज्य फ़ंक्शन सेटएलईडी द्वारा निर्धारित किया जाता है जो अपने इनपुट पर हरे और लाल चमक को स्वीकार करता है (रैखिक 1-100 स्केल में) और इसे संबंधित टाइमर सेटिंग में परिवर्तित करता है।

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

प्रोग्राम पहले pwm_adjust फ़ंक्शन चलाता है जो माप चरण के दौरान 1.4V प्राप्त करने के लिए उचित PWM चक्र चौड़ाई का पता लगाता है। फिर यह इंगित करने के लिए कुछ बार बीप करता है कि सेंसर तैयार है, माप चरण में स्विच करता है, और मुख्य लूप शुरू करता है।

मुख्य लूप में, प्रोग्राम जांचता है कि क्या हमने वर्तमान चरण में पर्याप्त समय बिताया है (माप चरण के लिए 90 सेकंड, हीटिंग चरण के लिए 60 सेकंड) और यदि हां, तो वर्तमान चरण में परिवर्तन होता है। साथ ही यह एक्सपोनेंशियल स्मूथिंग का उपयोग करके सेंसर रीडिंग को लगातार अपडेट करता है: new_value = 0.999*old_value + 0.001*new_reading। ऐसे मापदंडों और मापने के चक्र के साथ, यह लगभग पिछले 300 मिलीसेकंड से अधिक औसत संकेत देता है। चेतावनी: सेंसर को किसी भी व्यावहारिक उपयोग के लिए मैनुअल कैलिब्रेशन की आवश्यकता होती है। कैलिब्रेशन के बिना, आपके विशेष सेंसर के मापदंडों के आधार पर, यह स्केच स्वच्छ हवा में अलार्म चालू कर सकता है या घातक कार्बन मोनोऑक्साइड एकाग्रता का पता नहीं लगा सकता है।

चरण 6: पहला रन: क्या उम्मीद करें

पहला रन: क्या उम्मीद करें
पहला रन: क्या उम्मीद करें

यदि आपने सब कुछ ठीक से इकट्ठा किया है, तो स्केच चलाने के बाद आपको सीरियल मॉनिटर में कुछ ऐसा दिखाई देगा:

PWM w=0, V=4.93. का समायोजन

पीडब्लूएम डब्ल्यू = 17, वी = 3.57 पीडब्लूएम परिणाम समायोजित करना: चौड़ाई 17, वोल्टेज 3.57

और फिर वर्तमान सेंसर रीडिंग का प्रतिनिधित्व करने वाली संख्याओं की एक श्रृंखला। यह हिस्सा सेंसर के हीटर वोल्टेज को जितना संभव हो सके 1.4V के करीब बनाने के लिए पीडब्लूएम चौड़ाई समायोजित कर रहा है, मापा वोल्टेज 5V से घटाया जाता है, इसलिए हमारा आदर्श मापा मूल्य 3.6V है। यदि यह प्रक्रिया एक चरण के बाद कभी समाप्त या समाप्त नहीं होती है (जिसके परिणामस्वरूप चौड़ाई 0 या 254 के बराबर होती है) - तो कुछ गलत है। जांचें कि क्या आपका ट्रांजिस्टर वास्तव में एनपीएन है और ठीक से जुड़ा हुआ है (सुनिश्चित करें कि आपने आधार, कलेक्टर, एमिटर पिन का सही उपयोग किया है - आधार डी 3 पर जाता है, कलेक्टर एमक्यू -7 और एमिटर से जमीन पर जाता है, फ्रिटिंग ब्रेडबोर्ड दृश्य पर भरोसा न करें - यह है कुछ ट्रांजिस्टर के लिए गलत) और सुनिश्चित करें कि आपने सेंसर के इनपुट को Arduino के A1 इनपुट से जोड़ा है। यदि सब कुछ ठीक है, तो आपको Arduino IDE से सीरियल प्लॉटर में छवि के समान कुछ देखना चाहिए। 60 और 90 सेकंड की लंबाई के ताप और माप चक्र एक के बाद एक चल रहे हैं, प्रत्येक चक्र के अंत में सीओ पीपीएम मापा और अद्यतन किया जाता है। जब माप चक्र लगभग समाप्त हो जाता है तो आप कुछ खुली लौ को सेंसर के पास ले जा सकते हैं और देख सकते हैं कि यह रीडिंग को कैसे प्रभावित करेगा (लौ के प्रकार के आधार पर, यह खुली हवा में 2000 पीपीएम सीओ एकाग्रता तक उत्पन्न कर सकता है - भले ही इसका केवल एक छोटा सा हिस्सा हो यह वास्तव में सेंसर में चला जाता है, यह अभी भी अलार्म चालू करेगा, और यह अगले चक्र के अंत तक बंद नहीं होगा)। मैंने इसे छवि पर दिखाया, साथ ही लाइटर से आग लगने की प्रतिक्रिया भी।

चरण 7: सेंसर अंशांकन

सेंसर अंशांकन
सेंसर अंशांकन
सेंसर अंशांकन
सेंसर अंशांकन

निर्माता की डेटाशीट के अनुसार, सेंसर को कैलिब्रेट करने से पहले लगातार 48 घंटे तक हीटिंग-कूलिंग साइकिल चलाना चाहिए। और यदि आप इसे लंबे समय तक उपयोग करने का इरादा रखते हैं तो आपको इसे करना चाहिए: मेरे मामले में, स्वच्छ हवा में सेंसर रीडिंग 10 घंटे में लगभग 30% के लिए बदल गया। यदि आप इसे ध्यान में नहीं रखते हैं, तो आप 0 पीपीएम परिणाम प्राप्त कर सकते हैं जहां वास्तव में सीओ का 100 पीपीएम होता है। यदि आप 48 घंटों तक प्रतीक्षा नहीं करना चाहते हैं, तो आप माप चक्र के अंत में सेंसर आउटपुट की निगरानी कर सकते हैं। जब एक घंटे से अधिक यह 1-2 अंक से अधिक के लिए नहीं बदलेगा - आप वहां गर्म करना बंद कर सकते हैं।

रफ कैलिब्रेशन:

स्वच्छ हवा में कम से कम 10 घंटे तक स्केच चलाने के बाद, माप चक्र के अंत में कच्चे सेंसर मान लें, हीटिंग चरण शुरू होने से 2-3 सेकंड पहले, और इसे sensor_reading_clean_air चर (पंक्ति 100) में लिखें। बस, इतना ही। कार्यक्रम अन्य सेंसर मापदंडों का अनुमान लगाएगा, वे सटीक नहीं होंगे, लेकिन 10 और 100 पीपीएम एकाग्रता के बीच अंतर करने के लिए पर्याप्त होना चाहिए।

सटीक अंशांकन:

मैं एक कैलिब्रेटेड सीओ मीटर खोजने की अत्यधिक अनुशंसा करता हूं, 100 पीपीएम सीओ नमूना बनाएं (यह कुछ ग्रिप गैस को सिरिंज में ले कर किया जा सकता है - सीओ एकाग्रता आसानी से कई हजारों पीपीएम की सीमा में हो सकती है - और धीरे-धीरे इसे बंद जार में डाल दिया जाता है कैलिब्रेटेड मीटर और एमक्यू -7 सेंसर), इस एकाग्रता पर कच्चा सेंसर रीडिंग लें और इसे sensor_reading_100_ppm_CO चर में डालें। इस कदम के बिना, आपका पीपीएम माप किसी भी दिशा में कई बार गलत हो सकता है (फिर भी ठीक है अगर आपको घर पर खतरनाक सीओ एकाग्रता के लिए अलार्म की आवश्यकता है, जहां आम तौर पर कोई सीओ नहीं होना चाहिए, लेकिन किसी भी औद्योगिक अनुप्रयोग के लिए अच्छा नहीं है)।

चूंकि मेरे पास कोई CO मीटर नहीं था, इसलिए मैंने अधिक परिष्कृत दृष्टिकोण का उपयोग किया। पहले मैंने पृथक मात्रा में दहन का उपयोग करके सीओ की उच्च सांद्रता तैयार की (पहली तस्वीर)। इस पत्र में मुझे सबसे उपयोगी डेटा मिला, जिसमें विभिन्न लौ प्रकारों के लिए सीओ उपज शामिल है - यह फोटो में नहीं है, लेकिन अंतिम प्रयोग में प्रोपेन गैस दहन का इस्तेमाल किया गया है, जिसके परिणामस्वरूप ~ 5000 पीपीएम सीओ एकाग्रता है। फिर इसे 100 पीपीएम प्राप्त करने के लिए 1:50 पतला किया गया, जैसा कि दूसरी तस्वीर में दिखाया गया है, और सेंसर के संदर्भ बिंदु को निर्धारित करने के लिए उपयोग किया जाता है।

चरण 8: कुछ प्रायोगिक डेटा

कुछ प्रायोगिक डेटा
कुछ प्रायोगिक डेटा

मेरे मामले में, सेंसर ने काफी अच्छा काम किया - यह वास्तव में कम सांद्रता के लिए बहुत संवेदनशील नहीं है, लेकिन 50ppm से अधिक कुछ भी पता लगाने के लिए पर्याप्त है। मैंने माप लेते हुए धीरे-धीरे एकाग्रता बढ़ाने की कोशिश की, और चार्ट का एक सेट बनाया। 0ppm लाइनों के दो सेट हैं - CO एक्सपोजर से पहले शुद्ध हरा और बाद में पीला हरा। ऐसा लगता है कि सेंसर एक्सपोजर के बाद अपने स्वच्छ वायु प्रतिरोध को थोड़ा बदल देता है, लेकिन यह प्रभाव छोटा होता है। ऐसा लगता है कि यह 8 और 15, 15 और 26, 26 और 45 पीपीएम सांद्रता के बीच स्पष्ट रूप से अंतर करने में सक्षम नहीं है - लेकिन प्रवृत्ति बहुत स्पष्ट है, इसलिए यह बता सकता है कि एकाग्रता 0-20 या 40-60 पीपीएम रेंज में है या नहीं. उच्च सांद्रता के लिए निर्भरता बहुत अधिक विशिष्ट है - जब एक खुली लौ के निकास के संपर्क में आता है, तो वक्र शुरू से ही बिना नीचे जाए ऊपर चला जाता है, और इसकी गतिशीलता पूरी तरह से अलग होती है। इसलिए उच्च सांद्रता के लिए इसमें कोई संदेह नहीं है कि यह मज़बूती से काम करता है, हालाँकि मैं इसकी सटीकता की पुष्टि नहीं कर सकता क्योंकि मेरे पास कोई रेटेड CO मीटर नहीं है। साथ ही, प्रयोगों का यह सेट 20k लोड रेसिस्टर का उपयोग करके किया गया था - और उसके बाद मैंने फैसला किया डिफ़ॉल्ट मान के रूप में 10k की अनुशंसा करने के लिए, इसे इस तरह से अधिक संवेदनशील होना चाहिए। बस। यदि आपके पास एक विश्वसनीय CO मीटर है और आपने इस बोर्ड को असेंबल किया होगा, तो कृपया सेंसर परिशुद्धता के बारे में कुछ प्रतिक्रिया साझा करें - विभिन्न सेंसरों पर आंकड़े एकत्र करना और डिफ़ॉल्ट स्केच धारणाओं में सुधार करना बहुत अच्छा होगा।

सिफारिश की: