UM2225
صارف دستی
STM1Cube کے لیے X-CUBE-MEMS32 توسیع میں MotionEC ریئل ٹائم ای کمپاس لائبریری کے ساتھ شروعات کرنا
تعارف
MotionEC X-CUBE-MEMS1 سافٹ ویئر کا ایک مڈل ویئر لائبریری جزو ہے اور STM3z2 پر چلتا ہے۔ یہ آلے کے ڈیٹا کی بنیاد پر ڈیوائس کی واقفیت اور نقل و حرکت کی حالت کے بارے میں اصل وقت کی معلومات فراہم کرتا ہے۔
یہ مندرجہ ذیل نتائج فراہم کرتا ہے: ڈیوائس کی واقفیت (quaternions، Euler angles)، ڈیوائس کی گردش (ورچوئل گائروسکوپ کی فعالیت)، کشش ثقل ویکٹر اور لکیری سرعت۔
اس لائبریری کا مقصد صرف ST MEMS کے ساتھ کام کرنا ہے۔
الگورتھم جامد لائبریری کی شکل میں فراہم کیا گیا ہے اور اسے ARM® Cortex®-M32+، ARM® Cortex®-M0، ARM® Cortex®-M3، ARM® Cortex®-M33 اور ARM® کی بنیاد پر STM4 مائکرو کنٹرولرز پر استعمال کرنے کے لیے ڈیزائن کیا گیا ہے۔ Cortex®-M7 فن تعمیرات۔
یہ STM32Cube سافٹ ویئر ٹیکنالوجی کے اوپر بنایا گیا ہے تاکہ مختلف STM32 مائیکرو کنٹرولرز میں پورٹیبلٹی کو آسان بنایا جا سکے۔
سافٹ ویئر s کے ساتھ آتا ہے۔ampX-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 یا X-NUCLEO-IKS02A1 توسیعی بورڈ NUCLEO-F401RE، NUCLEO-U575ZI-Q، NUCLEO-NUCLEO-NU152ZI-Q، NUCLEO-NUCLEO-IKS073AXNUMX یا ڈیولپمنٹ بورڈ پر عمل درآمد۔
مخففات اور مخففات
جدول 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-IKS073AXNUMX یا NUCLEO-UXNUMXZI-Q، NUCLEO-IKSXNUMXAXNUMX ڈیولپمنٹ بورڈ پر نصب ہے۔
2.2 MotionEC لائبریری
MotionEC APIs کے افعال اور پیرامیٹرز کو مکمل طور پر بیان کرنے والی تکنیکی معلومات MotionEC_Package.chm مرتب کردہ HTML میں مل سکتی ہیں۔ file دستاویزی فولڈر میں واقع ہے۔
2.2.1 MotionEC لائبریری کی تفصیل
MotionEC E-Compass لائبریری accelerometer اور magnetometer سے حاصل کردہ ڈیٹا کا انتظام کرتی ہے۔ اس کی خصوصیات:
- ڈیوائس کی واقفیت (کوٹرنینز، یولر زاویہ)، ڈیوائس کی گردش (ورچوئل گائروسکوپ کی فعالیت)، کشش ثقل ویکٹر اور لکیری ایکسلریشن آؤٹ پٹ
- فعالیت صرف ایکسلرومیٹر اور میگنیٹومیٹر ڈیٹا پر مبنی ہے۔
- مطلوبہ ایکسلرومیٹر اور میگنیٹومیٹر ڈیٹا samp100 ہرٹج تک کی لنگ فریکوئنسی
- وسائل کی ضروریات:
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 APIs ہیں:
- 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 ہے
- freq سینسر s ہے۔ampلنگ فریکوئنسی [Hz]
نوٹ: ای کمپاس لائبریری کو استعمال کرنے سے پہلے اس فنکشن کو کال کرنا ضروری ہے اور لائبریری کو استعمال کرنے سے پہلے STM32 مائیکرو کنٹرولر میں CRC ماڈیول (RCC پیری فیرل کلاک ایبل رجسٹر میں) کو فعال کرنا ہوگا۔
- void MotionEC_SetFrequency(فلوٹ فریکوئنسی)
- ایس سیٹ کرتا ہے۔ampلنگ فریکوئنسی (فلٹرنگ پیرامیٹرز میں ترمیم کرنا)
- freq سینسر s ہے۔ampling فریکوئنسی [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *ڈیٹا_آؤٹ)
- ای کمپاس الگورتھم چلاتا ہے (ایکسلرومیٹر اور میگنیٹومیٹر ڈیٹا فیوژن)
- *data_in ان پٹ ڈیٹا والے ڈھانچے کی طرف اشارہ کرتا ہے۔
- ساخت کی قسم MEC_input_t کے پیرامیٹرز ہیں:
◦ acc[3] ENU کنونشن میں ایکسلرومیٹر ڈیٹا کی ایک صف ہے، جس کی پیمائش g میں ہوتی ہے۔
◦ mag[3] ENU کنونشن میں میگنیٹومیٹر کیلیبریٹڈ ڈیٹا کی ایک صف ہے، جس کی پیمائش μT/50 میں ہوتی ہے۔
◦ ڈیلٹا ٹائم s ڈیلٹا ٹائم ہے (یعنی پرانے اور نئے ڈیٹا سیٹ کے درمیان وقت کی تاخیر) s میں ماپا جاتا ہے۔
- *data_out آؤٹ پٹ ڈیٹا والے ڈھانچے کی طرف اشارہ کرتا ہے۔
- ساخت کی قسم MEC_output_t کے پیرامیٹرز ہیں:
◦ quaternion[4] ENU کنونشن میں quaternion پر مشتمل ایک صف ہے، جو خلا میں آلے کی 3Dangular واقفیت کی نمائندگی کرتی ہے۔ عناصر کی ترتیب یہ ہے: X، Y، Z، W، ہمیشہ مثبت عنصر W کے ساتھ
◦ euler[3] ENU کنونشن میں Euler زاویوں کی ایک صف ہے، جو خلا میں آلے کی 3D-کونیی واقفیت کی نمائندگی کرتی ہے۔ عناصر کی ترتیب یہ ہے: یاؤ، پچ، رول، ڈگری میں ماپا جاتا ہے۔
◦ i_gyro[3] ENU کنونشن میں کونیی شرحوں کی ایک صف ہے، جو ایک ورچوئل گائروسکوپ سینسر کی نمائندگی کرتی ہے، جس کی پیمائش dps میں ہوتی ہے۔
◦ کشش ثقل [3] ENU کنونشن میں سرعت کی ایک صف ہے، جو کشش ثقل کے ویکٹر کی نمائندگی کرتی ہے، جس کی پیمائش g میں ہوتی ہے۔
◦ لکیری[3] ENU کنونشن میں سرعت کی ایک صف ہے، جو آلہ کی لکیری سرعت کی نمائندگی کرتی ہے، جس کی پیمائش g میں ہوتی ہے۔
- 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 state)
- لکیری ایکسلریشن کیلکولیشن کی فعال/غیر فعال حالت کو سیٹ کرتا ہے۔
- ریاست نئی فعال/غیر فعال حالت ہے جسے سیٹ کیا جانا ہے۔
2.2.3 API فلو چارٹ
2.2.4 ڈیمو کوڈ
مندرجہ ذیل مظاہرے کا کوڈ ایکسلرومیٹر اور میگنیٹومیٹر سینسرز سے ڈیٹا پڑھتا ہے اور ای کامپاس ڈیٹا حاصل کرتا ہے (یعنی، کواٹرنیئن، یولر زاویہ وغیرہ)۔
2.2.5 الگورتھم کی کارکردگی
E-Compass الگورتھم صرف accelerometer اور magnetometer سے ڈیٹا استعمال کرتا ہے۔ یہ بجلی کی کھپت کو کم کرنے کے لیے کم فریکوئنسی (100 Hz تک) پر چلتا ہے۔
Sampدرخواست
MotionEC مڈل ویئر کو صارف کی ایپلی کیشنز بنانے کے لیے آسانی سے جوڑ کر بنایا جا سکتا ہے۔ کے طور پرample ایپلیکیشن ایپلی کیشن فولڈر میں فراہم کی گئی ہے۔
اسے NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE یا NUCLEO-L073RZ ڈویلپمنٹ بورڈ پر چلانے کے لیے ڈیزائن کیا گیا ہے جو X-NUCLEO-IKS01A3، X-NUCLEO-IKS4ACO1-X-NUCLEO-IKS02Acion1orXNUMX سے منسلک ہے۔
ایپلیکیشن ریئل ٹائم میں ڈیوائس کی سمت اور گردش کو پہچانتی ہے۔ ڈیٹا کو GUI کے ذریعے ظاہر کیا جا سکتا ہے۔
الگورتھم مندرجہ ذیل نتائج فراہم کرتا ہے: ڈیوائس کی واقفیت (کوٹرنیئنز، یولر اینگلز)، ڈیوائس کی گردش (ورچوئل گائروسکوپ کی فعالیت)، کشش ثقل ویکٹر اور لکیری سرعت۔
3.1 MEMS-Studio ایپلیکیشن
ایسample ایپلیکیشن MEMS-Studio ایپلیکیشن استعمال کرتی ہے، جس سے ڈاؤن لوڈ کیا جا سکتا ہے۔ www.st.com.
مرحلہ 1. یقینی بنائیں کہ ضروری ڈرائیور نصب ہیں اور مناسب توسیعی بورڈ کے ساتھ STM32 نیوکلیو بورڈ پی سی سے منسلک ہے۔
مرحلہ 2. مین ایپلیکیشن ونڈو کھولنے کے لیے MEMS-Studio ایپلیکیشن لانچ کریں۔
اگر معاون فرم ویئر کے ساتھ ایک STM32 نیوکلیو بورڈ PC سے منسلک ہے، تو مناسب COM پورٹ کا خود بخود پتہ چل جاتا ہے۔ ایویلیویشن بورڈ سے کنکشن قائم کرنے کے لیے [کنیکٹ] بٹن کو دبائیں۔
مرحلہ 3. معاون فرم ویئر کے ساتھ STM32 نیوکلیو بورڈ سے منسلک ہونے پر [لائبریری ایویلیوایشن] ٹیب کھل جاتا ہے۔
ڈیٹا سٹریمنگ شروع کرنے اور روکنے کے لیے، مناسب کو ٹوگل کریں [Start] یا [روکیں]
بیرونی عمودی ٹول بار پر بٹن۔
منسلک سینسر سے آنے والا ڈیٹا ہو سکتا ہے۔ viewاندرونی عمودی ٹول بار پر [ڈیٹا ٹیبل] ٹیب کو منتخب کرنا۔
مرحلہ 4. اس لائبریری کے لیے مختص صفحہ کھولنے کے لیے [ای کمپاس] پر کلک کریں۔
مندرجہ بالا اعداد و شمار STM32 نیوکلیو گرافیکل ماڈل کو ظاہر کرتا ہے۔ ماڈل کی سمت بندی اور گردش الگورتھم کے حساب سے E-Compass ڈیٹا (quaternions) پر مبنی ہیں۔
حقیقی ڈیوائس کی حرکت کو گرافیکل ماڈل کے ساتھ سیدھ میں کرنے کے لیے، ڈیوائس کو اسکرین کی طرف اشارہ کریں اور [ری سیٹ ماڈل] کو دھکیلیں۔
سرخی کی قدر حقیقی آلہ کی سرخی کی نمائندگی کرتی ہے۔
ڈیوائس کو سیدھے اوپر یا نیچے کی طرف اشارہ کرنا (ENU ریفرنس فریم کے اوپر محور کے ساتھ، ±5 ڈگری رواداری کے ساتھ) سرخی کے لیے N/A قدر دیتا ہے: یہ فرق کرنا ممکن نہیں ہے کہ آلہ کس اہم نقطہ کی طرف اشارہ کر رہا ہے۔
اچھائی کی قدر 0 سے 3 اقدار دیتی ہے اور اس کا تعلق میگنیٹومیٹر کیلیبریشن سے ہے: قدر جتنی زیادہ ہوگی، E-Compass ڈیٹا الگورتھم کے نتائج اتنے ہی بہتر ہوں گے۔
مرحلہ 5. [میں محفوظ کریں پر کلک کریں۔ File] ڈیٹالاگنگ کنفیگریشن ونڈو کھولنے کے لیے۔ میں محفوظ کرنے کے لیے سینسر اور ای کمپاس ڈیٹا کو منتخب کریں۔ file. آپ متعلقہ بٹن پر کلک کرکے بچت شروع یا روک سکتے ہیں۔
مرحلہ 6۔ ڈیٹا انجیکشن موڈ کا استعمال پہلے سے حاصل کردہ ڈیٹا کو لائبریری کو بھیجنے اور نتیجہ وصول کرنے کے لیے کیا جا سکتا ہے۔ وقف شدہ کو کھولنے کے لیے عمودی ٹول بار پر [ڈیٹا انجیکشن] ٹیب کو منتخب کریں۔ view اس فعالیت کے لیے۔
مرحلہ 7۔ کو منتخب کرنے کے لیے [براؤز] بٹن پر کلک کریں۔ file CSV فارمیٹ میں پہلے کیپچر کیے گئے ڈیٹا کے ساتھ۔
ڈیٹا کرنٹ میں ٹیبل میں لوڈ ہو جائے گا۔ view.
دوسرے بٹن فعال ہو جائیں گے۔ آپ کلک کر سکتے ہیں:
– فرم ویئر آف لائن موڈ کو آن/آف کرنے کے لیے [آف لائن موڈ] بٹن (پہلے کیپچر کیے گئے ڈیٹا کو استعمال کرنے والا موڈ)۔
– MEMS-Studio سے لائبریری تک ڈیٹا فیڈ کو کنٹرول کرنے کے لیے [Start]/[Stop]/[Step]/[دوہرائیں] بٹن۔
حوالہ جات
درج ذیل تمام وسائل www.st.com پر آزادانہ طور پر دستیاب ہیں۔
- UM1859: X-CUBE-MEMS1 موشن MEMS اور STM32Cube کے لیے ماحولیاتی سینسر سافٹ ویئر کی توسیع کے ساتھ شروعات کرنا
- UM1724: STM32 Nucleo-64 بورڈز (MB1136)
- UM3233: MEMS-Studio کے ساتھ شروعات کرنا
نظرثانی کی تاریخ
ٹیبل 4۔ دستاویز پر نظر ثانی کی تاریخ
تاریخ | ورژن | تبدیلیاں |
18-مئی-17 | 1 | ابتدائی رہائی۔ |
25-جنوری-18 | 2 | NUCLEO-L152RE ڈویلپمنٹ بورڈ اور ٹیبل 2 میں حوالہ جات شامل کیے گئے۔ گزرا ہوا وقت (μs) الگورتھم۔ |
21-مارچ-18 | 3 | اپ ڈیٹ شدہ تعارف اور سیکشن 2.1 MotionEC اوورview. |
26-نومبر-18 | 4 | شامل کردہ جدول 3۔ Cortex -M0+: گزرا ہوا وقت (µs) الگورتھم۔ ARM® کے حوالے شامل کیے گئے۔ Cortex® - M0+ اور NUCLEO-L073RZ ترقیاتی بورڈ۔ |
19-فروری-19 | 5 | تازہ کاری شدہ شکل 1. ENU حوالہ فریم، ٹیبل 2. Cortex -M4 اور Cortex-M3: گزرا ہوا وقت (µs) الگورتھم، جدول 3۔ Cortex -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-Studio ایپلیکیشن |
اہم نوٹس - غور سے پڑھیں
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 ایک مڈل ویئر لائبریری ہے۔ [پی ڈی ایف] مالک کا دستی X-CUBE-MEMS1 MotionEC ایک مڈل ویئر لائبریری ہے، X-CUBE-MEMS1، MotionEC ایک مڈل ویئر لائبریری ہے، مڈل ویئر لائبریری، لائبریری |