विषयसूची:

रोबोट के बाद उन्नत लाइन: 22 कदम (चित्रों के साथ)
रोबोट के बाद उन्नत लाइन: 22 कदम (चित्रों के साथ)

वीडियो: रोबोट के बाद उन्नत लाइन: 22 कदम (चित्रों के साथ)

वीडियो: रोबोट के बाद उन्नत लाइन: 22 कदम (चित्रों के साथ)
वीडियो: क्या दुनिया पर Robot's का राज होगा? 3 Amazing Facts You Really Must Know. #shorts #actonfact #robot 2024, जुलाई
Anonim
Image
Image
प्रोटोटाइपिंग - परफ़बोर्ड
प्रोटोटाइपिंग - परफ़बोर्ड

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

इस रोबोट का निर्माण शुरू करने के लिए, आपको निम्नलिखित आपूर्ति की आवश्यकता होगी (और आपके निपटान में बहुत समय और धैर्य)।

आपूर्ति

इलेक्ट्रानिक्स

  • टेन्सी 3.6 विकास बोर्ड
  • मोशन सेंसर के साथ प्रोप शील्ड
  • स्पार्कफन टेन्सी व्यू
  • Pololu QTRX-MD-16A परावर्तन सेंसर सरणी
  • 15x20cm डबल-साइड प्रोटोटाइप पीसीबी
  • पोलोलू स्टेप-अप / स्टेप-डाउन वोल्टेज रेगुलेटर S9V11F3S5
  • पोलोलू एडजस्टेबल 4-5-20V स्टेप-अप वोल्टेज रेगुलेटर U3V70A
  • MP12 6V 1580 rpm माइक्रो गियर मोटर एनकोडर के साथ (x2)
  • DRV8833 डुअल मोटर ड्राइवर कैरियर (x2)
  • 3.7 वी, 750 एमएएच ली-पो बैटरी
  • चालु / बंद स्विच
  • इलेक्ट्रोलाइटिक कैपेसिटर 470uF
  • इलेक्ट्रोलाइटिक कैपेसिटर 1000uF (x2)
  • सिरेमिक कैपेसिटर 0.1uF (x5)
  • पुशबटन (x3)
  • 10 मिमी ग्रीन एलईडी (x2)

हार्डवेयर

  • परमाणु सिलिकॉन व्हील 37x34 मिमी (x2)
  • पोलोलू बॉल ढलाईकार 3/8”धातु बॉल. के साथ
  • N20 मोटर माउंट (x2)
  • बोल्ट और नट

केबल्स और कनेक्टर

  • 24AWG लचीले तार
  • 24 पिन एफएफसी से डीआईपी ब्रेकआउट और एफएफसी केबल (टाइप ए, 150 मिमी लंबाई)
  • गोल महिला पिन हैडर
  • गोल महिला पिन हैडर लंबा टर्मिनल
  • समकोण दोहरी पंक्ति महिला शीर्षलेख
  • समकोण दोहरी पंक्ति पुरुष शीर्षलेख
  • पुरुष पिन हैडर
  • पुरुष सुई पिन हैडर

उपकरण

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

चरण 1: सिस्टम अवलोकन

सेल्फ-बैलेंसिंग रोबोट के मेरे पहले के डिजाइन के साथ, यह रोबोट एक परफ़ॉर्मर पर लगे ब्रेकआउट बोर्ड का एक संयोजन है जो एक संरचना के उद्देश्य को भी पूरा करता है।

रोबोट की प्रमुख प्रणालियों की रूपरेखा नीचे दी गई है।

माइक्रोकंट्रोलर: टेन्सी 3.6 डेवलपमेंट बोर्ड जिसमें 32-बिट 180 मेगाहर्ट्ज एआरएम कोर्टेक्स-एम 4 प्रोसेसर है।

लाइन सेंसर: पोलोलू का QTRX-MD-16A 16-चैनल एनालॉग आउटपुट लाइन सेंसर ऐरे इन मीडियम-डेंसिटी अरेंजमेंट (8mm सेंसर पिच)।

ड्राइव: 6V, 1580rpm, मैग्नेटिक व्हील एनकोडर के साथ हाई पावर माइक्रो मेटल गियर मोटर्स और एल्युमीनियम हब पर लगे सिलिकॉन व्हील।

ओडोमेट्री: निर्देशांक और तय की गई दूरी का अनुमान लगाने के लिए चुंबकीय पहिया एन्कोडर जोड़े।

ओरिएंटेशन सेंसर: रोबोट की स्थिति और हेडिंग का अनुमान लगाने के लिए मोशन सेंसर के साथ प्रोप शील्ड।

बिजली की आपूर्ति: 3.7 वी, 750 एमएएच लाइपो बैटरी शक्ति स्रोत के रूप में। 3.3V स्टेप-अप / डाउन रेगुलेटर माइक्रोकंट्रोलर, सेंसर और डिस्प्ले डिवाइस को पावर देता है। एडजस्टेबल स्टेप-अप रेगुलेटर दो मोटर्स को पावर देता है।

यूजर इंटरफेस: जानकारी प्रदर्शित करने के लिए Teensyview। उपयोगकर्ता इनपुट स्वीकार करने के लिए तीन-पुशबटन ब्रेकआउट। चलते समय स्थिति संकेत के लिए 10 मिमी व्यास वाली हरी एलईडी की दो संख्या।

चरण 2: आइए प्रोटोटाइपिंग शुरू करें

Image
Image

हम उपरोक्त सर्किट को परफ़ॉर्मर पर लागू करेंगे। हमें सबसे पहले अपने ब्रेकआउट बोर्ड्स को हेडर्स लगाकर तैयार रखना होगा। वीडियो एक विचार प्रदान करेगा कि किस हेडर को किस ब्रेकआउट बोर्ड पर मिलाया जाना चाहिए।

ब्रेकआउट बोर्डों पर हेडर को टांका लगाने के बाद, टेन्सीव्यू और पुशबटन ब्रेकआउट को टेनेसी के शीर्ष पर स्टैक करें।

चरण 3: प्रोटोटाइप - परफ़बोर्ड

प्रोटोटाइपिंग - परफ़बोर्ड
प्रोटोटाइपिंग - परफ़बोर्ड

15x20cm डबल साइड प्रोटोटाइप परफ़ॉर्म प्राप्त करें और चित्र में दिखाए अनुसार एक स्थायी मार्कर के साथ सीमा को चिह्नित करें। सफेद सर्कल के साथ चिह्नित स्थानों पर सेंसर सरणी, ढलाईकार पहिया, और सूक्ष्म धातु गियर मोटर्स को माउंट करने के लिए एम 2 आकार के छेद ड्रिल करें। हम बाद में सभी घटकों को मिलाने और परीक्षण करने के बाद सीमा के साथ परफ़ॉर्मर को काट देंगे।

हम हेडर पिन और सॉकेट को परफ़ॉर्मर पर सोल्डर करके अपना प्रोटोटाइप शुरू करेंगे। ब्रेकआउट बोर्ड बाद में इन हेडर पर डाले जाएंगे। परफ़ॉर्मर पर हेडर की स्थिति पर ध्यान दें. हम हेडर के इस लेआउट के आधार पर सभी तारों को जोड़ेंगे।

चरण 4: प्रोटोटाइप - प्रोप शील्ड

प्रोटोटाइपिंग - प्रोप शील्ड
प्रोटोटाइपिंग - प्रोप शील्ड
प्रोटोटाइपिंग - प्रोप शील्ड
प्रोटोटाइपिंग - प्रोप शील्ड
प्रोटोटाइपिंग - प्रोप शील्ड
प्रोटोटाइपिंग - प्रोप शील्ड
प्रोटोटाइपिंग - प्रोप शील्ड
प्रोटोटाइपिंग - प्रोप शील्ड

हम पहले प्रोप शील्ड के कनेक्शन को मिलाप करेंगे। चूंकि हम केवल प्रोप शील्ड के मोशन सेंसर का उपयोग कर रहे हैं, इसलिए हमें प्रोप शील्ड के 3V और ग्राउंड पिन के अलावा केवल SCL, SDA और IRQ पिन कनेक्ट करने की आवश्यकता है।

एक बार कनेक्शन पूरा हो जाने पर, यहां बताए गए चरणों का पालन करके टेन्सी और प्रोप शील्ड डालें और मोशन सेंसर को कैलिब्रेट करें।

चरण 5: प्रोटोटाइप - पावर और ग्राउंड

प्रोटोटाइप - पावर और ग्राउंड
प्रोटोटाइप - पावर और ग्राउंड

चित्र के संदर्भ में सभी शक्ति और जमीनी कनेक्शनों को मिलाएं। सभी ब्रेकआउट बोर्ड जगह में लगाएं और मल्टीमीटर का उपयोग करके निरंतरता सुनिश्चित करें। बोर्ड पर विभिन्न वोल्टेज स्तरों की जाँच करें।

  • ली-पीओ आउटपुट वोल्टेज (आमतौर पर 3V और 4.2V के बीच)
  • स्टेप-अप / डाउन रेगुलेटर आउटपुट वोल्टेज (3.3V)
  • एडजस्टेबल स्टेप-अप रेगुलेटर आउटपुट वोल्टेज (6V पर सेट)

चरण 6: प्रोटोटाइप - मोटर चालक वाहक

प्रोटोटाइप - मोटर चालक वाहक
प्रोटोटाइप - मोटर चालक वाहक
प्रोटोटाइप - मोटर चालक वाहक
प्रोटोटाइप - मोटर चालक वाहक
प्रोटोटाइप - मोटर चालक वाहक
प्रोटोटाइप - मोटर चालक वाहक

DRV8833 डुअल मोटर ड्राइवर कैरियर बोर्ड प्रति चैनल 1.2A निरंतर और 2A पीक करंट डिलीवर कर सकता है। हम एक मोटर चलाने के लिए दो चैनलों को समानांतर में जोड़ेंगे। नीचे दिए गए चरणों का पालन करके कनेक्शनों को मिलाएं।

  • जैसा कि चित्र में दिखाया गया है, मोटर चालक वाहक के दो इनपुट और दो आउटपुट के समानांतर।
  • इनपुट नियंत्रण तारों को मोटर चालक से कनेक्ट करें।
  • दो वाहक बोर्डों के विन और जीएनडी टर्मिनलों में एक 1000uF इलेक्ट्रोलाइटिक कैपेसिटर और एक 0.1uF सिरेमिक कैपेसिटर कनेक्ट करें।
  • मोटर ड्राइवर आउटपुट टर्मिनलों में 0.1uF सिरेमिक कैपेसिटर कनेक्ट करें।

चरण 7: प्रोटोटाइप - लाइन सेंसर ऐरे हैडर

प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर
प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर
प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर
प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर
प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर
प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर
प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर
प्रोटोटाइपिंग - लाइन सेंसर ऐरे हैडर

Teensy 3.6 में दो ADCs - ADC0 और ADC1 हैं जो 25 सुलभ पिन से मल्टीप्लेक्स किए गए हैं। हम एक ही समय में दो एडीसी से किन्हीं दो पिनों को एक्सेस कर सकते हैं। हम आठ लाइन सेंसर को ADC0 और ADC1 से जोड़ेंगे। सम संख्या वाले सेंसर ADC1 से और विषम संख्या वाले सेंसर ADC0 से जुड़े होंगे। नीचे दिए गए चरणों का पालन करके कनेक्शनों को मिलाएं। हम बाद में FFC का उपयोग करके लाइन सेंसर को DIP अडैप्टर और केबल से कनेक्ट करेंगे।

  • चित्र में दिखाए अनुसार सभी सम सेंसर पिन (16, 14, 12, 10, 8, 6, 4, 2) कनेक्ट करें। सेंसर पिन 12 को जोड़ने के लिए तार को परफ़ॉर्मर के रिवर्स साइड से रूट करें।
  • एमिटर कंट्रोल पिन (EVEN) को टेन्सी पिन 30 से कनेक्ट करें।
  • चित्र में दिखाए अनुसार सभी विषम सेंसर पिन (15, 13, 11, 9, 7, 5, 3, 1) कनेक्ट करें।
  • Vcc और Gnd के बीच एक 470uF इलेक्ट्रोलाइटिक कैपेसिटर कनेक्ट करें।

यदि आप परबोर्ड पर लाइन सेंसर पिन और उनके संबंधित हेडर पिन को बारीकी से देखते हैं, तो आप देखेंगे कि लाइन सेंसर की शीर्ष पंक्ति परबोर्ड पर हेडर की निचली पंक्ति को मैप करती है और इसके विपरीत। ऐसा इसलिए है क्योंकि जब हम दोहरी पंक्ति समकोण हेडर का उपयोग करके लाइन सेंसर को परफ़बोर्ड से जोड़ते हैं, तो पंक्तियाँ सही ढंग से संरेखित होंगी। मुझे यह पता लगाने और कार्यक्रम में पिन असाइनमेंट को ठीक करने में काफी समय लगा।

चरण 8: प्रोटोटाइपिंग - माइक्रो गियर मोटर और एनकोडर

प्रोटोटाइपिंग - माइक्रो गियर मोटर और एनकोडर
प्रोटोटाइपिंग - माइक्रो गियर मोटर और एनकोडर
  • N20 मोटर माउंट का उपयोग करके एनकोडर के साथ माइक्रो मेटल गियर मोटर को ठीक करें।
  • चित्र में दिखाए अनुसार मोटर और एन्कोडर तारों को कनेक्ट करें।
  • बायां एन्कोडर - टेन्सी पिन 4 और 0
  • दायां एन्कोडर - टेन्सी पिन 9 और 27

चरण 9: प्रोटोटाइप - एल ई डी

प्रोटोटाइप - एल ई डी
प्रोटोटाइप - एल ई डी
प्रोटोटाइप - एल ई डी
प्रोटोटाइप - एल ई डी

दो एल ई डी इंगित करते हैं कि रोबोट ने एक मोड़ का पता लगाया है या नहीं। मैंने एलईडी को टेनेसी से जोड़ने के लिए 470-ओम श्रृंखला अवरोधक का उपयोग किया है।

  • लेफ्ट एलईडी एनोड टू टेन्सी पिन 6
  • टेन्सी पिन के लिए दायां एलईडी एनोड 8

चरण 10: प्रोटोटाइपिंग - ब्रेकआउट्स

Image
Image
प्रोटोटाइपिंग - ब्रेकआउट्स
प्रोटोटाइपिंग - ब्रेकआउट्स

अब जब हमने अपने सभी सोल्डरिंग को परफ़ॉर्मर पर पूरा कर लिया है, तो हम परफ़बोर्ड पर चिह्नित सीमा के साथ सावधानी से कट कर सकते हैं और परफ़ॉर्म के अतिरिक्त बिट्स को हटा सकते हैं। इसके अलावा, दो पहियों और ढलाईकार पहिया को संलग्न करें।

सभी ब्रेकआउट बोर्डों को उनके संबंधित सॉकेट में डालें। FFC-DIP ब्रेकआउट डालने के लिए और QTRX-MD-16A लाइन सेंसर को ठीक करने के लिए, वीडियो देखें।

चरण 11: सॉफ्टवेयर पुस्तकालय अवलोकन

सॉफ्टवेयर पुस्तकालय अवलोकन
सॉफ्टवेयर पुस्तकालय अवलोकन

हम Arduino IDE में Teensy को प्रोग्राम करेंगे। शुरू करने से पहले हमें कुछ पुस्तकालयों की आवश्यकता होगी। जिन पुस्तकालयों का हम उपयोग करेंगे वे हैं:

  • एनकोडर
  • टेन्सीव्यू
  • ईईपीरोम
  • एडीसी
  • एनएक्सपीमोशन सेंस

और कुछ जो विशेष रूप से इस रोबोट के लिए लिखे गए हैं,

  • दबाने वाला बटन
  • लाइन सेंसर
  • टीन्सीव्यूमेनू
  • मोटर्स

इस रोबोट के लिए विशिष्ट पुस्तकालयों पर विस्तार से चर्चा की गई है और अगले चरणों में डाउनलोड के लिए उपलब्ध हैं।

चरण 12: पुस्तकालयों की व्याख्या - पुशबटन

यह लाइब्रेरी पुशबटन ब्रेकआउट बोर्ड को टेन्सी के साथ इंटरफेस करने के लिए है। उपयोग किए जाने वाले कार्य हैं

पुशबटन (इंट लेफ्टबटनपिन, इंट सेंटरबटनपिन, इंट राइटबटनपिन);

ऑब्जेक्ट बनाकर इस कंस्ट्रक्टर को कॉल करना पुशबटन पिन को INPUT_PULLUP मोड में कॉन्फ़िगर करता है।

int8_t प्रतीक्षाफोरबटनप्रेस (शून्य);

यह फ़ंक्शन तब तक प्रतीक्षा करता है जब तक कि एक बटन दबाया और जारी नहीं किया जाता है और कुंजी कोड लौटाता है।

int8_t getSingleButtonPress (शून्य);

यह फ़ंक्शन जांचता है कि कोई बटन दबाया और छोड़ा गया है या नहीं। यदि हाँ, तो कुंजी कोड लौटाता है अन्यथा शून्य लौटाता है।

चरण 13: पुस्तकालयों की व्याख्या - लाइन सेंसर

LineSensor, Tensy के साथ लाइन सेंसर ऐरे को इंटरफेस करने के लिए लाइब्रेरी है। निम्नलिखित कार्यों का उपयोग किया जाता है।

लाइन सेंसर (शून्य);

ऑब्जेक्ट बनाकर इस कंस्ट्रक्टर को कॉल करना ADC0 और ADC1 को इनिशियलाइज़ करता है, EEPROM से थ्रेशोल्ड, न्यूनतम और अधिकतम मान पढ़ता है और सेंसर पिन को इनपुट मोड और एमिटर कंट्रोल पिन को आउटपुट मोड में कॉन्फ़िगर करता है।

शून्य जांचना (uint8_t अंशांकन मोड);

यह फ़ंक्शन लाइन सेंसर को कैलिब्रेट करता है। अंशांकन मोड या तो MIN_MAX या MEDIAN_FILTER हो सकता है। इस फ़ंक्शन को बाद के चरण में विस्तार से समझाया गया है।

शून्य getSensorsAnalog (uint16_t * sensorValue, uint8_t मोड);

तर्क के रूप में पारित तीन मोड में से किसी में सेंसर सरणी पढ़ता है। मोड उत्सर्जक की स्थिति है और इसे चालू, बंद या टॉगल किया जा सकता है। टॉगल मोड परिवेशी प्रकाश के कारण परावर्तन के सेंसर रीडिंग की भरपाई करता है। ADC0 और ADC1 से जुड़े सेंसर समकालिक रूप से पढ़े जाते हैं।

int getLinePosition (uint16_t * sensorValue);

भारित औसत विधि द्वारा लाइन पर सेंसर सरणी की स्थिति की गणना करता है।

uint16_t getSensorsBinary(uint16_t *sensorValue);

सेंसर की स्थिति का 16-बिट प्रतिनिधित्व देता है। एक बाइनरी इंगित करता है कि सेंसर लाइन के ऊपर है और एक बाइनरी शून्य इंगित करता है कि सेंसर लाइन से बाहर है।

uint8_t गिनती बाइनरी (uint16_t बाइनरीवैल्यू);

इस फ़ंक्शन के लिए सेंसर मानों के 16-बिट प्रतिनिधित्व को पास करने से लाइन के ऊपर सेंसर की संख्या वापस आ जाती है।

शून्य getSensorsNormalized (uint16_t * sensorValue, uint8_t मोड);

सेंसर मानों को पढ़ता है और प्रत्येक सेंसर मान को उसके संबंधित न्यूनतम और अधिकतम मानों तक सीमित करता है। सेंसर मान तब उनके संबंधित न्यूनतम से अधिकतम सीमा से 0 से 1000 रेंज तक मैप किए जाते हैं।

चरण 14: पुस्तकालयों की व्याख्या - TeensyviewMenu

TeensyviewMenu वह पुस्तकालय है जहाँ प्रदर्शन मेनू के कार्यों तक पहुँचा जा सकता है। निम्नलिखित कार्यों का उपयोग किया जाता है।

TeensyViewMenu (शून्य);

इस कंस्ट्रक्टर को कॉल करने से क्लास लाइनसेंसर, पुशबटन और टेनेसी व्यू का ऑब्जेक्ट बनता है।

शून्य परिचय (शून्य);

यह मेनू नेविगेट करने के लिए है।

शून्य परीक्षण (शून्य);

इसे मेनू के भीतर आंतरिक रूप से कहा जाता है जब परीक्षण के लिए टेन्सीव्यू पर लाइन सेंसर मान प्रदर्शित किए जाने होते हैं।

चरण 15: पुस्तकालयों की व्याख्या - मोटर्स

मोटर्स पुस्तकालय है जिसका उपयोग दो मोटरों को चलाने के लिए किया जाता है। निम्नलिखित कार्यों का उपयोग किया जाता है।

मोटर्स (शून्य);

ऑब्जेक्ट बनाकर इस कंस्ट्रक्टर को कॉल करना मोटर दिशा नियंत्रण और PWM नियंत्रण पिन को आउटपुट मोड में कॉन्फ़िगर करता है।

शून्य सेटस्पीड (इंट लेफ्टमोटरस्पीड, इंट राइटमोटरस्पीड);

इस फ़ंक्शन को कॉल करने से दो मोटरों को तर्क के रूप में पारित गति से चलाया जाता है। गति का मान -255 से +255 तक हो सकता है, जिसमें एक ऋणात्मक चिन्ह होता है जो दर्शाता है कि रोटेशन की दिशा उलट गई है।

चरण 16: परीक्षण - एनकोडर ओडोमेट्री

हम चुंबकीय पहिया एन्कोडर्स का परीक्षण करेंगे और रोबोट द्वारा तय की गई स्थिति और दूरी को प्रदर्शित करेंगे।

DualEncoderTeensyview.ino अपलोड करें। कार्यक्रम Teensyview पर एन्कोडर टिक प्रदर्शित करता है। यदि आप रोबोट को आगे बढ़ाते हैं और यदि आप इसे पीछे की ओर ले जाते हैं तो एनकोडर इंक्रीमेंट पर टिक करता है।

अब EncoderOdometry.ino अपलोड करें। यह प्रोग्राम रोबोट की स्थिति को x-y निर्देशांक के रूप में प्रदर्शित करता है, सेंटीमीटर में तय की गई कुल दूरी और डिग्री में घुमाए गए कोण को प्रदर्शित करता है।

मैंने एनकोडर टिक से स्थिति निर्धारित करने के लिए सिएटल रोबोटिक्स सोसाइटी द्वारा आर/सी सर्वो डिफरेंशियल ड्राइव के साथ रोबोट पर ओडोमेट्री द्वारा कार्यान्वित डेड रेकनिंग को संदर्भित किया है।

चरण 17: परीक्षण - प्रोप शील्ड मोशन सेंसर

सुनिश्चित करें कि आपने यहां बताए गए चरणों का पालन करके गति संवेदकों को कैलिब्रेट किया है।

अब PropShieldTeensyView.ino अपलोड करें। आपको Teensyview पर तीनों अक्षों के एक्सेलेरोमीटर, जाइरो और मैग्नेटोमीटर मान देखने में सक्षम होना चाहिए।

चरण 18: कार्यक्रम अवलोकन

उन्नत लाइन अनुयायी के लिए कार्यक्रम Arduino IDE में लिखा गया है। कार्यक्रम नीचे बताए गए क्रम में काम करता है।

  • EEPROM में संग्रहीत मान पढ़े जाते हैं और मेनू प्रदर्शित होता है।
  • LAUNCH दबाने पर प्रोग्राम लूप में प्रवेश करता है।
  • सामान्यीकृत लाइन सेंसर मान पढ़े जाते हैं।
  • लाइन स्थिति का बाइनरी मान सामान्यीकृत सेंसर मानों का उपयोग करके प्राप्त किया जाता है।
  • लाइन के ऊपर लगे सेंसर की संख्या की गणना लाइन स्थिति के बाइनरी मान से की जाती है।
  • एन्कोडर टिक अपडेट किए जाते हैं और कुल दूरी तय की जाती है, x-y निर्देशांक और कोण अपडेट किए जाते हैं।
  • 0 से 16 तक के बाइनरी काउंट के विभिन्न मूल्यों के लिए, निर्देशों का एक सेट निष्पादित किया जाता है। यदि बाइनरी काउंट 1 से 5 की रेंज में हो और लाइन के ऊपर लगे सेंसर एक दूसरे से सटे हों, तो पीआईडी रूटीन कहलाता है। रोटेशन बाइनरी वैल्यू और बाइनरी काउंट के अन्य संयोजनों में किया जाता है।
  • पीआईडी रूटीन (जो वास्तव में एक पीडी रूटीन है) में, मोटरों को त्रुटि, त्रुटि में परिवर्तन, केपी और केडी मानों के आधार पर गणना की गई गति से चलाया जाता है।

वर्तमान में कार्यक्रम प्रोप शील्ड से अभिविन्यास मूल्यों को नहीं मापता है। यह एक कार्य प्रगति पर है और इसे अद्यतन किया जा रहा है।

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

चरण 19: मेनू और सेटिंग्स नेविगेट करना

मेनू में निम्नलिखित सेटिंग्स हैं जिन्हें बाएं और दाएं पुशबटन का उपयोग करके नेविगेट किया जा सकता है और केंद्र पुशबटन का उपयोग करके चुना जा सकता है। सेटिंग्स और उनके कार्यों का वर्णन नीचे किया गया है।

  1. कैलिब्रेट करें: लाइन सेंसर को कैलिब्रेट करने के लिए।
  2. परीक्षण: लाइन सेंसर मान प्रदर्शित करने के लिए।
  3. लॉन्च: निम्नलिखित लाइन शुरू करने के लिए।
  4. अधिकतम गति: रोबोट की गति की ऊपरी सीमा निर्धारित करने के लिए।
  5. रोटेट स्पीड: रोबोट की गति की ऊपरी सीमा निर्धारित करने के लिए जब वह एक मोड़ करता है यानी जब दोनों पहिये विपरीत दिशाओं में समान गति से मुड़ते हैं।
  6. केपी: आनुपातिक स्थिरांक।
  7. केडी: व्युत्पन्न स्थिरांक।
  8. रन मोड: दो ऑपरेटिंग मोड - नॉर्मल और एसीसीएल के बीच चयन करने के लिए। सामान्य मोड में, रोबोट लाइन स्थिति मानों के अनुरूप पूर्वनिर्धारित गति से चलता है। एसीसीएल मोड में, रोबोट की मैक्स स्पीड को ट्रैक के पूर्वनिर्धारित चरणों में एसीसीएल स्पीड द्वारा प्रतिस्थापित किया जाता है। इसका उपयोग ट्रैक के सीधे हिस्सों में रोबोट को गति देने के लिए किया जा सकता है। निम्नलिखित सेटिंग्स केवल तभी पहुंच योग्य होती हैं जब रन मोड को एसीसीएल के रूप में सेट किया जाता है।
  9. LAP DISTANCE: रेस ट्रैक की कुल लंबाई निर्धारित करने के लिए।
  10. ACCL गति: रोबोट की त्वरण गति निर्धारित करने के लिए। यह गति ट्रैक के विभिन्न चरणों में MAX स्पीड की जगह लेती है जैसा कि नीचे परिभाषित किया गया है।
  11. ना। चरणों की संख्या: उन चरणों की संख्या निर्धारित करने के लिए जहां ACCL गति का उपयोग किया जाता है।
  12. चरण 1: उस चरण की प्रारंभ और समाप्ति दूरी निर्धारित करने के लिए जिसमें एसीसीएल स्पीड द्वारा मैक्स स्पीड को प्रतिस्थापित किया जाता है। प्रत्येक चरण के लिए, प्रारंभ और समाप्ति दूरियां अलग-अलग सेट की जा सकती हैं।

चरण 20: लाइन सेंसर कैलिब्रेशन

Image
Image

लाइन सेंसर कैलिब्रेशन वह प्रक्रिया है जिसके द्वारा प्रत्येक 16 सेंसर का थ्रेशोल्ड मान निर्धारित किया जाता है। इस थ्रेशोल्ड मान का उपयोग यह तय करने के लिए किया जाता है कि कोई विशेष सेंसर लाइन के ऊपर है या नहीं। 16 सेंसर के थ्रेशोल्ड मान निर्धारित करने के लिए, हम दोनों विधियों में से किसी एक का उपयोग करते हैं।

मेडियन फिल्टर: इस विधि में, लाइन सेंसर को सफेद सतह के ऊपर रखा जाता है और सभी 16 सेंसर के लिए सेंसर रीडिंग की एक पूर्व-निर्धारित संख्या ली जाती है। सभी 16 सेंसरों के माध्यिका मान निर्धारित किए जाते हैं। काली सतह पर लाइन सेंसर लगाने के बाद यही प्रक्रिया दोहराई जाती है। थ्रेशोल्ड मान श्वेत और श्याम सतहों के माध्यिका मानों का औसत है।

MIN MAX: इस पद्धति में, सेंसर मान बार-बार पढ़े जाते हैं जब तक कि उपयोगकर्ता स्टॉप के लिए संकेत नहीं देता। प्रत्येक सेंसर द्वारा सामना किए गए अधिकतम और न्यूनतम मान संग्रहीत किए जाते हैं। थ्रेशोल्ड मान न्यूनतम और अधिकतम मानों का औसत है।

इस प्रकार प्राप्त थ्रेशोल्ड मान 0 से 1000 रेंज में मैप किए जाते हैं।

मिन मैक्स विधि द्वारा लाइन सेंसर का अंशांकन वीडियो में दिखाया गया है। लाइन सेंसर को कैलिब्रेट करने के बाद, चित्र में दिखाए गए अनुसार डेटा की कल्पना की जा सकती है। निम्नलिखित जानकारी प्रदर्शित होती है।

  • एक बाइनरी 1 के साथ लाइन स्थिति का एक 16-बिट बाइनरी प्रतिनिधित्व यह दर्शाता है कि संबंधित लाइन सेंसर लाइन के ऊपर है और एक बाइनरी 0 यह दर्शाता है कि लाइन सेंसर लाइन से बाहर है।
  • लाइन के ऊपर लगे सेंसर की कुल संख्या की गणना।
  • 16 सेंसर का न्यूनतम, अधिकतम और सेंसर मान (कच्चा और सामान्यीकृत), एक समय में एक सेंसर।
  • -7500 से +7500 की सीमा में लाइन की स्थिति।

न्यूनतम और अधिकतम लाइन सेंसर मान तब EEPROM में संग्रहीत किए जाते हैं।

चरण 21: टेस्ट रन

Image
Image

वीडियो एक टेस्ट रन का है जिसमें रोबोट को एक लैप पूरा करने के बाद रुकने के लिए प्रोग्राम किया जाता है।

चरण 22: अंतिम विचार और सुधार

रोबोट प्रतियोगिता
रोबोट प्रतियोगिता

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

आपको कामयाबी मिले।

रोबोट प्रतियोगिता
रोबोट प्रतियोगिता

रोबोट प्रतियोगिता में द्वितीय पुरस्कार

सिफारिश की: