विषयसूची:
- चरण 1: कार्य सिद्धांत
- चरण 2: बिल्ड
- चरण 3: कोडांतरण
- चरण 4: अपना लाइन ट्रैक डिज़ाइन करें
- चरण 5: प्रोग्राम योर कोड
- चरण 6: हो गया
वीडियो: POLOLU QTR 8RC-सेंसर एरे के साथ PID आधारित लाइन फॉलो रोबोट: 6 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
नमस्कार!
यह इंस्ट्रक्शंस पर मेरा पहला लेखन है, और आज मैं आपको सड़क पर ले जाऊंगा, और समझाऊंगा कि QTR-8RC सेंसर सरणी का उपयोग करके रोबोट के बाद एक PID आधारित लाइन को कैसे तैयार किया जाए।
रोबोट के निर्माण पर जाने से पहले, हमें यह समझने की जरूरत है कि पीआईडी क्या कहलाता है,
चरण 1: कार्य सिद्धांत
पीआईडी क्या है??
पीआईडी शब्द आनुपातिक, अभिन्न, व्युत्पन्न के लिए खड़ा है। तो बस, हम पीआईडी को लाइन के साथ शामिल करने के साथ क्या कर रहे हैं, हम रोबोट को लाइन का पालन करने और त्रुटि की गणना करके घुमावों का पता लगाने के लिए एक आदेश दे रहे हैं कि कैसे यह ट्रैक से बहुत दूर चला गया है।
पोलालू दस्तावेजों में उल्लिखित प्रमुख शब्द
आनुपातिक मान रेखा के संबंध में आपके रोबोट की स्थिति के लगभग समानुपाती होता है। यानी, यदि आपका रोबोट ठीक लाइन पर केंद्रित है, तो हम ठीक 0 के आनुपातिक मान की अपेक्षा करते हैं।
इंटीग्रल वैल्यू आपके रोबोट की गति के इतिहास को रिकॉर्ड करती है: यह आनुपातिक शब्द के सभी मानों का योग है जो रोबोट के चलने के बाद से रिकॉर्ड किए गए थे।
व्युत्पन्न आनुपातिक मूल्य के परिवर्तन की दर है।
इस ट्यूटोरियल में, हम केवल Kp और Kd शब्दों के बारे में बात करेंगे, हालाँकि, Ki शब्द का उपयोग करके भी परिणाम प्राप्त किए जा सकते हैं। सेंसर से हमें जो रीडिंग मिल रही हैं, वे न केवल एनालॉग रीडिंग हैं, बल्कि रोबोट की स्थितिगत रीडिंग भी हैं।.so मूल रूप से सेंसर अधिकतम परावर्तन से लेकर न्यूनतम परावर्तन तक के मान 0 से 2500 तक प्रदान करता है, लेकिन साथ ही, यह भी जानकारी प्रदान करता है कि रोबोट लाइन से कितनी दूर फंस गया है।)
अब हमें त्रुटि शब्द पर विचार करने की आवश्यकता है, यह दो मानों के सेटपॉइंट मान और वर्तमान मान का अंतर है। (सेटपॉइंट मान वह रीडिंग है जो लाइनों के शीर्ष पर सेंसर के "सही" प्लेसमेंट से मेल खाती है। और वर्तमान मान सेंसर की तात्कालिक रीडिंग है। उदाहरण के लिए: यदि आप इस सरणी सेंसर का उपयोग कर रहे हैं और 8 सेंसर का उपयोग कर रहे हैं, तो आपको 3500 की स्थितिगत रीडिंग प्राप्त होगी यदि आप स्पॉट पर हैं, तो 0 के आसपास यदि आप बहुत दूर हैं लाइन और लगभग 7000 यदि आप बहुत सही हैं।) हमारा लक्ष्य त्रुटि को शून्य बनाना है। तभी रोबोट सुचारू रूप से लाइन का अनुसरण कर सकता है।
इसके बाद गणना भाग आता है,.
1) त्रुटि की गणना करें।
त्रुटि = सेटपॉइंट मान - वर्तमान मान = 3500 - स्थिति
जैसा कि मैं 8 सेंसर का उपयोग कर रहा हूं। जब रोबोट पूरी तरह से रखा जाता है तो सेंसर 3500 की स्थितिगत रीडिंग देता है। अब जब हमने अपनी त्रुटि की गणना कर ली है, जिस मार्जिन से हमारा रोबोट ट्रैक के पार जाता है, यह हमारे लिए त्रुटि की जांच करने और उसके अनुसार मोटर गति को समायोजित करने का समय है।
2) मोटर्स की समायोजित गति निर्धारित करें।
मोटर स्पीड = केपी * त्रुटि + केडी * (त्रुटि - अंतिम त्रुटि);
अंतिम त्रुटि = त्रुटि;
राइटमोटरस्पीड = राइटबेसस्पीड + मोटरस्पीड;
लेफ्टमोटरस्पीड = लेफ्टबेसस्पीड - मोटरस्पीड;
तार्किक रूप से, 0 की त्रुटि का अर्थ है कि हमारा रोबोट बाईं ओर है, जिसका अर्थ है कि हमारे रोबोट को थोड़ा दाएं जाने की आवश्यकता है, जिसका अर्थ है कि दाएं मोटर को धीमा करने की आवश्यकता है और बाईं मोटर को गति देने की आवश्यकता है। यह पीआईडी है!
MotorSpeed मान समीकरण से ही निर्धारित होता है। राइटबेसस्पीड और लेफ्टबेसस्पीड वे गति हैं (पीडब्लूएम 0-255 का कोई भी मान) जिस पर त्रुटि शून्य होने पर रोबोट चलता है।
मैंने जो कोड संलग्न किया है, उसमें यह भी शामिल है कि सेंसर के स्थितीय मूल्यों की जांच कैसे की जाती है, ताकि आप सीरियल मॉनिटर खोल सकें और कोड अपलोड कर सकें और अपने लिए एक लाइन के साथ देख सकें कि जब स्थिति बदलती है तो मोटर कैसे घूमते हैं।
यदि आप अपने रोबोट को लागू करते समय परेशानी में पड़ जाते हैं, तो बस जांचें कि क्या समीकरणों के संकेतों को बदलकर देखें !!!
और अब सबसे कठिन हिस्सा फाइंडिंग केपी और केडी, मुझे अपने रोबोट को पूरी तरह से ट्यून करने के लिए 1 घंटे से अधिक समय बिताना पड़ा। यादृच्छिक मान डालने के बजाय मुझे इसे निर्धारित करने के लिए एक आसान तरीका मिला।
- केपी और केडी के बराबर 0 से शुरू करें, और केपी से शुरू करें, पहले केपी को 1 पर सेट करने का प्रयास करें और रोबोट का निरीक्षण करें, हमारा लक्ष्य लाइन का अनुसरण करना है, भले ही वह डगमगाने वाली हो, अगर रोबोट ओवरशूट करता है और लाइन खो देता है तो केपी मान कम करें.अगर रोबोट एक मोड़ पर नेविगेट नहीं कर सकता है और सुस्त होने से Kp मान बढ़ जाता है।
- एक बार जब रोबोट कुछ हद तक लाइन का पालन करता है तो केडी वैल्यू (केडी वैल्यू> केपी वैल्यू) को 1 से शुरू करें और वैल्यू को तब तक बढ़ाएं जब तक कि आप कम वॉबलिंग के साथ एक चिकनी ड्राइव न देखें।
- एक बार जब रोबोट लाइन का पालन करना शुरू कर देता है, तो गति बढ़ाएं और देखें कि क्या वह लाइन को बनाए रखने और उसका पालन करने में सक्षम है।
ध्यान रखें कि गति का PID ट्यूनिंग पर सीधा प्रभाव पड़ता है और आपको कभी-कभी अपने रोबोट की गति से मेल खाने के लिए फिर से ट्यून करने की आवश्यकता हो सकती है।
अब हम अपने रोबोट के निर्माण के लिए नीचे उतर सकते हैं।
चरण 2: बिल्ड
USB केबल के साथ Arduino atmega 2560-इसका उपयोग किया जाने वाला मुख्य माइक्रोकंट्रोलर है।
चेसिस- रोबोट चेसिस के लिए मैंने 2 गोलाकार ऐक्रेलिक प्लेटों का उपयोग किया है जो किसी अन्य प्रोजेक्ट के लिए उपयोग की जाती हैं जो इसके लिए एकदम सही है। नट और स्क्रू का उपयोग करके मैंने 2 मंजिला चेसिस बनाया है, ताकि मैं ऊपरी प्लेट में अन्य मॉड्यूल संलग्न कर सकूं। या आप उपलब्ध तैयार चेसिस का उपयोग कर सकते हैं।
www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…
माइक्रोमेटल गियर मोटर्स- रोबोट को पीआईडी रूटीन से निपटने के लिए तेजी से घूमने वाली मोटरों की आवश्यकता होती है, इसके लिए मैंने 6V 400rpm पर रेटेड मोटर्स और उपयुक्त ग्रिपी व्हील्स का उपयोग किया है।
www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…
www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…
QTR 8Rc सेंसर ऐरे-इसका उपयोग लाइन ट्रैकिंग के लिए किया जा सकता है, जैसा कि पहले उल्लेख किया गया है, मुझे लगता है कि अब आपको PID के साथ सेंसर सरणी को संचालित करने की स्पष्ट समझ मिल गई है। कोड बहुत सरल है और मौजूदा arduino पुस्तकालयों का उपयोग करके आप सक्षम होंगे एक त्वरित लाइन अनुयायी बनाने के लिए।
www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…
TB6612FNG मोटर ड्राइवर- मैं एक ऐसे मोटर ड्राइवर का उपयोग करना चाहता था जो एक झटके में मोड़ और दिशा बदल सकता है, जो PWM सिग्नल कम होने पर मोटर्स को प्रभावी ढंग से ब्रेक लगाने में सक्षम है।
www.ebay.com/itm/Pololu-Dual-DC-Motor-Div…
लाइपो बैटरी- 11.1V लाइपो बैटरी का उपयोग रोबोट को शक्ति प्रदान करने के लिए किया जाता है। हालाँकि मैंने 11.1 V लाइपो बैटरी का उपयोग किया है, यह क्षमता arduino और मोटर्स के लिए आवश्यक से अधिक है। यदि आप एक हल्के वजन वाले 7.4V पा सकते हैं लाइपो बैटरी या 6V Ni-MH बैटरी पैक यह एकदम सही होगा। इस कारण से मुझे वोल्टेज को 6V में बदलने के लिए एक हिरन कनवर्टर का उपयोग करना होगा।
11.1वी-
७.४ वी-
बक कनवर्टर मॉड्यूल-
इसके अलावा आपको जम्पर वायर, नट और बोल्ट, स्क्रूड्रिवर और बिजली के टेप की जरूरत है और यह सुनिश्चित करने के लिए कि सब कुछ ठीक है।
चरण 3: कोडांतरण
नट और स्क्रू का उपयोग करके एक प्लेट में मोटर्स और एक छोटा ढलाईकार पहिया संलग्न करें और फिर चेसिस पर क्यूटीआर सेंसर, मोटर चालक, आर्डिनो बोर्ड और अंत में बैटरी को माउंट करें।
यहां एक संपूर्ण आरेख है जो मुझे इंटरनेट पर मिला है, जो आपको बताता है कि कनेक्शन कैसे बनाए जाने चाहिए।
चरण 4: अपना लाइन ट्रैक डिज़ाइन करें
अब आपकी परियोजना लगभग समाप्त हो गई है। अंतिम चरण के लिए आपको अपने रोबोट का परीक्षण करने के लिए एक छोटा सा क्षेत्र होना चाहिए। मैंने एक काले रंग की पृष्ठभूमि पर चौड़ाई 3 सेमी सफेद रेखा की यादृच्छिक रेखा का उपयोग किया है। सुनिश्चित करें कि आपने सब कुछ अच्छी तरह से चिपकाया है। और कुछ समय के लिए 90 डिग्री कोण के क्रॉस और क्रॉससेक्शन से बचें, क्योंकि यह कोडिंग के मामले में एक जटिल मामला है।
चरण 5: प्रोग्राम योर कोड
1. Arduino डाउनलोड और इंस्टॉल करें
डेस्कटॉप आईडीई
· विंडोज़ -
· मैक ओएस एक्स -
· लिनक्स -
2. डाउनलोड करें और Arduino लाइब्रेरी फ़ोल्डर में QTR 8 RC सेंसर सरणी फ़ाइल पेस्ट करें।
·
फ़ाइलों को पथ में चिपकाएँ - C:\Arduino\पुस्तकालय
3. डाउनलोड करें और LINEFOLLOWING.ino खोलें
4. USB केबल के माध्यम से कोड को arduino बोर्ड पर अपलोड करें
चरण 6: हो गया
अब आपके पास अपने द्वारा बनाए गए रोबोट के बाद एक लाइन है।
आशा है कि यह ट्यूटोरियल मददगार था। अगर आपको कोई समस्या है तो [email protected] के माध्यम से मुझसे संपर्क करने में संकोच न करें।
जल्द ही मिलते हैं एक और नए प्रोजेक्ट के साथ।
निर्माण का आनंद लें !!
सिफारिश की:
मौसम आधारित संगीत जेनरेटर (ESP8266 आधारित मिडी जेनरेटर): 4 चरण (चित्रों के साथ)
वेदर बेस्ड म्यूजिक जेनरेटर (ESP8266 बेस्ड मिडी जेनरेटर): हाय, आज मैं आपको बताऊंगा कि कैसे अपना खुद का छोटा वेदर बेस्ड म्यूजिक जेनरेटर बनाया जाता है। यह ESP8266 पर आधारित है, जो एक Arduino की तरह है, और यह तापमान, बारिश पर प्रतिक्रिया करता है और प्रकाश की तीव्रता। यह उम्मीद न करें कि यह संपूर्ण गीत या राग कार्यक्रम बना देगा
एक प्रभावशाली लकड़ी के रोबोट आर्म को कैसे असेंबल करें (भाग 2: बाधा से बचने के लिए रोबोट) - माइक्रो पर आधारित: बिट: 3 चरण
एक प्रभावशाली लकड़ी के रोबोट आर्म को कैसे असेंबल करें (भाग 2: बाधा से बचने के लिए रोबोट) - माइक्रो पर आधारित: बिट: पहले हमने आर्मबिट को लाइन-ट्रैकिंग मोड में पेश किया था। अगला, हम परिचय देते हैं कि बाधा मोड से बचने के लिए आर्मबिट कैसे स्थापित करें
एक प्रभावशाली लकड़ी के रोबोट आर्म को कैसे इकट्ठा करें (भाग 1: लाइन-ट्रैकिंग के लिए रोबोट) - माइक्रो पर आधारित: बिट: 9 चरण
कैसे एक प्रभावशाली लकड़ी के रोबोट आर्म को इकट्ठा करें (भाग 1: लाइन-ट्रैकिंग के लिए रोबोट) - माइक्रो पर आधारित: बिट: इस लकड़ी के आदमी के तीन रूप हैं, यह बहुत अलग और प्रभावशाली है। तो चलिए एक एक करके इसमें आते हैं
Arduino पर आधारित लाइट फॉलो और अवॉइडिंग रोबोट: 5 स्टेप्स
Arduino पर आधारित लाइट फॉलो और अवॉइडिंग रोबोट: यह एक सरल प्रोजेक्ट है जो लाइट का अनुसरण करता है या उससे बचता है। मैंने इस सिमुलेशन को प्रोटियस 8.6 प्रो में बनाया है। आवश्यक घटक: -1) Arduino uno.2) 3 LDR.3) 2 डीसी गियर मोटर्स। 4) एक सर्वो.5) तीन 1k प्रतिरोधक.6) एक एच-ब्रिज l290D7) एक चालू & बंद स्विच [एफ
कैमरा के साथ DIY स्मार्ट फॉलो मी ड्रोन (Arduino आधारित): 22 कदम (चित्रों के साथ)
DIY स्मार्ट फॉलो मी ड्रोन विद कैमरा (अरुडिनो आधारित): ड्रोन इन दिनों बहुत लोकप्रिय खिलौने और उपकरण हैं। आप बाजार में पेशेवर और यहां तक कि शुरुआती ड्रोन और उड़ने वाले गैजेट पा सकते हैं। मेरे पास चार ड्रोन (क्वाडकॉप्टर और हेक्सकॉप्टर) हैं, क्योंकि मुझे उड़ने वाली हर चीज से प्यार है, लेकिन 200 वीं उड़ान नहीं है