- المواد المطلوبة
- مفاهيم تابع الخط
- شرح الدائرة
- عمل روبوت تابع الخط باستخدام MSP430
- مخطط الرسم البياني
- شرح البرمجة
يعد روبوت أتباع الخط أحد مشاريع الروبوتات الشائعة بين الطلاب والمبتدئين بسبب بساطته. يتبع خطًا ، إما أسود أو أبيض ، اعتمادًا على كيفية برمجة وحدة التحكم الدقيقة الخاصة بك. نحن هنا نصنع روبوتًا تابعًا للخطوط باستخدام لوحة التشغيل MSP430 من شركة Texas Instruments ، والتي تتبع الخط الأسود. إذا كنت مستخدمًا جديدًا للوحة تشغيل MSP430 ، فيرجى قراءة برنامج Getting Stared MSP430 التعليمي.
المواد المطلوبة
- MSP430G2 LaunchPad من شركة Texas Instruments
- وحدة تشغيل المحرك L298D
- توصيل الأسلاك
- وحدات استشعار الأشعة تحت الحمراء
- Chasis ، عجلة ، قطار ملاهي
- إنرجيا IDE
- مزود الطاقة (3.3 فولت) و 5 فولت - 12 فولت
مفاهيم تابع الخط
يرتبط مفهوم تابع الخط بالضوء. لقد استخدمنا سلوك الضوء على السطح الأسود والأبيض. عندما يسقط الضوء على سطح أبيض فإنه ينعكس بالكامل تقريبًا وفي حالة السطح الأسود يمتص الضوء بواسطة السطح الأسود. يتم استخدام هذا السلوك الموضح للضوء في روبوت أتباع الخط هذا.
في هذا الروبوت MSP430 للمتابعة الخطية ، استخدمنا أجهزة إرسال الأشعة تحت الحمراء ومستقبلات الأشعة تحت الحمراء والتي تسمى أيضًا ثنائيات الصور. يتم استخدامها لإرسال واستقبال الضوء. ينقل IR أضواء الأشعة تحت الحمراء. عندما تسقط الأشعة تحت الحمراء على سطح أبيض ، فإنها تنعكس مرة أخرى وتلتقط بواسطة الثنائيات الضوئية التي تولد بعض التغييرات في الجهد. عندما يسقط ضوء الأشعة تحت الحمراء على سطح أسود ، يمتص السطح الأسود الضوء ولا تنعكس أي أشعة ، وبالتالي لا يتلقى الصمام الثنائي الضوئي أي ضوء أو أشعة. لمعرفة المزيد حول مستشعرات الأشعة تحت الحمراء ، اتبع الرابط.
هنا في هذا الروبوت MSP430 المتابع الخطي عندما يستشعر المستشعر سطحًا أبيض ، يحصل MSP على 1 كمدخل وعندما يستشعر الخط الأسود MSP يحصل على 0 كمدخل.
شرح الدائرة
يمكننا تقسيم روبوت متابعة الخط بالكامل إلى أقسام مختلفة مثل قسم المستشعر وقسم التحكم وقسم السائق.
قسم المستشعر: يحتوي هذا القسم على صمامات ثنائية الأشعة تحت الحمراء ، ومقياس جهد ، ومقارن (Op-Amp) و LED. يتم استخدام مقياس الجهد لتحديد الجهد المرجعي عند طرف المقارنة الواحد ومستشعرات الأشعة تحت الحمراء تستشعر الخط وتوفر تغييرًا في الجهد عند الطرف الثاني للمقارن. ثم يقارن المقارنة بين الفولتية ويولد إشارة رقمية عند الخرج. هنا في هذه الدائرة استخدمنا مقارنين لاثنين من أجهزة الاستشعار. يستخدم LM358 كمقارن. LM358 يحمل في ثناياه عوامل اثنين من الضوضاء منخفضة الضوضاء Op-amp.
قسم التحكم: يتم استخدام MSP430 Launchpad للتحكم في العملية الكاملة لروبوت أتباع الخط. مخرجات المقارنة متصلة برقم التعريف الرقمي P1_3 و P1_4 الخاص بلوحة التشغيل MPS430. يقوم MSP430 Launchpad بقراءة هذه الإشارات وإرسال الأوامر إلى دائرة السائق لقيادة متابع الخط.
قسم السائق: يتكون قسم السائق من سائق المحرك واثنين من محركات التيار المستمر. يستخدم محرك المحرك لمحركات القيادة لأن MSP430 Launchpad لا يوفر جهدًا وتيارًا كافيًا للمحرك. لذلك أضفنا دائرة سائق محرك للحصول على جهد كافي وتيار للمحرك. هنا استخدمنا برنامج التشغيل L298d لقيادة DC Motors. يرسل MSP430 Launchpad أوامر إلى مشغل المحرك هذا ثم يقوم بتشغيل المحركات.
لقد قمنا بتطوير روبوتات المتابعين الخطيين باستخدام متحكم دقيق مختلف:
- روبوت تابع الخط باستخدام متحكم 8051
- روبوت تابع الخط باستخدام Arduino
- روبوت تابع الخط باستخدام Raspberry Pi
- خط أتباع روبوت باستخدام متحكم PIC
عمل روبوت تابع الخط باستخدام MSP430
عمل تابع الخط مثير جدا للاهتمام. يستشعر روبوت متابع الخط الخط الأسود باستخدام المستشعر ثم يرسل الإشارة إلى MSP430 Launchpad. ثم يقوم MSP430 Launchpad بتشغيل المحرك وفقًا لإخراج أجهزة الاستشعار.
هنا في هذا المشروع نستخدم وحدتي مستشعر IR وهما المستشعر الأيسر والمستشعر الأيمن. عندما يستشعر كل من المستشعر الأيمن والأيسر اللون الأبيض ، يتحرك الروبوت للأمام.
إذا أتى المستشعر الأيسر على الخط الأسود ، فسيتحول الروبوت إلى الجانب الأيسر.
إذا كان المستشعر الأيمن يستشعر الخط الأسود ، فإن الروبوت يستدير إلى الجانب الأيمن حتى يأتي كلا المستشعرين على سطح أبيض. عندما يأتي السطح الأبيض يبدأ الروبوت في التحرك للأمام مرة أخرى.
إذا ظهر كلا المستشعرين على خط أسود ، يتوقف الروبوت.
مخطط الرسم البياني
حلبة الروبوت MSP430 المتابع للسطر بسيطة للغاية. يتم توصيل إخراج المقارنات مباشرة برقم التعريف الشخصي الرقمي لـ MSP430 Launchpad p1_3 و P1_4. ويتم توصيل دبوس إدخال محرك المحرك IN1 و IN2 و IN3 و IN4 في الدبوس الرقمي P1_5 و P2_0 و P2_1 و P2_2 الخاص بـ MSP430 على التوالي. يتم توصيل محرك واحد عند طرف خرج محرك المحرك OUT1 و OUT2 ، ويتم توصيل محرك آخر في OUT3 و OUT4. استخدمنا هنا مصدر 3.3 فولت لتشغيل الدائرة بأكملها باستثناء وحدة تشغيل المحرك. لقد قمنا بتوفير 8 فولت لوحدة تشغيل المحرك. يمكن للمستخدم استخدام 5v-12v.
يمكنك أيضًا بناء وحدة IR الخاصة بك ، مثل التي بنيت على لوحة Perf. يوجد أدناه دائرة لوحدة IR:
شرح البرمجة
يمكن العثور على البرنامج الكامل والفيديو في نهاية هذه المقالة.
في البرنامج ، أولاً وقبل كل شيء ، نحدد دبوس الإدخال والإخراج لأجهزة الاستشعار والمحركات. ثم حدد بعض وحدات الماكرو لاتجاه تابع الخط ثم اكتب توجيهًا لتحديد إخراج المستشعر
ملاحظة: قد يكون المستشعر نشطًا منخفضًا أو مرتفعًا ، لذا تحقق أولاً من إخراج المستشعر ثم حدد التوجيه عن طريق التعليق أو إلغاء التعليق activeLowMode . للنشط HIGH ، قم بالتعليق علىالماكرو activeLowMode .
#define l_sensor P1_3 #define r_sensor P1_4 int pin = {P1_5، P2_0، P2_1، P2_2}؛ #define forward 0x05 # تعريف اليسار 0x06 # تعريف اليمين 0x09 # تعريف الإيقاف 0x00 // # عرّف activeLowMode #ifdef activeLowMode int res = {forward ، left ، right ، stop} ؛ #else int res = {stop، right، left، forward}؛ #إنهاء إذا
بعد ذلك ، في وظيفة الإعداد ، نعطي التوجيه لجهاز الاستشعار ودبوس المحرك. ثم في وظيفة الحلقة ، نتحقق من المدخلات ونرسل الإخراج إلى وحدة تشغيل المحرك لتشغيل المحركات.
إعداد باطل () { لـ (int i = 0 ؛ i <4 ؛ i ++) pinMode (دبابيس ، إخراج) ؛ pinMode (l_sensor ، INPUT) ؛ pinMode (r_sensor ، INPUT) ؛ } حلقة فارغة () {int بمعنى = (digitalRead (l_sensor) << 1) - digitalRead (r_sensor) ؛ لـ (int i = 0 ؛ i <4 ؛ i ++) digitalWrite (دبابيس ، (الدقة >> i) & 0x01) ؛ }
هناك أربعة شروط في هذا السطر من المتابعين نقرأها باستخدام MSP430 Launchpad. لقد استخدمنا مستشعرين هما المستشعر الأيسر والمستشعر الأيمن.
الشروط: خرج عالي نشط
إدخال |
انتاج | |
حركة من الروبوت |
||||
المستشعر الأيسر |
المستشعر الصحيح |
اليسار موتور |
المحرك الصحيح |
|||
LS |
RS |
إل إم 1 |
LM2 |
رينجيت ماليزي 1 |
رينجيت ماليزي 2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
قف |
0 |
1 |
1 |
0 |
0 |
0 |
انعطف يمينا |
1 |
0 |
0 |
0 |
1 |
0 |
انعطف لليسار |
1 |
1 |
1 |
0 |
1 |
0 |
إلى الأمام |
يتم كتابة البرنامج حسب شروط الجدول أعلاه. تحقق من الكود الكامل وفيديو العرض أدناه.