جدول المحتويات:
- الخطوة 1: مبدأ العمل
- الخطوة 2: The Build
- الخطوة 3: التجميع
- الخطوة 4: تصميم مسار الخط الخاص بك
- الخطوة 5: برمجة الكود الخاص بك
- الخطوة 6: تم
فيديو: روبوت يتبع الخط المعتمد على PID مع صفيف مستشعر POLOLU QTR 8RC: 6 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
أهلا!
هذه هي الكتابة الأولى لي على التعليمات ، واليوم سأأخذك على الطريق ، وشرح كيفية بناء خط يعتمد على PID يتبع الروبوت باستخدام مصفوفة مستشعر QTR-8RC.
قبل الانتقال إلى بناء الروبوت ، نحتاج إلى فهم ما يسمى بـ PID ،
الخطوة 1: مبدأ العمل
ما هو PID ؟؟
يشير المصطلح PID إلى النسبي والتكامل والمشتق.لذا ، ببساطة ، ما نقوم به بإشراك PID مع تتبع السطر هو ، نحن نعطي أمرًا للروبوت لمتابعة الخط واكتشاف المنعطفات عن طريق حساب الخطأ من خلال النظر في كيفية بعيدا عن المسار.
المصطلحات الرئيسية كما هو مذكور في وثائق polalu
تتناسب القيمة النسبية تقريبًا مع موضع الروبوت الخاص بك فيما يتعلق بالخط. بمعنى ، إذا كان الروبوت الخاص بك متمركزًا بدقة على الخط ، فإننا نتوقع قيمة متناسبة تبلغ 0 بالضبط
تسجل القيمة التكاملية تاريخ حركة الروبوت الخاص بك: إنها مجموع كل قيم المصطلح النسبي التي تم تسجيلها منذ بدء تشغيل الروبوت
المشتق هو معدل تغير القيمة النسبية
في هذا البرنامج التعليمي ، سنتحدث فقط عن مصطلحات Kp و Kd ، ومع ذلك ، يمكن تحقيق النتائج باستخدام مصطلح Ki أيضًا ، والقراءات التي نحصل عليها من المستشعر ليست فقط قراءات تمثيلية ولكن أيضًا قراءات موضعية للروبوت. لذلك ، يوفر المستشعر بشكل أساسي قيمًا تتراوح من 0 إلى 2500 تتراوح من الحد الأقصى للانعكاس إلى الحد الأدنى من الانعكاس ، ولكن في نفس الوقت ، يوفر أيضًا معلومات حول المسافة التي قطعها الروبوت عن الخط.)
الآن نحن بحاجة إلى النظر في مصطلح الخطأ ، هذا هو الفرق بين قيمتي setpoint والقيمة الحالية. (قيمة setpoint هي القراءة التي تتوافق مع الوضع "المثالي" لأجهزة الاستشعار أعلى السطور. والتيار القيمة هي القراءات اللحظية للمستشعر. على سبيل المثال: إذا كنت تستخدم مستشعر المصفوفة هذا وتستخدم 8 مستشعرات ، فستتلقى قراءة موضعية تبلغ 3500 إذا كنت في وضع التشغيل ، وحوالي 0 إذا كنت بعيدًا جدًا عن الخط وحوالي 7000 إذا كنت على حق جدًا.). هدفنا هو جعل الخطأ صفرًا. عندها فقط يستطيع الروبوت أن يتبع الخط بسلاسة.
ثم يأتي الجزء الحسابي.
1) احسب الخطأ.
خطأ = قيمة نقطة الضبط - القيمة الحالية = 3500 - الموضع
كما im باستخدام 8 مجسات. يعطي المستشعر قراءة موضعية لـ 3500 عندما يكون الروبوت في وضع مثالي. الآن بعد أن حسبنا خطأنا ، الهامش الذي ينجرف به روبوتنا عبر المسار ، حان الوقت لفحص الخطأ وضبط سرعات المحرك وفقًا لذلك.
2) تحديد السرعات المعدلة للمحركات.
MotorSpeed = Kp * Error + Kd * (خطأ - LastError) ؛
LastError = خطأ ؛
RightMotorSpeed = RightBaseSpeed + MotorSpeed ،
LeftMotorSpeed = LeftBaseSpeed - MotorSpeed ؛
من الناحية المنطقية ، يعني الخطأ 0 أن الروبوت الخاص بنا خارج إلى اليسار ، مما يعني أن الروبوت الخاص بنا يحتاج إلى التحرك قليلاً إلى اليمين ، وهذا بدوره يعني أن المحرك الأيمن يحتاج إلى إبطاء والمحرك الأيسر بحاجة إلى الإسراع. هذا هو PID!
يتم تحديد قيمة MotorSpeed من المعادلة نفسها. RightBaseSpeed و LeftBaseSpeed هما السرعات (أي قيمة PWM 0-255) التي يعمل بها الروبوت عندما يكون الخطأ صفراً.
يشتمل الكود الذي أرفقته أيضًا على كيفية التحقق من القيم الموضعية للمستشعر ، حتى تتمكن من فتح الشاشة التسلسلية وتحميل الكود وترى بنفسك مع سطر حول كيفية تدوير المحركات عند اختلاف الموضع.
إذا واجهت مشكلة أثناء تشغيل الروبوت الخاص بك ، فما عليك سوى التحقق من ذلك ومعرفة ذلك عن طريق تغيير علامات المعادلات !!!
والآن الجزء الأصعب في العثور على Kp و Kd ، كان علي أن أمضيت أكثر من ساعة لضبط الروبوت الخاص بي بشكل مثالي ، بدلاً من وضع قيم عشوائية وجدت طريقة أسهل لتحديد ذلك.
- ابدأ بـ kp و Kd يساوي 0 ، وابدأ بـ Kp ، حاول أولاً ضبط Kp على 1 ولاحظ الروبوت ، هدفنا هو اتباع الخط حتى لو كان متذبذبًا ، إذا تجاوز الروبوت الخط وفقده ، قلل من قيمة kp.إذا لم يستطع الروبوت التنقل في دورة وكان بطيئًا في زيادة قيمة Kp.
- بمجرد أن يبدو أن الروبوت يتبع الخط إلى حد ما ، اضبط قيمة Kd (قيمة Kd> قيمة Kp) ابدأ من 1 وقم بزيادة القيمة حتى ترى محركًا سلسًا مع تذبذب أقل.
- بمجرد أن يبدأ الروبوت في اتباع الخط ، قم بزيادة السرعة ومعرفة ما إذا كان قادرًا على الاحتفاظ بالخط واتباعه.
ضع في اعتبارك أن السرعة لها تأثير مباشر على ضبط PID وقد تحتاج أحيانًا إلى إعادة الضبط لتتناسب مع سرعة الروبوت الخاص بك.
الآن يمكننا أن نبدأ في بناء الروبوت الخاص بنا.
الخطوة 2: The Build
Arduino atmega 2560 مع كابل USB - هذا هو المتحكم الرئيسي المستخدم.
الهيكل - بالنسبة لهيكل الروبوت ، لقد استخدمت لوحين دائريين من الأكريليك يتم استخدامهما لمشروع آخر وهو مثالي لهذا الغرض. باستخدام الصواميل والبراغي ، قمت ببناء هيكل مكون من طابقين ، حتى أتمكن من إرفاق وحدات أخرى باللوحة العلوية. يمكنك استخدام الهياكل الجاهزة المتاحة.
www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…
محركات التروس الدقيقة - يحتاج الروبوت إلى محركات دوارة سريعة من أجل التعامل مع روتين PID ، لذلك استخدمت محركات مصنفة عند 6 فولت 400 دورة في الدقيقة وعجلات قابضة مناسبة.
www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…
www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…
مصفوفة مستشعر QTR 8Rc - يمكن استخدامها لتتبع الخط ، كما ذكرنا سابقًا ، أعتقد أن لديك الآن فهمًا واضحًا لكيفية تشغيل مصفوفة المستشعر باستخدام PID. الكود بسيط للغاية واستخدام مكتبات اردوينو الحالية ستكون قادرًا لبناء خط متابع سريع.
www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…
TB6612FNG Motor driver - كنت أرغب في استخدام محرك يمكنه التعامل مع المنعطفات وتغيير الاتجاهات في لمح البصر ، وهو قادر على كبح المحركات بشكل فعال عندما تنخفض إشارة PWM.
www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…
بطارية ليبو - بطارية ليبو 11.1 فولت تستخدم لتوفير الطاقة للروبوت بالرغم من أنني استخدمت بطارية ليبو 11.1 فولت إلا أن هذه السعة تفوق ما هو مطلوب للاردوينو والمحركات. بطارية ليبو أو حزمة بطارية Ni-MH 6 فولت ستكون مثالية لهذا السبب يجب أن أستخدم محول باك لتحويل الجهد إلى 6 فولت.
11.1 فولت-
7.4 V-
وحدة محول باك-
بالإضافة إلى ذلك ، تحتاج إلى أسلاك توصيل وصواميل ومسامير ومفكات براغي وأشرطة كهربائية وأيضًا روابط مضغوطة للتأكد من أن كل شيء في مكانه الصحيح.
الخطوة 3: التجميع
قم بتوصيل المحركات وعجلة العجلات الصغيرة في لوحة باستخدام الصواميل والبراغي ثم قم بتركيب مستشعر QTR وسائق المحرك ولوحة اردوينو وأخيراً البطارية على الهيكل.
هذا مخطط مثالي وجدته على الإنترنت ، والذي يخبرك بكيفية إجراء الاتصالات.
الخطوة 4: تصميم مسار الخط الخاص بك
الآن يبدو أن مشروعك قد انتهى تقريبًا ، ففي المرحلة الأخيرة تحتاج إلى ساحة صغيرة لاختبار الروبوت الخاص بك. لقد استخدمت خطًا عشوائيًا بعرض 3 سم أبيض على خلفية سوداء. تأكد من لصق كل شيء جيدًا ، وفي الوقت الحالي تجنب 90 درجة من التقاطعات والتقاطعات ، لأنها حالة معقدة في نقطة الترميز.
الخطوة 5: برمجة الكود الخاص بك
1. قم بتنزيل وتثبيت Arduino
IDE لسطح المكتب
النوافذ -
· نظام التشغيل Mac OS X -
لينكس -
2. قم بتنزيل ملف مصفوفة مستشعر QTR 8 RC والصقه في مجلد مكتبات Arduino.
·
· لصق الملفات إلى المسار - C: / Arduino / libraries
3. قم بتنزيل وفتحLINEFOLLOWING.ino
4. قم بتحميل الكود على لوحة اردوينو عبر كابل USB
الخطوة 6: تم
الآن لديك خط يتبع الروبوت الذي صنعته بنفسك.
آمل أن يكون هذا البرنامج التعليمي مفيدًا. لا تتردد في الاتصال بي عبر [email protected] إذا كان لديك أي مشكلة.
أراك قريبًا بمشروع جديد آخر.
استمتع بالبناء !!
موصى به:
اردوينو - روبوت حل المتاهة (MicroMouse) روبوت يتبع الجدار: 6 خطوات (بالصور)
اردوينو | روبوت حل المتاهة (MicroMouse) روبوت يتبع الحائط: مرحبًا أنا إسحاق وهذا هو أول روبوت لي & quot؛ Striker v1.0 & quot؛. تم تصميم هذا الروبوت لحل متاهة بسيطة. في المنافسة ، كان لدينا متاهتان والروبوت كان قادرًا على التعرف عليهم. قد تتطلب أي تغييرات أخرى في المتاهة تغييرًا في
روبوت تابع الخط مع PICO: 5 خطوات (بالصور)
روبوت تابع الخط مع PICO: قبل أن تكون قادرًا على إنشاء روبوت يمكنه إنهاء الحضارة كما نعرفها ، وقادر على إنهاء الجنس البشري. يجب أولاً أن تكون قادرًا على إنشاء الروبوتات البسيطة ، تلك التي يمكنها تتبع خط مرسوم على الأرض ، وهنا حيث يمكنك
نظام الوصول المعتمد على الموجات فوق الصوتية: 6 خطوات (بالصور)
نظام الوصول القائم على الموجات فوق الصوتية: هذه المرة أقدم لك نظام وصول قائم على الموجات فوق الصوتية أعتقد أنه قد يكون ممتعًا ، فهو يعتمد على الموجات فوق الصوتية ، لذا فهو نظام وصول بدون تلامس لا يحتاج إلى أي جهاز إلكتروني آخر ولكن أي شيء حتى يديك لمحاولة
مولد الموسيقى المعتمد على الطقس (مولد ميدي ESP8266): 4 خطوات (بالصور)
مولد الموسيقى المعتمد على الطقس (ESP8266 Based Midi Generator): مرحبًا ، سأشرح اليوم كيفية صنع مولد الموسيقى الخاص بك الذي يعتمد على الطقس. إنه يعتمد على ESP8266 ، وهو نوع يشبه Arduino ، ويستجيب لدرجة الحرارة والمطر وشدة الضوء. لا تتوقع أن تقوم بعمل أغانٍ كاملة أو برنامج على وتر
كيفية تجميع ذراع روبوت خشبي مثير للإعجاب (الجزء 1: روبوت لتتبع الخط) - استنادًا إلى Micro: Bit: 9 خطوات
كيفية تجميع ذراع روبوت خشبي مثير للإعجاب (الجزء 1: روبوت لتتبع الخطوط) - استنادًا إلى Micro: Bit: هذا الرجل الخشبي له ثلاثة أشكال ، إنه مختلف تمامًا ومثير للإعجاب. ثم دعونا ندخلها واحدًا تلو الآخر