यूएम 2225
वापरकर्ता मॅन्युअल
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 सॉफ्टवेअर तंत्रज्ञानाच्या वर तयार केले आहे.
सॉफ्टवेअर s सह येतोampX-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 किंवा X-NUCLEO-IKS02A1 विस्तार बोर्ड NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-NUCLEO-NU152ZI-Q, NUCLEO-NUCLEO-L073-Reboard विकासावर चालणारी अंमलबजावणी.
परिवर्णी शब्द आणि संक्षेप
तक्ता 1. परिवर्णी शब्दांची सूची
परिवर्णी शब्द | वर्णन |
API | अनुप्रयोग प्रोग्रामिंग इंटरफेस |
बसपा | बोर्ड समर्थन पॅकेज |
GUI | ग्राफिकल यूजर इंटरफेस |
एचएएल | हार्डवेअर अॅब्स्ट्रॅक्शन लेयर |
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-073-विकास किंवा NUCLEO-FXNUMXRE वर आरोहित बोर्ड
2.2 MotionEC लायब्ररी
MotionEC API ची कार्ये आणि पॅरामीटर्सचे पूर्णपणे वर्णन करणारी तांत्रिक माहिती MotionEC_Package.chm संकलित HTML मध्ये आढळू शकते. file दस्तऐवजीकरण फोल्डरमध्ये स्थित आहे.
2.2.1 MotionEC लायब्ररी वर्णन
मोशनईसी ई-कंपास लायब्ररी एक्सीलरोमीटर आणि मॅग्नेटोमीटरमधून मिळवलेला डेटा व्यवस्थापित करते; त्याची वैशिष्ट्ये:
- उपकरण अभिमुखता (चतुर्थांश, यूलर कोन), उपकरण रोटेशन (व्हर्च्युअल गायरोस्कोप कार्यक्षमता), गुरुत्व वेक्टर आणि रेखीय प्रवेग आउटपुट
- केवळ एक्सीलरोमीटर आणि मॅग्नेटोमीटर डेटावर आधारित कार्यक्षमता
- आवश्यक एक्सीलरोमीटर आणि मॅग्नेटोमीटर डेटा samp100 Hz पर्यंत लिंग वारंवारता
- संसाधन आवश्यकता:
– Cortex-M0+: 3.7 kB कोड आणि 0.1 kB डेटा मेमरी
– कॉर्टेक्स-एम३: ३.६ kB कोड आणि ३.२ kB डेटा मेमरी
– कॉर्टेक्स-एम३: ३.६ kB कोड आणि ३.२ kB डेटा मेमरी
– कॉर्टेक्स-एम३: ३.६ kB कोड आणि ३.२ kB डेटा मेमरी
– कॉर्टेक्स-एम३: ३.६ kB कोड आणि ३.२ 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 ब्लूNRG -LP आहे
- वारंवारता म्हणजे सेन्सर एसampलिंग वारंवारता [Hz]
टीप: ई-कंपास लायब्ररी वापरण्यापूर्वी हे फंक्शन कॉल करणे आवश्यक आहे आणि लायब्ररी वापरण्यापूर्वी STM32 मायक्रोकंट्रोलरमधील (RCC परिधीय घड्याळ सक्षम रजिस्टरमध्ये) CRC मॉड्यूल सक्षम करणे आवश्यक आहे.
- void MotionEC_SetFrequency(फ्लोट वारंवारता)
- एस सेट करतेampलिंग वारंवारता (फिल्टरिंग पॅरामीटर्स बदलणे)
- वारंवारता म्हणजे सेन्सर एसampलिंग वारंवारता [Hz] • void 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 कन्व्हेन्शनमधील चतुर्थांश असलेले ॲरे आहे, जे स्पेसमधील यंत्राच्या 3 डँग्युलर ओरिएंटेशनचे प्रतिनिधित्व करते; घटकांचा क्रम असा आहे: X, Y, Z, W, नेहमी सकारात्मक घटक W सह
◦ euler[3] हा ENU कन्व्हेन्शनमधील युलर कोनांचा एक ॲरे आहे, जो अंतराळातील उपकरणाचे 3D-कोणीय अभिमुखता दर्शवतो; घटकांचा क्रम असा आहे: yaw, pitch, roll, deg मध्ये मोजले
◦ i_gyro[3] हा ENU कन्व्हेन्शनमधील कोनीय दरांचा एक ॲरे आहे, जो dps मध्ये मोजला जाणारा आभासी गायरोस्कोप सेन्सर दर्शवतो
◦ गुरुत्वाकर्षण[३] हे ENU कन्व्हेन्शनमधील प्रवेगांचे एक ॲरे आहे, जे गुरुत्वाकर्षण वेक्टरचे प्रतिनिधित्व करते, जी मध्ये मोजले जाते.
◦ रेखीय[3] हे ENU कन्व्हेन्शनमधील प्रवेगांचे एक ॲरे आहे, जे उपकरण रेखीय प्रवेग दर्शवते, जी मध्ये मोजले जाते
- void MotionEC_GetOrientationEnable(MEC_state_t *state)
- यूलर अँगल कॅल्क्युलेशनची सक्षम/अक्षम स्थिती मिळवते
- *राज्य हे सध्याच्या सक्षम/अक्षम स्थितीसाठी एक सूचक आहे - void MotionEC_SetOrientationEnable(MEC_state_t state)
- यूलर अँगल कॅल्क्युलेशनची सक्षम/अक्षम स्थिती सेट करते
- राज्य हे सेट केले जाणारे नवीन सक्षम/अक्षम राज्य आहे - 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 डेमो कोड
खालील प्रात्यक्षिक कोड एक्सीलरोमीटर आणि मॅग्नेटोमीटर सेन्सरचा डेटा वाचतो आणि ईकॉम्पास डेटा मिळवतो (म्हणजे क्वाटर्निअन, यूलर अँगल इ.).
2.2.5 अल्गोरिदम कामगिरी
ई-कंपास अल्गोरिदम केवळ एक्सीलरोमीटर आणि मॅग्नेटोमीटरमधील डेटा वापरते. वीज वापर कमी करण्यासाठी ते कमी वारंवारता (100 Hz पर्यंत) चालते.
Sample अर्ज
वापरकर्ता अनुप्रयोग तयार करण्यासाठी MotionEC मिडलवेअर सहजपणे हाताळले जाऊ शकते; म्हणूनample ऍप्लिकेशन ऍप्लिकेशन फोल्डरमध्ये प्रदान केले आहे.
हे NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE किंवा NUCLEO-L073RZ डेव्हलपमेंट बोर्डवर चालण्यासाठी डिझाइन केलेले आहे जे X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1, X-NUCLEO-IKS02ACUACLEO1-XAXLEOXNUMX बोर्ड
अनुप्रयोग रिअल-टाइममध्ये डिव्हाइस अभिमुखता आणि रोटेशन ओळखतो. डेटा GUI द्वारे प्रदर्शित केला जाऊ शकतो.
अल्गोरिदम खालील आउटपुट प्रदान करते: उपकरण अभिमुखता (चतुर्थांश, यूलर कोन), उपकरण रोटेशन (आभासी जायरोस्कोप कार्यक्षमता), गुरुत्वाकर्षण वेक्टर आणि रेखीय प्रवेग.
3.1 MEMS-स्टुडिओ अनुप्रयोग
एसample ऍप्लिकेशन MEMS-Studio ऍप्लिकेशन वापरते, जे येथून डाउनलोड केले जाऊ शकते www.st.com.
पायरी 1. आवश्यक ड्रायव्हर्स स्थापित केले आहेत याची खात्री करा आणि योग्य विस्तार बोर्डसह STM32 न्यूक्लिओ बोर्ड पीसीशी जोडला गेला आहे.
पायरी 2. मुख्य ऍप्लिकेशन विंडो उघडण्यासाठी MEMS-Studio ऍप्लिकेशन लाँच करा.
समर्थित फर्मवेअरसह STM32 Nucleo बोर्ड PC शी कनेक्ट केलेले असल्यास, योग्य COM पोर्ट आपोआप आढळतो. मूल्यांकन मंडळाशी कनेक्शन स्थापित करण्यासाठी [कनेक्ट] बटण दाबा.
पायरी 3. समर्थित फर्मवेअरसह STM32 न्यूक्लिओ बोर्डशी कनेक्ट केल्यावर [लायब्ररी मूल्यांकन] टॅब उघडला जातो.
डेटा प्रवाह सुरू करण्यासाठी आणि थांबवण्यासाठी, योग्य टॉगल करा [प्रारंभ] किंवा [थांबा]
बाहेरील उभ्या टूलबारवरील बटण.
कनेक्टेड सेन्सरमधून येणारा डेटा असू शकतो viewed अंतर्गत उभ्या टूलबारवरील [डेटा टेबल] टॅब निवडणे.
पायरी 4. या लायब्ररीसाठी समर्पित पृष्ठ उघडण्यासाठी [ई-कंपास] वर क्लिक करा.
वरील आकृती STM32 न्यूक्लिओ ग्राफिकल मॉडेल दाखवते. मॉडेल ओरिएंटेशन आणि रोटेशन अल्गोरिदमद्वारे गणना केलेल्या ई-कंपास डेटा (क्वाटेरिनियन्स) वर आधारित आहेत.
वास्तविक उपकरणाची हालचाल ग्राफिकल मॉडेलसह संरेखित करण्यासाठी, डिव्हाइस स्क्रीनकडे निर्देशित करा आणि [रीसेट मॉडेल] दाबा.
शीर्षक मूल्य वास्तविक डिव्हाइस शीर्षक दर्शवते.
डिव्हाइसला सरळ वर किंवा खाली निर्देशित केल्याने (ENU संदर्भ फ्रेमच्या वरच्या अक्षासह, ±5 अंश सहिष्णुतेसह) हेडिंगसाठी N/A मूल्य देते: डिव्हाइस कोणत्या मुख्य बिंदूकडे निर्देश करत आहे हे ओळखणे शक्य नाही.
चांगुलपणाचे मूल्य 0 ते 3 मूल्ये देते आणि मॅग्नेटोमीटर कॅलिब्रेशनशी संबंधित आहे: मूल्य जितके जास्त असेल तितके ई-कंपास डेटा अल्गोरिदमचे चांगले परिणाम.
पायरी 5. वर क्लिक करा [वर जतन करा File] डेटालॉगिंग कॉन्फिगरेशन विंडो उघडण्यासाठी. मध्ये सेव्ह करण्यासाठी सेन्सर आणि ई-कंपास डेटा निवडा file. तुम्ही संबंधित बटणावर क्लिक करून बचत सुरू करू शकता किंवा थांबवू शकता.
पायरी 6. डेटा इंजेक्शन मोडचा वापर पूर्वी मिळवलेला डेटा लायब्ररीला पाठवण्यासाठी आणि परिणाम प्राप्त करण्यासाठी केला जाऊ शकतो. समर्पित उघडण्यासाठी उभ्या टूलबारवरील [डेटा इंजेक्शन] टॅब निवडा view या कार्यक्षमतेसाठी.
पायरी 7. निवडण्यासाठी [ब्राउझ] बटणावर क्लिक करा file CSV फॉरमॅटमध्ये पूर्वी कॅप्चर केलेल्या डेटासह.
डेटा करंटमध्ये टेबलमध्ये लोड केला जाईल view.
इतर बटणे सक्रिय होतील. आपण यावर क्लिक करू शकता:
– फर्मवेअर ऑफलाइन मोड चालू/बंद करण्यासाठी [ऑफलाइन मोड] बटण (पूर्वी कॅप्चर केलेला डेटा वापरणारा मोड).
– MEMS-Studio वरून लायब्ररीमध्ये डेटा फीड नियंत्रित करण्यासाठी [प्रारंभ]/[थांबा]/[चरण]/[पुनरावृत्ती] बटणे.
संदर्भ
खालील सर्व संसाधने www.st.com वर विनामूल्य उपलब्ध आहेत.
- UM1859: X-CUBE-MEMS1 मोशन MEMS आणि STM32Cube साठी पर्यावरणीय सेन्सर सॉफ्टवेअर विस्तारासह प्रारंभ करणे
- UM1724: STM32 Nucleo-64 बोर्ड (MB1136)
- UM3233: MEMS-Studio सह प्रारंभ करणे
पुनरावृत्ती इतिहास
तक्ता 4. दस्तऐवज पुनरावृत्ती इतिहास
तारीख | आवृत्ती | बदल |
०१-मे-२०२३ | 1 | प्रारंभिक प्रकाशन. |
25-जानेवारी-18 | 2 | NUCLEO-L152RE विकास मंडळ आणि तक्ता 2 मध्ये संदर्भ जोडले. निघून गेलेला वेळ (μs) अल्गोरिदम. |
21-मार्च-18 | 3 | अद्यतनित परिचय आणि विभाग 2.1 MotionEC ओव्हरview. |
०७-नोव्हेंबर-२०२२ | 4 | जोडलेली तक्ता 3. कॉर्टेक्स -M0+: निघून गेलेला वेळ (µs) अल्गोरिदम. ARM® मध्ये संदर्भ जोडले Cortex® – 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: MotionEC लायब्ररी वर्णन आणि विभाग 2.2.5: अल्गोरिदम कार्यप्रदर्शन. ARM Cortex-M7 आर्किटेक्चर सुसंगतता माहिती जोडली. |
17-सप्टे-24 | 7 | अद्यतनित विभाग परिचय, विभाग 2.1: MotionEC समाप्तview, विभाग 2.2.1: MotionEC लायब्ररी वर्णन, विभाग 2.2.2: MotionEC APIs, विभाग 2.2.5: अल्गोरिदम कामगिरी, विभाग 3: एसample अनुप्रयोग, विभाग 3.1: MEMS-स्टुडिओ अनुप्रयोग |
महत्वाची सूचना – काळजीपूर्वक वाचा
STMicroelectronics NV आणि त्याच्या उपकंपन्या (“ST”) ST उत्पादनांमध्ये आणि/किंवा या दस्तऐवजात कोणत्याही वेळी सूचना न देता बदल, सुधारणा, सुधारणा, सुधारणा आणि सुधारणा करण्याचा अधिकार राखून ठेवतात. खरेदीदारांनी ऑर्डर देण्यापूर्वी एसटी उत्पादनांची नवीनतम माहिती मिळवावी. ऑर्डर पावतीच्या वेळी एसटी उत्पादनांची विक्री एसटीच्या अटी आणि नियमांनुसार केली जाते.
एसटी उत्पादनांची निवड, निवड आणि वापर यासाठी खरेदीदार पूर्णपणे जबाबदार आहेत आणि एसटी अर्ज सहाय्यासाठी किंवा खरेदीदारांच्या उत्पादनांच्या डिझाइनसाठी कोणतेही दायित्व गृहीत धरत नाही.
कोणताही बौद्धिक संपदा अधिकाराचा कोणताही परवाना, व्यक्त किंवा निहित, येथे एसटीकडून मंजूर नाही.
येथे नमूद केलेल्या माहितीपेक्षा वेगळ्या तरतुदींसह एसटी उत्पादनांची पुनर्विक्री अशा उत्पादनासाठी एसटीने दिलेली कोणतीही हमी रद्द करेल.
एसटी आणि एसटी लोगो हे एसटीचे ट्रेडमार्क आहेत. एसटी ट्रेडमार्कबद्दल अतिरिक्त माहितीसाठी, पहा www.st.com/trademarks. इतर सर्व उत्पादन किंवा सेवा नावे त्यांच्या संबंधित मालकांची मालमत्ता आहेत.
या दस्तऐवजातील माहिती या दस्तऐवजाच्या कोणत्याही आधीच्या आवृत्त्यांमध्ये पूर्वी पुरवलेल्या माहितीची जागा घेते आणि पुनर्स्थित करते.
© 2024 STMicroelectronics – सर्व हक्क राखीव
कागदपत्रे / संसाधने
![]() |
ST X-CUBE-MEMS1 MotionEC ही मिडलवेअर लायब्ररी आहे [pdf] मालकाचे मॅन्युअल X-CUBE-MEMS1 MotionEC एक मिडलवेअर लायब्ररी आहे, X-CUBE-MEMS1, MotionEC मिडलवेअर लायब्ररी आहे, मिडलवेअर लायब्ररी, लायब्ररी |