विषयसूची:

ओपन सोर्स डेटा लॉगर (ओपनएसडीएल): 5 कदम (चित्रों के साथ)
ओपन सोर्स डेटा लॉगर (ओपनएसडीएल): 5 कदम (चित्रों के साथ)

वीडियो: ओपन सोर्स डेटा लॉगर (ओपनएसडीएल): 5 कदम (चित्रों के साथ)

वीडियो: ओपन सोर्स डेटा लॉगर (ओपनएसडीएल): 5 कदम (चित्रों के साथ)
वीडियो: Lauch of OUR Open Source USB Data Logger in Hindi 2024, नवंबर
Anonim
ओपन सोर्स डेटा लॉगर (ओपनएसडीएल)
ओपन सोर्स डेटा लॉगर (ओपनएसडीएल)
ओपन सोर्स डेटा लॉगर (ओपनएसडीएल)
ओपन सोर्स डेटा लॉगर (ओपनएसडीएल)
ओपन सोर्स डेटा लॉगर (ओपनएसडीएल)
ओपन सोर्स डेटा लॉगर (ओपनएसडीएल)

इस परियोजना का उद्देश्य बिल्डिंग प्रदर्शन मूल्यांकन अध्ययनों के लिए कम लागत वाली माप प्रणाली का डिजाइन, निर्माण और परीक्षण करना है जिसमें कम से कम तापमान, सापेक्ष आर्द्रता, रोशनी शामिल है, और अतिरिक्त सेंसर के लिए एक्स्टेंसिबल है, और इन उपकरणों के प्रोटोटाइप को विकसित करना है।.

यह एक अनुकूलित और किफायती प्रणाली में परिणाम देता है जो हितधारकों को एक साथ कई पर्यावरणीय मानकों को लॉग करके एक कुशल और किफायती तरीके से प्रदर्शन मूल्यांकन के निर्माण के लिए आवश्यक माप का संचालन करने में सक्षम बनाता है। विकसित ओपन सोर्स डेटा लॉगर (OPENSDL) की तुलना HOBO U12-012 डेटा लकड़हारे से की गई थी। यह व्यावसायिक रूप से उपलब्ध समकक्ष प्रणाली, 3 मापदंडों को माप सकती है, अर्थात्- तापमान, आरएच, और रोशनी, और अन्य सेंसर प्रकारों के लिए एक बाहरी चैनल। किसी अन्य पैरामीटर के मापन के लिए एक अलग सेंसिंग डिवाइस की आवश्यकता होगी। मापे जाने वाले मापदंडों की विशेषताएं मालिकाना हार्डवेयर और सॉफ्टवेयर तक सीमित हैं, जो विशिष्ट सटीकता के साथ कुछ मापदंडों को मापने के लिए सिस्टम को प्रतिबंधित करता है। एक HOBO U12-012 की कीमत लगभग ₹13, 000 (US$185) है, जबकि OPENSDL की लागत ₹4, 605 (US$ 66) है, जो कि वाणिज्यिक समकक्ष का लगभग एक-तिहाई है।

Arduino Uno की मदद से तापमान, RH, और प्रकाश स्तर (रोशनी) की निगरानी के लिए एक खुला स्रोत डेटा लकड़हारा यह OPENSDL डेटा लकड़हारा विकसित करने के लिए एक DIY है।

आवश्यक समय: सोल्डरिंग के लिए 2-3 घंटे, पैकेजिंग के लिए 5 घंटे (4 घंटे - 3 डी प्रिंटिंग, और लेजर कटिंग के लिए 1 घंटा) आवश्यक कौशल: सोल्डरिंग, प्रोग्रामिंग और इलेक्ट्रॉनिक्स में बहुत कम या कोई ज्ञान नहीं

आवश्यक भागों:

  1. केबल के साथ Arduino Uno
  2. डेटा लकड़हारा शील्ड
  3. CR1220 सिक्का सेल बैटरी
  4. BME280 तापमान आर्द्रता दबाव सेंसर ब्रेकआउट बोर्ड
  5. TSL2561 लाइट सेंसर ब्रेकआउट बोर्ड
  6. ESP01-8266 वाई-फाई मॉड्यूल
  7. आरजे-9 पुरुष और महिला कनेक्टर
  8. Arduino के लिए शील्ड स्टैकिंग हेडर
  9. एसडी मेमोरी कार्ड (कोई भी क्षमता)
  10. वेक्टर बोर्ड (26 x 18 छेद)
  11. 8 एए बैटरी बैटरी धारक

आवश्यक उपकरण:

  • सोल्डरिंग आयरन (35W)
  • सोल्डर तार
  • तार काटने वाला
  • क्रिम्पर टूल
  • मल्टीमीटर

आवश्यक सॉफ़्टवेयर: Arduino IDE (1.0.5 या उच्चतर)

Arduino पुस्तकालयों का इस्तेमाल किया:

  • वायर लाइब्रेरी
  • स्पार्कफन TSL2561 लाइब्रेरी
  • कैक्टस BME280 मल्टीसेंसर लाइब्रेरी
  • एसडी कार्ड पुस्तकालय
  • एसपीआई पुस्तकालय
  • आरटीसी पुस्तकालय

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

चरण 1: विधानसभा

सभा
सभा
सभा
सभा
सभा
सभा
सभा
सभा

डेटा लॉगर शील्ड को Arduino Uno बोर्ड के ऊपर आसानी से स्टैक किया जा सकता है। यह शील्ड डेटा लॉगिंग क्षमता (समय कीपिंग और डेटा स्टोरेज) प्रदान करती है। ढाल को ढेर करना पड़ा। Arduino के बंद होने पर भी घड़ी को चालू रखने के लिए प्रदान किए गए गोल स्लॉट में एक CR1220 सिक्का सेल बैटरी डाली जानी थी। एसडी मेमोरी कार्ड को दिए गए ऑन-बोर्ड कार्ड स्लॉट में डाला जाना चाहिए। RJ-9 कनेक्टर महिला पिन और Arduino शील्ड स्टैकिंग हेडर का उपयोग करके एक अद्वितीय अनुकूलित शील्ड विकसित की गई थी। उपयुक्त हेडर को उपयुक्त स्थानों में मिलाया गया था ताकि ढाल पूरी तरह से Arduino बोर्ड पर फिट हो सके। Arduino में एक तरफ 18 पिन होते हैं और दूसरी तरफ 14 पिन होते हैं। समान संख्या में पिन वाले हेडर का उपयोग Arduino के समान रिक्ति (18 पिन अलग) पर किया गया था। हेडर से सटे शेष अतिरिक्त स्थान का उपयोग RJ-9 कनेक्टर को रखने के लिए किया गया था।

हेडर आवश्यक पिन का उपयोग करने का सबसे अच्छा तरीका था, जबकि उन्हें अभी भी अन्य घटकों के उपयोग के लिए उपलब्ध कराया गया था। उपयोग किए गए सेंसर I2C संचार प्रोटोकॉल का पालन करते हैं, जिसके लिए Arduino से 4 पिन की आवश्यकता होती है, अर्थात्: SDA (A4 के रूप में भी उपलब्ध), SCL (A5 के रूप में भी उपलब्ध), 3.3V और GND। RJ-9 कनेक्टर से निकलने वाले चार तारों को इन चार हेडर पिनों में मिला दिया गया था। आवश्यक आरजे-9 कनेक्टर्स की संख्या सेंसर की संख्या पर निर्भर करती है। इस परियोजना में, 3 RJ-9 कनेक्टर्स का उपयोग किया गया था (दो BME280 के लिए और एक TSL2561 के लिए)। RJ-9 कनेक्टर से निकलने वाले चार तारों को रंग कोडित किया गया था, और प्रत्येक रंग के तार को सभी RJ-9 कनेक्टरों के लिए एक विशिष्ट पिन नामित किया गया था। यह ध्यान दिया जाना चाहिए कि अलग-अलग आरजे-9 टुकड़ों पर रंग कोड भिन्न हो सकता है। ऐसे मामले में, कनेक्टर पर तार का स्थान नोट किया जाना चाहिए। आरजे-9 कनेक्टर, सोल्डरिंग के बाद, फेविक्विक का उपयोग करके वेक्टर बोर्ड पर चिपकाने के लिए बनाया गया था, ताकि यह सतह पर ठीक हो जाए। इन कनेक्शनों को मल्टीमीटर पर निरंतरता मोड का उपयोग करके सत्यापित किया जा सकता है। निरंतरता मोड में होने पर, मल्टीमीटर को शून्य प्रतिरोध दिखाना चाहिए। मल्टीमीटर की एक जांच को टांका लगाने वाले पिन से और दूसरी जांच को आरजे-9 कनेक्टर के अंदर पिन से कनेक्ट करें। मल्टीमीटर को एक टोन का उत्सर्जन करना चाहिए, जिसका अर्थ है कि सोल्डर जोड़ उचित हैं, और कनेक्शन ठीक से बनाए गए हैं। यदि स्वर उत्सर्जित नहीं होता है, तो मिलाप जोड़ों की जांच करें। इसी तरह, RJ-9 कनेक्टर को सेंसर ब्रेकआउट बोर्ड, यानी A4, A5, 3.3V और GND पर समान पिनहोल से जोड़ने वाले समान तारों के साथ मिलाप करें। BME280 सेंसर दो I2C पतों का समर्थन करता है, जिसका अर्थ है कि दो BME280 सेंसर एक ही बार में एक ही नियंत्रक से जुड़े हो सकते हैं। ऐसा करते समय, सेंसर पर सोल्डर पैड को पाटकर किसी एक सेंसर का पता बदलना पड़ता है। एक ESP-01 वायरलेस कनेक्शन चिप को Arduino के साथ निम्नलिखित कनेक्शन की आवश्यकता होती है।

ESP-01 --------- Arduino Uno

10 ------------------------ TX

११ ------------------- आरएक्स

वीसीसी ----------------CH_PD

वीसीसी ------------------- वीसीसी

जीएनडी ----------------- जीएनडी

नोट:- बैटरी लाइफ को बेहतर बनाने के लिए Arduino Uno के मल्टीपल LED को हटा दिया गया था। पावर इंडिकेटर LED, RX, और TX LED को सोल्डर जोड़ों को गर्म करके और LED को संदंश के साथ धकेल कर हटा दिया गया था।

चरण 2: सेटअप आईडीई और पुस्तकालय

किसी भी प्रोग्रामिंग को करने से पहले Arduino IDE (इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट) को डाउनलोड करना होगा। इसी प्लेटफॉर्म पर प्रोग्रामिंग की गई। ओपनएसडीएल के विभिन्न घटकों के साथ बातचीत करने के लिए विभिन्न पुस्तकालयों की आवश्यकता थी। दिए गए घटकों के लिए निम्नलिखित पुस्तकालयों का उपयोग किया गया था।

अवयव ------------------------------------------------- --------------पुस्तकालय

बीएमई२८० तापमान और आरएच सेंसर ---------------------------------कैक्टस_आईओ_बीएमई280_आई2सी.एच

प्रकाश संवेदक------------------------------------------------ ----------------- स्पार्कफन TSL2561.h

वास्तविक समय घड़ी ----------------------------------------------- -------------RTClib.h

एसडी कार्ड सॉकेट ------------------------------------------- -------------एसडी.एच

I2C कनेक्शन ------------------------------------------------- -------------वायर.एच

ESP01 के साथ संचार के लिए एक अलग पुस्तकालय की आवश्यकता नहीं है क्योंकि Arduino में अपलोड किए गए कोड में AT कमांड होते हैं, जो सीरियल मॉनिटर को भेजे जाते हैं, जहां से ESP-01 निर्देश लेता है। तो, मूल रूप से, AT कमांड जिसके द्वारा ESP01 चलता है, सीरियल मॉनिटर में प्रिंट किया जाता है, जिसे ESP-01 द्वारा इनपुट कमांड के रूप में लिया जाता है। इन पुस्तकालयों को स्थापित करने के लिए, उन्हें डाउनलोड करने के बाद, Arduino IDE खोलें, स्केच पर जाएं -> लाइब्रेरी शामिल करें ->. Zip लाइब्रेरी जोड़ें, और डाउनलोड की गई लाइब्रेरी का चयन करें।

चरण 3: सिस्टम प्रोग्रामिंग

सिस्टम प्रोग्रामिंग
सिस्टम प्रोग्रामिंग

OPENSDL की प्रोग्रामिंग करने से पहले, Arduino को लैपटॉप से कनेक्ट करें। कनेक्ट करने के बाद टूल्स -> पोर्ट पर जाएं और COM पोर्ट चुनें जिसमें OPENSDL जुड़ा हुआ है। इसके अलावा, सुनिश्चित करें कि टूल्स -> बोर्ड्स के तहत, Arduino Uno का चयन किया गया है।

OPENSDL को 2 मोड में काम करने के लिए विकसित किया गया था। पहले मोड में, यह डेटा लॉगर शील्ड पर एसडी कार्ड पर डेटा स्टोर करता है। दूसरे मोड में, यह एक ESP-01 वाई-फाई चिप का उपयोग करके इंटरनेट पर डेटा को एक वेबसाइट पर भेजता है। दोनों मोड के लिए कार्यक्रम अलग है। कोड की इन पंक्तियों को सीधे Arduino IDE संपादक में कॉपी और पेस्ट किया जा सकता है, और सीधे उपयोग किया जा सकता है। कोड में एक बार, हमें अपनी आवश्यकताओं के अनुसार कुछ अनुकूलन करने की आवश्यकता है:

  1. लॉगिंग अंतराल को बदलने के लिए कोड के अंत में देरी के मान (1000) को मैन्युअल रूप से बदलें। मान 1000 मिलीसेकंड में अंतराल का प्रतिनिधित्व करता है।
  2. कोड की लाइन संपादित करें जो कहती है mySensorData = SD.open("Logged01.csv", FILE_WRITE); और Logged01 को वांछित फ़ाइल नाम के फ़ाइल नाम से बदलें। फ़ाइल नाम के ठीक बाद.csv एक्सटेंशन को संशोधित करके फ़ाइल के एक्सटेंशन को भी बदला जा सकता है।
  3. मास्टर/संदर्भ सेंसर और बीएमई२८० के बीच सहसंबंध खोजने से प्राप्त अंशांकन समीकरण प्रत्येक सेंसर के साथ अलग-अलग होगा। सेंसर को कैलिब्रेट करने के लिए समीकरण के साथ कोड की इस पंक्ति को बदलें: Serial.print((1.0533*t2)-2.2374 - डिफ़ॉल्ट पते वाले सेंसर के लिए (0x77), जहां t2 तापमान सेंसर से पढ़ा जाने वाला मान है।

ओपनएसडीएल के दूसरे उपलब्ध मोड की प्रोग्रामिंग के लिए एक अलग प्रोग्राम प्रदान किया गया है, जो वायरलेस सिस्टम है। ESP-01 को चरण #2 में बताए गए कनेक्शन के अनुसार OPENSDL से जोड़ा जाना चाहिए। कनेक्शन पूरा करने के बाद, Arduino को लैपटॉप से कनेक्ट करें, और Arduino में एक खाली स्केच अपलोड करें। ESP-01 को अपडेट मोड में रखें और फर्मवेयर को नवीनतम उपलब्ध अपडेट में अपडेट करें। अपडेट करने के बाद, Arduino के रीसेट पिन को 3.3V पिन से जोड़ना सुनिश्चित करें, जो Arduino बूटलोडर को बायपास करता है

चरण 4: निर्माण

छलरचना
छलरचना
छलरचना
छलरचना
छलरचना
छलरचना

सुरक्षा और सौंदर्य में सुधार के लिए OPENSDL के लिए एक संलग्नक बनाया गया था। पीएलए सामग्री का उपयोग करके 3 डी प्रिंटिंग द्वारा केसिंग विकसित किए गए थे, और माइक्रोकंट्रोलर के लिए आवरण को लेजर द्वारा एमडीएफ शीट को काटकर और टुकड़ों को एक साथ जोड़कर विकसित किया गया था। स्केचअप सॉफ़्टवेयर का उपयोग करके 3D मुद्रित मॉडल विकसित किए गए थे, और ऑटोकैड का उपयोग करके लेजर कटिंग के लिए 2D dxf चित्र बनाए गए थे।

3डी प्रिंटिंग के लिए, स्केचअप का उपयोग करके निर्मित एसटीएल फाइलों को अल्टिमेकर क्यूरा 3.2.1 सॉफ्टवेयर में खोला और जांचा गया। सुनिश्चित करें कि पीएलए सामग्री का उपयोग किया गया है, और उपयोग किए गए प्रिंटर का नोजल 0.4 मिमी प्रिंटिंग के लिए है। 3D प्रिंटर की बिल्ड प्लेट को 3D प्रिंटेड ऑब्जेक्ट को चिपकाने के लिए ग्लू की आवश्यकता हो सकती है। लेकिन जब छपाई पूरी हो जाती है, तो गोंद मुद्रित वस्तु और बिल्ड प्लेट के बीच एक मजबूत आसंजन बनाता है।

चरण 5: कोड

कोड (.ino फ़ाइलें) Arduino IDE सॉफ़्टवेयर में काम करने के लिए बनाया गया है। कोड और अन्य विवरणों के लिए मेरे जीथब पेज का लिंक यहां दिया गया है।

github.com/arihant93/OPENSDL

कृपया परियोजना के बारे में प्रश्न पूछने में संकोच न करें।

धन्यवाद।

सिफारिश की: