विषयसूची:
वीडियो: Arduino आधारित पल्स इंडक्शन डिटेक्टर - LC-ट्रैप: 3 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
केवल एक आपूर्ति वोल्टेज के साथ एक साधारण अर्दीनो पल्स इंडक्शन मेटल डिटेक्टर के लिए और विचारों की तलाश करते हुए मैं टेमो के होमपेज पर आया:
www.digiwood.ee/8-electronic-projects/2-metal-detector-circuit
उन्होंने एलसी-ट्रैप सिद्धांत का उपयोग करके एक साधारण पल्स इंडक्शन डिटेक्टर बनाया। इसी तरह के सर्किट यहां TechKiwiGadgets द्वारा इंस्ट्रक्शनल पर पोस्ट किए गए थे। सिवाय इसके कि टेमो सर्किट एक पीआईसी माइक्रोकंट्रोलर के आंतरिक तुलनित्र का उपयोग करता है, इस प्रकार कम बाहरी घटकों की आवश्यकता होती है
इसलिए मुझे इस योजनाबद्ध के लिए एक PIC-नियंत्रक के बजाय Arduino का उपयोग करने और यह देखने के लिए चुनौती दी गई कि मैं कितनी दूर जा सकता हूं।
चरण 1: योजनाबद्ध
Arduino योजनाबद्ध थोड़ा अधिक जटिल है क्योंकि Arduino तुलनित्र के इनपुट के लिए आंतरिक एनालॉग सिग्नल को रूट करने की अनुमति नहीं देता है। यह एक साधारण वोल्टेज डिवाइडर के लिए दो घटक जोड़ता है। यह फ्लिप कॉइल डिज़ाइन के 9 की तुलना में 12 बाहरी घटकों (स्पीकर और 16x2 एलसीडी को छोड़कर) के साथ एक डिज़ाइन की ओर जाता है।
टेमो की वेबसाइट पर योजनाबद्ध के कार्य सिद्धांत को बहुत अच्छी तरह से समझाया गया है। मूल रूप से कुंडल संचालित होता है और फिर बंद हो जाता है। स्विच ऑफ करने के बाद, कॉइल और कंडेनसर समानांतर में एक नम दोलन पैदा करेंगे। दोलन की आवृत्ति और क्षय कुंडली की निकटता में धातु से प्रभावित होती है। सर्किट के अधिक विवरण के लिए यहां टेमो या टेककीवी के पेज को इंस्ट्रक्शंस पर देखें।
जैसा कि फ्लिप कॉइल पल्स इंडक्शन डिटेक्टर में मैं आंतरिक तुलनित्र का उपयोग करता हूं और कॉइल से सिग्नल प्राप्त करने के लिए एक रुकावट को ट्रिगर करने की संभावना का उपयोग करता हूं।
इस मामले में मुझे कई रुकावटें मिलेंगी क्योंकि वोल्टेज तुलनित्र पर सेट किए गए संदर्भ वोल्टेज के आसपास दोलन कर रहा है। दोलन के अंत में, कॉइल पर वोल्टेज 5V के आसपास बस जाएगा, लेकिन बिल्कुल नहीं। मैंने लगभग 4.9 वोल्ट. का वोल्टेज प्राप्त करने के लिए 200 ओम और 10k ओम के साथ एक वोल्टेज विभक्त चुना
स्कीमैटिक्स की जटिलता को कम करने के लिए मैंने GND (10k रेसिस्टर के लिए) और 5V (220 ओम रेसिस्टर के लिए) प्रदान करने के लिए D4 और D5 का उपयोग किया। पिन डिटेक्टर के स्टार्ट अप पर सेट होते हैं।
इस संस्करण में, मैंने वॉल्यूम नियंत्रित मल्टी टोन एप्रोच का उपयोग करके एक स्पीकर कनेक्शन जोड़ा, जैसा कि हाउ टू प्रोग्राम अ अरुडिनो बेस्ड मेटल डिटेक्टर में वर्णित है। यह लक्ष्य के गुणों को अलग करने के साथ-साथ सिग्नल की ताकत के लिए एक भावना प्राप्त करने की अनुमति देता है। स्पीकर को अतिरिक्त 5 पिन हेडर से जोड़ा जा सकता है। हेडर के शेष 3 पिन पुश-बटन (कार्यान्वयन के लिए) के लिए उपयोग किए जाएंगे।
चरण 2: प्रोग्रामिंग
अब जब सर्किट डिजाइन किया गया है और प्रोटोटाइप का निर्माण किया गया है, तो धातु का पता लगाने के लिए एक उपयुक्त दृष्टिकोण खोजने का समय आ गया है।
1. दालों की गिनती
दोलन के स्पंदों को तब तक गिनना जब तक कि वह पूरी तरह से नष्ट न हो जाए, एक विचार है।
यदि कुंडल के पास धातु है तो दोलन की मात्रा कम हो जाती है। इस मामले में तुलनित्र के संदर्भ वोल्टेज को इस स्तर पर सेट किया जाना चाहिए कि अंतिम पल्स अभी भी मुश्किल से मापा जाता है। तो अगर कुछ पता चलता है, तो यह नाड़ी तुरंत गायब हो जाती है। यह थोड़ा समस्याग्रस्त था।
दोलन की प्रत्येक तरंग दो व्यवधान उत्पन्न करती है। एक नीचे जाते समय और दूसरा ऊपर जाते समय। संदर्भ वोल्टेज को एक दोलन तरंग के शिखर पर सेट करने के लिए, नीचे जाने और ऊपर जाने के बीच का समय जितना संभव हो उतना छोटा होना चाहिए (चित्र देखें)। दुर्भाग्य से यहाँ Arduino वातावरण का ऊपरी भाग समस्याएँ पैदा करता है।
रुकावट का प्रत्येक ट्रिगर इस कोड के लिए कॉल करता है:
आईएसआर (ANALOG_COMP_vect){
Toggle1=Toggle0 // अंतिम मान सहेजें Toggle0=TCNT1; // नया मान प्राप्त करें}
इस कोड में कुछ समय लगता है (अगर मुझे सही याद है, तो लगभग 78 निर्देश चक्र डायन लगभग 5 माइक्रोसेकंड @ 16MHz है)। इसलिए दो दालों के बीच न्यूनतम पता लगाने योग्य दूरी ठीक इस कोड में लगने वाला समय है, यदि दो ट्रिगर्स के बीच का समय कम हो जाता है (चित्र देखें), तो यह पता नहीं चलेगा, क्योंकि कोड दूसरे इंटरप्ट का पता लगाने से पहले पूरी तरह से निष्पादित होता है।
इससे संवेदनशीलता का नुकसान होता है। उसी समय, मैंने देखा, कि दोलनों का अवमंदन जो भी बाहरी प्रभावों के प्रति बहुत संवेदनशील है, इस प्रकार इस दृष्टिकोण को कुल मिलाकर थोड़ा कठिन बना देता है।
2. आवृत्ति मापना
धातु का पता लगाने का दूसरा तरीका दोलन की आवृत्ति को मापना है। दोलन के अवमंदन को मापने की तुलना में इसका एक बड़ा लाभ है क्योंकि आवृत्ति में परिवर्तन धातु के विभेदन की अनुमति देता है। यदि कुंडल के पास लौह सामग्री है, तो आवृत्ति धीमी हो जाएगी, यदि कुंडल के पास कीमती धातु है, तो आवृत्ति बढ़ जाएगी।
आवृत्ति को मापने का सबसे आसान तरीका कॉइल्स के दोलन शुरू होने के बाद दालों की मात्रा को मापना है। मापा दालों की कुल मात्रा से विभाजित शुरुआत और अंतिम नाड़ी के बीच की अवधि आवृत्ति है। दुर्भाग्य से पिछले कुछ दोलन काफी विषम हैं। चूंकि धातु की उपस्थिति दोलन के क्षय को भी प्रभावित करती है, अंतिम दोलन और भी अधिक विषम होते हैं, रीडिंग की व्याख्या करना मुश्किल होता है। तस्वीर में इसे 1 से 1' और 2 से 2' के क्रॉसिंग के साथ दिखाया गया है।
इसलिए एक बेहतर तरीका है कि आवृत्ति को मापने के लिए पहले की कुछ दालों का उपयोग किया जाए। परीक्षण के दौरान, दिलचस्प बात यह है कि मैंने पाया कि कुछ दालें दूसरों की तुलना में अधिक संवेदनशील होती हैं। कहीं न कहीं 2/3 दोलन डेटा हासिल करने के लिए एक अच्छा बिंदु है।
डेटा प्रोसेसिंग।
कुंडल के समय को करने के लिए एक पल्स () फ़ंक्शन के लिए कॉल करने वाले लूप () पर आधारित प्रारंभिक कोड। जबकि परिणाम खराब नहीं थे, मुझे समय में सुधार करने का आग्रह था। ऐसा करने के लिए, मैंने एक पूरी तरह से टाइमर आधारित कोड बनाया, जिससे अलग-अलग अस्थिर कैसे एक Arduino आधारित मेटल डिटेक्टर को प्रोग्राम किया जा सकता है। यह निर्देशयोग्य समय, डेटा क्रंचिंग एलसीडी आउटपुट आदि के बारे में विस्तार से बताता है
1. एलसीडी
पहला तरीका 10 दालों को मापना और फिर एलसीडी पर मान दिखाना था। जैसा कि मुझे पता चला कि I2C डेटा ट्रांसफर बहुत धीमा था, मैंने प्रति पल्स केवल एक वर्ण को अपडेट करने के लिए कोड में बदल दिया।
2. न्यूनतम मूल्य दृष्टिकोण
रीडिंग की स्थिरता को और बेहतर बनाने के लिए मैंने मापा डेटा के लिए बेहतर अनुभव प्राप्त करने के लिए एक सीरियल आउटपुट रूटीन लिखा। वहाँ यह स्पष्ट हो गया, कि यद्यपि अधिकांश पठन कुछ हद तक स्थिर थे, कुछ नहीं थे! "समान" दोलन पल्स के कुछ रीडिंग इतने दूर थे कि यह आवृत्ति में बदलाव का विश्लेषण करने के लिए हर दृष्टिकोण को बर्बाद कर देगा।
इसकी भरपाई के लिए, मैंने एक "सीमा" बनाई, जिसके भीतर मूल्य भरोसेमंद थे। अर्थात। जब मान अपेक्षित मूल्य से टाइमर1 के 35 चक्रों से अधिक दूर थे, तो इन मूल्यों को अनदेखा कर दिया गया था (निर्देश में विस्तार से बताया गया है कि कैसे एक Arduino आधारित मेटल डिटेक्टर प्रोग्राम करें)
यह दृष्टिकोण बहुत स्थिर साबित हुआ।
3. वोल्टेज
Teemo का मूल डिज़ाइन 5 वोल्ट से नीचे संचालित होता है। जैसा कि मेरी धारणा थी "अधिक वोल्ट = अधिक शक्ति = अधिक संवेदनशीलता" मैंने शुरुआत में 12V के साथ इकाई को संचालित किया। इसके परिणामस्वरूप MOSFET गर्म हो गया। इस हीटिंग-अप के परिणामस्वरूप मापा मूल्यों का एक सामान्य बहाव हुआ, जिससे डिटेक्टर का बार-बार पुन: संतुलन हो गया। वोल्टेज को 5V तक कम करके MOSFET की गर्मी उत्पादन को उस स्तर तक कम किया जा सकता है जहां रीडिंग का लगभग कोई बहाव नहीं देखा गया था। इसने सर्किट को और भी सरल बना दिया, क्योंकि Arduino के ऑन-बोर्ड वोल्टेज रेगुलेटर की अब आवश्यकता नहीं थी।
MOSFET के लिए मैंने शुरुआत में IRL540 को चुना। यह MOSFET तर्क स्तर के अनुकूल है, लेकिन इसकी अधिकतम वोल्टेज रेटिंग ov 100V है। मैं 200V रेटिंग के साथ IRL640 में बेहतर प्रदर्शन बदलने की उम्मीद कर रहा था। दुर्भाग्य से परिणाम वही थे। तो या तो IRL540 या IRL640 काम करेगा।
चरण 3: अंतिम परिणाम
डिटेक्टर का लाभ यह है कि यह कीमती और लौह सामग्री के बीच भेदभाव करता है। नुकसान यह है कि इस सरल योजना के साथ संवेदनशीलता उतनी अच्छी नहीं है। प्रदर्शन की तुलना करने के लिए मैंने फ्लिप-कॉइल डिटेक्टर के समान संदर्भों का उपयोग किया। शायद कुछ पिनपॉइंटिंग के लिए अच्छा है, लेकिन वास्तविक खोज के लिए सबसे अधिक निराशाजनक है।
यहां पीआईसी नियंत्रक के साथ मूल डिजाइन अधिक संवेदनशील हो सकता है क्योंकि यह 16 मेगाहर्ट्ज के बजाय 32 मेगाहर्ट्ज पर चल रहा है ताकि आवृत्ति में बदलाव का पता लगाने के लिए उच्च रिज़ॉल्यूशन प्रदान किया जा सके।
१०० मिमी की दर से ४८ मोड़ों के साथ कुंडल का उपयोग करके परिणाम प्राप्त किए गए।
हमेशा की तरह, प्रतिक्रिया के लिए खुला
सिफारिश की:
Arduino आधारित गैर संपर्क इन्फ्रारेड थर्मामीटर - Arduino का उपयोग करते हुए IR आधारित थर्मामीटर: 4 चरण
Arduino आधारित गैर संपर्क इन्फ्रारेड थर्मामीटर | Arduino का उपयोग करते हुए IR आधारित थर्मामीटर: हाय दोस्तों इस निर्देश में हम arduino का उपयोग करके एक गैर संपर्क थर्मामीटर बनाएंगे। चूंकि कभी-कभी तरल / ठोस का तापमान बहुत अधिक होता है या कम होता है और फिर इसके साथ संपर्क बनाना और इसे पढ़ना कठिन होता है। तापमान तो उस दृश्य में
मौसम आधारित संगीत जेनरेटर (ESP8266 आधारित मिडी जेनरेटर): 4 चरण (चित्रों के साथ)
वेदर बेस्ड म्यूजिक जेनरेटर (ESP8266 बेस्ड मिडी जेनरेटर): हाय, आज मैं आपको बताऊंगा कि कैसे अपना खुद का छोटा वेदर बेस्ड म्यूजिक जेनरेटर बनाया जाता है। यह ESP8266 पर आधारित है, जो एक Arduino की तरह है, और यह तापमान, बारिश पर प्रतिक्रिया करता है और प्रकाश की तीव्रता। यह उम्मीद न करें कि यह संपूर्ण गीत या राग कार्यक्रम बना देगा
DIY Arduino आधारित पल्स इंडक्शन मेटल डिटेक्टर: 5 कदम
DIY Arduino आधारित पल्स इंडक्शन मेटल डिटेक्टर: यह उत्कृष्ट प्रदर्शन के साथ एक अपेक्षाकृत सरल मेटल डिटेक्टर है
Arduino आधारित पल्स इंडक्शन डिटेक्टर - फ्लिप कॉइल: 5 चरण (चित्रों के साथ)
Arduino आधारित पल्स इंडक्शन डिटेक्टर - फ्लिप कॉइल: आइडिया अलग-अलग परिणामों के साथ अतीत में कुछ मेटल डिटेक्टरों का निर्माण कर रहा था, मैं उस दिशा में Arduino की क्षमताओं का पता लगाना चाहता था। Arduino के साथ मेटल डिटेक्टर बनाने के कुछ अच्छे उदाहरण हैं, कुछ यहाँ शिक्षाप्रद के रूप में
IOT स्मोक डिटेक्टर: मौजूदा स्मोक डिटेक्टर को IOT से अपडेट करें: 6 चरण (चित्रों के साथ)
IOT स्मोक डिटेक्टर: IOT के साथ मौजूदा स्मोक डिटेक्टर को अपडेट करें: योगदानकर्ताओं की सूची, आविष्कारक: टैन सिव चिन, टैन यिट पेंग, टैन वी हेंग पर्यवेक्षक: डॉ चिया किम सेंग मेक्ट्रोनिक और रोबोटिक इंजीनियरिंग विभाग, इलेक्ट्रिकल और इलेक्ट्रॉनिक इंजीनियरिंग संकाय, यूनिवर्सिटी ट्यून हुसैन Onn मलेशिया.वितरित