جدول المحتويات:
- الخطوة 1: لماذا نستخدم وحدة القياس بالقصور الذاتي؟
- الخطوة الثانية: كيفية استخدام BNO055 للترجمة ثنائية الأبعاد؟
- الخطوة 3: نقطة الأجهزة في Vue
- الخطوة 4: كيف يعمل؟
- الخطوة 5: الهندسة المعمارية والبرمجيات
- الخطوة السادسة: ماذا تعلمت؟
فيديو: طريقة استخدام وحدة القياس بالقصور الذاتي: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
السياق:
أنا أصنع من أجل المتعة روبوتًا أريد أن أتحرك فيه بشكل مستقل داخل المنزل.
إنه عمل طويل وأنا أقوم به خطوة بخطوة.
لقد نشرت بالفعل 2 تعليمات حول هذا الموضوع:
- واحد حول صنع مشفر العجلة
- واحد حول اتصال wifi
يتم تشغيل الروبوت الخاص بي بواسطة محركي DC بمساعدة جهاز تشفير العجلة المصنوع منزليًا.
أقوم حاليًا بتحسين التحكم في الحركة وقد أمضيت بعض الوقت مع الجيروسكوب ومقياس التسارع ووحدة IMU. يسعدني مشاركة هذه التجربة.
تريد معرفة المزيد عن الأقلمة؟ فيما يلي مقال حول كيفية الجمع بين الذكاء الاصطناعي والموجات فوق الصوتية لتحديد موقع الروبوت
الخطوة 1: لماذا نستخدم وحدة القياس بالقصور الذاتي؟
فلماذا أستخدم IMU؟
السبب الأول هو أنه إذا كان جهاز تشفير العجلة دقيقًا بدرجة كافية للتحكم في الحركة المستقيمة ، حتى بعد الضبط ، لم أتمكن من الحصول على دقة دوران أقل من + - 5 درجات وهذا لا يكفي.
لذلك جربت مستشعرين مختلفين. أولاً أستخدم مقياس المغناطيسية (LSM303D). كان المبدأ بسيطًا: قبل الدوران ، احصل على الاتجاه الشمالي ، واحسب الهدف واضبط الحركة حتى يتم الوصول إلى الهدف. كان أفضل قليلاً من مع التشفير ولكن مع تشتت للغاية. بعد ذلك حاولت استخدام الجيروسكوب (L3GD20). كان المبدأ هو فقط دمج سرعة الدوران التي يوفرها المستشعر لحساب الدوران. وعملت بشكل جيد. تمكنت من التحكم في الدوران عند درجة + - 1 درجة.
ومع ذلك كنت أشعر بالفضول لتجربة بعض IMU. اخترت مكون BNO055. قضيت بعض الوقت لفهم واختبار IMU. في النهاية قررت اختيار هذا المستشعر للأسباب التالية
- يمكنني التحكم في الدوران وكذلك مع L3GD20
- يمكنني اكتشاف دوران طفيف عند التحرك بشكل مستقيم
- أحتاج إلى الحصول على اتجاه الشمال لتوطين الروبوت ومعايرة البوصلة لـ BNO055 بسيطة للغاية
الخطوة الثانية: كيفية استخدام BNO055 للترجمة ثنائية الأبعاد؟
BNO055 IMU عبارة عن مستشعر ذكي من 9 محاور من Bosch يمكنه توفير التوجيه المطلق.
توفر ورقة البيانات وثائق كاملة. إنه مكون عالي التقنية ، هل هو منتج معقد إلى حد ما وقد أمضيت بضع ساعات لأتعلم كيف يعمل وأجرّب طرقًا مختلفة لاستخدامه.
أعتقد أنه قد يكون من المفيد مشاركة هذه التجربة.
أولاً ، استخدمت مكتبة Adafruit التي توفر أداة جيدة لمعايرة المستشعر واكتشافه.
في النهاية وبعد الكثير من الاختبارات قررت ذلك
- استخدم مكتبة Adafruit لحفظ المعايرة فقط
- استخدم 3 من جميع الأوضاع الممكنة لـ BNO055 (NDOF ، IMU ، Compss)
- خصص Arduino Nano لحساب الترجمة بناءً على قياسات BNO055
الخطوة 3: نقطة الأجهزة في Vue
BNO055 هو مكون I2C. لذلك فهي تحتاج إلى مصدر طاقة و SDA و SCL للتواصل.
فقط اعتني بجهد Vdd وفقًا للمنتج الذي اشتريته. تعمل شريحة Bosch في النطاق: 2.4 فولت إلى 3.6 فولت ويمكنك العثور على مكون 3.3 فولت و 5 فولت.
لا توجد صعوبات في توصيل Nano و BNO055.
- يتم تشغيل BNO055 بواسطة Nano
- SDA و SCL متصلان بمقاومات سحب 2 × 2 كيلو.
- 3 LED متصلة بالنانو للتشخيص (بمقاومات)
- 2 موصلات تستخدم لتحديد الوضع بعد التمهيد
- 1 موصل باتجاه BNO (Gnd ، Vdd ، Sda ، Scl ، Int)
- 1 موصل نحو الروبوت / ميجا (+ 9V ، Gnd ، sda ، Scl ، Pin11 ، Pin12)
قليلا من اللحام وهذا كل شيء!
الخطوة 4: كيف يعمل؟
من نقطة الاتصال:
- نانو هو سيد الحافلة I2C
- الروبوت / ميجا و BNO055 هم عبيد I2C
- قراءة Nano بشكل دائم سجلات BNO055
- يقوم الروبوت / ميجا برفع إشارة رقمية لطلب الكلمة من نانو
من نقطة الحساب: يسلم Nano مع BNO055
- عنوان البوصلة (يستخدم في الترجمة)
- عنوان نسبي (يستخدم للتحكم في التدوير)
- العنوان والموضع المطلقان (يستخدمان للتحكم في التحركات)
من وجهة النظر الوظيفية: The Nano:
- يدير معايرة BNO055
- يدير معلمات وأوامر BNO055
النظام الفرعي Nano & BNO055:
- حساب لكل عجلات روبوت العنوان المطلق والتوطين (مع عامل التدرج)
- حساب العنوان النسبي أثناء دوران الروبوت
الخطوة 5: الهندسة المعمارية والبرمجيات
يعمل البرنامج الرئيسي على Arduino Nano
- تعتمد الهندسة المعمارية على اتصالات I2C.
- لقد اخترت تخصيص نانو نظرًا لحقيقة أن Atmega الذي يدير الروبوت تم تحميله بالفعل ، وهذه البنية تجعل من الأسهل إعادة استخدامها في مكان آخر.
- يقرأ Nano سجلات BNO055 ويحسبها ويخزن العنوان والترجمة في سجلاته الخاصة.
- Arduino Atmega الذي يقوم بتشغيل كود الروبوت ، يرسل معلومات مشفرات العجلات إلى Nano ويقرأ العناوين والترجمة داخل سجلات Nano.
يوجد رمز فرعي (نانو) متاح هنا على جيثب
أداة معايرة Adafruit إذا كانت موجودة هنا على GitHub (سيتم تخزين المعايرة على eeproom)
الخطوة السادسة: ماذا تعلمت؟
بخصوص I2C
أولاً ، حاولت الحصول على 2 ماستر (Arduino) و 1 تابع (مستشعر) على نفس الحافلة ولكن في النهاية من الممكن والأسهل تعيين Nano فقط كسيد واستخدام اتصال GPIO بين 2 Arduinos لـ "طلب الرمز المميز".
بخصوص BNO055 للتوجه ثنائي الأبعاد
يمكنني التركيز على 3 أوضاع تشغيل مختلفة: NDOF (الجمع بين الجيروسكوب ومقياس التسارع والبوصلة) عندما يكون الروبوت خاملاً ، و IMU (جيروسكوب مدمج ومقياس تسارع) عندما يتحرك الروبوت والبوصلة أثناء مرحلة التوطين. التبديل بين هذه الأوضاع سهل وسريع.
لتقليل حجم الكود والحفاظ على إمكانية استخدام مقاطعة BNO055 لاكتشاف التصادم ، أفضل عدم استخدام مكتبة Adafruit والقيام بذلك بمفردي.
موصى به:
مقياس الارتفاع المستوي RC (متوافق مع القياس عن بعد Spektrum): 7 خطوات
مقياس الارتفاع للطائرة RC (متوافق مع Spektrum Telemetry): لقد صنعت مقياس الارتفاع هذا حتى يتمكن الطيار من معرفة أنه أقل من 400 قدم على طائرات RC في الولايات المتحدة. كان صديقي قلقًا لأنه لم يستطع الجزم بأنه كان دائمًا أقل من 400 قدم ، وأراد تأكيدًا إضافيًا بأن جهاز الاستشعار
استخدام القياس التصويري لإنشاء النماذج: 9 خطوات
استخدام القياس التصويري لإنشاء النماذج: من أنا؟ أنا صامويل كونكلين وأنا طالب في السنة الثانية في E.L. مدرسة مايرز الثانوية. لقد جربت القياس التصويري خلال الشهرين الماضيين وآمل أن أساعدك إذا اخترت إعادة إنشاء هذا المنتج. أنا مهتم بمعرفة كيف يمكن للآخرين
ARUPI - وحدة التسجيل الآلي منخفضة التكلفة / وحدة التسجيل الذاتي (ARU) لعلماء البيئة في Soundscape: 8 خطوات (بالصور)
ARUPI - وحدة التسجيل الآلي منخفضة التكلفة / وحدة التسجيل الذاتي (ARU) لعلماء البيئة في Soundscape: كتب هذا التوجيه أنتوني تيرنر. تم تطوير المشروع بمساعدة كبيرة من Shed in the School of Computing، University of Kent (كان السيد Daniel Knox مفيدًا جدًا!). سيوضح لك كيفية إنشاء تسجيل صوتي آلي
كيفية استخدام أساسيات جهاز القياس المتعدد: 8 خطوات
كيفية استخدام أساسيات جهاز القياس المتعدد: يعد جهاز القياس المتعدد أو جهاز القياس المتعدد ، والمعروف أيضًا باسم VOM (فولت-أوم-ميليميتير) ، أداة قياس إلكترونية تجمع بين وظائف قياس متعددة في وحدة واحدة. يمكن للمقياس المتعدد النموذجي قياس الجهد والتيار والمقاومة. متعدد التناظرية
HC - 06 (الوحدة التابعة) تغيير "NAME" بدون استخدام "Monitor Serial Arduino" هذا "يعمل بسهولة": طريقة خالية من العيوب!: 3 خطوات
HC - 06 (الوحدة التابعة) تغيير "NAME" بدون استخدام "Monitor Serial Arduino" … هذا "يعمل بسهولة": طريقة خالية من العيوب!: بعد & quot؛ وقت طويل & quot؛ محاولة تغيير الاسم على HC - 06 (الوحدة التابعة) ، باستخدام & quot؛ الشاشة التسلسلية للاردوينو بدون & quot؛ نجح & quot ؛، وجدت طريقة أخرى سهلة وأشارك الآن! هل لديك أصدقاء المرح