118ELEC | مجله خبری الکترونیک و رباتیک
  • خانه
  • اخبار
    • اخبار الکترونیک
    • اخبار رباتیک
  • آموزش ها
    • الکترونیک
      • الکترونیک مقدماتی
        • معرفی قطعات الکترونیک
        • تجهیزات اندازه‌گیری
      • الکترونیک پیشرفته
      • الکترونیک دیجیتال
      • الکترونیک صنعتی
    • میکروکنترلرها
      • میکروکنترلر چیست و انواع آن
    • آردوینو
      • آردوینو چیست
      • پروژه آردوینو
    • اینترنت اشیاء
      • اینترنت اشیاء مقدماتی
      • اینترنت اشیاء پیشرفته
    • شبکه‌های کامپیوتری و ارتباط داده
      • can
    • طراحی و ساخت PCB
      • روش های ساخت پی سی بی
    • باتری‌ها
      • باتری چیست؟
      • باتری لیتیوم یون
    • موتور و درایور
      • درایور موتور
      • موتور DC
    • رباتیک
      • مباحث پایه رباتیک
      • ربات مسیر یاب
      • ربات جنگجو
      • سایر ربات ها
  • پروژه
    • پروژه آردوینو
    • پروژه Esp
  • سرگرمی الکترونیک
  • درباره ما
    • درباره ما
    • تماس با ما
  • نویسنده شو!
    • راهنمای ثبت نام و درج مقاله
    • نشر مقاله
    • ثبت نام
    • ورود
    • بازیابی رمز عبور
بدون نتیجه
مشاهده همه نتیجه
  • خانه
  • اخبار
    • اخبار الکترونیک
    • اخبار رباتیک
  • آموزش ها
    • الکترونیک
      • الکترونیک مقدماتی
        • معرفی قطعات الکترونیک
        • تجهیزات اندازه‌گیری
      • الکترونیک پیشرفته
      • الکترونیک دیجیتال
      • الکترونیک صنعتی
    • میکروکنترلرها
      • میکروکنترلر چیست و انواع آن
    • آردوینو
      • آردوینو چیست
      • پروژه آردوینو
    • اینترنت اشیاء
      • اینترنت اشیاء مقدماتی
      • اینترنت اشیاء پیشرفته
    • شبکه‌های کامپیوتری و ارتباط داده
      • can
    • طراحی و ساخت PCB
      • روش های ساخت پی سی بی
    • باتری‌ها
      • باتری چیست؟
      • باتری لیتیوم یون
    • موتور و درایور
      • درایور موتور
      • موتور DC
    • رباتیک
      • مباحث پایه رباتیک
      • ربات مسیر یاب
      • ربات جنگجو
      • سایر ربات ها
  • پروژه
    • پروژه آردوینو
    • پروژه Esp
  • سرگرمی الکترونیک
  • درباره ما
    • درباره ما
    • تماس با ما
  • نویسنده شو!
    • راهنمای ثبت نام و درج مقاله
    • نشر مقاله
    • ثبت نام
    • ورود
    • بازیابی رمز عبور
بدون نتیجه
مشاهده همه نتیجه
118ELEC | مجله خبری الکترونیک و رباتیک
بدون نتیجه
مشاهده همه نتیجه

آموزش ساخت ربات تعقیب خط با میکروکنترلر PIC

آرشام عبدی پور توسط نویسنده 2
7 اسفند 1400
در ربات مسیر یاب
0
آموزش ساخت ربات تعقیب خط با میکروکنترلر PIC

ربات تعقیب خط یک ربات بسیار جذاب و البته ساده برای علاقه مندان به رباتیک است. در این مقاله، ابتدا به طرز کار این نوع ربات و سپس به ساخت آن با میکروکنترلر PIC16F877A پرداخته می‌شود. PIC16F877A یک میکروکنترلر 40 پایه تولید شرکت Microchip است که در این پروژه استفاده شده است.

اگر شما به رباتیک علاقه‌مند باشید حتما با “ربات تعقیب خط” آشنا هستید. این ربات می‌تواند یک مسیر مشخص را با استفاده از یک جفت سنسور و موتور دنبال کند. یک مثال خوب از این ربات، ربات‌های انبار شرکت آمازون به اسم Kiva است. بنابراین، می‌توان گفت که ربات تعقیب خط بسیار قابل توسعه و پرکاربرد است.

قطعات مورد نیاز

  1. میکروکنترلر PIC16F877A
  2. دو عدد سنسور مادون قرمز (IR)
  3. دو عدد موتورگیربکس DC
  4. درایور موتور L293D
  5. شاسی (بدنه) ربات
  6. باتری، پاوربانک یا هر نوع منبع تغذیه در دسترس

طرز کار ربات تعقیب خط

ربات تعقیب خط به کمک سنسورهای مادون قرمز یک مسیر را دنبال می‌کند. این سنسور دارای یک فرستنده و یک گیرنده مادون قرمز است. نور توسط فرستنده IR یا LED مادون قرمز ارسال می‌شود و به سطح برخورد می‌کند و سپس توسط گیرنده IR دریافت می‌شود. نور IR تنها به شرطی به سمت گیرنده حرکت می‌کند که توسط یک سطح بازتاب شود. در واقع، تمام سطوح نور IR را بازتاب نمی‌کنند. همانطور که در شکل‌های زیر نشان داده شده است، سطح سفید رنگ می‌تواند نور را به طور کامل بازتاب کند و سطح مشکی رنگ نور را به طور کامل جذب می‌کند.

برد مدارچاپی سنسور IR

در این ربات، برای بررسی اینکه ربات در مسیر درست حرکت کند از دو سنسور IR و برای نگه داشتن ربات در مسیر درست از دو موتور استفاده شده است. موتورها جریان زیادی برای راه‌اندازی نیاز دارند و همچنین باید حرکت آن‌ها را به صورت جداگانه کنترل کرد، بنابراین به یک درایور موتور مثل ماژول L293D نیاز است. علاوه بر این، در این ربات از یک میکروکنترلر PIC برای کنترل موتورها بر اساس خروجی سنسورهای مادون قرمز استفاده می‌شود. بلوک دیاگرام ساده ربات در شکل زیر نشان داده شده است.

بلوک دیاگرام ربات تعقیب خط

دو سنسور IR در دو طرف خط قرار می‌گیرند و اگر هیچ کدام از آنها خط مشکی را تشخیص ندادند، میکروکنترلر PIC به موتورها فرمان می‌دهد که رو به جلو به مسیر خود ادامه دهند.

پیشروی روبه جلو ربات تعقیب خط در صورتی که هیچکدام از سنسورها خط مشکی را تشخیص ندهند

اگر سنسور سمت چپ روی خط مشکی قرار بگیرد، میکروکنترلر با چرخاندن تنها چرخ سمت راست، ربات را به سمت چپ می‌چرخاند تا در مسیر درست قرار بگیرد.

چرخش به چپ ربات درصورتی که سنسور سمت چپ روی خط سیاه قرار گیرد

اگر سنسور سمت راست روی خط مشکی قرار بگیرد، میکروکنترلر با چرخاندن تنها چرخ سمت چپ، ربات را به سمت راست می‌چرخاند تا در مسیر درست قرار بگیرد.

چرخش به راست ربات درصورتی که سنسور سمت راست روی خط سیاه قرار گیرد

اگر هر دو سنسور خط مشکی را تشخیص دهند، ربات توقف می‌کند.

توقف کامل ربات درصورتی که هر دو سنسور روی خط سیاه قرار بگیرند.

تا اینجا درباره چگونگی حرکت ربات بدون خارج شدن از مسیر، توضیح داده شد. حالا به مدار و کدنویسی آن پرداخته می‌شود.

شماتیک مدار و توضیحات آن

شماتیک مدار ربات تعقیب خط بر پایه میکروکنترلر PIC در تصویر زیر نمایش داده شده است:

شماتیک مدار ربات تعقیب خط بر پایه میکروکنترلر PIC

این مدار از دو سنسور IR و یک جفت موتورگیربکس DC به همراه یک ماژول L293D تشکیل شده است. به دلیل اینکه جریان خروجی میکروکنترلر PIC نمی‌تواند جریان مورد‌نیاز برای راه‌اندازی موتورها را تامین کند، از درایور موتور در این ربات استفاده شده است. همانطور که در شماتیک هم مشخص است، تغذیه ماژول L293D به طور مستقیم از منبع پنج ولت تامین می‌شود. این ماژول از طریق چهار پایه (دو پایه برای هر موتور) برای کنترل حرکت موتورها به PIC متصل می‌شوند. از طرفی، خروجی سنسورهای IR به عنوان ورودی به میکروکنترلر PIC داده می‌شود تا حرکت موتورها بر اساس آن انجام شود. در صورتی که در مسیر سنسورها سطح سفید قرار بگیرد، خروجی آن‌ها high یا 1 است و با تشخیص سطح مشکی خروجی آن ها low یا صفر می‌شود.
در مداری که به طور واقعی ساخته‌ایم، از پورت USB 5 ولت یک پاوربانک برای تغذیه PIC، سنسورها و موتورها استفاده شده است. در واقع رگولاتور 7805 که در شماتیک مدار نشان داده شده است را در نمونه واقعی آن حذف کردیم. البته شما می‌توانید مانند شماتیک عمل کنید و از باتری 12 یا 9 ولت و رگولاتور 7805 برای ساخت ولتاژ 5 ولت استفاده کنید.

برنامه نویسی میکروکنترلر PIC

حالا که سخت‌افزار ربات آماده شده است، نوبت به کدنویسی آن می‌رسد. ابتدا نکات اصلی کد توضیح داده می‌شود و در انتهای مقاله برنامه کامل این ربات قابل مشاهده است.

با دستورات زیر، ورودی یا خروجی بودن پورت‌های میکروکنترلر تعیین می‌شود. پورت‌های دو سنسور مادون قرمز به صورت ورودی و پورت‌های موتور به صورت خروجی تعریف می‌شوند.

TRISD2 = 1; TRISD3 = 1; //Bath the IR sensor pins are declared as input
TRISC4 = 0; TRISC5 = 0; //Motor 1 pins declared as output
TRISC6 = 0; TRISC7 = 0; //Motor 2 pins declared as output

حالا باید خروجی سنسورها خوانده و مطابق با آن به موتور فرمان داده شود. برای مثال، اگر خروجی دو سنسور high باشد به این معنا است که هیچ خط مشکی تشخیص داده نشده است و موتورها باید به حرکت خود ادامه دهند. در خطوط زیر دستورات این حالت آمده است:

if (RD2==1 && RD3==1) //Both sensor not over balck line
         {
         RC4=0; RC5=1; //Motor 1 forward
         RC6=1; RC7=0; //Motor 2 forward
         }

اگر سنسور سمت چپ روی خط مشکی قرار بگیرد، ربات باید به سمت راست چرخش پیدا کند که این کار با ثابت نگه داشتن موتور 1 و حرکت دادن موتور 2 انجام می‌شود. به این نوع از چرخش، چرخش تفاضلی گفته می‌شود.

 else if (RD2==0 && RD3==1) //Left sensor is over black line
         {
         RC4=1; RC5=1; //Motor 1 stop
         RC6=1; RC7=0; //Motor 2 forward
         }

به طور مشابه، اگر سنسور سمت راست خط مشکی را تشخیص دهد، با ثابت نگه داشتن موتور 2 و حرکت دادن موتور 1، ربات به سمت چپ می‌چرخد.

else if (RD2==1 && RD3==0) //Right sensor is over black line
         {
         RC4=0; RC5=1; //Motor 1 forward
         RC6=1; RC7=1; //Motor 2 stop
         }

در نهایت، اگر هر دو سنسور خط مشکی را تشخیص دهند، ربات توقف می‌کند که این کار با high کردن تمام پایه‌های هر دو موتور انجام می‌شود. با کد زیر، این حالت به ربات اضافه می‌شود.

else //Both Sensor over black line
         {
         RC4=1; RC5=1; //Motor 1 stop
         RC6=1; RC7=1; //Motor 2 stop
         }

برنامه آماده است و می‌توان میکروکنترلر PIC را با هر نوع پروگرامر مانند Pickit پروگرام کرد.

پیاده‌سازی ربات تعقیب خط

حالا که کد و سخت‌افزار ربات آماده است، وقت آن است که ربات در عمل پیاده‌سازی شود. همانطور که قبلا هم گفته شد، در اینجا از پاوربانک برای تغذیه ربات استفاده شده است. بنابراین، با اتصال پاوربانک به بخش‌های مختلف ربات و آپلود کد روی میکروکنترلر ربات آماده است. می‌توانید ربات را روی یک مسیر مشکی بگذارید و ربات باید خط را دنبال کند!

پیاده‌سازی ربات تعقیب خط و شروع کار با آن

در مراحل ساخت این ربات ممکن است با مشکلاتی روبه‌رو شوید. برای مثال اگر چرخ‌های ربات برعکس چرخید به راحتی با تعویض پلاریته موتور آن چرخ، می‌توانید این مشکل را حل کنید. اگر ربات از خط منحرف شد، با جابه‌جا کردن سنسورها این مشکل قابل حل است.

امیدواریم که این مقاله برایتان مفید باشد و از ساخت یک ربات تعقیب خط لذت ببرید. در صورت داشتن هر سوال یا مشکل در پیاده‌سازی این مقاله، آن را حتما در قسمت نظرات با ما مطرح کنید.

پست قبلی

قدم اول در یادگیری الکترونیک

پست بعدی

آموزش لحیم کاری برای مبتدیان

آرشام عبدی پور

نویسنده 2

پست بعدی
آموزش لحیم کاری برای مبتدیان

آموزش لحیم کاری برای مبتدیان

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

راه اندازی سنسور تشخیص رنگ TCS230/TCS3200 با آردوینو

توسط 118elec .com
20 اسفند 1401
0
راه اندازی سنسور تشخیص رنگ TCS230/TCS3200 با آردوینو

در این مقاله به آموزش تشخیص رنگ با استفاده از سنسور رنگ TCS230 یا TCS3200 و آردوینو پرداخته شده است....

بیشتر بخوانید

نحوه ارتقاء مبدل XL4015

توسط 118elec .com
15 اسفند 1401
0
تغییر مبدل XL4015 با استفاده ازمحدود‌کننده‌های قابل تنظیم جریان

در این آموزش روشی ساده برای ارتقای ماژول XL4015، که یک مبدل DC به DC باک می‌باشد، با استفاده از...

بیشتر بخوانید

پیشرفت نوسان سازها در راستای پاسخ به نیازهای روز تکنولوژی

توسط نویسنده 2
14 شهریور 1401
0
پیشرفت نوسان سازها در راستای پاسخ به نیازهای روز تکنولوژی

Part components inside joystick of a console game نوسان سازهای ساعت، سیگنال مرجع دقیق زمان‌بندی‌شده‌ای برای کنترل مدار الکترونیکی ارائه...

بیشتر بخوانید

درباره ما

وبسایت خبری 118ELEC یک وبسایت تخصصی در زمینه الکترونیک و رباتیک می باشد که تمام تمرکز خود را در این زمینه گذاشته و سعی دارد تا مکانی از هر جهت بی نقص را برای کاربران این حوزه فراهم آورد. اخبار الکترونیک و رباتیک، پروژه الکترونیک و رباتیک، معرفی و آشنایی با قطعات الکترونیک، از برنامه های مهم این مجموعه می باشد.

ارتباط با ما از طریق:

118elec@gmail.com

  • اصول مقاله نویسی
  • درباره ما
  • تماس با ما

Copyright © تمام حقوق این سایت متعلق به 118elec می‌باشد.

بدون نتیجه
مشاهده همه نتیجه
  • خانه
  • اخبار
    • اخبار الکترونیک
    • اخبار رباتیک
  • آموزش ها
    • الکترونیک
      • الکترونیک مقدماتی
      • الکترونیک پیشرفته
      • الکترونیک دیجیتال
      • الکترونیک صنعتی
    • میکروکنترلرها
      • میکروکنترلر چیست و انواع آن
    • آردوینو
      • آردوینو چیست
      • پروژه آردوینو
    • اینترنت اشیاء
      • اینترنت اشیاء مقدماتی
      • اینترنت اشیاء پیشرفته
    • شبکه‌های کامپیوتری و ارتباط داده
      • can
    • طراحی و ساخت PCB
      • روش های ساخت پی سی بی
    • باتری‌ها
      • باتری چیست؟
      • باتری لیتیوم یون
    • موتور و درایور
      • درایور موتور
      • موتور DC
    • رباتیک
      • مباحث پایه رباتیک
      • ربات مسیر یاب
      • ربات جنگجو
      • سایر ربات ها
  • پروژه
    • پروژه آردوینو
    • پروژه Esp
  • سرگرمی الکترونیک
  • درباره ما
    • درباره ما
    • تماس با ما
  • نویسنده شو!
    • راهنمای ثبت نام و درج مقاله
    • نشر مقاله
    • ثبت نام
    • ورود
    • بازیابی رمز عبور

Copyright © تمام حقوق این سایت متعلق به 118elec می‌باشد.

خوش آمدید!

ورود به حساب کاربری خود در زیر

رمز عبور را فراموش کرده اید؟ ثبت نام

ایجاد حساب جدید!

پر کردن فرم های زیر برای ثبت نام

تمام زمینه ها مورد نیاز است. ورود

رمز عبور خود را بازیابی کنید

لطفا نام کاربری یا آدرس ایمیل خود را برای تنظیم مجدد رمز عبور خود وارد کنید.

ورود