UM2225
प्रयोगकर्ता पुस्तिका
STM1Cube को लागि X-CUBE-MEMS32 विस्तारमा MotionEC वास्तविक-समय ई-कम्पास पुस्तकालयको साथ सुरु गर्दै
परिचय
MotionEC X-CUBE-MEMS1 सफ्टवेयरको मिडलवेयर लाइब्रेरी कम्पोनेन्ट हो र STM3z2 मा चल्छ। यसले यन्त्रको डेटामा आधारित यन्त्र अभिविन्यास र आन्दोलन स्थिति बारे वास्तविक-समय जानकारी प्रदान गर्दछ।
यसले निम्न आउटपुटहरू प्रदान गर्दछ: उपकरण अभिमुखीकरण (क्वाटेरियनहरू, यूलर कोण), उपकरण रोटेशन (भर्चुअल जाइरोस्कोप कार्यक्षमता), गुरुत्वाकर्षण भेक्टर र रैखिक प्रवेग।
यो पुस्तकालय ST MEMS सँग मात्र काम गर्ने उद्देश्यले हो।
एल्गोरिदम स्थिर पुस्तकालय ढाँचामा प्रदान गरिएको छ र ARM® Cortex®-M32+, ARM® Cortex®-M0, ARM® Cortex®-M3, ARM® Cortex®-M33 र ARM® मा आधारित STM4 माइक्रोकन्ट्रोलरहरूमा प्रयोग गर्न डिजाइन गरिएको छ। Cortex®-M7 आर्किटेक्चर।
यो विभिन्न STM32 माइक्रोकन्ट्रोलरहरूमा पोर्टेबिलिटी सहज बनाउन STM32Cube सफ्टवेयर प्रविधिको शीर्षमा बनाइएको छ।
सफ्टवेयर एस संग आउँछampX-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 वा X-NUCLEO-IKS02A1 विस्तार बोर्डमा NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152ZI-Q, NUCLEO-NUCLEO-L073-XNUMX विकास बोर्डमा चलिरहेको कार्यान्वयन।
एक्रोनिम र संक्षिप्त रूपहरू
तालिका १. संक्षिप्त शब्दहरूको सूची
एक्रोनिम | विवरण |
API | अनुप्रयोग प्रोग्रामिंग इन्टरफेस |
बसपा | बोर्ड समर्थन प्याकेज |
GUI | ग्राफिकल प्रयोगकर्ता इन्टरफेस |
HAL | हार्डवेयर अमूर्त तह |
IDE | एकीकृत विकास वातावरण |
STM1Cube को लागि X-CUBE-MEMS32 सफ्टवेयर विस्तारमा MotionEC मिडलवेयर लाइब्रेरी
2.1 MotionEC समाप्त भयोview
MotionEC पुस्तकालयले X-CUBE-MEMS1 सफ्टवेयरको कार्यक्षमता विस्तार गर्दछ।
पुस्तकालयले एक्सेलेरोमिटर र म्याग्नेटोमिटरबाट डाटा प्राप्त गर्छ र यन्त्रबाट डाटाको आधारमा यन्त्र अभिविन्यास र आन्दोलनको स्थिति बारे जानकारी प्रदान गर्दछ।
पुस्तकालय ST MEMS को लागि मात्र डिजाइन गरिएको हो। अन्य MEMS सेन्सरहरू प्रयोग गर्दा कार्यक्षमता र कार्यसम्पादन विश्लेषण गरिँदैन र कागजातमा वर्णन गरिएको भन्दा उल्लेखनीय रूपमा फरक हुन सक्छ।
ए एसample कार्यान्वयन X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 र X-NUCLEO-IKS02A1 विस्तार बोर्डमा उपलब्ध छ, एक NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-U152ZI-Q, NUCLEO-U073ZI-Q, NUCLEO-IKSXNUMXAXNUMX वा विकास बोर्ड।
2.2 MotionEC पुस्तकालय
MotionEC API को कार्य र मापदण्डहरू पूर्ण रूपमा वर्णन गर्ने प्राविधिक जानकारी MotionEC_Package.chm कम्पाइल गरिएको HTML मा पाउन सकिन्छ। file कागजात फोल्डर मा स्थित छ।
2.2.1 MotionEC पुस्तकालय विवरण
MotionEC ई-कम्पास पुस्तकालयले एक्सेलेरोमिटर र म्याग्नेटोमिटरबाट प्राप्त डाटा व्यवस्थापन गर्छ; यो विशेषताहरु:
- उपकरण अभिमुखीकरण (चतुर्थांश, यूलर कोण), उपकरण रोटेशन (भर्चुअल जाइरोस्कोप कार्यक्षमता), गुरुत्वाकर्षण भेक्टर र रैखिक एक्सेलेरेशन आउटपुटहरू
- एक्सेलेरोमिटर र म्याग्नेटोमिटर डाटामा मात्र आधारित कार्यक्षमता
- आवश्यक एक्सेलेरोमीटर र म्याग्नेटोमिटर डाटा samp100 Hz सम्मको ling आवृत्ति
- स्रोत आवश्यकताहरू:
- Cortex-M0+: 3.7 kB कोड र 0.1 kB डाटा मेमोरी
- Cortex-M3: 3.8 kB कोड र 0.1 kB डाटा मेमोरी
- Cortex-M33: 2.8 kB कोड र 0.1 kB डाटा मेमोरी
- Cortex-M4: 2.9 kB कोड र 0.1 kB डाटा मेमोरी
- Cortex-M7: 2.8 kB कोड र 0.1 kB डाटा मेमोरी - ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 र Cortex M7 आर्किटेक्चरहरूको लागि उपलब्ध छ।
2.2.2 MotionEC APIs
MotionEC API हरू हुन्:
- uint8_t MotionEC_GetLibVersion(char *संस्करण)
- पुस्तकालय को संस्करण पुन: प्राप्त
- *संस्करण 35 वर्णहरूको एर्रेको लागि सूचक हो
- संस्करण स्ट्रिङमा क्यारेक्टरहरूको संख्या फर्काउँछ
• void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
- MotionEC पुस्तकालय प्रारम्भ र आन्तरिक संयन्त्रको सेटअप कार्य गर्दछ।
- 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 BlueNRG -LP हो
- आवृत्ति भनेको सेन्सर होampलिंग आवृत्ति [Hz]
नोट: यस प्रकार्यलाई ई-कम्पास पुस्तकालय प्रयोग गर्नु अघि कल गर्नुपर्छ र STM32 माइक्रोकन्ट्रोलरमा (RCC परिधीय घडी सक्षम दर्तामा) CRC मोड्युललाई पुस्तकालय प्रयोग गर्नु अघि सक्षम गरिएको हुनुपर्छ।
- void MotionEC_SetFrequency(फ्लोट फ्रिक्वेन्सी)
- एस सेट गर्दछampलिङ्ग फ्रिक्वेन्सी (फिल्टरिङ प्यारामिटरहरू परिमार्जन गर्दै)
- आवृत्ति भनेको सेन्सर होampling आवृत्ति [Hz] • शून्य MotionEC_Run (MEC_input_t *data_in, MEC_output_t *डेटा_आउट)
- ई-कम्पास एल्गोरिथ्म चलाउँछ (एक्सेलेरोमीटर र म्याग्नेटोमिटर डेटा फ्यूजन)
- *data_in इनपुट डाटा भएको संरचनाको लागि सूचक हो
- MEC_input_t संरचना प्रकारका लागि प्यारामिटरहरू हुन्:
◦ acc[3] ENU सम्मेलनमा एक्सेलेरोमिटर डेटाको एर्रे हो, जी मा मापन गरिन्छ
◦ mag[3] ENU कन्भेन्सनमा म्याग्नेटोमिटर क्यालिब्रेट गरिएको डाटाको एर्रे हो, μT/50 मा मापन गरिन्छ।
◦ डेल्टाटाइम s डेल्टा समय हो (अर्थात्, पुरानो र नयाँ डेटा सेट बीचको ढिलाइ) s मा नापिन्छ।
- *data_out आउटपुट डाटा भएको संरचनाको लागि सूचक हो
- संरचना प्रकार MEC_output_t को लागि प्यारामिटरहरू हुन्:
◦ quaternion[4] भनेको ENU कन्भेन्सनमा quaternion भएको array हो, जसले स्पेसमा रहेको यन्त्रको 3Dangular अभिमुखीकरणलाई प्रतिनिधित्व गर्दछ; तत्वहरूको क्रम हो: X, Y, Z, W, सधैं सकारात्मक तत्व W संग
◦ euler [3] ENU कन्भेन्सनमा Euler कोणहरूको एरे हो, स्पेसमा यन्त्रको 3D-कोणिक अभिमुखीकरण प्रतिनिधित्व गर्दछ; तत्वहरूको क्रम हो: yaw, pitch, रोल, deg मा मापन
◦ i_gyro[3] ENU कन्भेन्सनमा कोणीय दरहरूको एर्रे हो, भर्चुअल जाइरोस्कोप सेन्सरलाई प्रतिनिधित्व गर्दछ, dps मा मापन गरिन्छ।
◦ गुरुत्वाकर्षण [३] ENU कन्भेन्सनमा प्रवेगको एर्रे हो, गुरुत्वाकर्षण भेक्टरलाई प्रतिनिधित्व गर्दछ, g मा मापन गरिन्छ।
◦ रेखीय [३] ENU कन्भेन्सनमा एक्सेलेरेशनहरूको एर्रे हो, यन्त्र रैखिक प्रवेगलाई प्रतिनिधित्व गर्दछ, g मा मापन गरिन्छ।
- void MotionEC_GetOrientationEnable(MEC_state_t *state)
- Euler कोण गणना को सक्षम / असक्षम स्थिति प्राप्त गर्दछ
- *राज्य हालको सक्षम/असक्षम राज्यको लागि सूचक हो - void MotionEC_SetOrientationEnable(MEC_state_t state)
- Euler कोण गणना को सक्षम / असक्षम स्थिति सेट गर्दछ
- राज्य सेट गर्न को लागी नयाँ सक्षम / असक्षम राज्य हो - void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
- भर्चुअल जाइरोस्कोप गणनाको सक्षम / असक्षम स्थिति प्राप्त गर्दछ
- *राज्य हालको सक्षम/असक्षम राज्यको लागि सूचक हो - void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
- भर्चुअल जाइरोस्कोप गणनाको सक्षम / असक्षम स्थिति सेट गर्दछ
- राज्य सेट गर्न को लागी नयाँ सक्षम / असक्षम राज्य हो - void MotionEC_GetGravityEnable(MEC_state_t *state)
- गुरुत्वाकर्षण भेक्टर गणनाको सक्षम / असक्षम स्थिति प्राप्त गर्दछ
- *राज्य हालको सक्षम/असक्षम राज्यको लागि सूचक हो - void MotionEC_SetGravityEnable(MEC_state_t state)
- गुरुत्वाकर्षण भेक्टर गणनाको सक्षम / असक्षम स्थिति सेट गर्दछ
- राज्य सेट गर्न को लागी नयाँ सक्षम / असक्षम राज्य हो - void MotionEC_GetLinearAccEnable(MEC_state_t *state)
- रैखिक त्वरण गणनाको सक्षम / असक्षम स्थिति प्राप्त गर्दछ
- *राज्य हालको सक्षम/असक्षम राज्यको लागि सूचक हो - void MotionEC_SetLinearAccEnable(MEC_state_t राज्य)
- रैखिक प्रवेग गणनाको सक्षम/असक्षम अवस्था सेट गर्दछ
- राज्य सेट गर्न को लागी नयाँ सक्षम / असक्षम राज्य हो
2.2.3 API प्रवाह चार्ट
2.2.4 डेमो कोड
निम्न प्रदर्शन कोडले एक्सेलेरोमिटर र म्याग्नेटोमिटर सेन्सरहरूबाट डाटा पढ्छ र ECompass डाटा (जस्तै, quaternion, Euler कोण, आदि) प्राप्त गर्दछ।
2.2.5 एल्गोरिदम प्रदर्शन
ई-कम्पास एल्गोरिथ्मले एक्सेलेरोमिटर र म्याग्नेटोमिटरबाट मात्र डाटा प्रयोग गर्दछ। यो बिजुली खपत कम गर्न कम आवृत्ति (100 Hz सम्म) मा चल्छ।
Sampआवेदन
MotionEC मिडलवेयर प्रयोगकर्ता अनुप्रयोगहरू निर्माण गर्न सजिलैसँग हेरफेर गर्न सकिन्छ; जस्तैample आवेदन एप्लिकेसन फोल्डरमा प्रदान गरिएको छ।
यो NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE वा NUCLEO-L073RZ विकास बोर्डमा चलाउनको लागि डिजाइन गरिएको छ जुन X-NUCLEO-IKS01A3, X-NUCLEO-IKS4KS1A02, X-NUCLEO-IKS1ANXIXACLEOXNUMX-AXLEO मा जडान गरिएको छ। बोर्ड।
अनुप्रयोगले वास्तविक समयमा उपकरण अभिविन्यास र रोटेशन पहिचान गर्दछ। डाटा GUI मार्फत प्रदर्शन गर्न सकिन्छ।
एल्गोरिथ्मले निम्न आउटपुटहरू प्रदान गर्दछ: उपकरण अभिमुखीकरण (क्वाटरनियन, यूलर कोण), उपकरण रोटेशन (भर्चुअल जाइरोस्कोप कार्यक्षमता), गुरुत्वाकर्षण भेक्टर र रैखिक प्रवेग।
3.1 MEMS-स्टुडियो आवेदन
एसample अनुप्रयोगले MEMS-Studio अनुप्रयोग प्रयोग गर्दछ, जुन बाट डाउनलोड गर्न सकिन्छ www.st.com.
चरण १। सुनिश्चित गर्नुहोस् कि आवश्यक ड्राइभरहरू स्थापित छन् र उपयुक्त विस्तार बोर्डको साथ STM32 Nucleo बोर्ड PC मा जडान गरिएको छ।
चरण १। मुख्य एप्लिकेसन विन्डो खोल्नको लागि MEMS-Studio एप सुरु गर्नुहोस्।
यदि समर्थित फर्मवेयरको साथ STM32 Nucleo बोर्ड PC मा जडान गरिएको छ भने, उपयुक्त COM पोर्ट स्वचालित रूपमा पत्ता लगाइन्छ। मूल्याङ्कन बोर्डमा जडान स्थापित गर्न [जडान] बटन थिच्नुहोस्।
चरण १। समर्थित फर्मवेयर [पुस्तकालय मूल्याङ्कन] ट्याबको साथ STM32 Nucleo बोर्डमा जडान हुँदा खोलिएको छ।
डाटा स्ट्रिमिङ सुरु गर्न र रोक्न, उपयुक्त टगल गर्नुहोस् [सुरु गर्नुहोस्] वा [रोक्नुहोस्]
बाहिरी ठाडो उपकरण पट्टीमा बटन।
जडान गरिएको सेन्सरबाट आउने डाटा हुन सक्छ viewed भित्री ठाडो उपकरण पट्टीमा [डेटा तालिका] ट्याब चयन गर्दै।
चरण १। यस पुस्तकालयको लागि समर्पित पृष्ठ खोल्न [ई-कम्पास] मा क्लिक गर्नुहोस्।
माथिको चित्रले STM32 न्यूक्लियो ग्राफिकल मोडेल देखाउँछ। मोडेल अभिमुखीकरण र रोटेशन एल्गोरिदम द्वारा गणना गरिएको ई-कम्पास डाटा (क्वाटेरियन्स) मा आधारित छ।
ग्राफिकल मोडेलसँग वास्तविक यन्त्र आन्दोलनलाई पङ्क्तिबद्ध गर्न, यन्त्रलाई स्क्रिन तर्फ देखाउनुहोस् र [रिसेट मोडेल] थिच्नुहोस्।
हेडिङ मानले वास्तविक उपकरण शीर्षकलाई प्रतिनिधित्व गर्दछ।
यन्त्रलाई सिधा माथि वा तल देखाउँदै (ENU सन्दर्भ फ्रेमको माथि अक्षको साथ, ±5 डिग्री सहिष्णुताको साथ) हेडिङको लागि N/A मान दिन्छ: यन्त्रले कुन मुख्य बिन्दुमा औंल्याइरहेको छ भनेर छुट्याउन सम्भव छैन।
गुडनेस मानले ० देखि ३ मान दिन्छ र म्याग्नेटोमिटर क्यालिब्रेसनसँग सम्बन्धित छ: मान जति उच्च हुन्छ, ई-कम्पास डेटा एल्गोरिदमको नतिजा त्यति नै राम्रो हुन्छ।
चरण १। मा क्लिक गर्नुहोस् [मा बचत गर्नुहोस् File] डाटालगिङ कन्फिगरेसन विन्डो खोल्न। सेन्सर र ई-कम्पास डाटामा बचत गर्न चयन गर्नुहोस् file। तपाईं सम्बन्धित बटनमा क्लिक गरेर बचत सुरु गर्न वा रोक्न सक्नुहुन्छ।
चरण 6। डेटा इंजेक्शन मोड पुस्तकालयमा पहिले प्राप्त डाटा पठाउन र परिणाम प्राप्त गर्न प्रयोग गर्न सकिन्छ। समर्पित खोल्न ठाडो उपकरण पट्टीमा [डेटा इंजेक्शन] ट्याब चयन गर्नुहोस् view यो कार्यक्षमता को लागी।
चरण 7। चयन गर्न [ब्राउज] बटनमा क्लिक गर्नुहोस् file CSV ढाँचामा पहिले कैद गरिएको डाटासँग।
डाटा हालको तालिकामा लोड हुनेछ view.
अन्य बटनहरू सक्रिय हुनेछन्। तपाईं क्लिक गर्न सक्नुहुन्छ:
- [अफलाइन मोड] बटन फर्मवेयर अफलाइन मोड अन/अफ गर्न (पहिले क्याप्चर गरिएको डाटा प्रयोग गर्ने मोड)।
- [स्टार्ट]/[रोक्नुहोस्]/[चरण]/[दोहोर्याउनुहोस्] बटनहरू MEMS-स्टुडियोबाट लाइब्रेरीमा डेटा फिड नियन्त्रण गर्न।
सन्दर्भहरू
तलका सबै स्रोतहरू www.st.com मा स्वतन्त्र रूपमा उपलब्ध छन्।
- UM1859: X-CUBE-MEMS1 गति MEMS र STM32Cube को लागि वातावरणीय सेन्सर सफ्टवेयर विस्तारको साथ सुरु गर्दै
- UM1724: STM32 Nucleo-64 बोर्डहरू (MB1136)
- UM3233: MEMS-Studio को साथ सुरु गर्दै
संशोधन इतिहास
तालिका १। कागजात संशोधन इतिहास
मिति | संस्करण | परिवर्तनहरू |
18-मे-17 | 1 | प्रारम्भिक रिलीज। |
25-जनवरी-18 | 2 | NUCLEO-L152RE विकास बोर्ड र तालिका 2 मा सन्दर्भहरू थपियो। बितेको समय (μs) एल्गोरिदम। |
21-मार्च-18 | 3 | अपडेट गरिएको परिचय र खण्ड २.१ MotionEC समाप्त भयोview. |
26-नोभेम्बर-18 | 4 | थपिएको तालिका ३. Cortex -M3+: बितेको समय (µs) एल्गोरिदम। ARM® मा सन्दर्भहरू थपियो Cortex® - M0+ र NUCLEO-L073RZ विकास बोर्ड। |
०८-फेब्रुअरी-२०२४ | 5 | अद्यावधिक गरिएको चित्र 1. ENU सन्दर्भ फ्रेम, तालिका 2. Cortex -M4 र Cortex-M3: बितेको समय (µs) एल्गोरिदम, तालिका 3। Cortex -M0+: बितेको समय (µs) एल्गोरिदम, चित्र 3. STM32 मा जडान भएको सेन्सर विस्तार बोर्ड एडाप्टर Nucleo, चित्र 4. Unicleo मुख्य विन्डो, चित्र 5. प्रयोगकर्ता सन्देश ट्याब, चित्र 6. ई-कम्पास विन्डो र चित्र 7. डाटालग विन्डो। X-NUCLEO-IKS01A3 विस्तार बोर्ड अनुकूलता जानकारी थपियो। |
25-मार्च-20 | 6 | अद्यावधिक गरिएको परिचय, खण्ड 2.2.1: MotionEC पुस्तकालय विवरण र खण्ड 2.2.5: एल्गोरिदम प्रदर्शन। थपियो ARM Cortex-M7 वास्तुकला अनुकूलता जानकारी। |
६-सेप्टेम्बर-१८ | 7 | अपडेट गरिएको खण्ड परिचय, खण्ड २.१: MotionEC समाप्त भयोview, खण्ड 2.2.1: MotionEC पुस्तकालय विवरण, खण्ड 2.2.2: MotionEC APIs, खण्ड 2.2.5: एल्गोरिदम प्रदर्शन, खण्ड 3: एसample आवेदन, खण्ड 3.1: MEMS-स्टुडियो आवेदन |
महत्त्वपूर्ण सूचना - ध्यानपूर्वक पढ्नुहोस्
STMicroelectronics NV र यसका सहायक कम्पनीहरू ("ST") ले बिना सूचना कुनै पनि समयमा ST उत्पादनहरू र/वा यस कागजातमा परिवर्तनहरू, सुधारहरू, परिमार्जनहरू, परिमार्जनहरू र सुधारहरू गर्ने अधिकार सुरक्षित राख्छन्। खरिदकर्ताहरूले अर्डर राख्नु अघि ST उत्पादनहरूमा नवीनतम सान्दर्भिक जानकारी प्राप्त गर्नुपर्छ। ST उत्पादनहरू अर्डर स्वीकृतिको समयमा ST को बिक्रीका सर्तहरू र सर्तहरू अनुसार बेचिन्छन्।
ST उत्पादनहरूको छनोट, छनोट र प्रयोगको लागि खरिदकर्ताहरू पूर्ण रूपमा जिम्मेवार छन् र ST ले आवेदन सहायता वा खरिदकर्ताहरूको उत्पादनहरूको डिजाइनको लागि कुनै दायित्व मान्दैन।
कुनै लाइसेन्स, एक्सप्रेस वा निहित, कुनै पनि बौद्धिक सम्पत्ति अधिकार यहाँ ST द्वारा प्रदान गरिएको छैन।
यहाँ उल्लेख गरिएको जानकारी भन्दा फरक प्रावधानहरू सहित ST उत्पादनहरूको पुन: बिक्रीले त्यस्तो उत्पादनको लागि ST द्वारा प्रदान गरिएको कुनै पनि वारेन्टी रद्द हुनेछ।
ST र ST लोगो ST को ट्रेडमार्क हो। ST ट्रेडमार्क बारे थप जानकारीको लागि, सन्दर्भ गर्नुहोस् www.st.com/trademarks। अन्य सबै उत्पादन वा सेवा नामहरू तिनीहरूका सम्बन्धित मालिकहरूको सम्पत्ति हुन्।
यस कागजातमा भएको जानकारीले यस कागजातको कुनै पनि अघिल्लो संस्करणहरूमा पहिले प्रदान गरिएको जानकारीलाई हटाउँछ र प्रतिस्थापन गर्दछ।
© 2024 STMicroelectronics - सबै अधिकार सुरक्षित
कागजातहरू / स्रोतहरू
![]() |
ST X-CUBE-MEMS1 MotionEC एक मिडलवेयर लाइब्रेरी हो [pdf] मालिकको म्यानुअल X-CUBE-MEMS1 MotionEC एक मिडलवेयर लाइब्रेरी हो, X-CUBE-MEMS1, MotionEC एक मिडलवेयर लाइब्रेरी, मिडलवेयर लाइब्रेरी, लाइब्रेरी हो |