جدول المحتويات:
فيديو: روبوت ذاتي التوازن - خوارزمية التحكم PID: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
تم تصميم هذا المشروع لأنني كنت مهتمًا بمعرفة المزيد عن خوارزميات التحكم وكيفية التنفيذ الفعال لحلقات PID الوظيفية. لا يزال المشروع في مرحلة التطوير حيث لم تتم إضافة وحدة Bluetooth بعد والتي ستسمح بالتحكم في الروبوت من هاتف ذكي مزود بتقنية Bluetooth.
كانت محركات N20 DC المستخدمة رخيصة نسبيًا ، وبالتالي تحتوي على قدر كبير من اللعب فيها. يؤدي هذا إلى قدر ضئيل من الاهتزاز حيث تتغلب المحركات على "الركود" حيث تقوم بتطبيق عزم الدوران على العجلات. ومن ثم ، فإن تحقيق حركة سلسة تمامًا يكاد يكون مستحيلًا. الكود الذي كتبته بسيط بشكل معقول ولكنه يوضح بشكل فعال قدرات خوارزمية PID.
ملخص المشروع:
هيكل الروبوت مطبوع ثلاثي الأبعاد باستخدام طابعة Ender 3 وهو مصمم ليلائم الضغط معًا.
يتم التحكم في الروبوت بواسطة Arduino Uno الذي يأخذ بيانات المستشعر من MPU6050 ويتحكم في محركات التيار المستمر من خلال محرك خارجي. يعمل ببطارية 7.4 فولت ، 1500 مللي أمبير في الساعة. ينظم سائق المحرك هذا إلى 5 فولت لتشغيل Arduino ويزود المحركات بـ 7.4 فولت.
تمت كتابة البرنامج من البداية بمساعدة مكتبات "Arduino-KalmanFilter-master" و "Arduino-MPU6050-master" من gitHub.
اللوازم:
- أجزاء مطبوعة ثلاثية الأبعاد
- اردوينو UNO
- MPU6050 مستشعر 6 محاور
- سائق محرك DC
- محركات N20 DC (x2)
- بطارية 9 فولت
الخطوة 1: بناء الروبوت
الطباعة والتجميع
يجب أن يكون الهيكل بأكمله مناسبًا للضغط ولكني استخدمت superglue لتأمين المكونات لضمان أن يكون الروبوت صلبًا تمامًا عند الموازنة.
لقد صممت الأجزاء في Fusion 360 وقمت بتحسين كل جزء للطباعة بدون دعم للسماح بتفاوتات أكثر تشديدًا وإنهاء سطح أنظف.
الإعدادات المستخدمة في طابعة Ender 3 هي: 0.16mm Layer Heights @ 40٪ infill لجميع الأجزاء.
الخطوة 2: 3D Print Robot
الهيكل (x1)
العجلة اليسرى (x2)
مبيت المحرك الأيسر (x2)
حقيبة اردوينو (x1)
الخطوة 3: خوارزمية التحكم PID
لقد كتبت خوارزمية تحكم PID من البداية باستخدام مكتبات "Arduino-KalmanFilter-master" و "Arduino-MPU6050-master" من gitHub.
فرضية الخوارزمية هي كما يلي:
- قراءة البيانات الأولية من MPU6050
- استخدم مرشح كالمان لتحليل البيانات من كل من الجيروسكوب ومقياس التسارع لإلغاء عدم الدقة في قراءات الجيروسكوب بسبب تسارع المستشعر. يؤدي هذا إلى إرجاع قيمة ناعمة نسبيًا لدرجة حرارة المستشعر بالدرجات إلى منزلتين عشريتين.
- احسب الخطأ E في الزاوية ، أي: الزاوية بين المستشعر ونقطة الضبط.
- احسب الخطأ النسبي (ثابت التناسب × الخطأ).
- احسب خطأ تكاملي كمجموع تشغيل لـ (خطأ ثابت التكامل x).
- حساب خطأ مشتق ثابت مثل [(ثابت التمايز) x (التغيير في الخطأ / التغيير في الوقت)]
- اجمع جميع الأخطاء لإعطاء سرعة الإخراج التي سيتم إرسالها إلى المحركات.
- احسب الاتجاه الذي يجب أن تدور فيه المحركات بناءً على علامة زاوية الخطأ.
- ستعمل الحلقة إلى أجل غير مسمى وستبنى على المخرجات مع اختلاف المدخلات. إنها حلقة تغذية مرتدة ، تستخدم قيم المخرجات كقيم إدخال جديدة للتكرار التالي.
تتمثل الخطوة الأخيرة في ضبط معلمات حلقة PID Kp و Ki & Kd.
- تتمثل نقطة البداية الجيدة في زيادة Kp ببطء حتى يتأرجح الروبوت حول نقطة التوازن ويمكن أن يسقط.
- بعد ذلك ، ابدأ Kd بحوالي 1٪ من قيمة Kp وزد ببطء حتى تختفي التذبذبات وينزلق الروبوت بسلاسة عند دفعه.
- أخيرًا ، ابدأ بـ Ki بحوالي 20٪ من Kp وتنوع حتى "يتجاوز" الروبوت نقطة الضبط ليلتقط السقوط ويعود إلى الوضع الرأسي.
موصى به:
روبوت ذاتي التوازن من ماجيكبيت: 6 خطوات
روبوت ذاتي التوازن من Magicbit: يوضح هذا البرنامج التعليمي كيفية صنع روبوت ذاتي التوازن باستخدام لوحة تطوير Magicbit. نحن نستخدم Magicbit كلوحة تطوير في هذا المشروع الذي يعتمد على ESP32. لذلك يمكن استخدام أي لوحة تطوير ESP32 في هذا المشروع
روبوت ذاتي التوازن بعجلتين: 7 خطوات
روبوت ذاتي التوازن بعجلتين: سيخضع هذا التوجيه لعملية التصميم والبناء لروبوت ذاتي التوازن. كملاحظة ، أريد فقط أن أقول إن الروبوتات ذاتية التوازن ليست مفهومًا جديدًا وقد تم بناؤها وتوثيقها من قبل الآخرين. أريد استخدام هذه الفرصة
HeadBot - روبوت ذاتي التوازن لتعلم وتوعية العلوم والتكنولوجيا والهندسة والرياضيات: 7 خطوات (بالصور)
HeadBot - روبوت ذاتي التوازن لتعلم وتوعية العلوم والتكنولوجيا والهندسة والرياضيات: Headbot - روبوت بطول قدمين وذاتي التوازن - هو من بنات أفكار فريق South Eugene Robotics (SERT ، FRC 2521) ، وهو فريق روبوتات تنافسي في المدرسة الثانوية في البداية مسابقة الروبوتات ، من يوجين ، أوريغون. يقوم روبوت التوعية هذا بإعادة
كيفية إنشاء روبوت ذاتي التوازن بطباعة ثلاثية الأبعاد يتم التحكم فيه عن بُعد: 9 خطوات (بالصور)
كيفية إنشاء روبوت ذاتي الموازنة بطباعة ثلاثية الأبعاد يتم التحكم فيه عن بُعد: هذا تطور للإصدار السابق من B-robot. 100٪ مصدر مفتوح / روبوت اردوينو. الشفرة والأجزاء ثلاثية الأبعاد والإلكترونيات مفتوحة لذا لا تتردد في تعديلها أو إنشاء نسخة ضخمة من الروبوت. إذا كانت لديك شكوك أو أفكار أو تحتاج إلى مساعدة ، فقم
إنشاء روبوت Arduino ذاتي التوازن يتم التحكم فيه عن بُعد: B-robot EVO: 8 خطوات
إنشاء روبوت Arduino ذاتي التوازن يتم التحكم فيه عن بُعد: B-robot EVO: ------------------------------------ -------------- التحديث: هناك نسخة جديدة ومحسنة من هذا الروبوت هنا: B-robot EVO ، مع ميزات جديدة! ------------ -------------------------------------- كيف يعمل؟ B-ROBOT EVO هو جهاز عن بعد مراقبة