جدول المحتويات:

اردوينو - التوازن - التوازن الآلي - كيف تصنع: 6 خطوات (بالصور)
اردوينو - التوازن - التوازن الآلي - كيف تصنع: 6 خطوات (بالصور)

فيديو: اردوينو - التوازن - التوازن الآلي - كيف تصنع: 6 خطوات (بالصور)

فيديو: اردوينو - التوازن - التوازن الآلي - كيف تصنع: 6 خطوات (بالصور)
فيديو: المشروع الاول: كيف تقوم بعمل روبوت تتبع بشري باستخدام الاردوينو مع البرمجة الخاصة بها 2024, شهر نوفمبر
Anonim
Image
Image

في هذا البرنامج التعليمي سوف نتعلم كيفية جعل روبوت Arduino موازنة (توازن) يوازن نفسه. أولا يمكنك إلقاء نظرة على الفيديو التعليمي أعلاه.

الخطوة 1: الأجهزة المطلوبة

تجميع الروبوت
تجميع الروبوت

لوحة اردوينو (أونو) -

MPU-6050 GY521 Acc + الدوران -

مجموعة محرك التروس DC 6V 210RPM -

L298N Motor Driver -

زر التبديل -

M3 مجموعة صواميل برغي ذات فاصل سداسي عرافة M3 -

ورقة الاكريليك برسبيكس -

3.7 فولت 18650 بطارية ليثيوم أيون قابلة لإعادة الشحن + شاحن -

بطارية 9 فولت -

أسلاك العبور -

مسدس الغراء الساخن -

مجموعة مستلزمات Arduino Starter ومستلزماتها (اختياري): مستلزمات لوحة Arduino & SCM # 01 -

مستلزمات لوحة Arduino & SCM # 02 -

مجموعة أدوات التعلم الأساسية من Arduino # 01 -

مجموعة المبتدئين في التعلم الأساسي من Arduino # 02 -

مجموعة المبتدئين التعليمية من Arduino Basic # 03 -

Mega 2560 Starter Kit مع البرنامج التعليمي -

طقم وحدة حساس لاردوينو # 01 -

طقم وحدة حساس لاردوينو # 02 -

الخطوة 2: تجميع الروبوت

تجميع الروبوت
تجميع الروبوت
تجميع الروبوت
تجميع الروبوت
تجميع الروبوت
تجميع الروبوت
  • حفر أربع زوايا من 3 صفائح أكريليك. (الصورة 1 و 2)
  • سيكون بين كل لوح أكريليك حوالي 8 سنتيمترات / 3.15 بوصة. (الصورة 3)
  • أبعاد الروبوت (تقريبًا): 15 سم × 10 سم × 20 سم. (الصورة 4)
  • سيتم وضع محرك DC والعجلات في وسط (خط الوسط) للروبوت. (صورة 5)
  • سيتم وضع L298N Motor Driver في وسط الطابق الأول (خط الوسط) من الروبوت. (الصورة 6)
  • سيتم وضع لوحة Arduino في الطابق الثاني من الروبوت.
  • سيتم وضع وحدة MPU6050 في الطابق العلوي من الروبوت. (صورة 7)

الخطوة 3: التوصيلات

روابط
روابط
روابط
روابط

اختبر MPU6050 وتأكد من أنها تعمل! قم بتوصيل MPU6050 بـ Arduino أولاً واختبر الاتصال باستخدام الرموز الموجودة في البرنامج التعليمي أدناه. يجب أن يتم عرض الداها على الشاشة التسلسلية

دروس تعليمية - مقياس تسارع المحور MPU6050 GY521 6 + الدوران

يوتيوب تعليمي - MPU6050 GY521 6 محاور التسارع + الدوران

يمكن أن توفر وحدة L298N + 5V التي يحتاجها Arduino طالما أن جهد الدخل هو +7 V أو أكبر. ومع ذلك ، اخترت أن يكون لدي مصدر طاقة منفصل للمحرك

الخطوة 4: كيف تعمل الموازنة؟

كيف تعمل الموازنة؟
كيف تعمل الموازنة؟
كيف تعمل الموازنة؟
كيف تعمل الموازنة؟
كيف تعمل الموازنة؟
كيف تعمل الموازنة؟
  • للحفاظ على توازن الروبوت ، يجب على المحركات مواجهة سقوط الروبوت.
  • يتطلب هذا الإجراء ملاحظة وعنصر تصحيح.
  • عنصر التغذية الراجعة هو MPU6050 ، والذي يعطي كلاً من التسارع والدوران في جميع المحاور الثلاثة التي يستخدمها Arduino لمعرفة الاتجاه الحالي للروبوت.
  • عنصر التصحيح هو مجموعة المحرك والعجلة.
  • إن الروبوت ذاتي التوازن هو في الأساس بندول مقلوب.
  • يمكن موازنة ذلك بشكل أفضل إذا كان مركز الكتلة أعلى بالنسبة لمحاور العجلات.
  • هذا هو السبب في أنني وضعت حزمة البطارية في الأعلى.
  • ومع ذلك ، تم اختيار ارتفاع الروبوت بناءً على توفر المواد.

الخطوة 5: كود المصدر والمكتبات

رمز المصدر والمكتبات
رمز المصدر والمكتبات
رمز المصدر والمكتبات
رمز المصدر والمكتبات

الكود الذي تم تطويره لروبوت التوازن معقد للغاية. لكن لا داعي للقلق. سنقوم فقط بتغيير بعض البيانات.

نحتاج إلى أربع مكتبات خارجية لجعل الروبوت ذاتي التوازن يعمل

  • تسهل مكتبة PID حساب قيم P و I و D.
  • تُستخدم مكتبة LMotorController لقيادة المحركين بوحدة L298N.
  • مكتبة I2Cdev ومكتبة MPU6050_6_Axis_MotionApps20 مخصصة لقراءة البيانات من MPU6050.

تحميل المكتبات

PID -

LMotorController -

I2Cdev -

MPU6050 -

احصل على شفرة المصدر -

ما هو PID؟

  • في نظرية التحكم ، يحتاج الحفاظ على بعض المتغيرات (في هذه الحالة ، موضع الروبوت) إلى وحدة تحكم خاصة تسمى PID.
  • P للتناسب ، و I للتكامل ، و D للمشتق. كل من هذه المعلمات لها "مكاسب" تسمى عادةً Kp و Ki و Kd.
  • يوفر PID التصحيح بين القيمة المرغوبة (أو الإدخال) والقيمة الفعلية (أو الإخراج). الفرق بين المدخلات والمخرجات يسمى "خطأ".
  • تقلل وحدة التحكم PID الخطأ إلى أصغر قيمة ممكنة من خلال الضبط المستمر للإخراج.
  • في روبوت Arduino ذاتي التوازن ، يتم ضبط الإدخال (وهو الإمالة المرغوبة بالدرجات) بواسطة البرنامج.
  • يقرأ MPU6050 الميل الحالي للروبوت ويغذيه إلى خوارزمية PID التي تقوم بإجراء حسابات للتحكم في المحرك والحفاظ على الروبوت في الوضع الرأسي.

يتطلب PID أن يتم "ضبط" قيم المكاسب Kp و Ki و Kd على القيم المثلى

سنقوم بتعديل قيم PID يدويًا بدلاً من ذلك

  1. اجعل Kp و Ki و Kd مساوية للصفر.
  2. ضبط Kp. القليل جدًا من Kp سيجعل الروبوت يسقط (ليس تصحيحًا كافيًا). الكثير من Kp سيجعل الروبوت يتحرك ذهابًا وإيابًا بعنف. إن Kp الجيد بما يكفي سيجعل الروبوت يتحرك قليلاً للأمام والخلف (أو يتأرجح قليلاً).
  3. بمجرد تعيين Kp ، اضبط Kd. ستقلل قيمة Kd الجيدة من الاهتزازات حتى يصبح الروبوت ثابتًا تقريبًا. أيضًا ، المقدار الصحيح من Kd سيبقي الروبوت واقفًا حتى إذا تم دفعه.
  4. أخيرًا ، اضبط Ki. سوف يتأرجح الروبوت عند تشغيله حتى إذا تم ضبط Kp و Kd ولكنهما سيستقران في الوقت المناسب. ستعمل قيمة Ki الصحيحة على تقصير الوقت الذي يستغرقه الروبوت حتى يستقر.

اقتراح لنتائج أفضل

أوصي بإنشاء إطار روبوت مشابه باستخدام المواد المستخدمة في هذا المشروع لجعل الكود المصدري لـ Balance Robot يعمل بثبات وكفاءة.

الخطوة السادسة: للحصول على الدعم

للدعم
للدعم
  • يمكنك الاشتراك في قناة YouTube الخاصة بي لمزيد من البرامج التعليمية والمشاريع.
  • كما يمكنك الاشتراك للحصول على الدعم. شكرا لك.

زيارة قناتي على YouTube -

موصى به: