UM2225
उपयोगकर्ता पुस्तिका
STM1Cube के लिए X-CUBE-MEMS32 विस्तार में MotionEC रीयल-टाइम ई-कम्पास लाइब्रेरी के साथ आरंभ करना
परिचय
मोशनईसी X-CUBE-MEMS1 सॉफ़्टवेयर का एक मिडलवेयर लाइब्रेरी घटक है और STM3z2 पर चलता है। यह डिवाइस से डेटा के आधार पर डिवाइस ओरिएंटेशन और मूवमेंट स्थिति के बारे में वास्तविक समय की जानकारी प्रदान करता है।
यह निम्नलिखित आउटपुट प्रदान करता है: डिवाइस ओरिएंटेशन (क्वाटर्नियन, यूलर कोण), डिवाइस रोटेशन (वर्चुअल जाइरोस्कोप कार्यक्षमता), गुरुत्वाकर्षण वेक्टर और रैखिक त्वरण।
यह लाइब्रेरी केवल ST MEMS के साथ काम करने के लिए बनाई गई है।
एल्गोरिथ्म स्टैटिक लाइब्रेरी प्रारूप में प्रदान किया गया है और इसे ARM® Cortex®-M32+, ARM® Cortex®-M0, ARM® Cortex®-M3, ARM® Cortex®-M33 और ARM® Cortex®-M4 आर्किटेक्चर पर आधारित STM7 माइक्रोकंट्रोलर्स पर उपयोग के लिए डिज़ाइन किया गया है।
इसे विभिन्न STM32 माइक्रोकंट्रोलर्स के बीच पोर्टेबिलिटी को आसान बनाने के लिए STM32Cube सॉफ्टवेयर प्रौद्योगिकी के आधार पर बनाया गया है।
यह सॉफ्टवेयर s के साथ आता हैampNUCLEO-F01RE, NUCLEO-U3ZI-Q, NUCLEO-L4RE या NUCLEO-L1RZ विकास बोर्ड पर X-NUCLEO-IKS02A1, X-NUCLEO-IKS401A575 या X-NUCLEO-IKS152A073 विस्तार बोर्ड पर चल रहा कार्यान्वयन।
आदिवर्णिक और संक्षिप्त शब्द
तालिका 1. परिवर्णी शब्दों की सूची
परिवर्णी शब्द | विवरण |
एपीआई | अप्लिकेशन प्रोग्रामिंग अंतरफलक |
बसपा | बोर्ड सहायता पैकेज |
जीयूआई | ग्राफिकल यूज़र इंटरफ़ेस |
एचएएल | हार्डवेयर अमूर्त परत |
आईडीई | समन्वित विकास पर्यावरण |
STM1Cube के लिए X-CUBE-MEMS32 सॉफ्टवेयर विस्तार में MotionEC मिडलवेयर लाइब्रेरी
2.1 मोशनईसी ओवरview
मोशनईसी लाइब्रेरी X-CUBE-MEMS1 सॉफ्टवेयर की कार्यक्षमता का विस्तार करती है।
लाइब्रेरी एक्सेलेरोमीटर और मैग्नेटोमीटर से डेटा प्राप्त करती है और डिवाइस से प्राप्त डेटा के आधार पर डिवाइस की दिशा और गति की स्थिति के बारे में जानकारी प्रदान करती है।
लाइब्रेरी को केवल ST MEMS के लिए डिज़ाइन किया गया है। अन्य MEMS सेंसर का उपयोग करते समय कार्यक्षमता और प्रदर्शन का विश्लेषण नहीं किया जाता है और यह दस्तावेज़ में वर्णित से काफी भिन्न हो सकता है।
जैसाampयह कार्यान्वयन X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 और X-NUCLEO-IKS02A1 विस्तार बोर्ड पर उपलब्ध है, जो NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE या NUCLEO-L073RZ विकास बोर्ड पर लगा हुआ है।
2.2 मोशनईसी लाइब्रेरी
मोशनईसी एपीआई के कार्यों और मापदंडों का पूर्ण विवरण देने वाली तकनीकी जानकारी MotionEC_Package.chm संकलित HTML में पाई जा सकती है file दस्तावेज़ फ़ोल्डर में स्थित है.
2.2.1 मोशनईसी लाइब्रेरी विवरण
मोशनईसी ई-कम्पास लाइब्रेरी एक्सेलेरोमीटर और मैग्नेटोमीटर से प्राप्त डेटा का प्रबंधन करती है; इसमें निम्नलिखित विशेषताएं हैं:
- डिवाइस ओरिएंटेशन (क्वाटरनियन, यूलर एंगल), डिवाइस रोटेशन (वर्चुअल जाइरोस्कोप कार्यक्षमता), गुरुत्वाकर्षण वेक्टर और रैखिक त्वरण आउटपुट
- केवल एक्सेलेरोमीटर और मैग्नेटोमीटर डेटा पर आधारित कार्यक्षमता
- आवश्यक एक्सेलेरोमीटर और मैग्नेटोमीटर डेटाamp100 हर्ट्ज तक की आवृत्ति
- संसाधन आवश्यकताएँ:
– कॉर्टेक्स-M0+: 3.7 kB कोड और 0.1 kB डेटा मेमोरी
– कॉर्टेक्स-एम3: 3.8 केबी कोड और 0.1 केबी डेटा मेमोरी
– कॉर्टेक्स-एम33: 2.8 केबी कोड और 0.1 केबी डेटा मेमोरी
– कॉर्टेक्स-एम4: 2.9 केबी कोड और 0.1 केबी डेटा मेमोरी
– कॉर्टेक्स-एम7: 2.8 केबी कोड और 0.1 केबी डेटा मेमोरी - ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 और Cortex M7 आर्किटेक्चर के लिए उपलब्ध
2.2.2 मोशनईसी एपीआई
मोशनईसी एपीआई हैं:
- uint8_t MotionEC_GetLibVersion(चर *संस्करण)
– लाइब्रेरी का संस्करण पुनः प्राप्त करता है
- *version 35 अक्षरों की एक सरणी का सूचक है
- संस्करण स्ट्रिंग में वर्णों की संख्या लौटाता है
• void MotionEC_Initialize(MEC_mcu_type_t mcu_type, फ्लोट आवृत्ति)
- मोशनईसी लाइब्रेरी आरंभीकरण और आंतरिक तंत्र की स्थापना करता है।
– mcu_type MCU का प्रकार है:
◦ MFX_CM0P_MCU_STM32 एक मानक STM32 MCU है
◦ MFX_CM0P_MCU_BLUE_NRG1 ब्लूNRG-1 है
◦ MFX_CM0P_MCU_BLUE_NRG2 ब्लूNRG-2 है
◦ MFX_CM0P_MCU_BLUE_NRG_LP ब्लूएनआरजी -LP है
- freq सेंसर हैampलिंग आवृत्ति [हर्ट्ज]
टिप्पणी: ई-कम्पास लाइब्रेरी का उपयोग करने से पहले इस फ़ंक्शन को कॉल किया जाना चाहिए और लाइब्रेरी का उपयोग करने से पहले STM32 माइक्रोकंट्रोलर (RCC परिधीय क्लॉक सक्षम रजिस्टर में) में CRC मॉड्यूल को सक्षम किया जाना चाहिए
- शून्य MotionEC_SetFrequency(फ्लोट आवृत्ति)
- एस सेट करता हैampलिंग आवृत्ति (फ़िल्टरिंग मापदंडों को संशोधित करना)
- freq सेंसर हैampलिंग आवृत्ति [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
- ई-कम्पास एल्गोरिदम (एक्सेलेरोमीटर और मैग्नेटोमीटर डेटा फ्यूजन) चलाता है
- *data_in इनपुट डेटा के साथ एक संरचना के लिए एक सूचक है
- संरचना प्रकार MEC_input_t के लिए पैरामीटर हैं:
◦ acc[3] ENU संवहन में एक्सेलेरोमीटर डेटा की एक सरणी है, जिसे g में मापा जाता है
◦ मैग[3] ENU कन्वेंशन में मैग्नेटोमीटर कैलिब्रेटेड डेटा की एक सरणी है, जिसे μT/50 में मापा जाता है
◦ डेल्टाटाइम s डेल्टा समय (यानी, पुराने और नए डेटा सेट के बीच समय विलंब) है जिसे s में मापा जाता है
- *data_out आउटपुट डेटा के साथ एक संरचना के लिए एक संकेतक है
- संरचना प्रकार MEC_output_t के लिए पैरामीटर हैं:
◦ क्वाटर्नियन[4] ENU कन्वेंशन में क्वाटर्नियन युक्त सरणी है, जो अंतरिक्ष में डिवाइस के 3Dangular अभिविन्यास का प्रतिनिधित्व करता है; तत्वों का क्रम है: X, Y, Z, W, हमेशा सकारात्मक तत्व W के साथ
◦ यूलर[3] ENU कन्वेंशन में यूलर कोणों की एक सरणी है, जो अंतरिक्ष में डिवाइस के 3D-कोणीय अभिविन्यास का प्रतिनिधित्व करता है; तत्वों का क्रम है: यॉ, पिच, रोल, जिसे डिग्री में मापा जाता है
◦ i_gyro[3] ENU कन्वेंशन में कोणीय दरों की एक सरणी है, जो एक आभासी जाइरोस्कोप सेंसर का प्रतिनिधित्व करता है, जिसे dps में मापा जाता है
◦ गुरुत्वाकर्षण[3] ENU संवहन में त्वरणों की एक सरणी है, जो गुरुत्वाकर्षण सदिश का प्रतिनिधित्व करता है, जिसे g में मापा जाता है
◦ रैखिक[3] ENU संवहन में त्वरणों की एक सरणी है, जो डिवाइस रैखिक त्वरण का प्रतिनिधित्व करता है, जिसे g में मापा जाता है
- शून्य MotionEC_GetOrientationEnable(MEC_state_t *राज्य)
- यूलर कोण गणना की सक्षम/अक्षम स्थिति प्राप्त करता है
- *स्थिति वर्तमान सक्षम/अक्षम स्थिति का सूचक है - शून्य MotionEC_SetOrientationEnable(MEC_state_t स्थिति)
- यूलर कोण गणना की सक्षम/अक्षम स्थिति सेट करता है
- स्थिति वह नई सक्षम/अक्षम स्थिति है जिसे सेट किया जाना है - शून्य MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
- वर्चुअल जाइरोस्कोप गणना की सक्षम/अक्षम स्थिति प्राप्त करता है
- *स्थिति वर्तमान सक्षम/अक्षम स्थिति का सूचक है - शून्य MotionEC_SetVirtualGyroEnable(MEC_state_t स्थिति)
- वर्चुअल जाइरोस्कोप गणना की सक्षम/अक्षम स्थिति सेट करता है
- स्थिति वह नई सक्षम/अक्षम स्थिति है जिसे सेट किया जाना है - शून्य MotionEC_GetGravityEnable(MEC_state_t *राज्य)
- गुरुत्वाकर्षण वेक्टर गणना की सक्षम/अक्षम स्थिति प्राप्त करता है
- *स्थिति वर्तमान सक्षम/अक्षम स्थिति का सूचक है - शून्य MotionEC_SetGravityEnable(MEC_state_t स्थिति)
- गुरुत्वाकर्षण वेक्टर गणना की सक्षम/अक्षम स्थिति सेट करता है
- स्थिति वह नई सक्षम/अक्षम स्थिति है जिसे सेट किया जाना है - शून्य MotionEC_GetLinearAccEnable(MEC_state_t *राज्य)
- रैखिक त्वरण गणना की सक्षम/अक्षम स्थिति प्राप्त करता है
- *स्थिति वर्तमान सक्षम/अक्षम स्थिति का सूचक है - शून्य MotionEC_SetLinearAccEnable(MEC_state_t स्थिति)
- रैखिक त्वरण गणना की सक्षम/अक्षम स्थिति सेट करता है
- स्थिति वह नई सक्षम/अक्षम स्थिति है जिसे सेट किया जाना है
2.2.3 एपीआई फ्लो चार्ट
2.2.4 डेमो कोड
निम्नलिखित प्रदर्शन कोड एक्सेलेरोमीटर और मैग्नेटोमीटर सेंसर से डेटा पढ़ता है और ईकम्पास डेटा (अर्थात, क्वाटरनियन, यूलर कोण, आदि) प्राप्त करता है।
2.2.5 एल्गोरिदम प्रदर्शन
ई-कम्पास एल्गोरिदम केवल एक्सेलेरोमीटर और मैग्नेटोमीटर से डेटा का उपयोग करता है। यह बिजली की खपत को कम करने के लिए कम आवृत्ति (100 हर्ट्ज तक) पर चलता है।
Sampले आवेदन
मोशनईसी मिडलवेयर को उपयोगकर्ता अनुप्रयोगों के निर्माण के लिए आसानी से हेरफेर किया जा सकता है;ampआवेदन पत्र एप्लीकेशन फ़ोल्डर में उपलब्ध कराया गया है।
इसे NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE या NUCLEO-L073RZ विकास बोर्ड पर चलाने के लिए डिज़ाइन किया गया है, जो X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 या X-NUCLEO-IKS02A1 विस्तार बोर्ड से जुड़ा हुआ है।
यह एप्लीकेशन वास्तविक समय में डिवाइस के ओरिएंटेशन और रोटेशन को पहचानता है। डेटा को GUI के माध्यम से प्रदर्शित किया जा सकता है।
एल्गोरिथ्म निम्नलिखित आउटपुट प्रदान करता है: डिवाइस ओरिएंटेशन (क्वाटर्नियन, यूलर कोण), डिवाइस रोटेशन (वर्चुअल जाइरोस्कोप कार्यक्षमता), गुरुत्वाकर्षण वेक्टर और रैखिक त्वरण।
3.1 एमईएमएस-स्टूडियो अनुप्रयोग
एसampयह एप्लिकेशन MEMS-स्टूडियो एप्लिकेशन का उपयोग करता है, जिसे यहां से डाउनलोड किया जा सकता है www.st.com.
स्टेप 1सुनिश्चित करें कि आवश्यक ड्राइवर स्थापित हैं और उपयुक्त विस्तार बोर्ड के साथ STM32 न्यूक्लियो बोर्ड पीसी से जुड़ा हुआ है।
स्टेप 2मुख्य एप्लिकेशन विंडो खोलने के लिए MEMS-स्टूडियो एप्लिकेशन लॉन्च करें।
यदि समर्थित फ़र्मवेयर वाला STM32 न्यूक्लियो बोर्ड पीसी से जुड़ा है, तो उपयुक्त COM पोर्ट स्वचालित रूप से पता चल जाता है। मूल्यांकन बोर्ड से कनेक्शन स्थापित करने के लिए [कनेक्ट] बटन दबाएँ।
स्टेप 3. जब समर्थित फर्मवेयर के साथ STM32 न्यूक्लियो बोर्ड से कनेक्ट किया जाता है तो [लाइब्रेरी मूल्यांकन] टैब खुल जाता है।
डेटा स्ट्रीमिंग शुरू करने और रोकने के लिए, उपयुक्त [प्रारंभ] टॉगल करें या [रोकें]
बाहरी ऊर्ध्वाधर टूल बार पर बटन.
कनेक्टेड सेंसर से आने वाले डेटा को viewआंतरिक ऊर्ध्वाधर टूल बार पर [डेटा तालिका] टैब का चयन करना।
स्टेप 4इस लाइब्रेरी के लिए समर्पित पेज खोलने के लिए [ई-कम्पास] पर क्लिक करें।
ऊपर दिया गया चित्र STM32 न्यूक्लियो ग्राफिकल मॉडल दिखाता है। मॉडल का ओरिएंटेशन और रोटेशन एल्गोरिदम द्वारा गणना किए गए ई-कम्पास डेटा (क्वाटर्नियन) पर आधारित है।
वास्तविक डिवाइस गति को ग्राफ़िकल मॉडल के साथ संरेखित करने के लिए, डिवाइस को स्क्रीन की ओर इंगित करें और [रीसेट मॉडल] दबाएं।
शीर्षक मान वास्तविक डिवाइस शीर्षक का प्रतिनिधित्व करता है.
डिवाइस को सीधे ऊपर या नीचे की ओर इंगित करने पर (ENU संदर्भ फ्रेम के ऊपरी अक्ष के साथ, ±5 डिग्री सहनशीलता के साथ) शीर्षक के लिए N/A मान प्राप्त होता है: यह भेद करना संभव नहीं है कि डिवाइस किस कार्डिनल बिंदु की ओर इंगित कर रहा है।
अच्छाई मान 0 से 3 मान देता है और मैग्नेटोमीटर अंशांकन से संबंधित है: मान जितना अधिक होगा, ई-कम्पास डेटा एल्गोरिदम के परिणाम उतने ही बेहतर होंगे।
स्टेप 5. [सहेजें] पर क्लिक करें File] डेटालॉगिंग कॉन्फ़िगरेशन विंडो खोलने के लिए। सेंसर और ई-कम्पास डेटा को सेव करने के लिए चुनें fileआप संबंधित बटन पर क्लिक करके सेविंग शुरू या बंद कर सकते हैं।
स्टेप 6। डेटा इंजेक्शन मोड का उपयोग पहले से प्राप्त डेटा को लाइब्रेरी में भेजने और परिणाम प्राप्त करने के लिए किया जा सकता है। समर्पित खोलने के लिए वर्टिकल टूल बार पर [डेटा इंजेक्शन] टैब चुनें view इस कार्यक्षमता के लिए.
स्टेप 7। चयन करने के लिए [ब्राउज़] बटन पर क्लिक करें file CSV प्रारूप में पहले से कैप्चर किए गए डेटा के साथ।
डेटा वर्तमान तालिका में लोड किया जाएगा view.
अन्य बटन सक्रिय हो जाएंगे। आप इन पर क्लिक कर सकते हैं:
- [ऑफ़लाइन मोड] बटन फ़र्मवेयर ऑफ़लाइन मोड को चालू/बंद करने के लिए (पहले कैप्चर किए गए डेटा का उपयोग करने वाला मोड)।
– [प्रारंभ]/[रोकें]/[चरण]/[दोहराएँ] बटन MEMS-स्टूडियो से लाइब्रेरी तक डेटा फ़ीड को नियंत्रित करने के लिए।
संदर्भ
निम्नलिखित सभी संसाधन www.st.com पर निःशुल्क उपलब्ध हैं।
- UM1859: STM1Cube के लिए X-CUBE-MEMS32 मोशन MEMS और पर्यावरण सेंसर सॉफ्टवेयर विस्तार के साथ शुरुआत करना
- UM1724: STM32 न्यूक्लियो-64 बोर्ड (MB1136)
- UM3233: MEMS-स्टूडियो के साथ शुरुआत करना
संशोधन इतिहास
तालिका 4. दस्तावेज़ संशोधन इतिहास
तारीख | संस्करण | परिवर्तन |
18-मई-17 | 1 | प्रारंभिक रिहाई। |
25-जनवरी-18 | 2 | NUCLEO-L152RE विकास बोर्ड और तालिका 2 में संदर्भ जोड़े गए। बीता हुआ समय (μs) एल्गोरिथ्म. |
21-मार्च-18 | 3 | अद्यतन परिचय और अनुभाग 2.1 मोशनईसीview. |
26-नवंबर-18 | 4 | तालिका 3 जोड़ी गई। कॉर्टेक्स -M0+: बीता हुआ समय (µs) एल्गोरिदम। ARM® के संदर्भ जोड़े गए कॉर्टेक्स® – M0+ और NUCLEO-L073RZ विकास बोर्ड। |
19-फरवरी-19 | 5 | अद्यतनित चित्र 1. ENU संदर्भ फ़्रेम, तालिका 2. कॉर्टेक्स-M4 और कॉर्टेक्स-M3: व्यतीत समय (µs) एल्गोरिदम, तालिका 3. कॉर्टेक्स -M0+: बीता हुआ समय (µs) एल्गोरिदम, चित्र 3. STM32 से जुड़ा सेंसर विस्तार बोर्ड एडाप्टर न्यूक्लियो, चित्र 4. यूनिक्लियो मुख्य विंडो, चित्र 5. उपयोगकर्ता संदेश टैब, चित्र 6. ई-कम्पास विंडो और चित्र 7. डेटालॉग विंडो। X-NUCLEO-IKS01A3 विस्तार बोर्ड संगतता जानकारी जोड़ी गई। |
25-मार्च-20 | 6 | अद्यतन परिचय, अनुभाग 2.2.1: मोशनईसी लाइब्रेरी विवरण और अनुभाग 2.2.5: एल्गोरिदम प्रदर्शन। ARM Cortex-M7 आर्किटेक्चर संगतता जानकारी जोड़ी गई। |
17-सितम्बर-24 | 7 | अद्यतन अनुभाग परिचय, अनुभाग 2.1: मोशनईसी ओवरview, अनुभाग 2.2.1: मोशनईसी लाइब्रेरी विवरण, अनुभाग 2.2.2: मोशनईसी एपीआई, अनुभाग 2.2.5: एल्गोरिदम प्रदर्शन, धारा 3: एसample आवेदन, अनुभाग 3.1: MEMS-स्टूडियो आवेदन |
महत्वपूर्ण सूचना – ध्यानपूर्वक पढ़ें
एसटीमाइक्रोइलेक्ट्रॉनिक्स एनवी और इसकी सहायक कंपनियां ("एसटी") बिना किसी सूचना के किसी भी समय एसटी उत्पादों और/या इस दस्तावेज़ में परिवर्तन, सुधार, संवर्द्धन, संशोधन और सुधार करने का अधिकार सुरक्षित रखती हैं। खरीदारों को ऑर्डर देने से पहले एसटी उत्पादों पर नवीनतम प्रासंगिक जानकारी प्राप्त करनी चाहिए। एसटी उत्पादों को ऑर्डर पावती के समय लागू एसटी की बिक्री की शर्तों और नियमों के अनुसार बेचा जाता है।
क्रेता एसटी उत्पादों के चयन, चयन और उपयोग के लिए पूरी तरह से जिम्मेदार हैं और एसटी आवेदन सहायता या खरीदारों के उत्पादों के डिजाइन के लिए कोई दायित्व नहीं लेता है।
यहां एसटी द्वारा किसी भी बौद्धिक संपदा अधिकार के लिए कोई लाइसेंस, व्यक्त या निहित, प्रदान नहीं किया गया है।
यहां दी गई जानकारी से भिन्न प्रावधानों के साथ एसटी उत्पादों की पुनर्बिक्री से ऐसे उत्पाद के लिए एसटी द्वारा दी गई किसी भी वारंटी को रद्द कर दिया जाएगा।
ST और ST लोगो ST के ट्रेडमार्क हैं। ST ट्रेडमार्क के बारे में अतिरिक्त जानकारी के लिए, देखें www.st.com/ट्रेडमार्कअन्य सभी उत्पाद या सेवा नाम उनके संबंधित स्वामियों की संपत्ति हैं।
इस दस्तावेज़ में दी गई जानकारी इस दस्तावेज़ के किसी भी पूर्ववर्ती संस्करण में दी गई जानकारी का स्थान लेगी।
© 2024 एसटीमाइक्रोइलेक्ट्रॉनिक्स – सभी अधिकार सुरक्षित
दस्तावेज़ / संसाधन
![]() |
ST X-CUBE-MEMS1 MotionEC एक मिडलवेयर लाइब्रेरी है [पीडीएफ] मालिक नियमावली X-CUBE-MEMS1 MotionEC एक मिडलवेयर लाइब्रेरी है, X-CUBE-MEMS1, MotionEC एक मिडलवेयर लाइब्रेरी है, मिडलवेयर लाइब्रेरी, लाइब्रेरी |