विषयसूची:
वीडियो: STM32 उपकरणों के साथ RC सर्वो के लिए उच्च रिज़ॉल्यूशन PWM सिग्नल जनरेशन: 3 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
वर्तमान में, मैं SX1280 RF चिप पर आधारित RC ट्रांसमीटर/रिसीवर बना रहा हूं। परियोजना के लिए एक लक्ष्य यह है कि मुझे लाठी से लेकर सर्वो तक 12 बिट सर्वो रिज़ॉल्यूशन चाहिए। आंशिक रूप से क्योंकि आधुनिक डिजिटल सर्वो में 12 बिट रिज़ॉल्यूशन होता है, दूसरी बात यह है कि एक उच्च अंत ट्रांसमीटर वैसे भी 12 बिट्स का उपयोग कर रहा है। मैं जांच कर रहा था कि मैं एसटीएम 32 उपकरणों पर उच्च रिज़ॉल्यूशन पीडब्लूएम सिग्नल कैसे उत्पन्न कर सकता हूं। मैं इस समय प्रोटोटाइप के लिए काली गोली (STM32F103C8T8) का उपयोग कर रहा हूं।
चरण 1: भागों की सूची
हार्डवेयर
- कोई भी STM32F103 विकास बोर्ड (नीली गोली, काली गोली, आदि)
- बिजली की आपूर्ति के रूप में एक यूएसबी पावर बैंक
- STM32 प्रोग्रामर (Segger j-links, ST-LINK/V2, या बस एक st-link क्लोन)
सॉफ्टवेयर
- STM32CubeMX
- STM32. के लिए एटोलिक ट्रूस्टूडियो
- जीथब से परियोजना स्रोत
चरण 2: स्पष्ट समाधान
संभवत: सबसे आसान उपाय एक टाइमर का उपयोग करना है जो PWM सिग्नल उत्पन्न कर सकता है, जैसे STM32F103 पर TIM1-3। एक आधुनिक डिजिटल सर्वो के लिए फ्रेम दर 5 एमएस या उससे भी कम हो सकती है, लेकिन पुराने एनालॉग सर्वो के लिए यह 20 एमएस या 50 हर्ट्ज होना चाहिए। तो, सबसे खराब स्थिति के रूप में इसे उत्पन्न करते हैं। 72 मेगाहर्ट्ज घड़ी और 16 बिट टाइमर काउंटर रिज़ॉल्यूशन के साथ हमें 20 एमएस फ्रेम दर को कवर करने के लिए टाइमर के प्रीस्केलर को न्यूनतम 23 पर सेट करने की आवश्यकता है। मैंने 24 का चयन किया क्योंकि तब 20 एमएस के लिए मुझे काउंटर को ठीक 60000 पर सेट करने की आवश्यकता है। आप स्क्रीनशॉट में क्यूबएमएक्स सेटअप और उत्पन्न 1 और 1.5 एमएस पीडब्लूएम सिग्नल देख सकते हैं। दुर्भाग्य से, 1ms के लिए टाइमर का काउंटर 3000 पर सेट किया जाना चाहिए, जो हमें केवल 11 बिट रिज़ॉल्यूशन देगा। बुरा नहीं है, लेकिन लक्ष्य 12 बिट का था, तो चलिए कुछ और कोशिश करते हैं।
बेशक अगर मैं 32 बिट टाइमर काउंटर के साथ एक माइक्रो कंट्रोलर का चयन करूंगा, जैसे STM32L476 यह रिज़ॉल्यूशन बहुत अधिक हो सकता है और समस्या हल हो जाएगी।
लेकिन यहां, मैं एक वैकल्पिक समाधान का प्रस्ताव करना चाहता हूं जो एसटीएम 32 एफ103 पर भी संकल्प को और बढ़ा देगा।
चरण 3: उच्च संकल्प के लिए कैस्केडिंग टाइमर
पिछले समाधान के साथ मुख्य समस्या यह है कि वास्तव में उत्पन्न पीडब्लूएम सिग्नल (1 और 2 एमएस के बीच) की तुलना में फ्रेम दर (20 एमएस) अपेक्षाकृत अधिक है, इसलिए हम शेष 18 एमएस के लिए कुछ मूल्यवान बिट्स बर्बाद कर रहे हैं जब हम प्रतीक्षा कर रहे हैं अगला फ्रेम। इसे सिंक्रोनाइज़ेशन के लिए टाइमर लिंक सुविधा का उपयोग करके कैस्केडिंग टाइमर द्वारा हल किया जा सकता है।
विचार यह है कि मैं फ्रेम दर (20 एमएस) और टीआईएम 2, टीआईएम 3 उत्पन्न करने के लिए मास्टर के रूप में टीआईएम 1 का उपयोग दास के रूप में पीडब्लूएम संकेतों से निपटने के लिए करूंगा। जब मास्टर दास को ट्रिगर करता है तो वे केवल एक पल्स मोड में पीडब्लूएम सिग्नल उत्पन्न करते हैं। इसलिए मुझे उन टाइमर में केवल 2 एमएस कवर करने की जरूरत है। सौभाग्य से आप हार्डवेयर में उन टाइमर को कैस्केड कर सकते हैं, इसलिए इस सिंक्रनाइज़ेशन को प्रोसेसर से किसी हस्तक्षेप की आवश्यकता नहीं है और यह बहुत सटीक भी है, जिटर पीएस क्षेत्र में है। आप स्क्रीनशॉट पर CubeMX सेटअप देख सकते हैं।
जैसा कि आप देख सकते हैं कि मैंने 3 को प्रीस्कूलर के रूप में चुना है इसलिए 2 एमएस के लिए मुझे टाइमर के काउंटर में 48000 सेट करने की आवश्यकता है। यह हमें 1 एमएस के लिए 24000 देता है जो वास्तव में 14 बिट रिज़ॉल्यूशन के लिए हमें जितना चाहिए उतना अधिक है। तड़ा…
कृपया अंतिम परिणाम के लिए परिचय में आस्टसीलस्कप स्क्रीनशॉट पर एक नज़र डालें। चैनल ३ (बैंगनी) मास्टर टाइमर का व्यवधान है जो एक पल्स उत्पन्न करने के लिए लार को ट्रिगर करेगा। चैनल 1 और 4 (पीला और हरा बीम) अलग-अलग टाइमर द्वारा उत्पन्न वास्तविक पीडब्लूएम सिग्नल हैं। ध्यान दें कि वे सिंक में हैं लेकिन वे पीछे के किनारों पर सिंक किए गए हैं, जो कि पीडब्लूएम मोड 2 के कारण है। यह कोई समस्या नहीं है, क्योंकि विशेष सर्वो के लिए पीडब्लूएम दर अभी भी सही है।
इस समाधान का अन्य लाभ यह है कि फ्रेम दर को बदलने का मतलब केवल TIM1 में अवधि को बदलना होगा। आधुनिक डिजिटल सर्वो के लिए आप 200-300 हर्ट्ज तक भी नीचे जा सकते हैं, लेकिन अगर आप अच्छी धुन चाहते हैं तो कृपया सर्वो के मैनुअल से परामर्श लें।
सिफारिश की:
उच्च रिज़ॉल्यूशन फ़्रिक्वेंसी काउंटर: 5 चरण (चित्रों के साथ)
उच्च रिज़ॉल्यूशन फ़्रिक्वेंसी काउंटर: यह निर्देशयोग्य एक पारस्परिक आवृत्ति काउंटर दिखाता है जो आवृत्तियों को तेज़ी से और उचित सटीकता के साथ मापने में सक्षम है। यह मानक घटकों के साथ बनाया गया है और इसे सप्ताहांत में बनाया जा सकता है (इसमें मुझे थोड़ा अधिक समय लगा :-)) संपादित करें: कोड अब उपलब्ध है
Android उपकरणों के लिए बाहरी ब्लूटूथ GPS प्रदाता के लिए सेटअप: 8 चरण
एंड्रॉइड डिवाइस के लिए बाहरी ब्लूटूथ जीपीएस प्रदाता के लिए सेटअप: यह निर्देश योग्य बताएगा कि आपके फोन के लिए अपना खुद का बाहरी ब्लूटूथ-सक्षम जीपीएस कैसे बनाया जाए, जो कुछ भी लगभग $ 10 पर जलाएं। सामग्री का बिल: एनईओ 6 एम यू-ब्लॉक्स जीपीएसएचसी -05 ब्लूटूथ मॉड्यूल का ज्ञान ब्लूटूथ लो एनर्जी मॉड्यूल्स को इंटरफेस करनाArdui
घरेलू उपकरणों के लिए टचलेस स्विच -- बिना किसी स्विच के अपने घरेलू उपकरणों को नियंत्रित करें: 4 कदम
घरेलू उपकरणों के लिए टचलेस स्विच || बिना किसी स्विच के अपने घरेलू उपकरणों को नियंत्रित करें: यह घरेलू उपकरणों के लिए एक टचलेस स्विच है। आप इसे किसी भी सार्वजनिक स्थान पर उपयोग कर सकते हैं ताकि किसी भी वायरस से लड़ने में मदद मिल सके। Op-Amp और LDR द्वारा निर्मित डार्क सेंसर सर्किट पर आधारित सर्किट। इस सर्किट का दूसरा महत्वपूर्ण हिस्सा एसआर फ्लिप-फ्लॉप सीक्वेंस के साथ
लेगो और सर्वो के साथ पाई उच्च गुणवत्ता वाले कैमरे पर फ़ोकस करें: 4 कदम (चित्रों के साथ)
लेगो और एक सर्वो के साथ पाई उच्च गुणवत्ता वाले कैमरे पर ध्यान केंद्रित करें: थोड़ा हैक किया गया लेगो टुकड़ा, एक निरंतर सर्वो और कुछ पायथन कोड के साथ आप दुनिया में कहीं से भी अपने रास्पबेरी पाई उच्च गुणवत्ता वाले कैमरे पर ध्यान केंद्रित कर सकते हैं! पाई मुख्यालय कैमरा का एक शानदार टुकड़ा है किट, लेकिन जैसा कि मैंने हाल ही में मर्लिन पर काम करते हुए पाया
ओपन लॉगर: एक उच्च-रिज़ॉल्यूशन, वाई-फाई सक्षम, ओपन सोर्स, पोर्टेबल डेटा लॉगर: 7 कदम
OpenLogger: एक उच्च-रिज़ॉल्यूशन, वाई-फाई सक्षम, ओपन सोर्स, पोर्टेबल डेटा लकड़हारा: OpenLogger एक पोर्टेबल, खुला स्रोत, कम लागत वाला, उच्च-रिज़ॉल्यूशन डेटा लकड़हारा है जिसे महंगे सॉफ़्टवेयर या लेखन सॉफ़्टवेयर की आवश्यकता के बिना उच्च-गुणवत्ता माप प्रदान करने के लिए डिज़ाइन किया गया है। शुरुवात से। यदि आप एक इंजीनियर, वैज्ञानिक या उत्साही हैं, जो