विषयसूची:

हैंडहेल्ड कैमरा स्टेबलाइजर: 13 चरण (चित्रों के साथ)
हैंडहेल्ड कैमरा स्टेबलाइजर: 13 चरण (चित्रों के साथ)

वीडियो: हैंडहेल्ड कैमरा स्टेबलाइजर: 13 चरण (चित्रों के साथ)

वीडियो: हैंडहेल्ड कैमरा स्टेबलाइजर: 13 चरण (चित्रों के साथ)
वीडियो: Top 5 Best Handheld Gimbals With Camera 2023 2024, जुलाई
Anonim
हैंडहेल्ड कैमरा स्टेबलाइजर
हैंडहेल्ड कैमरा स्टेबलाइजर

परिचय

यह Digilent Zybo Zynq-7000 डेवलपमेंट बोर्ड का उपयोग करके एक GoPro के लिए 3-अक्ष हैंडहेल्ड कैमरा स्थिरीकरण रिग बनाने के लिए एक गाइड है। यह प्रोजेक्ट सीपीई रीयल-टाइम ऑपरेटिंग सिस्टम क्लास (सीपीई 439) के लिए विकसित किया गया था। कैमरा स्तर को बनाए रखने के लिए उपयोगकर्ता की गति को सही करने के लिए स्टेबलाइजर तीन सर्वो और एक IMU का उपयोग करता है।

परियोजना के लिए आवश्यक भाग

  • Digilent Zybo Zynq-7000 डेवलपमेंट बोर्ड
  • स्पार्कफुन आईएमयू ब्रेकआउट - एमपीयू 9250
  • 2 हाईटेक HS-5485HB सर्वो (180 डिग्री मोशन या प्रोग्राम 90 से 180 डिग्री तक खरीदें)
  • 1 हाईटेक HS-5685MH सर्वो (180 डिग्री मोशन या प्रोग्राम 90 से 180 डिग्री तक खरीदें)
  • 2 मानक सर्वो ब्रैकेट
  • 1 ब्रेडबोर्ड
  • 15 पुरुष-से-पुरुष जम्पर तार
  • 4 पुरुष-से-महिला जम्पर तार
  • गर्म गोंद
  • पकड़ या संभाल
  • 5 मिमी व्यास लकड़ी का डॉवेल
  • गोप्रो या अन्य कैमरा और बढ़ते हार्डवेयर
  • 5V आउटपुट करने में सक्षम बिजली की आपूर्ति।
  • 3डी प्रिंटर तक पहुंच

चरण 1: विवाडो हार्डवेयर सेटअप

विवाडो हार्डवेयर सेटअप
विवाडो हार्डवेयर सेटअप

आइए प्रोजेक्ट के लिए अंतर्निहित ब्लॉक डिज़ाइन बनाने के साथ आरंभ करें।

  1. विवाडो 2016.2 खोलें, "नया प्रोजेक्ट बनाएं" आइकन पर क्लिक करें, और "अगला>" पर क्लिक करें।
  2. अपने प्रोजेक्ट को नाम दें और "अगला>" पर क्लिक करें।
  3. RTL प्रोजेक्ट चुनें और "अगला>" हिट करें।
  4. सर्च बार में टाइप करें xc7z010clg400-1 और फिर भाग का चयन करें और "नेक्स्ट>" और "फिनिश" को हिट करें।

चरण 2: ब्लॉक डिजाइन की स्थापना

अब हम Zynq IP Block को जोड़कर और सेट करके ब्लॉक डिजाइन तैयार करना शुरू करेंगे।

  1. बाएं हाथ के पैनल पर, आईपी इंटीग्रेटर के तहत, "ब्लॉक डिज़ाइन बनाएं" पर क्लिक करें और फिर "ओके" पर क्लिक करें।
  2. "आरेख" टैब में राइट क्लिक करें और "आईपी जोड़ें …" चुनें।
  3. "ZYNQ7 प्रोसेसिंग सिस्टम" टाइप करें और चयन पर क्लिक करें।
  4. दिखाई देने वाले Zynq ब्लॉक पर डबल क्लिक करें।
  5. "XPS सेटिंग्स आयात करें" पर क्लिक करें और प्रदान की गई "ZYBO_zynq_def.xml" फ़ाइल आयात करें।
  6. "एमआईओ कॉन्फ़िगरेशन" पर जाएं और "एप्लिकेशन प्रोसेसर यूनिट" चुनें और टाइमर 0 और वॉचडॉग टाइमर सक्षम करें।
  7. उसी टैब में, "I/O Peripherals" के अंतर्गत, ENET 0 चुनें (और ड्रॉपडाउन मेनू को "MIO 16.. 27", USB 0, SD 0, UART 1, I2C 0 में बदलें।
  8. "GPIO" के अंतर्गत, GPIO MIO, ENET Reset, USB Reset, और I2C Reset चेक करें।
  9. अब "क्लॉक कॉन्फ़िगरेशन" पर नेविगेट करें। PL फैब्रिक क्लॉक के अंतर्गत FCLK_CLK0 चुनें। फिर, "ओके" पर क्लिक करें।

चरण 3: कस्टम पीडब्लूएम आईपी ब्लॉक बनाएं

यह आईपी ब्लॉक बोर्ड को सर्वो की गति को नियंत्रित करने के लिए पीडब्लूएम सिग्नल भेजने की अनुमति देता है। यह काम डिजिट्रोनिक्स नेपाल के ट्यूटोरियल पर आधारित था, जो यहां पाया गया। लॉजिक को घड़ी को धीमा करने के लिए जोड़ा गया था ताकि पल्स सही दर पर आउटपुट हो। ब्लॉक 0 से 180 तक की संख्या लेता है और इसे 750-2150 usec से पल्स में बदल देता है।

  1. अब, ऊपरी बाएँ हाथ के कोने के पास टूल्स टैब के तहत, "क्रिएट एंड पैकेज आईपी …" पर क्लिक करें और नेक्स्ट को हिट करें।
  2. फिर "एक नया AXI4 परिधीय बनाएं" चुनें और अगला हिट करें।
  3. अपने पीडब्लूएम आईपी ब्लॉक को नाम दें (हमने इसे pwm_core नाम दिया है) और नेक्स्ट पर क्लिक करें और फिर नेक्स्ट पेज पर भी नेक्स्ट पर क्लिक करें।
  4. अब "एडिट आईपी" पर क्लिक करें और फिनिश को हिट करें। यह pwm ब्लॉक को संपादित करने के लिए एक नई विंडो खोलेगा।
  5. "स्रोत" टैब में और "डिज़ाइन स्रोत" के अंतर्गत, 'pwm_core_v1_0' का विस्तार करें (pwm_core को अपने नाम से बदलें) और दिखाई देने वाली फ़ाइल खोलें।
  6. प्रोजेक्ट के निचले भाग में ज़िप फ़ाइल में 'pwm_core_v1_0_S00_AXI.v' के अंतर्गत दिए गए कोड को कॉपी और पेस्ट करें। Ctrl + Shift + R और ip ब्लॉक के लिए 'pwm_core' को अपने नाम से बदलें।
  7. अगला 'नाम _v1_0' खोलें और फ़ाइल 'pwm_core_v1_0.v' में दिए गए कोड में कॉपी करें। Ctrl + Shift + R और 'pwm_core' को नाम से बदलें।
  8. अब 'पैकेज आईपी - नाम' टैब पर नेविगेट करें और "कस्टमाइजेशन पैरामीटर्स" चुनें।
  9. इस टैब में सबसे ऊपर एक पीला बार होगा जिसमें लिंक्ड टेक्स्ट होगा। इसे चुनें, और "हिडन पैरामीटर्स" बॉक्स में दिखाई देगा।
  10. अब "कस्टमाइजेशन जीयूआई" पर जाएं और पीडब्लूएम काउंटर मैक्स पर राइट क्लिक करें "पैरामीटर संपादित करें …" चुनें।
  11. "कस्टमाइज़ेशन जीयूआई में दृश्यमान" और "रेंज निर्दिष्ट करें" बॉक्स चेक करें।
  12. "टाइप:" ड्रॉप डाउन मेनू को पूर्णांकों की श्रेणी में बदलें और न्यूनतम 0 और अधिकतम 65535 पर सेट करें और "शो रेंज" बॉक्स को चेक करें। अब ओके पर क्लिक करें।
  13. Pwm काउंटर मैक्स को 'पेज 0' ट्री के नीचे खींचें। अब "रिव्यू एंड पैकेज" पर जाएं और "री-पैकेज आईपी" बटन पर क्लिक करें।

चरण 4: डिजाइन में पीडब्लूएम आईपी ब्लॉक जोड़ें

डिज़ाइन में PWM IP ब्लॉक जोड़ें
डिज़ाइन में PWM IP ब्लॉक जोड़ें

हम उपयोगकर्ता को प्रोसेसर के माध्यम से पीडब्लूएम आईपी ब्लॉक तक पहुंच की अनुमति देने के लिए ब्लॉक डिजाइन में आईपी ब्लॉक जोड़ेंगे।

  1. आरेख टैब में राइट क्लिक करें और "आईपी सेटिंग्स …" पर क्लिक करें। "रिपॉजिटरी मैनेजर" टैब पर नेविगेट करें।
  2. हरे रंग के प्लस बटन पर क्लिक करें और इसे चुनें। अब फाइल मैनेजर में ip_repo ढूंढें और उसे प्रोजेक्ट में जोड़ें। फिर अप्लाई पर हिट करें और फिर ओके।
  3. आरेख टैब में राइट क्लिक करें और "आईपी जोड़ें …" पर क्लिक करें। अपना पीडब्लूएम आईपी ब्लॉक नाम टाइप करें और इसे चुनें।
  4. स्क्रीन के शीर्ष पर एक हरे रंग की पट्टी होनी चाहिए, पहले "रन कनेक्शन ऑटोमेशन" चुनें और ओके पर क्लिक करें। फिर "रन ब्लॉक ऑटोमेशन" पर क्लिक करें और ओके पर क्लिक करें।
  5. PWM ब्लॉक पर डबल क्लिक करें और Pwm काउंटर मैक्स को 128 से 1024 में बदलें।
  6. अपने माउस पॉइंटर को PWM0 पर PWM ब्लॉक पर होवर करें। एक छोटी पेंसिल होनी चाहिए जो आपके करते समय दिखाई दे। राइट क्लिक करें और "क्रिएट पोर्ट …" चुनें और विंडो खुलने पर ओके पर क्लिक करें। यह सिग्नल को पास करने के लिए एक बाहरी पोर्ट बनाता है।
  7. PWM1 और PWM2 के लिए भी चरण 6 को दोहराएं।
  8. साइडबार पर छोटा गोलाकार डबल एरो आइकन ढूंढें और उस पर क्लिक करें। यह लेआउट को पुन: उत्पन्न करेगा और आपका ब्लॉक डिज़ाइन ऊपर की तस्वीर जैसा दिखना चाहिए।

चरण 5: एचडीएल रैपर को कॉन्फ़िगर करें और बाधा फ़ाइल सेट करें

एचडीएल रैपर को कॉन्फ़िगर करें और बाधाओं की फाइल सेट करें
एचडीएल रैपर को कॉन्फ़िगर करें और बाधाओं की फाइल सेट करें

अब हम अपने ब्लॉक डिज़ाइन के लिए उच्च स्तरीय डिज़ाइन तैयार करने जा रहे हैं और फिर Zybo बोर्ड पर PWM0, PWM1 और PWM2 को Pmod पिन में मैप करेंगे।

  1. "स्रोत" टैब पर जाएं। "डिज़ाइन स्रोत" के अंतर्गत अपनी ब्लॉक डिज़ाइन फ़ाइल पर राइट क्लिक करें और "एचडीएल रैपर बनाएं …" पर क्लिक करें। "उपयोगकर्ता संपादन की अनुमति देने के लिए जेनरेट किए गए रैपर की प्रतिलिपि बनाएँ" का चयन करें और ठीक क्लिक करें। यह हमारे द्वारा बनाए गए ब्लॉक डिज़ाइन के लिए उच्च स्तरीय डिज़ाइन उत्पन्न करता है।
  2. हम जिस पीएमओडी को आउटपुट करेंगे वह जेई है।
  3. फ़ाइल के अंतर्गत, "स्रोत जोड़ें…" चुनें और "बाधाएँ जोड़ें या बनाएँ" चुनें और अगला क्लिक करें।
  4. फ़ाइलें जोड़ें क्लिक करें और शामिल "ZYBO_Master.xdc" फ़ाइल का चयन करें। यदि आप इस फ़ाइल में देखते हैं तो आप देखेंगे कि "##Pmod Header JE" के अंतर्गत छह "set_property" पंक्तियों को छोड़कर सब कुछ असम्बद्ध है। आप देखेंगे कि PWM0, PWM1, और PWM2 इन पंक्तियों के लिए तर्क हैं। वे जेई पीएमओडी के पिन 1, पिन 2 और पिन 3 को मैप करते हैं।

चरण 6: बिटस्ट्रीम उत्पन्न करना

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

  1. साइडबार पर "प्रोग्राम और डिबग" के तहत, "जेनरेट बिटस्ट्रीम" चुनें। यह संश्लेषण चलाएगा, फिर कार्यान्वयन करेगा, और फिर डिज़ाइन के लिए बिटस्ट्रीम उत्पन्न करेगा।
  2. पॉप अप होने वाली किसी भी त्रुटि को ठीक करें, लेकिन चेतावनियों को आमतौर पर अनदेखा किया जा सकता है।
  3. फाइल पर जाएं-> एसडीके लॉन्च करें और ओके पर क्लिक करें। इससे Xilinx SDK खुल जाएगा।

चरण 7: एसडीके में परियोजना की स्थापना

यह हिस्सा थोड़ा निराश करने वाला हो सकता है। जब संदेह हो, तो नई बसपा बनाएं और पुरानी को बदल दें। इसने हमें डिबगिंग समय का एक गुच्छा बचाया।

  1. यहां FreeRTOS का नवीनतम संस्करण डाउनलोड करके प्रारंभ करें।
  2. डाउनलोड से सब कुछ निकालें और फ़ाइल-> आयात पर क्लिक करके एसडीके में फ्रीआरटीओएस आयात करें, और "सामान्य" के तहत "कार्यक्षेत्र में मौजूदा परियोजनाएं" पर क्लिक करें और फिर अगला क्लिक करें।
  3. फ्रीआरटीओएस फोल्डर में "फ्रीआरटीओएस/डेमो/CORTEX_A9_Zynq_ZC702" पर जाएं। इस स्थान से केवल "RTOSDemo" आयात करें।
  4. अब फाइल-> न्यू बोर्ड सपोर्ट पैकेज पर क्लिक करके बोर्ड सपोर्ट पैकेज (बीएसपी) जेनरेट करें।
  5. "ps7_cortexa9_0" चुनें और "lwip141" चेक करें और ओके पर क्लिक करें।
  6. आरटीओएसडेमो ब्लू फोल्डर पर राइट क्लिक करें और "प्रोजेक्ट रेफरेंस" चुनें।
  7. "RTOSDemo_bsp" को अनचेक करें और हमारे द्वारा अभी बनाई गई नई BSP को चेक करें।

चरण 8: फ्रीआरटीओएस कोड संशोधन

हमारे द्वारा प्रदान किया गया कोड 7 अलग-अलग फाइलों में विभाजित किया जा सकता है। main.c, iic_main_thread.c, xil_printfloat.c, xil_printfloat.h, IIC_funcs.c, IIC_funcs.h और iic_imu.h। iic_main_thread.c में कोड को क्रिस विनर की लाइब्रेरी से अनुकूलित किया गया है, जिसे यहां पाया जा सकता है। हमने मुख्य रूप से कार्यों को शामिल करने और इसे ज़ीबो बोर्ड के साथ काम करने के लिए उनके कोड को बदल दिया। हमने कैमरे के उन्मुखीकरण के सुधार की गणना के लिए फ़ंक्शन भी जोड़े हैं। हमने कई प्रिंट स्टेटमेंट छोड़े हैं जो डिबगिंग के लिए उपयोगी हैं। उनमें से अधिकांश पर टिप्पणी की गई है, लेकिन यदि आपको इसकी आवश्यकता महसूस हो तो आप उन्हें टिप्पणी रद्द कर सकते हैं।

  1. main.c फ़ाइल को संशोधित करने का सबसे आसान तरीका हमारी शामिल main.c फ़ाइल से कोड को कॉपी किए गए कोड से बदलना है।
  2. एक नई फ़ाइल बनाने के लिए, RTOSDemo के अंतर्गत src फ़ोल्डर पर राइट क्लिक करें और C स्रोत फ़ाइल चुनें। इस फ़ाइल को "iic_main_thread.c" नाम दें।
  3. शामिल "iic_main_thread.c" से कोड कॉपी करें और इसे अपनी नई बनाई गई फ़ाइल में पेस्ट करें।
  4. शेष फ़ाइलों के साथ चरण 2 और 3 दोहराएँ।
  5. जीसीसी में एक लिंकिंग निर्देश की आवश्यकता है। इसे बिल्ड पथ में जोड़ने के लिए आप RTOSDemo पर राइट क्लिक करें और "C/C++ Build Settings" चुनें।
  6. एक नयी विंडो खुलेगी। ARM v7 gcc लिंकर-> लाइब्रेरीज़ पर नेविगेट करें। ऊपरी दाएं कोने में छोटी ऐड फ़ाइल चुनें और "m" टाइप करें। इसमें परियोजना में गणित पुस्तकालय शामिल होगा।
  7. सब कुछ काम करने की पुष्टि करने के लिए Ctrl + B के साथ प्रोजेक्ट बनाएं। उत्पन्न होने वाली चेतावनियों की जाँच करें लेकिन आप उन्हें अनदेखा करने में सक्षम हो सकते हैं।
  8. ऐसे कुछ स्थान हैं जिनमें संशोधन की आवश्यकता होगी, मुख्य रूप से आपके वर्तमान स्थान की चुंबकीय गिरावट। हम बताएंगे कि इसे ट्यूटोरियल के कैलिब्रेशन भाग में कैसे बदला जाए।

चरण 9: स्टेबलाइजर के लिए 3डी प्रिंटिंग

स्टेबलाइजर के लिए 3डी प्रिंटिंग
स्टेबलाइजर के लिए 3डी प्रिंटिंग

इस प्रोजेक्ट के लिए आपको कुछ हिस्सों को 3D प्रिंट करना होगा। कोई शायद हमारे मुद्रित भागों के समान आयाम/आकार के पुर्जे खरीद सकता है।

  1. GoPro के लिए आर्म और होल्डिंग ब्रैकेट का प्रिंट आउट लेने के लिए प्रदान की गई फ़ाइलों का उपयोग करें।
  2. आपको.stl फ़ाइल में मचान जोड़ने की आवश्यकता है।
  3. एक बार छपने के बाद अतिरिक्त मचान के हिस्सों को ट्रिम/साफ करें।
  4. यदि आप चाहें तो लकड़ी के डॉवेल को 3 डी प्रिंटेड हिस्से से बदल सकते हैं।

चरण 10: भागों को इकट्ठा करना

भागों को इकट्ठा करना
भागों को इकट्ठा करना

स्टेबलाइजर को असेंबल करने के कई हिस्से हैं। खरीदे गए ब्रैकेट 4 स्व-टैपिंग स्क्रू और नट्स के साथ 4 बोल्ट के साथ आते हैं। चूंकि 3 सर्वो हैं, 2 बोल्टों को फिट करने की अनुमति देने के लिए सर्वो हॉर्न में से एक को पूर्व-टैप करने की आवश्यकता है।

  1. IMU ब्रेकआउट पर मिलाप 8 पिन, प्रत्येक तरफ 4।
  2. IMU ब्रैकेट के केंद्र में GoPro के लिए 3D प्रिंटेड होल्डिंग ब्रैकेट से जुड़ा हुआ है।
  3. ब्रैकेट को ओरिएंट करें ताकि सर्वो बढ़ते छेद आपके बाएं हाथ की तरफ हों। IMU को अपने निकटतम किनारे पर रखें, जिसमें पिन किनारे से लटके हों। फिर, IMU के शीर्ष पर GoPro माउंट रखें, IMU और माउंट को ब्रैकेट पर चिपका दें।
  4. सर्वो ब्रैकेट में एक HS-5485HB संलग्न करें जो 3D प्रिंटेड आर्म में एकीकृत है।
  5. GoPro ब्रैकेट को आर्म अटैच्ड सर्वो में स्क्रू करें, यह सुनिश्चित करते हुए कि सर्वो सेट है ताकि वह अपनी गति सीमा के बीच में हो।
  6. इसके बाद, HS-5685MH सर्वो को सर्वो ब्रैकेट में संलग्न करें। फिर किसी एक स्क्रू से सर्वो हॉर्न को टैप करें। अब सर्वो को अंतिम सर्वो ब्रैकेट के नीचे से जोड़ दें।
  7. अब अंतिम सर्वो को उस ब्रैकेट में संलग्न करें जिसमें HS-5685MH सर्वो खराब हो गया है। फिर इस सर्वो में हाथ को पेंच करें, यह सुनिश्चित कर लें कि हाथ खराब हो गया है ताकि यह हर तरह से 90 डिग्री आगे बढ़ सके।
  8. जिम्बल के निर्माण को पूरा करने के लिए, गोप्रो ब्रैकेट और 3 डी प्रिंटेड आर्म के बीच जुड़ने के लिए लकड़ी के डॉवेल का एक छोटा सा टुकड़ा जोड़ें। आपने अब स्टेबलाइजर को असेंबल किया है।
  9. अंत में, आप नीचे के सर्वो ब्रैकेट से जुड़ा एक हैंडल जोड़ सकते हैं।

चरण 11: ज़ीबो को स्टेबलाइजर से जोड़ना

Zybo को स्टेबलाइजर से जोड़ना
Zybo को स्टेबलाइजर से जोड़ना

ऐसा करते समय कुछ बातों का ध्यान रखना चाहिए। आप यह सुनिश्चित करना चाहते हैं कि बिजली की आपूर्ति से 5V कभी भी Zybo बोर्ड में न जाए, क्योंकि इससे बोर्ड के साथ समस्याएँ पैदा होंगी। किसी भी तार को स्विच नहीं किया जा रहा है, इसकी पुष्टि करने के लिए अपने जंपर्स को दोबारा जांचना सुनिश्चित करें।

  1. Zybo को स्टेबलाइजर से जोड़ने के लिए आपको 15 पुरुष से पुरुष जंपर्स और 4 पुरुष से महिला जंपर्स की आवश्यकता होगी।
  2. सबसे पहले, ब्रेडबोर्ड के + और - रेल के साथ दो जंपर्स को अपनी 5V बिजली आपूर्ति से कनेक्ट करें। ये सर्वो को बिजली की आपूर्ति करेंगे।
  3. फिर, 3 जोड़ी जंपर्स को ब्रेडबोर्ड के + और - रेल से कनेक्ट करें। ये प्रत्येक सर्वो के लिए शक्ति होगी।
  4. प्रत्येक सर्वोस में + और - जंपर्स के दूसरे छोर को प्लग करें।
  5. ब्रेडबोर्ड की रेल और Zybo JE Pmod पर GND पिन में से एक के बीच एक जम्पर कनेक्ट करें (चरण 5 चित्र देखें)। यह ज़ीबो बोर्ड और बिजली आपूर्ति के बीच एक आम जमीन तैयार करेगा।
  6. इसके बाद एक सिग्नल वायर को जेई पोमोड के पिन 1, पिन 2 और पिन 3 से कनेक्ट करें। नीचे के सर्वो पर 1 मानचित्र पिन करें, हाथ के अंत में सर्वो को 2 मानचित्र पिन करें, और 3 मानचित्रों को मध्य सर्वो पर पिन करें।
  7. IMU ब्रेकआउट के GND, VDD, SDA और SCL पिन में 4 महिला तारों को प्लग करें। GND और VDD, GND में प्लग करते हैं और JF पिन पर 3V3 प्लग करते हैं। एसडीए पिन को पिन 8 में और एससीएल को जेएफ पर पिन 7 में प्लग करें (चरण 5 चित्र देखें)।
  8. अंत में, माइक्रो यूएसबी केबल का उपयोग करके कंप्यूटर को बोर्ड से कनेक्ट करें। यह यूआर्ट संचार की अनुमति देगा और आपको ज़ीबो बोर्ड को प्रोग्राम करने की अनुमति देगा।

चरण 12: सही उत्तर सुधार

ट्रू नॉर्थ करेक्शन
ट्रू नॉर्थ करेक्शन

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

  1. चुंबकीय और सच्चे उत्तर से अंतर को ठीक करने के लिए, आपको दो सेवाओं, Google मानचित्र और NOAA के चुंबकीय क्षेत्र कैलकुलेटर के संयोजन का उपयोग करने की आवश्यकता है।
  2. अपने वर्तमान स्थान का अक्षांश और देशांतर खोजने के लिए Google मानचित्र का उपयोग करें।
  3. अपना वर्तमान देशांतर और अक्षांश लें और इसे चुंबकीय क्षेत्र कैलकुलेटर में प्लग करें।
  4. जो लौटाया जाता है वह चुंबकीय गिरावट है। इस गणना को "iic_main_thread.c" की लाइन 378 पर कोड में प्लग करें। यदि आपका झुकाव पूर्व है, तो yaw मान से घटाएं, यदि पश्चिम है तो yaw मान में जोड़ें।

*फोटो स्पार्कफुन के एमपीयू 9250 हुकअप गाइड से लिया गया था, जो यहां पाया गया।

चरण 13: कार्यक्रम चलाना

कार्यक्रम चलाना
कार्यक्रम चलाना

जिस पल का आप इंतजार कर रहे थे! परियोजना का सबसे अच्छा हिस्सा इसे काम करते हुए देख रहा है। एक समस्या जो हमने देखी है वह यह है कि आईएमयू से रिपोर्ट किए गए मूल्यों से विचलन होता है। एक कम-पास फ़िल्टर इस बहाव को ठीक करने में मदद कर सकता है, और मैग्नेटोमीटर, त्वरण और जाइरो अंशांकन के साथ फ़िडलिंग भी इस बहाव को ठीक करने में मदद करेगा।

  1. सबसे पहले, एसडीके में सभी का निर्माण करें, यह Ctrl + B दबाकर किया जा सकता है।
  2. सुनिश्चित करें कि बिजली की आपूर्ति चालू है और 5V पर सेट है। दोबारा जांचें कि सभी तार अपने सही स्थानों पर जा रहे हैं।
  3. फिर, प्रोग्राम को चलाने के लिए, टास्कबार के ऊपरी केंद्र में हरे त्रिकोण को दबाएं।
  4. जब प्रोग्राम चलता है, तो सर्वो सभी अपने 0 पदों पर रीसेट हो जाएंगे, इसलिए रिग को स्थानांतरित करने के लिए तैयार रहें। एक बार जब प्रोग्राम शुरू हो जाता है, तो सर्वो अपने 90 डिग्री की स्थिति में वापस आ जाएगा।
  5. एक मैग्नेटोमीटर कैलिब्रेशन फ़ंक्शन चलेगा और यूएआरटी टर्मिनल पर दिशा-निर्देश मुद्रित किए जाएंगे, जिसे आप सीरियल मॉनिटर जैसे 'पुटी' या एसडीके में दिए गए सीरियल मॉनिटर के माध्यम से कनेक्ट कर सकते हैं।
  6. कैलिब्रेशन आपको डिवाइस को लगभग 10 सेकंड के लिए 8 के आंकड़े में ले जाएगा। आप "iic_main_thread.c" की पंक्ति 273 पर टिप्पणी करके इस चरण को हटा सकते हैं। यदि आप इस पर टिप्पणी करते हैं तो आपको 323 - 325 "iic_main_thread.c" पंक्तियों को असम्बद्ध करने की आवश्यकता है। इन मानों को शुरू में ऊपर दिए गए मैग्नेटोमीटर कैलिब्रेशन से एकत्र किया गया था और फिर मानों के रूप में प्लग इन किया गया था।
  7. कैलिब्रेशन के बाद स्थिरीकरण कोड इनिशियलाइज़ हो जाएगा और डिवाइस कैमरे को स्थिर रखेगा।

सिफारिश की: