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

روبوت متقدم لمتابعة الخط: 22 خطوة (بالصور)
روبوت متقدم لمتابعة الخط: 22 خطوة (بالصور)

فيديو: روبوت متقدم لمتابعة الخط: 22 خطوة (بالصور)

فيديو: روبوت متقدم لمتابعة الخط: 22 خطوة (بالصور)
فيديو: معاناة التقويم.💔#shorts #السعودية 2024, شهر نوفمبر
Anonim
Image
Image
النماذج الأولية - Perfboard
النماذج الأولية - Perfboard

هذا خط متقدم يتبع الروبوت يعتمد على مستشعر خط Teensy 3.6 و QTRX الذي قمت ببنائه وعملت عليه لبعض الوقت. هناك بعض التحسينات الرئيسية في التصميم والأداء من خطي السابق الذي يتبع الروبوت. تحسنت سرعة واستجابة الروبوت. الهيكل العام مضغوط وخفيف الوزن. يتم ترتيب المكونات بالقرب من محور العجلة لتقليل الزخم الزاوي. توفر محركات التروس المعدنية الصغيرة عالية الطاقة عزم الدوران المناسب ، كما توفر عجلات السيليكون المحورية المصنوعة من الألومنيوم جرًا تشتد الحاجة إليه عند السرعات العالية. درع الدعامة ومشفرات العجلة تمكن الروبوت من تحديد موضعه واتجاهه. مع تثبيت Teensyview على اللوحة ، يمكن تصور جميع المعلومات ذات الصلة ويمكن تحديث معلمات البرنامج المهمة باستخدام الأزرار الانضغاطية.

لبدء بناء هذا الروبوت ، ستحتاج إلى الإمدادات التالية (والكثير من الوقت والصبر تحت تصرفك).

اللوازم

إلكترونيات

  • مجلس التنمية Teensy 3.6
  • درع الدعامة مع مستشعرات الحركة
  • Sparkfun TeensyView
  • صفيف مستشعر الانعكاس Pololu QTRX-MD-16A
  • نموذج أولي مزدوج الجانب مقاس 15 × 20 سم ثنائي الفينيل متعدد الكلور
  • Pololu Step-Up / Step-Down Voltage Regulator S9V11F3S5
  • Pololu منظم جهد كهربائي متدرج قابل للتعديل 4-5-20 فولت U3V70A
  • MP12 6V 1580 rpm محرك تروس دقيق مع جهاز تشفير (x2)
  • حامل سائق بمحرك مزدوج DRV8833 (x2)
  • 3.7 فولت ، 750 مللي أمبير بطارية Li-Po
  • مفتاح تشغيل / إيقاف
  • مكثف كهربائيا 470 فائق التوهج
  • مكثف كهربائيا 1000 فائق التوهج (x2)
  • مكثف سيراميك 0.1 فائق التوهج (x5)
  • أزرار الضغط (x3)
  • 10 ملم LED أخضر (x2)

المعدات

  • عجلة سيليكون أتوم 37 × 34 مم (× 2)
  • عجلة كرة Pololu مع كرة معدنية مقاس 3/8 بوصة
  • حامل محرك N20 (x2)
  • الترباس والصواميل

الكابلات والموصلات

  • 24AWG أسلاك مرنة
  • 24 دبوس FFC إلى DIP اندلاع وكابل FFC (النوع A ، طول 150 مم)
  • رأس دبوس أنثى مستدير
  • أنثى جولة رأس دبوس طويلة الطرفية
  • رأس أنثى صف مزدوج الزاوية اليمنى
  • رأس ذكر صف مزدوج الزاوية اليمنى
  • رأس دبوس ذكر
  • ذكر رأس دبوس إبرة

أدوات

  • المقياس المتعدد
  • لحام حديد
  • أسلاك اللحام
  • متجرد الأسلاك
  • قاطع الاسلاك

الخطوة 1: نظرة عامة على الأنظمة

كما هو الحال مع تصميمي السابق لإنسان آلي ذاتي التوازن ، فإن هذا الروبوت عبارة عن مجموعة من الألواح المكسورة المثبتة على لوح بيرفورد والتي تخدم أيضًا غرض الهيكل.

الأنظمة الرئيسية للروبوت موضحة أدناه.

متحكم دقيق: لوحة تطوير Teensy 3.6 تتميز بمعالج ARM Cortex-M4 32 بت 180 ميجاهرتز.

مستشعر الخط: مصفوفة مستشعر خط الإخراج التناظري QTRX-MD-16A من Pololu ذات 16 قناة بترتيب متوسط الكثافة (درجة مستشعر 8 مم).

القيادة: 6 فولت ، 1580 دورة في الدقيقة ، محركات تروس معدنية دقيقة عالية الطاقة مع مشفر عجلة مغناطيسي وعجلات سيليكون مثبتة على محاور من الألومنيوم.

قياس المسافات: أزواج مشفر العجلة المغناطيسية لتقدير الإحداثيات والمسافة المقطوعة.

مستشعر التوجيه: درع دعامة مزود بأجهزة استشعار للحركة لتقدير موضع ورأس الروبوت.

مزود الطاقة: 3.7 فولت ، 750 مللي أمبير بطارية ليبو كمصدر للطاقة. يعمل منظم تصعيد / لأسفل 3.3 فولت على تشغيل المتحكم الدقيق وأجهزة الاستشعار وجهاز العرض. منظم تصعيد قابل للتعديل يعمل على تشغيل المحركين.

واجهة المستخدم: Teensyview لعرض المعلومات. ثلاثة أزرار ضغط لقبول مدخلات المستخدم. رقمان من المصابيح الخضراء بقطر 10 مم للإشارة إلى الحالة أثناء التشغيل.

الخطوة 2: لنبدأ في وضع النماذج الأولية

Image
Image

سنقوم بتنفيذ الدائرة المذكورة أعلاه على لوحة الأداء. علينا أولاً أن نبقي ألواحنا الفرعية جاهزة عن طريق لحام الرؤوس عليها. سيقدم الفيديو فكرة بشأن الرؤوس التي يجب أن يتم لحامها على أي من اللوحات الفرعية.

بعد لحام الرؤوس على الألواح الفاصلة ، قم بتكديس Teensyview وزر الضغط فوق Teensy.

الخطوة 3: النماذج الأولية - Perfboard

النماذج الأولية - Perfboard
النماذج الأولية - Perfboard

احصل على لوحة مثالية للنموذج الأولي مقاس 15 × 20 سم وضع علامة على الحدود بعلامة دائمة كما هو موضح في الصورة. حفر ثقوب بحجم M2 لتركيب مجموعة المستشعرات وعجلة العجلات ومحركات التروس المعدنية الدقيقة في المواقع المحددة بدائرة بيضاء. سنقوم لاحقًا بقص لوح بيرف بورد على طول الحدود بعد لحام واختبار جميع المكونات.

سنبدأ النماذج الأولية الخاصة بنا عن طريق لحام دبابيس الرأس والمآخذ الموجودة على لوحة التحكم. سيتم لاحقًا إدخال الألواح المنفصلة على هذه الرؤوس. انتبه جيدًا لموضع الرؤوس على لوحة الأداء. سنقوم بتوصيل جميع الأسلاك بناءً على تخطيط الرؤوس هذا.

الخطوة 4: النماذج الأولية - Prop Shield

النماذج الأولية - درع الدعامة
النماذج الأولية - درع الدعامة
النماذج الأولية - درع الدعامة
النماذج الأولية - درع الدعامة
النماذج الأولية - درع الدعامة
النماذج الأولية - درع الدعامة
النماذج الأولية - درع الدعامة
النماذج الأولية - درع الدعامة

سنقوم أولاً بلحام التوصيلات بدرع الدعامة. نظرًا لأننا نستخدم فقط مستشعرات الحركة لدرع الدعامة ، فنحن بحاجة إلى توصيل دبابيس SCL و SDA و IRQ فقط بصرف النظر عن المسامير 3V والأرضية لدرع الدعامة.

بمجرد اكتمال الاتصال ، أدخل Teensy ودرع الدعامة وقم بمعايرة مستشعرات الحركة باتباع الخطوات المذكورة هنا.

الخطوة 5: النمذجة - القوة والأرض

النماذج الأولية - القوة والأرض
النماذج الأولية - القوة والأرض

جندى جميع وصلات الطاقة والأرضية التي تشير إلى الصورة. أدخل جميع ألواح الفصل في مكانها وتأكد من الاستمرارية باستخدام مقياس متعدد. تحقق من مستويات الجهد المختلفة على اللوحة.

  • جهد الخرج Li-po (عادة بين 3V و 4.2V)
  • جهد خرج منظم تصعيد / لأسفل (3.3 فولت)
  • جهد خرج منظم تصعيد قابل للتعديل (ضبط على 6 فولت)

الخطوة 6: النمذجة - حامل المحرك

النماذج الأولية - سائق ناقل الحركة
النماذج الأولية - سائق ناقل الحركة
النماذج الأولية - سائق ناقل الحركة
النماذج الأولية - سائق ناقل الحركة
النماذج الأولية - سائق ناقل الحركة
النماذج الأولية - سائق ناقل الحركة

يمكن للوحة الناقل DRV8833 ثنائية المحرك توفير تيارات ذروة مستمرة 1.2 أمبير و 2 أمبير لكل قناة. سنقوم بتوصيل القناتين بالتوازي لقيادة محرك واحد. جندى الاتصالات باتباع الخطوات أدناه.

  • بالتوازي مع المدخلات والمخرجات الخاصة بحامل المحرك كما هو موضح في الصورة.
  • قم بتوصيل أسلاك التحكم في الإدخال بسائق المحرك.
  • قم بتوصيل مكثف إلكتروليتي 1000 فائق التوهج ومكثف سيراميك 0.1 فائق التوهج عبر طرفي Vin و Gnd للوحي الناقل.
  • قم بتوصيل مكثف سيراميك 0.1 فائق التوهج عبر أطراف خرج محرك المحرك.

الخطوة 7: النمذجة - رأس صفيف استشعار الخط

النماذج الأولية - رأس صفيف مستشعر الخط
النماذج الأولية - رأس صفيف مستشعر الخط
النماذج الأولية - رأس صفيف مستشعر الخط
النماذج الأولية - رأس صفيف مستشعر الخط
النماذج الأولية - رأس صفيف مستشعر الخط
النماذج الأولية - رأس صفيف مستشعر الخط
النماذج الأولية - رأس صفيف مستشعر الخط
النماذج الأولية - رأس صفيف مستشعر الخط

يحتوي Teensy 3.6 على اثنين من ADCs - ADC0 و ADC1 يتم إرسالهما إلى 25 دبوسًا يمكن الوصول إليه. يمكننا الوصول إلى أي دبابيس من جهازي ADCs في نفس الوقت. سنقوم بتوصيل ثمانية مستشعرات خطية لكل من ADC0 و ADC1. سيتم توصيل مستشعرات الأرقام الزوجية بـ ADC1 ومستشعرات الأرقام الفردية بـ ADC0. جندى الاتصالات باتباع الخطوات أدناه. سنقوم لاحقًا بتوصيل مستشعر الخط باستخدام محول وكابل FFC بمحول DIP.

  • قم بتوصيل جميع دبابيس المستشعر (16 ، 14 ، 12 ، 10 ، 8 ، 6 ، 4 ، 2) كما هو موضح في الصورة. قم بتوجيه السلك لتوصيل دبوس المستشعر 12 عبر الجانب العكسي من لوحة التحكم.
  • قم بتوصيل دبوس التحكم في الباعث (EVEN) بـ Teensy pin 30.
  • قم بتوصيل جميع دبابيس المستشعر الفردي (15 ، 13 ، 11 ، 9 ، 7 ، 5 ، 3 ، 1) كما هو موضح في الصورة.
  • قم بتوصيل مكثف إلكتروليتي 470 فائق التوهج عبر Vcc و Gnd.

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

الخطوة 8: النماذج الأولية - محرك الجير الصغير والتشفير

النماذج الأولية - محرك الجير الصغير والتشفير
النماذج الأولية - محرك الجير الصغير والتشفير
  • قم بإصلاح محرك التروس المعدني الصغير باستخدام جهاز التشفير باستخدام حوامل المحرك N20.
  • قم بتوصيل أسلاك المحرك والمشفّر كما هو موضح في الصورة.
  • التشفير الأيسر - دبابيس صغيرة 4 و 0
  • التشفير الصحيح - دبابيس صغيرة 9 و 27

الخطوة 9: النماذج الأولية - المصابيح

النماذج الأولية - المصابيح
النماذج الأولية - المصابيح
النماذج الأولية - المصابيح
النماذج الأولية - المصابيح

يشير المصباحان إلى ما إذا كان الروبوت قد اكتشف منعطفًا أم لا. لقد استخدمت مقاومة سلسلة 470 أوم لتوصيل مصابيح LED بـ Teensy.

  • أنود LED الأيسر إلى Teensy pin 6
  • أنود LED الأيمن إلى Teensy pin 8

الخطوة 10: النمذجة - الاختراقات

Image
Image
النماذج الأولية - الاختراقات
النماذج الأولية - الاختراقات

الآن بعد أن أكملنا جميع عمليات اللحام الخاصة بنا على لوحة perfboard ، يمكننا قطع بعناية على طول الحدود المحددة على لوحة perfboard وإزالة الأجزاء الإضافية من لوحة perfboard. أيضًا ، قم بتوصيل العجلتين وعجلة العجلات.

أدخل كل ألواح الفصل في مآخذها الخاصة. لإدخال اندلاع FFC-DIP ولتثبيت مستشعر خط QTRX-MD-16A ، ارجع إلى الفيديو.

الخطوة 11: نظرة عامة على مكتبات البرامج

نظرة عامة على مكتبات البرامج
نظرة عامة على مكتبات البرامج

سنقوم ببرمجة Teensy في Arduino IDE. سنحتاج إلى بعض المكتبات قبل أن نبدأ. المكتبات التي سنستخدمها هي:

  • التشفير
  • Teensyview
  • إيبروم
  • ADC
  • NXPMotionSense

وبعضها كتب خصيصًا لهذا الروبوت ،

  • اضغط الزر
  • مستشعر الخط
  • تينسيفيو
  • المحركات

تمت مناقشة المكتبات الخاصة بهذا الروبوت بالتفصيل وهي متاحة للتنزيل في الخطوات التالية.

الخطوة 12: شرح المكتبات - زر الضغط

هذه المكتبة مخصصة للتواصل مع لوحة اندلاع الأزرار مع Teensy. الوظائف المستخدمة هي

PushButton (int leftButtonPin ، int centreButtonPin ، int rightButtonPin) ؛

يؤدي استدعاء هذا المُنشئ عن طريق إنشاء كائن إلى تكوين دبابيس الضغط على وضع INPUT_PULLUP.

int8_t waitForButtonPress (باطل) ؛

تنتظر هذه الوظيفة حتى يتم الضغط على الزر وتحريره وإرجاع رمز المفتاح.

int8_t getSingleButtonPress (باطل) ؛

تتحقق هذه الوظيفة من الضغط على الزر وتحريره. إذا كانت الإجابة بنعم ، يتم إرجاع رمز المفتاح وإلا ترجع صفرًا.

الخطوة 13: شرح المكتبات - مستشعر الخط

LineSensor هي مكتبة للتفاعل مع مصفوفة مستشعر الخط مع Teensy. فيما يلي الوظائف المستخدمة.

LineSensor (باطل) ؛

يؤدي استدعاء هذا المُنشئ عن طريق إنشاء كائن إلى تهيئة ADC0 و ADC1 ، ويقرأ قيم العتبة والحد الأدنى والحد الأقصى من EEPROM وتكوين دبابيس المستشعر لوضع الإدخال ودبوس التحكم في جهاز الإرسال إلى وضع الإخراج.

معايرة باطلة (uint8_t calibrationMode) ؛

تقوم هذه الوظيفة بمعايرة مستشعرات الخط. يمكن أن يكون وضع المعايرة إما MIN_MAX أو MEDIAN_FILTER. تم شرح هذه الوظيفة بالتفصيل في خطوة لاحقة.

getSensorsAnalog باطلة (uint16_t * sensorValue، uint8_t mode) ؛

يقرأ مجموعة أجهزة الاستشعار في أي من الأوضاع الثلاثة التي تم تمريرها كوسيطة. الوضع هو حالة أجهزة الإرسال ويمكن أن يكون في وضع التشغيل أو الإيقاف أو التبديل. يعوض وضع TOGGLE قراءات المستشعر للانعكاس بسبب الضوء المحيط. تتم قراءة المستشعرات المتصلة بـ ADC0 و ADC1 بشكل متزامن.

int getLinePosition (uint16_t * sensorValue) ؛

تحسب موضع صفيف المستشعر فوق الخط بواسطة طريقة المتوسط المرجح.

uint16_t getSensorsBinary (uint16_t * sensorValue) ؛

إرجاع تمثيل 16 بت لحالة المستشعرات. يشير الرقم الثنائي إلى أن المستشعر تجاوز الخط ويشير الصفر الثنائي إلى أن المستشعر خارج الخط.

uint8_t countBinary (uint16_t binaryValue) ؛

يؤدي تمرير تمثيل 16 بت لقيم المستشعر إلى هذه الوظيفة إلى إرجاع عدد المستشعرات الموجودة فوق الخط.

getSensorsNormalized باطلة (uint16_t * sensorValue، uint8_t mode) ؛

يقرأ قيم المستشعر ويقيد كل قيمة مستشعر لقيمها الدنيا والقصوى المقابلة لها. ثم يتم تعيين قيم المستشعر من الحد الأدنى المقابل إلى النطاق الأقصى إلى النطاق من 0 إلى 1000.

الخطوة 14: شرح المكتبات - TeensyviewMenu

TeensyviewMenu هي المكتبة حيث يمكن الوصول إلى وظائف قائمة العرض. فيما يلي الوظائف المستخدمة.

TeensyViewMenu (باطل) ؛

يؤدي استدعاء هذا المُنشئ إلى إنشاء كائن من فئة LineSensor و PushButton و TeensyView.

مقدمة باطلة (باطلة) ؛

هذا للتنقل في القائمة.

اختبار باطل (باطل) ؛

يسمى هذا داخليًا داخل القائمة عندما يتم عرض قيم مستشعر الخط في Teensyview للاختبار.

الخطوة 15: شرح المكتبات - المحركات

المحركات هي المكتبة المستخدمة لقيادة المحركين. فيما يلي الوظائف المستخدمة.

المحركات (باطلة) ؛

يؤدي استدعاء هذا المُنشئ عن طريق إنشاء كائن إلى تكوين التحكم في اتجاه المحرك ودبابيس التحكم في PWM إلى وضع الإخراج.

setSpeed باطلة (int leftMotorSpeed ، int rightMotorSpeed) ؛

يؤدي استدعاء هذه الوظيفة إلى دفع المحركين بسرعات يتم تمريرها كوسيطات. يمكن أن تتراوح قيمة السرعة من -255 إلى +255 مع إشارة سالبة تشير إلى أن اتجاه الدوران معكوس.

الخطوة 16: الاختبار - قياس المسافات في برنامج التشفير

سنختبر مشفرات العجلة المغناطيسية ونعرض الموضع والمسافة التي يغطيها الروبوت.

قم بتحميل DualEncoderTeensyview.ino. يعرض البرنامج علامات التشفير على Teensyview. يقوم برنامج التشفير بوضع علامة على الزيادة إذا قمت بتحريك الروبوت للأمام والتناقص إذا قمت بنقله للخلف.

الآن قم بتحميل EncoderOdometry.ino. يعرض هذا البرنامج موقع الروبوت من حيث إحداثيات x-y ، ويعرض إجمالي المسافة المقطوعة بالسنتيمتر والزاوية التي تم قلبها بالدرجات.

لقد أشرت إلى تنفيذ الحساب الميت بواسطة Odometry على روبوت بمحرك تفاضلي مؤازر R / C بواسطة جمعية سياتل للروبوتات لتحديد الموضع من علامات التجزئة.

الخطوة 17: الاختبار - مستشعرات حركة درع الدعامة

تأكد من معايرة مستشعرات الحركة باتباع الخطوات المذكورة هنا.

الآن قم بتحميل PropShieldTeensyView.ino. يجب أن تكون قادرًا على رؤية قيم التسارع والجيروسكوب والمغناطيسية لجميع المحاور الثلاثة في Teensyview.

الخطوة 18: نظرة عامة على البرنامج

تمت كتابة برنامج متابع الخط المتقدم في Arduino IDE. يعمل البرنامج بالتسلسل التالي الموضح أدناه.

  • تتم قراءة القيم المخزنة في EEPROM ويتم عرض القائمة.
  • عند الضغط على LAUNCH ، يدخل البرنامج الحلقة.
  • تتم قراءة قيم مستشعر الخط المعياري.
  • يتم الحصول على القيمة الثنائية لموضع الخط باستخدام قيم المستشعر المعيارية.
  • يتم حساب عدد أجهزة الاستشعار الموجودة فوق الخط من القيمة الثنائية لموضع الخط.
  • يتم تحديث علامات التكفير وإجمالي المسافة المقطوعة وإحداثيات x-y والزاوية.
  • للقيم المختلفة للعدد الثنائي التي تتراوح من 0 إلى 16 ، يتم تنفيذ مجموعة من التعليمات. إذا كان العد الثنائي في النطاق من 1 إلى 5 وإذا كانت المستشعرات الموجودة فوق الخط مجاورة لبعضها البعض ، يتم استدعاء روتين PID. يتم إجراء التدوير في مجموعات أخرى من القيمة الثنائية والعدد الثنائي.
  • في روتين PID (الذي يعد فعلاً روتين PD) ، يتم تشغيل المحركات بسرعات محسوبة على أساس الخطأ ، والتغير في الخطأ ، وقيم Kp و Kd.

لا يقيس البرنامج حاليًا قيم الاتجاه من درع الدعامة. هذا عمل قيد التقدم ويتم تحديثه.

تحميل TestRun20.ino. سنرى كيفية التنقل في القائمة وضبط الإعدادات وكيفية معايرة مستشعرات الخط في الخطوات التالية التي سنقوم بعدها باختبار الروبوت الخاص بنا.

الخطوة 19: التنقل في القائمة والإعدادات

تحتوي القائمة على الإعدادات التالية التي يمكن التنقل فيها باستخدام زري الضغط الأيمن والأيسر واختيارها باستخدام زر الضغط الأوسط. يتم وصف الإعدادات ووظائفها أدناه.

  1. المعايرة: لمعايرة مستشعرات الخط.
  2. اختبار: لعرض قيم مستشعر الخط.
  3. الإطلاق: لبدء السطر التالي.
  4. السرعة القصوى: لضبط الحد الأعلى لسرعة الروبوت.
  5. سرعة الدوران: لضبط الحد الأعلى لسرعة الروبوت عند قيامه بالدوران ، أي عندما تدور كلتا العجلتين بسرعات متساوية في اتجاهين متعاكسين.
  6. KP: ثابت نسبي.
  7. KD: ثابت مشتق.
  8. RUN MODE: للاختيار بين وضعي تشغيل - NORMAL و ACCL. في الوضع العادي ، يعمل الروبوت بسرعات محددة مسبقًا تتوافق مع قيم موضع الخط. في وضع ACCL ، يتم استبدال السرعة القصوى للروبوت بواسطة ACCL SPEED في مراحل محددة مسبقًا من المسار. يمكن استخدام هذا لتسريع الروبوت في أقسام مستقيمة من المسار. يمكن الوصول إلى الإعدادات التالية فقط إذا تم ضبط RUN MODE على ACCL.
  9. LAP DISTANCE: لضبط الطول الإجمالي لمسار السباق.
  10. سرعة ACCL: لضبط سرعة تسريع الروبوت. تحل هذه السرعة محل السرعة القصوى في مراحل مختلفة من المسار كما هو محدد أدناه.
  11. لا. من المراحل: لتعيين عدد المراحل حيث يتم استخدام سرعة ACCL.
  12. المرحلة 1: لضبط مسافات البداية والنهاية للمرحلة التي يتم فيها استبدال MAX SPEED بـ ACCL SPEED. لكل مرحلة ، يمكن ضبط مسافات البداية والنهاية بشكل منفصل.

الخطوة 20: معايرة مستشعر الخط

Image
Image

معايرة مستشعر الخط هي العملية التي يتم من خلالها تحديد قيمة العتبة لكل من المستشعرات الـ 16. تُستخدم قيمة العتبة هذه لتحديد ما إذا كان مستشعر معين يتجاوز الخط أم لا. لتحديد قيم العتبة لـ 16 مستشعرًا ، نستخدم أيًا من الطريقتين.

مرشح الوسائط: في هذه الطريقة ، يتم وضع مستشعرات الخط فوق السطح الأبيض ويتم أخذ عدد محدد مسبقًا من قراءات المستشعر لجميع المستشعرات الستة عشر. يتم تحديد القيم المتوسطة لجميع أجهزة الاستشعار الستة عشر. تتكرر نفس العملية بعد وضع مستشعرات الخط على السطح الأسود. قيمة الحد هي متوسط القيم المتوسطة للأسطح السوداء والبيضاء.

MIN MAX: في هذه الطريقة ، تتم قراءة قيم المستشعر بشكل متكرر حتى يطالب المستخدم بالتوقف. يتم تخزين القيم القصوى والدنيا التي يواجهها كل جهاز استشعار. قيمة العتبة هي متوسط الحد الأدنى والحد الأقصى للقيم.

يتم تعيين قيم العتبة التي تم الحصول عليها على هذا النحو إلى النطاق من 0 إلى 1000.

يتم عرض معايرة مستشعرات الخط بطريقة MIN MAX في الفيديو. بعد معايرة مستشعرات الخط ، يمكن تصور البيانات كما هو موضح في الصورة. يتم عرض المعلومات التالية.

  • تمثيل ثنائي 16 بت لموضع الخط مع 1 ثنائي يشير إلى أن مستشعر الخط المقابل فوق الخط وأن الرقم الثنائي 0 يشير إلى أن مستشعر الخط خارج الخط.
  • عدد إجمالي عدد المستشعرات الموجودة عبر الخط.
  • القيم الدنيا والقصوى والمستشعر (الخام والمعياري) لـ 16 مستشعرًا ، مستشعر واحد في كل مرة.
  • موضع الخط في النطاق -7500 إلى +7500.

يتم بعد ذلك تخزين قيم مستشعر الخط الأدنى والأقصى في EEPROM.

الخطوة 21: اختبار التشغيل

Image
Image

الفيديو عبارة عن اختبار تشغيل يتم فيه برمجة الروبوت للتوقف بعد أن يكمل دورة واحدة.

الخطوة 22: الأفكار والتحسينات النهائية

مسابقة الروبوتات
مسابقة الروبوتات

لا يتم استخدام الأجهزة التي تم تجميعها لبناء هذا الروبوت بالكامل بواسطة البرنامج الذي يقوم بتشغيله. يمكن إجراء الكثير من التحسينات على جزء البرنامج. لا يتم استخدام مستشعرات الحركة لدرع الدعامة في الوقت الحالي لتحديد الموضع والاتجاه. يمكن دمج بيانات قياس المسافات من أجهزة التشفير مع بيانات الاتجاه من درع الدعامة لتحديد موضع وعنوان الروبوت بدقة. يمكن بعد ذلك استخدام هذه البيانات لبرمجة الروبوت لتعلم المسار في دورات متعددة. أنا أشجعك على تجربة هذا الجزء ومشاركة نتائجك.

حظا طيبا وفقك الله.

مسابقة الروبوتات
مسابقة الروبوتات

الجائزة الثانية في مسابقة الروبوتات

موصى به: