- المواد المطلوبة:
- مفاهيم تابع الخط
- مخطط الدائرة وشرحها:
- برمجة متحكم الموافقة المسبقة عن علم:
- تابع خط الموافقة المسبقة عن علم في العمل:
A Line Follower Robot هو روبوت بسيط ولكنه رائع بالنسبة لمعظم الطلاب / الهواة. في هذا البرنامج التعليمي سوف نتعلم كيف يعمل روبوت تابع الخط وكيف يمكننا بناء واحد باستخدام PIC Microcontroller PIC16F877A. PIC16F877A عبارة عن MCU متعدد الأغراض مكون من 40 سنًا من Microchip ، وقد استخدمنا هذا IC في سلسلة دروس الموافقة المسبقة عن علم الكاملة. إذا كنت جديدًا ، فقد ترغب هنا في إلقاء نظرة على دروس الموافقة المسبقة عن علم هذه لتتعلم أساسيات IC وكيفية تحميل البرامج إلى وحدة التحكم الدقيقة. نظرًا لأننا قمنا بالفعل بتغطية هذه المعلومات في دروسنا ، فسوف نتخطى هذه المعلومات في الشرح أدناه.
إذا كنت مهتمًا بالروبوتات ، فيجب أن تكون على دراية كبيرة باسم " Line Follower Robot ". هذا الروبوت قادر على تتبع خط ، فقط باستخدام زوج من أجهزة الاستشعار والمحركات. يمنحك هذا الروبوت مساحة لتطوير غير محدود والروبوتات مثل Kiva (روبوت مستودع أمازون) هي مثال على ذلك. يمكنك أيضًا التحقق من روبوتات متابعة الخطوط الأخرى لدينا:
- روبوت تابع الخط باستخدام متحكم 8051
- روبوت تابع الخط باستخدام Arduino
- روبوت تابع الخط باستخدام Raspberry Pi
المواد المطلوبة:
- PIC16F877A
- مستشعر الأشعة تحت الحمراء (2Nos)
- محرك تروس DC (عدد 2)
- سائق محرك L293D
- مقاعد (يمكنك أيضًا بناء كرسي خاص بك باستخدام الورق المقوى)
- بنك الطاقة (أي مصدر طاقة متاح)
مفاهيم تابع الخط
Line Follower Robot قادر على تتبع خط بمساعدة مستشعر الأشعة تحت الحمراء. يحتوي هذا المستشعر على جهاز إرسال IR وجهاز استقبال IR. يرسل مرسل IR (IR LED) الضوء وينتظر جهاز الاستقبال (Photodiode) الضوء المرسل للعودة مرة أخرى. لن يعود ضوء الأشعة تحت الحمراء إلا إذا انعكس بواسطة سطح ما. في حين أن جميع الأسطح لا تعكس ضوء الأشعة تحت الحمراء ، فإن اللون الأبيض فقط هو الذي يمكن أن يعكسها تمامًا وسيرصدها سطح اللون الأسود تمامًا كما هو موضح في الشكل أدناه. تعرف على المزيد حول وحدة مستشعر الأشعة تحت الحمراء هنا.
سنستخدم الآن مستشعرين يعملان بالأشعة تحت الحمراء للتحقق مما إذا كان الروبوت يسير على المسار الصحيح مع الخط ومحركين لتصحيح الروبوت إذا تحرك خارج المسار. تتطلب هذه المحركات تيارًا عاليًا ويجب أن تكون ثنائية الاتجاه ؛ ومن ثم نستخدم وحدة تشغيل محرك مثل L293D. سنحتاج أيضًا إلى متحكم دقيق مثل PIC لتوجيه المحركات بناءً على القيم من مستشعر الأشعة تحت الحمراء. يظهر أدناه مخطط كتلة مبسط لنفسه.
سيتم وضع هذين المستشعرين بالأشعة تحت الحمراء واحدًا على جانبي الخط. إذا لم يكتشف أي من المستشعرات خطًا أسود ، فإن المتحكم الدقيق PIC يوجه المحركات للمضي قدمًا كما هو موضح أدناه
إذا جاء المستشعر الأيسر على الخط الأسود ، فإن المتحكم الدقيق يوجه الروبوت إلى الالتفاف يسارًا عن طريق تدوير العجلة اليمنى وحدها.
إذا جاء المستشعر الأيمن على الخط الأسود ، فإن المتحكم الدقيق يوجه الروبوت إلى الدوران لليمين عن طريق تدوير العجلة اليسرى وحدها.
إذا ظهر كلا المستشعرين على خط أسود ، يتوقف الروبوت.
بهذه الطريقة ، سيتمكن الروبوت من متابعة الخط دون الخروج عن المسار. الآن دعونا نرى كيف تبدو الدائرة والكود.
مخطط الدائرة وشرحها:
يظهر أدناه مخطط الدائرة الكاملة لروبوت أتباع الخط المستند إلى الموافقة المسبقة عن علم
تستخدم الدائرة جهازي استشعار بالأشعة تحت الحمراء وزوج من محركات تروس DC جنبًا إلى جنب مع وحدة تشغيل المحرك كما هو موضح أعلاه. وحدة محرك المحرك المستخدمة في هذا المشروع هي L293D ، سنحتاج إلى سائق محرك لأن دبوس خرج متحكم PIC لا يمكن أن يصدر تيارًا كافيًا للمحركات لقيادة. سيتم تشغيل هذه الوحدة مباشرة من مصدر الطاقة (5 فولت) كما هو موضح في الدائرة. تحتوي الوحدة على أربعة دبابيس (اثنان لكل محرك) متصلة بـ PIC للتحكم في اتجاه المحركات. لدينا أيضًا مستشعران يعملان بالأشعة تحت الحمراء يعملان كمدخل للميكروكونترولر PIC. سترتفع هذه المستشعرات (1) إذا كانت فوق سطح أبيض وستنخفض (0) عندما تكون فوق سطح أسود. تم توضيح وصلات المسامير الكاملة في الجدول أدناه.
لا |
متصل من |
متصلا |
1 |
مستشعر الأشعة تحت الحمراء غادر دبوس |
RD2 (دبوس 21) |
2 |
مستشعر الأشعة تحت الحمراء الحق خارج دبوس |
RD3 (دبوس 22) |
4 |
المحرك 1 قناة دبوس |
RC4 (دبوس 23) |
5 |
المحرك 1 قناة ب دبوس |
RC5 (دبوس 25) |
6 |
محرك 2 قناة دبوس |
RC6 (دبوس 26) |
7 |
المحرك 2 قناة ب دبوس |
RC7 (دبوس 27) |
في الأجهزة الفعلية ، استخدمت بنك طاقة والذي سيعطي ناتجًا + 5 فولت مباشرة من خلال منفذ USB الخاص به ؛ ومن ثم فقد تجاوزت منظم الجهد 7805 وقمت بتشغيل PIC وأجهزة الاستشعار والمحركات باستخدام نفس الشيء. يمكنك فعل الشيء نفسه عند استخدام بطارية 12 فولت مع منظم كما هو موضح في الدائرة.
برمجة متحكم الموافقة المسبقة عن علم:
بمجرد أن تصبح جاهزًا مع أجهزتك ، فقد حان الوقت لبدء البرمجة. يتم تقديم البرنامج الكامل لمشروع روبوت أتباع خط الموافقة المسبقة عن علم هذا في نهاية هذه الصفحة. ومع ذلك ، يتم شرح الأجزاء المهمة أدناه.
قم بتهيئة دبابيس الإدخال / الإخراج من خلال الأسطر التالية. تعمل دبابيس مستشعر IR كمدخلات وتعمل دبابيس المحرك الأربعة كدبابيس إخراج.
TRISD2 = 1 ، TRISD3 = 1 ، // يتم الإعلان عن حمام دبابيس مستشعر الأشعة تحت الحمراء كمدخل TRISC4 = 0 ؛ TRISC5 = 0 ؛ // تم إعلان دبابيس المحرك 1 كناتج TRISC6 = 0 ؛ TRISC7 = 0 ؛ // تم إعلان دبابيس المحرك 2 كناتج
الآن ، يتعين علينا قراءة حالة كل من مستشعر الأشعة تحت الحمراء والتحكم في المحرك وفقًا لذلك. على سبيل المثال ، إذا كان كلا المستشعرين مرتفعين (لا يقعان تحت الخط الأسود) فإننا نقوم بتحريك كلا المحركين للأمام كما هو موضح في البرنامج أدناه.
إذا (RD2 == 1 && RD3 == 1) // كلا المستشعرين ليس فوق خط أسود {RC4 = 0 ؛ RC5 = 1 ؛ // المحرك 1 إلى الأمام RC6 = 1 ؛ RC7 = 0 ؛ // المحرك 2 إلى الأمام}
إذا تجاوز المستشعر الأيسر الخط الأسود ، فسنقوم بالانعطاف إلى اليمين من خلال تثبيت المحرك 1 ثابتًا وتدوير المحرك 2 في الاتجاه الأمامي. يسمى هذا النوع من الدوران بالدوران التفاضلي.
وإلا إذا (RD2 == 0 && RD3 == 1) // تجاوز المستشعر الأيسر الخط الأسود {RC4 = 1 ؛ RC5 = 1 ؛ // المحرك 1 توقف RC6 = 1 ؛ RC7 = 0 ؛ // المحرك 2 إلى الأمام}
وبالمثل ، إذا تجاوز المستشعر الأيمن الخط الأسود ، فسيتم جعل الروبوت يأخذ منعطفًا يسارًا عن طريق تثبيت المحرك الثاني وتناوب المحرك الأول بمفرده في الاتجاه الأمامي كما هو موضح أدناه.
وإلا إذا (RD2 == 1 && RD3 == 0) // تجاوز المستشعر الأيمن الخط الأسود {RC4 = 0 ؛ RC5 = 1 ؛ // المحرك 1 إلى الأمام RC6 = 1 ؛ RC7 = 1 ؛ // محرك 2 توقف}
أخيرًا إذا كان كلا المستشعرين يقعان تحت خط أسود ، فقد حان الوقت لإيقاف الروبوت. يمكن القيام بذلك عن طريق جعل جميع دبابيس كلا المحركين عالية. يظهر رمز القيام بالشيء نفسه أدناه
آخر // كلا المستشعرين فوق الخط الأسود {RC4 = 1 ؛ RC5 = 1 ؛ // المحرك 1 توقف RC6 = 1 ؛ RC7 = 1 ؛ // محرك 2 توقف}
هذا هو البرنامج جاهز ويمكن تحميله على PIC باستخدام أي مبرمج مثل PicKit.
تابع خط الموافقة المسبقة عن علم في العمل:
بمجرد أن يصبح الجهاز والرمز جاهزًا ، حان وقت اتخاذ بعض الإجراءات. كما قيل سابقًا ، لقد استخدمت باور بانك لتشغيل الروبوت ، لذلك كل ما علي فعله هو ببساطة توصيل بنك الطاقة بالروبوت الذي تم إعداد الأجهزة فيه وتم تحميل الكود بالفعل.
تم إنشاء لوحة PIC Perf لسلسلة دروس PIC ، والتي تعلمنا فيها كيفية استخدام متحكم PIC. قد ترغب في العودة إلى دروس PIC Microcontroller التعليمية باستخدام MPLABX و XC8 إذا كنت لا تعرف كيفية نسخ برنامج باستخدام Pickit 3 ، لأنني سأتخطى كل هذه المعلومات الأساسية.
الآن ، ما عليك سوى تشغيل الروبوت على خط أسود ويجب أن تشاهده وهو يتبع الخط.
قد تواجه بعض الصعوبات في البداية في هذه الحالة اقرأ المزيد. إذا كانت العجلات تدور في الاتجاه المعاكس ، فقم ببساطة بتبديل قطبية المحرك الذي تدور العجلة في الاتجاه المعاكس. إذا انحرف الروبوت عن الخط ، فقم بتبديل مستشعر الأشعة تحت الحمراء ويجب أن يكون كل شيء جيدًا.
يمكن العثور على عمل الروبوت الكامل في الفيديو أدناه. أتمنى أن يعجبك المشروع وأن تستمتع ببناء شيء مشابه. إذا كانت لديك مشكلة في جعل هذا يعمل ، فيمكنك نشره في قسم التعليقات أدناه لحلها أو استخدام منتدياتنا لمناقشة المحتويات الفنية.