विषयसूची:
- चरण 1: हमें क्या चाहिए:
- चरण 2: बिल्डिंग…
- चरण 3: आगे बढ़ने से पहले कुछ अतिरिक्त जानकारी
- चरण 4: कोड:
- चरण 5: परीक्षण और निष्कर्ष
वीडियो: Gyro, Accelerometer और Arduino का उपयोग करके कोण मापन: 5 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:24
डिवाइस एक मोटा प्रोटोटाइप है जो अंततः सेल्फ बैलेंस रोबोट बन जाएगा, यह होल थिंग का दूसरा भाग है (एक्सेलेरोमीटर पढ़ें और सेल्फ बैलेंस के लिए मोटर को नियंत्रित करें)। केवल जाइरो के साथ पहला भाग यहां पाया जा सकता है। इस निर्देश पर हम जाइरो और एक्सेलेरोमीटर दोनों का उपयोग करके कोण को मापेंगे, और एक तकनीक का उपयोग करके एक सहज संकेत प्राप्त करने के लिए दोनों सेंसर को मर्ज करेंगे। तकनीक को "पूरक फिल्टर" कहा जाता है। पिछला
चरण 1: हमें क्या चाहिए:
कुछ भाग को बदला जा सकता है, और आपके हार्डवेयर को फिट करने के लिए कोड में कुछ संशोधन करना होगा। इस परियोजना पर हम उपयोग करेंगे: - ब्रेडबोर्ड- माइक्रोकंट्रोलर, मैंने Arduinoboard- वायर- जम्पर वायर- Gyroscope XV-8100- Nunchuck Wii का उपयोग किया (एक्सेलेरोमीटर के लिए)- Arduino के लिए Nunchuck Wii अडैप्टर
चरण 2: बिल्डिंग…
सर्किट में एक जाइरोस्कोप होता है जो आपके arduino पर पोर्ट 0 से सीधे जुड़ा होता है और I2C पोर्ट पर एक nunchuck wii कनेक्ट होता है। जाइरो को असेंबल करना: 1। - गायरो को ब्रेडबोर्ड2 पर प्लग करें। - वायर एवर थिंग: - आर्डिनो (लाइट ऑरेंज वायर) पर एनालॉग पोर्ट 0 से जुड़े जाइरो से वो पिन - ग्राउंड से जुड़े जाइरो से जी पिन (व्हाइट वायर) - वी + पिन जाइरो से वीडीडी (3.3 वी) (ऑरेंज वायर) असेंबलिंग से जुड़ा है। एक्सेलेरोमीटर:1. - एडेप्टर को nunchuck2 पर प्लग करें। - एडेप्टर 3 का उपयोग करके आर्डिनो पर नंचक को प्लग करें। - एक्सेल सेंसर को ऊपर फोटो की तरह लगाएं
चरण 3: आगे बढ़ने से पहले कुछ अतिरिक्त जानकारी
दोनों सेंसर से हम कोण को माप सकते हैं लेकिन दो अलग तकनीक का उपयोग कर सकते हैं। गायरो का उपयोग करके कोण को मापने के लिए हमें सिग्नल को एकीकृत करना होगा। लेकिन हमें ऐसा क्यों करना है? क्योंकि जाइरो हमें कोणीय दर देता है, इसलिए कोण प्राप्त करने का एक सरल तरीका है कोणीय दर को समय से गुणा करना [कोण = कोण + w * dt] एक्सेलेरोमीटर का उपयोग करके कोण को मापने के लिए हमें प्रत्येक में गुरुत्वाकर्षण को समझना होगा एक्सेलेरोमीटर की धुरी, इसका क्या अर्थ है, सेंसर की प्रत्येक दिशा पर गुरुत्वाकर्षण त्वरण का प्रक्षेपण हमें कोण के बारे में एक विचार देता है। [angle_accel = arctg(Ay / sqrt(Ax^2 + Az^2))] तो हम एक के बजाय दो सेंसर का उपयोग क्यों करेंगे? दोनों सेंसर गुणों का लाभ उठाने के लिए। यदि आप ग्राफिक को देखें तो जाइरो डेटा लगातार बढ़ता है, इसे ड्रिफ्ट कहा जाता है और एक्सेलेरोमीटर डेटा थोड़े समय में बहुत बदल जाता है। और दोनों सिग्नल को कैसे मर्ज किया जाए? हम पूरक फिल्टर नामक तकनीक का उपयोग करेंगे। मैं इसके पीछे सटीक सिद्धांत नहीं जानता, लेकिन यह ठीक काम करता है। इंटरनेट पर कुछ जानकारी है, अगर आपको अधिक जानकारी चाहिए तो बस इसे गूगल करें। इस लिंक में बहुत सारी जानकारी है और यह उपयोगी हो सकती है।filtered_angle = HPF*(filtered_angle + w* dt) + LPF*(angle_accel); जहां एचपीएफ + एलपीएफ = 1 एचपीएफ और एलपीएफ के मान इस लिंक पर, फिल्टर.पीडीएफ फाइल पर पाए जा सकते हैं। "द DIY सेगवे" से आप लोगों को धन्यवाद। बस परीक्षण के उद्देश्य से हम इस तरह के मान निर्धारित करेंगे, एचपीएफ = 0.98 और एलपीएफ = 0.02।
चरण 4: कोड:
कोड एक कोड से एक अनुकूलन है जिसे मैंने किसी अन्य प्रोजेक्ट पर उपयोग किया था। संभवत: कुछ चर अप्रयुक्त हैं। मैंने https://todbot.com/blog/ से नंचक डेटा पढ़ने के लिए एक पुस्तकालय का उपयोग किया। धन्यवाद टॉड ई. कर्ट। कोड पर टिप्पणियां पुर्तगाली में हैं, जैसे ही मेरे पास खाली समय होगा, मैं इसका अनुवाद करूंगा। कोड आउटपुट इस पैटर्न के साथ सीरियल लाइन को कुछ नंबर देता है: डीटी: डब्ल्यू: टेटा: पिच: filter_teta $time:angular_velocity:gyro_angle:accel_angle:filtered_angle$ तो आप इस मान को सीरियल टर्मिनल पर सहेज सकते हैं और ग्राफिक प्लॉट कर सकते हैं या अन्य चीजों के लिए कोण का उपयोग कर सकते हैं। यदि आपको कोड के बारे में कोई स्पष्टीकरण चाहिए तो पूछने के लिए स्वतंत्र हो गया। कोड है ज़िपित। बस अनज़िप करें, खोलें और इसे अपने arduino पर अपलोड करें।
चरण 5: परीक्षण और निष्कर्ष
सिस्टम का परीक्षण करने के लिए मैंने दीमक नामक प्रोग्राम का उपयोग करके डेटा को सहेजा, फिर इस डेटा को एक्सेल पर आयात करें और ग्राफिक को यह देखने के लिए प्लॉट करें कि मेरा फ़िल्टर कितना अच्छा है। परिणाम आश्चर्यजनक हैं। बेशक आप मोटर या अन्य चीजों को चलाने के लिए सिग्नल का उपयोग कर सकते हैं। कोई टिप्पणी, कोई संदेह, कोई जानकारी गायब है, बस मुझे बताएं और मैं इसे सही करता हूं।कृपया अगर आपको यह पसंद है, तो दर।आप सभी को धन्यवाद।
सिफारिश की:
Arduino का उपयोग करके मोटर गति मापन: 6 चरण
Arduino का उपयोग करके मोटर गति मापन: क्या मोटर के आरपीएम को मापना मुश्किल है ???मुझे ऐसा नहीं लगता। यहाँ एक सरल उपाय है। आपकी किट में केवल एक IR सेंसर और Arduino ऐसा कर सकता है। इस पोस्ट में मैं एक सरल ट्यूटोरियल दूंगा जिसमें बताया गया है कि IR सेंसर और A का उपयोग करके किसी भी मोटर के RPM को कैसे मापें
DIY Visuino अनुक्रम घटक का उपयोग करके सर्वो मोटर कोण को कैसे नियंत्रित करें: 10 कदम
DIY Visuino अनुक्रम घटक का उपयोग करके सर्वो मोटर कोण को कैसे नियंत्रित करें: इस ट्यूटोरियल में हम सर्वो मोटर और Arduino UNO, और Visuino का उपयोग अनुक्रम घटक का उपयोग करके सर्वो मोटर कोण को नियंत्रित करने के लिए करेंगे। अनुक्रम घटक उन स्थितियों के लिए एकदम सही है जहां हम अनुक्रम में कई घटनाओं को ट्रिगर करना चाहते हैं। हमारे मामले में सर्वो मोटर degr
HMC5883 और Arduino नैनो का उपयोग करके चुंबकीय क्षेत्र मापन: 4 चरण
HMC5883 और Arduino Nano का उपयोग करके चुंबकीय क्षेत्र मापन: HMC5883 एक डिजिटल कंपास है जिसे निम्न-क्षेत्र चुंबकीय संवेदन के लिए डिज़ाइन किया गया है। इस डिवाइस में +/- 8 Oe की एक विस्तृत चुंबकीय क्षेत्र रेंज और 160 हर्ट्ज की आउटपुट दर है। HMC5883 सेंसर में ऑटोमैटिक डीगॉसिंग स्ट्रैप ड्राइवर, ऑफ़सेट कैंसिलेशन और
STS21 और Arduino नैनो का उपयोग करके तापमान मापन: 4 चरण
STS21 और Arduino Nano का उपयोग करके तापमान मापन: STS21 डिजिटल तापमान सेंसर बेहतर प्रदर्शन और एक अंतरिक्ष बचत पदचिह्न प्रदान करता है। यह डिजिटल, I2C प्रारूप में कैलिब्रेटेड, रेखीयकृत सिग्नल प्रदान करता है। इस सेंसर का निर्माण CMOSens तकनीक पर आधारित है, जो बेहतर
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: 4 चरण
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: H3LIS331DL, डिजिटल I²C सीरियल इंटरफ़ेस के साथ "नैनो" परिवार से संबंधित एक कम-शक्ति उच्च प्रदर्शन 3-अक्ष रैखिक एक्सेलेरोमीटर है। H3LIS331DL में ± 100g/±200g/±400g के उपयोगकर्ता चयन योग्य पूर्ण पैमाने हैं और यह त्वरण को मापने में सक्षम है