ST X - الشعارUM2225
دليل المستخدم

البدء باستخدام مكتبة E-Compass في الوقت الفعلي لـ MotionEC في توسعة X-CUBE-MEMS1 لـ STM32Cube

مقدمة

يعد MotionEC أحد مكونات مكتبة البرامج الوسيطة لبرنامج X-CUBE-MEMS1 ويعمل على STM3z2. ويوفر معلومات في الوقت الفعلي حول اتجاه الجهاز وحالة الحركة استنادًا إلى البيانات الواردة من الجهاز.
إنه يوفر المخرجات التالية: اتجاه الجهاز (الرباعيات، زوايا أويلر)، دوران الجهاز (وظيفة الجيروسكوب الافتراضي)، متجه الجاذبية والتسارع الخطي.
تهدف هذه المكتبة إلى العمل مع ST MEMS فقط.
يتم توفير الخوارزمية بتنسيق مكتبة ثابتة وهي مصممة للاستخدام على متحكمات STM32 المستندة إلى معماريات ARM® Cortex®-M0+ وARM® Cortex®-M3 وARM® Cortex®-M33 وARM® Cortex®-M4 وARM® Cortex®-M7.
إنه مبني على تقنية برنامج STM32Cube لتسهيل إمكانية النقل عبر وحدات التحكم الدقيقة STM32 المختلفة.
البرنامج يأتي مع sampيتم تنفيذ البرنامج على لوحة التوسعة X-NUCLEO-IKS01A3 أو X-NUCLEO-IKS4A1 أو X-NUCLEO-IKS02A1 على لوحة تطوير NUCLEO-F401RE أو NUCLEO-U575ZI-Q أو NUCLEO-L152RE أو NUCLEO-L073RZ.

اختصارات

الجدول 1. قائمة المختصرات

اختصار وصف
واجهة برمجة التطبيقات واجهة برمجة التطبيقات
ب س ب حزمة دعم المجلس
واجهة المستخدم الرسومية واجهة المستخدم الرسومية
هال طبقة المواد الصلبة
بيئة تطوير متكاملة بيئة تطوير متكاملة

مكتبة MotionEC Middleware في توسعة برنامج X-CUBE-MEMS1 لـ STM32Cube

2.1 MotionEC علىview
تعمل مكتبة MotionEC على توسيع وظائف برنامج 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
يمكن العثور على المعلومات الفنية التي تصف بشكل كامل وظائف ومعلمات واجهات برمجة تطبيقات MotionEC في ملف HTML المجمّع MotionEC_Package.chm file الموجود في مجلد الوثائق.

2.2.1 وصف مكتبة MotionEC
تدير مكتبة MotionEC E-Compass البيانات المكتسبة من مقياس التسارع ومقياس المغناطيسية؛ وتتميز بما يلي:

  • اتجاه الجهاز (رباعيات، زوايا أويلر)، دوران الجهاز (وظيفة الجيروسكوب الافتراضي)، متجه الجاذبية ومخرجات التسارع الخطي
  • تعتمد الوظيفة على بيانات مقياس التسارع ومقياس المغناطيسية فقط
  • البيانات المطلوبة لمقياس التسارع ومقياس المغناطيسيةampتردد يصل إلى 100 هرتز
  • متطلبات الموارد:
    – Cortex-M0+: 3.7 كيلو بايت من التعليمات البرمجية و0.1 كيلو بايت من ذاكرة البيانات
    – Cortex-M3: 3.8 كيلو بايت من التعليمات البرمجية و0.1 كيلو بايت من ذاكرة البيانات
    – Cortex-M33: 2.8 كيلو بايت من التعليمات البرمجية و0.1 كيلو بايت من ذاكرة البيانات
    – Cortex-M4: 2.9 كيلو بايت من التعليمات البرمجية و0.1 كيلو بايت من ذاكرة البيانات
    – Cortex-M7: 2.8 كيلو بايت من التعليمات البرمجية و0.1 كيلو بايت من ذاكرة البيانات
  • متوفر لمعالجات ARM Cortex M0+ وCortex-M3 وCortex-M33 وCortex-M4 وCortex M7

2.2.2 واجهات برمجة تطبيقات MotionEC
واجهات برمجة تطبيقات MotionEC هي:

  • uint8_t MotionEC_GetLibVersion(char *version)
    - استرجاع نسخة المكتبة
    - *الإصدار هو مؤشر لمجموعة مكونة من 35 حرفًا
    - إرجاع عدد الأحرف في سلسلة الإصدار
    • void MotionEC_Initialize(MEC_mcu_type_t mcu_type، تردد عائم)
    - يقوم بتنفيذ تهيئة مكتبة MotionEC وإعداد الآلية الداخلية.
    – mcu_type هو نوع MCU:
    ◦ MFX_CM0P_MCU_STM32 عبارة عن وحدة تحكم دقيقة STM32 قياسية
    ◦ MFX_CM0P_MCU_BLUE_NRG1 هو BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 هو BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP هو BlueNRG -LP
    - التردد هو المستشعر sampتردد لينغ [هرتز]

ملحوظة: يجب استدعاء هذه الوظيفة قبل استخدام مكتبة E-Compass ويجب تمكين وحدة CRC في متحكم STM32 (في سجل تمكين الساعة الطرفية RCC) قبل استخدام المكتبة

  • void MotionEC_SetFrequency(تردد عائم)
    - يحدد sampتردد ling (تعديل معلمات التصفية)
    - التردد هو المستشعر sampتردد ling [هرتز] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - تشغيل خوارزمية E-Compass (دمج بيانات مقياس التسارع ومقياس المغناطيسية)
    – *data_in هو مؤشر إلى هيكل يحتوي على بيانات إدخال
    - المعلمات لنوع الهيكل MEC_input_t هي:
    ◦ acc[3] عبارة عن مجموعة من بيانات مقياس التسارع وفقًا لاتفاقية ENU، مقاسة بوحدة g
    ◦ mag[3] عبارة عن مجموعة من البيانات المعايرة باستخدام مقياس المغناطيسية وفقًا لاتفاقية ENU، والتي يتم قياسها بوحدة μT/50
    ◦ deltatime s هو وقت الدلتا (أي، التأخير الزمني بين مجموعة البيانات القديمة والجديدة) المقاس بالثانية
    – *data_out هو مؤشر إلى هيكل يحتوي على بيانات الإخراج
    - المعلمات لنوع الهيكل MEC_output_t هي:
    ◦ رباعية الأبعاد [4] عبارة عن مصفوفة تحتوي على رباعية الأبعاد وفقًا لاتفاقية ENU، تمثل الاتجاه ثلاثي الأبعاد للجهاز في الفضاء؛ ترتيب العناصر هو: X، Y، Z، W، مع وجود عنصر موجب دائمًا W
    ◦ euler[3] عبارة عن مجموعة من زوايا أويلر وفقًا لاتفاقية ENU، تمثل الاتجاه الزاوي ثلاثي الأبعاد للجهاز في الفضاء؛ ترتيب العناصر هو: الانحراف، والميل، والانقلاب، المقاسة بالدرجات
    ◦ i_gyro[3] عبارة عن مجموعة من المعدلات الزاوية وفقًا لاتفاقية ENU، تمثل مستشعر جيروسكوب افتراضي، يتم قياسه بوحدات dps
    ◦ الجاذبية [3] عبارة عن مجموعة من التسارعات وفقًا لاتفاقية ENU، تمثل متجه الجاذبية، المقاس بوحدة g
    ◦ linear[3] عبارة عن مجموعة من التسارعات وفقًا لاتفاقية ENU، تمثل التسارع الخطي للجهاز، المقاس بوحدة g
    ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة-
  • void MotionEC_GetOrientationEnable(MEC_state_t *state)
    - الحصول على حالة التمكين/التعطيل لحساب زاوية أويلر
    – *state هو مؤشر إلى حالة التمكين/التعطيل الحالية
  • void MotionEC_SetOrientationEnable(MEC_state_t state)
    - يحدد حالة التمكين/التعطيل لحساب زاوية أويلر
    - الحالة هي حالة التمكين/التعطيل الجديدة التي سيتم تعيينها
  •  void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
    - الحصول على حالة تمكين/تعطيل حساب الجيروسكوب الافتراضي
    – *state هو مؤشر إلى حالة التمكين/التعطيل الحالية
  • void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
    - يحدد حالة تمكين/تعطيل حساب الجيروسكوب الافتراضي
    - الحالة هي حالة التمكين/التعطيل الجديدة التي سيتم تعيينها
  • void MotionEC_GetGravityEnable(MEC_state_t *state)
    - الحصول على حالة التمكين/التعطيل لحساب متجه الجاذبية
    – *state هو مؤشر إلى حالة التمكين/التعطيل الحالية
  • void MotionEC_SetGravityEnable(MEC_state_t state)
    - يحدد حالة التمكين/التعطيل لحساب متجه الجاذبية
    - الحالة هي حالة التمكين/التعطيل الجديدة التي سيتم تعيينها
  • void MotionEC_GetLinearAccEnable(MEC_state_t *state)
    - الحصول على حالة التمكين/التعطيل لحساب التسارع الخطي
    – *state هو مؤشر إلى حالة التمكين/التعطيل الحالية
  • void MotionEC_SetLinearAccEnable(MEC_state_t state)
    - يحدد حالة التمكين/التعطيل لحساب التسارع الخطي
    - الحالة هي حالة التمكين/التعطيل الجديدة التي سيتم تعيينها

2.2.3 مخطط تدفق واجهة برمجة التطبيقات

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - تسلسل

2.2.4 الرمز التجريبي
يقوم كود العرض التوضيحي التالي بقراءة البيانات من مستشعرات التسارع والمغناطيسية ويحصل على بيانات ECompass (أي الرباعية، وزوايا أويلر، وما إلى ذلك).

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - كود تجريبيST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - رمز العرض التوضيحي 1

2.2.5 أداء الخوارزمية
تستخدم خوارزمية E-Compass البيانات من مقياس التسارع ومقياس المغناطيسية فقط. وتعمل بتردد منخفض (حتى 100 هرتز) لتقليل استهلاك الطاقة.

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - حقن البيانات1

Sampتطبيق le

يمكن التعامل بسهولة مع برنامج MotionEC الوسيط لبناء تطبيقات المستخدم؛ مثلampيتم توفير التطبيق في مجلد التطبيق.
تم تصميمه ليعمل على لوحة تطوير NUCLEO-F401RE، أو NUCLEO-U575ZI-Q، أو NUCLEO-L152RE، أو NUCLEO-L073RZ المتصلة بلوحة التوسعة X-NUCLEO-IKS01A3، أو X-NUCLEO-IKS4A1، أو X-NUCLEO-IKS02A1.

ST X CUBE MEMS1 MotionEC عبارة عن محول مكتبة Middleware

يتعرف التطبيق على اتجاه الجهاز ودورانه في الوقت الفعلي. ويمكن عرض البيانات من خلال واجهة المستخدم الرسومية.
توفر الخوارزمية المخرجات التالية: اتجاه الجهاز (الرباعيات، زوايا أويلر)، دوران الجهاز (وظيفة الجيروسكوب الافتراضي)، متجه الجاذبية والتسارع الخطي.
3.1 تطبيق MEMS-Studio
لياليampيستخدم التطبيق تطبيق MEMS-Studio، والذي يمكن تنزيله من www.st.com.
الخطوة 1تأكد من تثبيت برامج التشغيل اللازمة وتوصيل لوحة STM32 Nucleo بلوحة التوسعة المناسبة بالكمبيوتر.
الخطوة 2قم بتشغيل تطبيق MEMS-Studio لفتح نافذة التطبيق الرئيسية.
إذا تم توصيل لوحة STM32 Nucleo التي تدعم البرامج الثابتة بالكمبيوتر الشخصي، فسيتم اكتشاف منفذ COM المناسب تلقائيًا. اضغط على زر [Connect] لإنشاء اتصال بلوحة التقييم.

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - Connect

الخطوة 3عند الاتصال بلوحة STM32 Nucleo مع البرامج الثابتة المدعومة، يتم فتح علامة التبويب [تقييم المكتبة].
لبدء وإيقاف تدفق البيانات، قم بتبديل [بدء] المناسب ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - أيقونة أو [توقف] ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - icon1 الزر الموجود على شريط الأدوات العمودي الخارجي.
يمكن أن تكون البيانات القادمة من المستشعر المتصل viewقم بتحديد علامة التبويب [جدول البيانات] على شريط الأدوات الرأسي الداخلي.

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - جدول بيانات

الخطوة 4انقر على [E-Compass] لفتح الصفحة المخصصة لهذه المكتبة.

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - Compass

يوضح الشكل أعلاه نموذجًا رسوميًا لنواة STM32. يعتمد اتجاه النموذج ودورانه على بيانات E-Compass (رباعيات) التي تم حسابها بواسطة الخوارزمية.
لمواءمة حركة الجهاز الحقيقية مع النموذج الرسومي، وجه الجهاز نحو الشاشة واضغط على [إعادة تعيين النموذج].
تمثل قيمة العنوان عنوان الجهاز الحقيقي.
إن توجيه الجهاز بشكل مستقيم لأعلى أو لأسفل (على طول المحور العلوي لإطار مرجع ENU، مع تفاوت ±5 درجات) يعطي قيمة N/A للاتجاه: من غير الممكن التمييز بين النقطة الأساسية التي يشير إليها الجهاز.
تعطي قيمة الجودة من 0 إلى 3 قيم وترتبط بمعايرة المغناطيسية: كلما زادت القيمة، كانت نتائج خوارزمية بيانات E-Compass أفضل.
الخطوة 5. انقر فوق [حفظ في File] لفتح نافذة تكوين تسجيل البيانات. حدد بيانات المستشعر والبوصلة الإلكترونية المراد حفظها في fileيمكنك البدء أو إيقاف الحفظ بالضغط على الزر المقابل.

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - احفظها في File

الخطوة 6. يمكن استخدام وضع حقن البيانات لإرسال البيانات التي تم الحصول عليها مسبقًا إلى المكتبة واستلام النتيجة. حدد علامة التبويب [حقن البيانات] على شريط الأدوات الرأسي لفتح النافذة المخصصة view لهذه الوظيفة.

ST X CUBE MEMS1 MotionEC عبارة عن مكتبة برامج وسيطة - حقن البيانات

الخطوة 7. انقر فوق الزر [استعراض] لتحديد file مع البيانات الملتقطة مسبقًا بتنسيق CSV.
سيتم تحميل البيانات إلى الجدول في الوقت الحالي view.
ستصبح الأزرار الأخرى نشطة. يمكنك النقر على:
– زر [الوضع غير المتصل بالإنترنت] لتشغيل/إيقاف وضع عدم الاتصال بالإنترنت الخاص بالبرنامج الثابت (الوضع الذي يستخدم البيانات الملتقطة مسبقًا).
– أزرار [بدء]/[إيقاف]/[خطوة]/[تكرار] للتحكم في تغذية البيانات من MEMS-Studio إلى المكتبة.

مراجع

جميع الموارد التالية متاحة مجانًا على www.st.com.

  1. UM1859: البدء باستخدام MEMS للحركة X-CUBE-MEMS1 وتوسيع برنامج الاستشعار البيئي لـ STM32Cube
  2.  UM1724: لوحات STM32 Nucleo-64 (MB1136)
  3. UM3233: البدء مع MEMS-Studio

تاريخ المراجعة

الجدول 4. تاريخ مراجعة المستند

تاريخ إصدار التغييرات
18 مايو 17 1 الإصدار الأولي.
25-يناير-18 2 تمت إضافة المراجع إلى لوحة تطوير NUCLEO-L152RE والجدول 2.
خوارزمية الوقت المنقضي (μs).
21-مارس-18 3 تم تحديث المقدمة والقسم 2.1 من MotionECview.
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
Nucleo، الشكل 4. نافذة Unicleo الرئيسية، الشكل 5. علامة تبويب رسائل المستخدم، الشكل 6. نافذة E-Compass والشكل 7. نافذة Datalog. تمت إضافة معلومات توافق لوحة التوسعة X-NUCLEO-IKS01A3.
25-مارس-20 6 تم تحديث المقدمة، القسم 2.2.1: وصف مكتبة MotionEC والقسم 2.2.5: أداء الخوارزمية.
تمت إضافة معلومات توافقية مع بنية ARM Cortex-M7.
17-سبتمبر-24 7 تم تحديث القسم المقدمة،
القسم 2.1: MotionEC overview,
القسم 2.2.1: مكتبة MotionEC
الوصف، القسم 2.2.2: MotionEC
واجهات برمجة التطبيقات، القسم 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 هي مكتبة برامج وسيطة، مكتبة برامج وسيطة، مكتبة

مراجع

اترك تعليقا

لن يتم نشر عنوان بريدك الإلكتروني. تم وضع علامة على الحقول المطلوبة *