مكدسة من 12 صورة. الطريقة = ب (ص = 44، ق = 4)
في عالم التكنولوجيا والإلكترونيات اليوم، أصبحت مستشعرات الأنظمة الكهروميكانيكية الدقيقة (MEMS) أداةً أساسيةً لجميع أنواع المشاريع، من الروبوتات إلى أتمتة المنازل والأجهزة القابلة للارتداء. الوحدات التي تجمع بين مقاييس التسارع والجيروسكوبات، مثل MPU6050 و LSM9DS1، هما من أكثر الخيارات شيوعًا بفضل تعدد استخداماتها وانخفاض تكلفتها وسهولة دمجها مع وحدات التحكم الدقيقة مثل أردوينو وغيرها من المنصات. يُعد الفهم الدقيق لكيفية عملها وميزاتها الفريدة واختلافاتها، بل وأفضل طريقة للاستفادة منها، أمرًا ضروريًا لتصميم أنظمة دقيقة. قياس الحركة والاتجاه والميل.
في هذه المقالة سنأخذك خطوة بخطوة خلال كل ما تحتاج إلى معرفته حول أجهزة الاستشعار MPU6050 y LSM9DS1: كيف تعمل، وما هي تطبيقاتها، وكيفية دمجها في مشروعك، ومعايرتها، وتفسير قراءاتها بشكل صحيح والاستفادة القصوى من قدراتها، من خلال الجمع بين المعلومات التي تم جمعها في أفضل البرامج التعليمية والمقالات الفنية، تحت رؤية عملية ومحدثة بلغة وثيقة، بحيث تحقيق نتائج احترافية في تطوراتك.
ما هو مستشعر MEMS وكيف يعمل؟

قبل الخوض في النماذج المحددة MPU6050 وLSM9DS1، من المهم أن نكون واضحين بشأن مفهوم مستشعر MEMS. هذه الأجهزة، والتي تسمى أيضًا الأنظمة الكهروميكانيكية الدقيقة، دمج المكونات الميكانيكية المجهرية والدوائر الإلكترونية في شريحة واحدة، بحيث يمكنها اكتشاف الاختلافات الفيزيائية - مثل التسارع أو الدوران أو الاهتزازات - وتحويلها إلى إشارات كهربائية يمكن تفسيرها بواسطة الأنظمة الرقمية.
في حالة أجهزة قياس التسارع وأجهزة الدوران MEMS، يعتمد تشغيلها على مبادئ مثل:
- قانون نيوتن للتسارع (a = F/m)، باستخدام هياكل داخلية تعمل ككتل مجهرية ونوابض.
- يتم استخدام تأثير كوريوليس للكشف عن الحركات الزاوية، والاستفادة من الانحراف الذي تتعرض له الكتل الصغيرة عند الدوران داخل الشريحة.
- محولات تناظرية إلى رقمية داخلية لتحويل الاختلافات المادية إلى قيم رقمية عالية الدقة (عادةً 16 بت).
تجعل هذه القدرات أنظمة MEMS مفيدة للغاية في التطبيقات التي تتطلب قياس الاتجاه أو الميل أو الحركة في ثلاثة أبعاد، مثل أنظمة الملاحة، وتثبيت الكاميرا، والساعات الذكية، والطائرات بدون طيار، والروبوتات، وغير ذلك الكثير.
الملامح الرئيسية للMPU6050
El MPU6050 من المحتمل أن يكون مستشعر الحركة MEMS الأكثر استخدامًا على نطاق واسع بين المصنعين والمهندسين والهواة الذين يبحثون عن حل اقتصادي وموثوق لقياس التسارع والدوران في ثلاثة محاور.
وتشمل مواصفاتها الفنية الرئيسية ما يلي:
- 3 محاور التسارع:قادرة على اكتشاف التسارع على المحاور X وY وZ، مع نطاق قابل للبرمجة ±2g، ±4g، ±8g و±16g.
- 3 محور جيروسكوب:يقيس السرعات الزاوية على جميع المحاور الثلاثة، مع حساسية قابلة للتعديل عند ±250، ±500، ±1000 و±2000 درجة في الثانية.
- معالج الحركة الرقمي (DMP): يشتمل على معالج دقيق داخلي مخصص لإجراء العمليات الحسابية المعقدة موشن فيوجن (دمج المستشعر)، وحساب البيانات مثل الرباعيات وزوايا أويلر ومصفوفات الدوران دون الحاجة إلى تحميل تلك الحسابات على المتحكم الرئيسي.
- الإخراج الرقمي عبر I2C:الاتصالات عبر ناقل I2C مع عنوانين محتملين (قابلة للتكوين عبر الدبوس AD0 إلى 0x68 أو 0x69)، مما يسمح بالعمل مع معظم لوحات Arduino وESP واللوحات المماثلة.
- محول تناظري رقمي 16 بت:يوفر دقة عالية في جمع البيانات.
- مستشعر درجة الحرارة المتكامل
- إمكانية التوسع باستخدام مقياس مغناطيسي خارجي:من خلال ناقل I2C المساعد، يمكن لوحدة MPU6050 قراءة أجهزة استشعار متصلة أخرى مثل HMC5883L الشهير (مقياس المغناطيسية)، لتشكيل وحدة IMU كاملة ذات 9 محاور.
- جهد التشغيل المرن:يمكن تشغيله بجهد 3,3 فولت أو حتى 5 فولت إذا تم استخدام لوحة أم مثل GY-521، والتي تتضمن منظمًا.
علاوة على ذلك، فإن الحجم الصغير للوحدة (حوالي 25 × 15 ملم) وحقيقة أنها جاهزة للتكامل في لوحة التجارب يجعلها مثالية للاختبار والتطوير النهائي.
ما هو LSM9DS1 وكيف يختلف؟
في المقابل، LSM9DS1 إنه خيار أكثر تطورًا وحداثة ضمن عائلة وحدات قياس القصور الذاتي (IMU) من MEMS، على الرغم من أنه أقل شيوعًا من MPU6050 في مشاريع المبتدئين. يدمج ما يلي على شريحة واحدة:
- Un 3 محاور التسارع
- Un 3 محاور جيروسكوب
- Un مقياس المغناطيسية أيضًا ثلاثي المحاور
وهذا يعني أن LSM9DS1 هو 9 درجات حرية (IMU)، مما يسمح لك بقياس التسارع والسرعة الزاوية والمجال المغناطيسي للأرض في ثلاثة أبعاد، مما يوفر قراءات كاملة ودقيقة الموضع والتوجه المطلق بالنسبة إلى الأرض.
تشمل مزاياها الرئيسية مقارنةً بـ MPU6050 ما يلي:
- يجمع أجهزة الاستشعار الثلاثة في شريحة مادية واحدة، مما يوفر المساحة ويبسط الاتصالات.
- يمكنك التواصل من خلال كلا منهما I2C كـ SPI، مما يمنحه تنوعًا أكبر للمنصات المختلفة.
- أصبحت نطاقات وحساسيات كل مستشعر (مقياس التسارع، الجيروسكوب، مقياس المغناطيسية) أكثر قابلية للتكوين بشكل أكثر مرونة.
- يحتوي على خيارات متقدمة للتصفية الرقمية واكتشاف الأحداث.
غالبًا ما يتم اختيار LSM9DS1 للمشروعات التي تتطلب التوجيه المطلق (على سبيل المثال، البوصلات، أو أنظمة الملاحة، أو تثبيت الطيران) دون الحاجة إلى أجهزة استشعار خارجية إضافية.
مبادئ تشغيل مقاييس التسارع والجيروسكوبات MEMS
لفهم كيفية عمل وحدات MEMS هذه حقًا، من المهم فهم المفاهيم الفيزيائية وكيفية ترجمتها إلى بيانات رقمية:
التسارع
Un مقياس تسارع MEMS يقيس تسارع الجسم (التغير في السرعة بمرور الوقت) بالنسبة إلى المحاور الثلاثة للفضاء. داخليًا، يعتمد على وجود كتلة مجهرية معلقة باستخدام مثبتات مرنة أو نوابض صغيرة. عند تسارع المستشعر، تتحرك هذه الكتلة قليلاً، ويُحوَّل هذا التغير إلى إشارة كهربائية باستخدام مكثفات متغيرة أو كهرضغطية.
- يكتشف مقياس التسارع دائمًا تسارعًا واحدًا على الأقل: خطورة (9,81 م / ث2), حتى لو كان المستشعر ثابتًا.
يتم استخدام هذا لحساب الميل بالنسبة للمستوى الأفقي. - ومن خلال دمج التسارع بالنسبة للزمن، يمكن الحصول على السرعة، وبالتالي الموضع الذي تم قطعه، على الرغم من أن هذه العمليات تميل إلى تراكم الأخطاء.
جيروسكوب
El جيروسكوب MEMS استخدم ال تأثير كوريوليس لاكتشاف السرعة التي يدور بها الجسم حول محاوره X وY وZ. عندما يتعرض المستشعر للدوران، تتعرض الكتل المهتزة الداخلية لانحراف يتناسب مع السرعة الزاويةويتم قياس هذا التغيير إلكترونيًا.
- يقيس الجيروسكوب السرعة الزاوية:مدى سرعة تغير اتجاه المستشعر على كل محور.
- يؤدي دمج السرعة الزاوية مع الزمن إلى الحصول على زاوية الدوران (الموضع الزاوي)، على الرغم من أن هذه العملية تولد أخطاء تراكمية تسمى انجراف.
لماذا الجمع بين مقياس التسارع والجيروسكوب؟
في حد ذاتها، فإن كل من مقاييس التسارع وأجهزة قياس الزوايا لديها قيود عند تحديد اتجاه الكائن:
- مقياس التسارع: دقيق في اكتشاف الميلان بالنسبة للمحور الرأسي (باستخدام الجاذبية)، ولكنه حساس للغاية للحركة المفاجئة أو التسارع الخارجي أو الاهتزازات.
- جيروسكوب: وهو مثالي لقياس التغيرات السريعة في الاتجاه، لكنه يعاني من تراكم الأخطاء إذا تم دمج مخرجاته على مدى فترة طويلة من الزمن.
لذلك، تقوم معظم التطبيقات بدمج البيانات من كلا المستشعرين، مما يحسن بشكل كبير دقة وموثوقية القراءات. الزاوية أو الميل أو الموضعولتحقيق ذلك، يتم استخدامها مرشحات المعالجة الرقمية مثل المرشح التكميلي أو مرشح كالمان، الذي يجمع ويوازن مزايا كل مستشعر.
البدء باستخدام MPU6050: الاتصال والمكتبات
مخطط الاتصال النموذجي
وحدة MPU6050 يتم تركيبه عادة على نوع اللوحة GY-521، مما يسهل بشكل كبير التكامل مع المتحكمات الدقيقة مثل Arduino.
عادةً ما تكون الاتصالات الأساسية لاستخدام الوحدة في وضع I2C هي:
| MPU6050 | Arduino Uno/نانو/ميني | أردوينو ميجا/ديو | اردوينو ليوناردو |
|---|---|---|---|
| VCC | 5V | 5V | 5V |
| GND | GND | GND | GND |
| SCL | A5 | 21 | 3 |
| SDA | A4 | 20 | 2 |
تحتوي الوحدة على مقاومات سحب مدمجة، لذلك ليس من الضروري عمومًا إضافتها خارجيًا.
عنوان I2C والدبوس AD0
يتيح لك MPU6050 تكوين عنوان I2C الخاص به 0x68 (افتراضيًا، عندما يكون دبوس AD0 عند GND أو غير متصل) أو 0x69 (عند توصيل AD0 بجهد عالي/٥ فولت). يُسهّل هذا استخدام أجهزة استشعار متعددة على نفس الناقل.
المكتبة الموصى بها: I2Cdevlib بواسطة Jeff Rowberg
للعمل بشكل مريح مع MPU6050 على Arduino، يوصي المجتمع باستخدام المكتبات التالية:
- تطوير I2C:يسهل اتصال I2C مع العديد من أجهزة الاستشعار.
- MPU6050:يسمح لك بالوصول إلى جميع وظائف المستشعر، وقراءة القيم المعايرة، والإزاحات، واستخدام DMP.
وهي متوفرة في: https://github.com/jrowberg/i2cdevlib
بمجرد تنزيلها، قم بفك ضغطها ووضعها في المجلد المكتبات من Arduino IDE.
قراءة البيانات الأساسية: التسارع والسرعة الزاوية
بمجرد توصيل MPU6050 وتكوينه، فإن الخطوة التالية هي إجراء قراءات التسارع والسرعات الزاوية على المحاور الثلاثة. تتضمن العملية الأساسية، باستخدام المكتبة المذكورة، ما يلي:
- قم بتهيئة المستشعر باستخدام الوظيفة المستشعر.التهيئة().
- التحقق من الاتصال مع sensor.testConnection().
- قراءة القيم الخام (غير المعالجة) من مقياس التسارع والجيروسكوب إلى متغيرات مثل ax و ay و az للتسارع و gx و gy و gz للدوران.
- أرسل البيانات إلى المنفذ التسلسلي لعرض النتائج.
تظهر هذه البيانات كأعداد صحيحة مكونة من 16 بت في النطاق .
معايرة مستشعر MPU6050
إحدى المراحل الرئيسية عند استخدام MPU6050 هي معايرةمن الشائع جدًا أن يقوم المستشعر بإرجاع قيم غير صفرية، حتى لو كان أفقيًا تمامًا وفي حالة سكون، بسبب عدم المحاذاة المحتملة عند لحام الشريحة على الوحدة، أو حتى عيوب التصنيع البسيطة.
تتضمن معايرة المستشعر تحديد إزاحات مقياس التسارع والجيروسكوب على كل محور، وضبطها على المستشعر بحيث تكون القراءات مبنية على المعلومات الصحيحة. قد تتكون العملية النموذجية مما يلي:
- قراءة الإزاحات الحالية باستخدام وظائف مثل الحصول على XAccelOffset(), getYAccelOffset()، الخ.
- ضع المستشعر في وضع أفقي وثابت تمامًا.
- باستخدام برنامج، اضبط الإزاحات حتى تتقارب القراءات المفلترة (على سبيل المثال، باستخدام متوسط متحرك أو مرشح تمرير منخفض) مع القيم المثالية: الفأس = 0، المرزوق = 0، الألف إلى الياء = 16384، gx = 0، gy = 0، gz = 0 في الوضع الخام (RAW).
- قم بضبط هذه القيم باستخدام الوظائف setXAccelOffset(), setYAccelOffset()، الخ.
بمجرد معايرته بشكل صحيح، سيوفر المستشعر قيمًا أكثر دقة واستقرارًا، وهو أمر ضروري للتطبيقات الحرجة مثل التثبيت أو الملاحة.
قياس وتحويل القراءات إلى وحدات مادية
يجب تحويل القراءات الخام من MPU6050 إلى وحدات SI (النظام الدولي) حتى يمكن تفسيرها واستخدامها في الحسابات الفيزيائية أو تصور البيانات:
- التسريع: النطاق الافتراضي هو ±2 جرام، وهو ما يعادل ±19,62 متر/ثانية2قيمة RAW 16384 تقابل 1 جرام؛ لذلك، لتحويلها إلى x صباحًا/ثانية2: الفأس * (9,81/16384.0).
- السرعة الزاوية: افتراضيًا، ±250°/ثانية، لذا فإن التحويل سيكون: gx * (250.0 / 32768.0) لتحويل قيم RAW إلى درجات في الثانية.
تتغير عوامل المقياس هذه إذا قمت بتكوين المستشعر إلى نطاقات أخرى، لذا من الضروري دائمًا التحقق من إعدادات المصنع أو الإعدادات المخصصة قبل تفسير البيانات.
حساب الميل باستخدام مقياس التسارع فقط
عندما يكون المستشعر في حالة سكون أو تحت تأثير الجاذبية فقط، يمكن استخدام قراءات مقياس التسارع لحساب زاوية الميل بالنسبة إلى المحورين X وYتستخدم الصيغ الرياضية النموذجية الدوال المثلثية:
- بالنسبة لميل X: أتان(ax / sqrt(ay² + az²)) × 180/π
- بالنسبة للميل على شكل Y: أتان(ay / sqrt(ax² + az²)) × 180/π
يوفر هذا زاوية الميل بالنسبة لكل محور بالنسبة لمستوى الجاذبية، على الرغم من أنه إذا كان المستشعر في حالة حركة أو يتلقى تسارعات أخرى، فقد تتغير هذه القيم.
حساب زوايا الدوران باستخدام الجيروسكوب
يسمح الجيروسكوب بحساب تغير الزاوية عن طريق تكامل السرعة الزاوية مع مرور الوقت. رياضيًا:
- الزاوية تساوي تكامل السرعة الزاوية في فترة زمنية معينة: θ = θ0 + ∫w·dt
في الممارسة العملية، يمكن إجراء هذه الحسابات في حلقات البرنامج، عن طريق جمع السرعة الزاوية مضروبة في فترة أخذ العينات (dt) للحصول على الزاوية المتراكمة.
من المهم التحكم في خطأ التكامل، حيث تتراكم الأخطاء الصغيرة، مما يتسبب في انجراف.
مرشحات اندماج المستشعرات: التكميلية وكالمان
لتقليل أخطاء التفسير والاستفادة القصوى من كل مستشعر، يتم استخدام خوارزميات دمج البيانات:
مرشح تكميلي
يجمع هذا الفلتر بين الزاوية المُقدّرة بواسطة الجيروسكوب (والتي تعمل بكفاءة على المدى القصير) والزاوية المحسوبة بواسطة مقياس التسارع (والتي تُعدّ أكثر موثوقية على المدى الطويل، ولكنها تُسبب ضوضاء). الصيغة النموذجية هي:
الزاوية النهائية = α × (الزاوية السابقة + السرعة الزاوية × dt) + (1-α) × زاوية مقياس التسارع
حيث تكون قيمة α عادةً بين 0,95 و0,99. وهذا يسمح بالحصول على قراءة مستقرة وتقليل انجراف.
مرشح كالمان
هذا الفلتر، الأكثر تطورًا، يدمج القياسات، مع مراعاة عدم اليقين في كل قياس وارتباطاته، محققًا تقديرات دقيقة في ظل وجود ضوضاء. يُستخدم على نطاق واسع في أنظمة الملاحة والروبوتات المتقدمة، على الرغم من أنه يتطلب قوة حسابية أكبر.
محاكاة ثلاثية الأبعاد وتصور الاتجاه (الانحراف، الميل، التدحرج)
تطبيق مثير للاهتمام هو عرض في الوقت الحقيقي للتوجيه ثلاثي الأبعاد لجسم ما، مثل طائرة بدون طيار أو روبوت، من خلال تمثيل الزوايا الانحراف والميل والانقلاب.
يتم تحقيق ذلك بنقل البيانات المُعالجة إلى برنامج رسوميات، باستخدام أدوات مثل Serial Plotter أو برامج ثلاثية الأبعاد مُخصصة لمراقبة وتحليل الحركات. بهذه الطريقة، يُمكنك فهم كيفية توجيه نظامك في الفضاء بصريًا.
قراءات موسعة: استخدام مقياس المغناطيسية ومستشعر LSM9DS1
El LSM9DS1 يدمج مقياس التسارع والجيروسكوب ومقياس المغناطيسية في شريحة واحدة، مما يسمح بالحصول على البيانات من الموضع والتوجه المطلقبالإضافة إلى قياس التسارع والدوران، فإنه يمكنه اكتشاف المجال المغناطيسي للأرض من أجل:
- احسب السمت المطلق، مفيدة في الملاحة والبوصلة الرقمية.
- تطوير أنظمة التوجيه دون الحاجة إلى أجهزة استشعار خارجية إضافية.
- دمج البيانات من جميع أجهزة الاستشعار لتقدير الموقع والاتجاه بدقة عالية (9 درجات حرية).
نصائح عملية للاستخدام الفعال لـ MPU6050 وLSM9DS1
- قم دائمًا بمعايرة أجهزة الاستشعار قبل الاستخدام في التطبيقات الحرجة لتحسين الدقة.
- تجنب تركيب الوحدات بالقرب من مصادر التداخل الكهرومغناطيسي، مثل المحركات أو المغناطيس.
- استخدم تقنيات التصفية واحتفظ بالتحكم الدقيق في أوقات أخذ العينات.
- للحصول على التوجيه المطلق فيما يتعلق بالشمال، يوصى باستخدام LSM9DS1 أو قم بدمج MPU6050 مع مقياس مغناطيسي خارجي، مثل HMC5883L.
- يساعد تنفيذ التصورات في الوقت الفعلي على تفسير البيانات المجمعة بشكل أفضل.
- المكتبات مثل i2cdevlib إنهم يجعلون العمل أسهل بكثير، لذا قم بإعطائهم الأولوية لتسهيل التطوير.