فروشگاه بزرگ الماس

این فروشگاه اینترنتی آمادگی خود را جهت ارائه انواع فایل های الکترونیک، پروژه های مختلف دانشجویی و صنعتی، کتاب ها و جزوات و دانشگاهی اعلام کرده و در این زمینه فعالیت خود را آغاز کرده است

فروشگاه بزرگ الماس

این فروشگاه اینترنتی آمادگی خود را جهت ارائه انواع فایل های الکترونیک، پروژه های مختلف دانشجویی و صنعتی، کتاب ها و جزوات و دانشگاهی اعلام کرده و در این زمینه فعالیت خود را آغاز کرده است

روبات تعقیب خط

روبات تعقیب خط ماشینی است که می تواند یک مسیر را دنبال کند مسیر می تواند مرئی باشد مانند یک خط مشکی بر یک سطح سفید (تعقیب خط) و یا نامرئی مانند یک میدان مغناطیسی در فضای ازاد باشد هدف طی مسیر بابیشترین سرعت و کمترین خطا نسبت به مسیر تعیین شده است کاربرد های عملی یک چنین روباتی شامل اتومبیل های خودکار که جاده را از طریق یک مسیر راهنمای مغناطیسی دنب
دسته بندی برنامه نویسی
فرمت فایل doc
حجم فایل 4827 کیلو بایت
تعداد صفحات فایل 113
روبات تعقیب خط

فروشنده فایل

کد کاربری 8044

1-1 روبات تعقیب خط چیست

روبات تعقیب خط ماشینی است که می تواند یک مسیر را دنبال کند. مسیر می تواند مرئی باشد مانند یک خط مشکی بر یک سطح سفید (تعقیب خط) و یا نامرئی مانند یک میدان مغناطیسی در فضای ازاد باشد. هدف طی مسیر بابیشترین سرعت و کمترین خطا نسبت به مسیر تعیین شده است. کاربرد های عملی یک چنین روباتی شامل اتومبیل های خودکار که جاده را از طریق یک مسیر راهنمای مغناطیسی دنبال می کنند یا روبات های کارگر که در کارخانه ها مسیر مشخصی را از طریق خطوط رنگی حک شده بر کف ان طی می کند می شود.

شکل 1-1 شمای یک روبات تعقیب خط

روبات تعقیب خط روباتی ایده ال برای روبات سازان اماتور می باشد. حس کردن خط و واداشتن روبات به حرکت بر روی ان به همراه اصلاح دائمی حرکت های نادرست از طریق یک مکانیزم فیدبک یک حلقه بسته ساده را ایجاد میکند.

صورت مسئله ساخت روبات تعقیب خط در مسابقات مختلف دارای جزئیات زیاد و بعضا متفاوتی است اما اصل موضوع در همه انها این است که روبات باید بتواند یک خط مشکی به عرض 1.8 سانتی متر(معمولا چسب برق) را در یک صفحه سفید دنبال کند.یعنی وقتی در ابتدای خط مشکی تنظیم و سپس روشن شود بدون نیاز به دخالت کاربر به دنبال خط مشکی حرکت کند در شکل بالا روباتی که قصد ساختن ان را داریم به همراه مسیر ان مشاهده می شود.

البته در بعضی روبات های پیشرفته تر نیازی به تنظیم کردن روبات روی خط مشکی نیست و خود روبات به صورت هوشمند خط را پیدا می کند که این بخاطر برنامه خوب نوشته شده برای میکرو ان توسط سازنده است. در روباتی که در این پروژه ساخته می شود سعی شده است این اصل رعایت شود.

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

از نظر کلی هر روبات باید

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

تفاوت روبات های مختلف به ماهیت این مراحل برمی گردد .

روبات تعقیب خط هم همین اجزاء را درون خودش دارد :

  • برای حس کردن خط به دست کم دو سنسور نوری که تفاوت رنگ سفید و مشکی را درک کنند نیاز دارد . این سنسورها انواع مختلفی مانند دیود مادون قرمز ، مقاومت متغیر با نور (فوتوسل )، فوتو – ترانزیستور و . . . دارند .
  • اطلاعات سنسور از طریق یک مدارسوییچ یا مبدل آنالوگ به دیجیتال به واحد پردازشگر منتقل می شود .
  • مغز پردازشگر این روبات می تواند یک مدار منطقی یا یک میکروکنترلر از هر نوعی باشد . روبات باید در قبال منحرف شدن خط ، واکنش مناسب نشان دهد.
  • تصمیم واحد پردازشگر مبنی بر ادامه مسیر یا پیچیدن به چپ و راست از طریق فرمان هایی که به موتورهای روبات که ممکن است از نوع DC ( آرمیچر) یا پله ای ( Stepper ) باشند داده می شود ، انجام می پذیرد .

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

با دو سنسور را در شکل مقابل می بینید :

1- 3 عملکرد روبات تعقیب خط

روبات تعقیب خط دست کم دارای دو سنسور نوری است که دو طرف مشکی در زمینه سفید قرار می گیرند ( تعداد سنسورها به طریقی که خواهیم دید می توان بیش از دو عدد باشد )برای اشکار سازی یک مسیر رنگی بر روی سطحی که اختلاف رنگ زیادی با مسیر دارد(مسیر مشکی بر سطح سفید یا مسیر سفید بر سطح مشکی) عموما از حسگرهای مادون قرمز استفاده می شود. هر حسگر بر اساس انکه بر روی مسیر رنگی قرار داشته باشد یا خیر یک سیگنال خروجی انالوگ تولید می کند.مدارات الکترونیکی برخی از روبات های تعقیب خط ابتدا سیگنال تولید شده را توسط یک مقایسه کننده با یک مدار مرجع مقایسه و نتیجه ی دیجیتال حاصل که یکی از دو حالت "روشن" یا "تیره" است را به قسمت کنترلر ارسال می کنند. بدین ترتیب اطلاعاتی که از حسگر به دست می اید فقط دارای دو حالت "حسگر بر روی مسیر قرار دارد" و " حسگر خارج از مسیر قرار دارد" خواهد بود و هیچ حالت دیگری در این بین وجود نخواهد داشت.

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

اطلاعات ارسالی از سنسورها که ممکن است به صورت انالوگ یا دیجیتال (صفر و یک) باشد به بخش پردازشگر روبات که می تواند از مدارات منطقی یا یک میکر کنترلر تشکیل شده باشد فرستاده می شود دراین قسمت که در واقع مغز روبات می باشد با استفاده از اطلاعات سنسورها وضیعت روبات را نسبت به خط (میسر) تشخیص داده و برای ادامه یا اصلاح مسیر دستوراتی را به موتورها و یا عملگرها ی روبات ارسال می کند که ممکن است روبات به سمت چپ یا راست یا میسر مستقیم حرکت کند.

دستورات بخش پردازشگر به صورت دیجیتالی (صفر یا یک) است که توسط قسمتی به نام درایور باید تشخیص داده شود وموتورها را کنترل کند. در واقع ما بین پردازشگر و موتورها یا عمل کننده ها بخشی به نام درایور داریم.

در زیر عملکرد یک روبات تعقیب خط 2 سنسوره را طبق انچه در در قسمت فوق توضیح داده شد به صورت گرافیکی مشاهده می کنید:

شکل 2-1 عملکرد یک روبات تعقیب خط

روبات های تعقیب خط را بر اساس ساختار حرکتشان می توان به انواع مختلفی تقسیم کرد که در زیر چند نمونه را مشاهده ذکر شده:

1- حرکت تانکی

2- یا حرکت با 4 چرخ 3 موتور که 2 موتور برای حرکت به جلو و یک برای چرخش به چپ یا راست

3- یا حرکت با 2 چرخ و 2 موتور و یک سکان که 2 موتور علاوه بر حرکت به جلو وظیفه چرخش به چپ یا راست را هم دارد

در شکل زیر انواع این روبات ها را مشاهده می کنید:

شکل 1-3 انواع روبات تعقیب خط 1- حرکت با چهار چرخ و سه موتور ـ 2ـ حرکت با دو چرخ و دوموتور ویک سکان

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

هرگاه روبات در حین حرکت به انحرافی در خط مشکی برخورد کند ، یکی از سنسورهایش وارد خط می شود ؛ مثلاً اگر خط مشکی به راست منحرف شود ، سنسور سمت راست روبات وارد خط مشکی می شود . روبات باید با توجه به سنسوری که وارد خط شده انحراف خط را متوجه شود و به همان جهت بپیچد . ساده ترین راه برای پیچیدن یک سمت ، خاموش کردن موتور همان سمت و ادامه کار موتور سمت مخالف است .

برای پیچیدن به شیوه حرفه ای تر می توانید به جای خاموش کردن موتور سمت موافق ، آن را در جهت معکوس بچرخانید .

با این کار روبات در حین پیچیدن روی زمین کشیده نمی شود و می تواند درجا بچرخد .

چرخیدن روبات باید تا آن جایی انجام شود که سنسوری که وارد خط شده بود ، از خط خارج شود ؛ یعنی مجدداً تمام سنسورها خارج خط قرار گیرند تا روبات بتواند به حرکت عادی خود ادامه دهد .

در ادامه اجزای یک روبات تعقیب خط را معرفی می کنیم.


2- 1سنسورهای روبات تعقیب خط

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

بلوک دیاگرام سنسور نوری به شکل روبرو است :

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

شکل 2-1 چگونگی قرارگرفتن دیودها

در ذیل سه نوع سنسور نوری مختلف را بررسی می کنیم :

2-1-1 دیود مادون قرمز

فرستنده و گیرنده مادون قرمز دو دیود کاملاً مشابه هستند . یکی از آن ها امواج مادون قرمز را از خود ساطع و دیگری دریافت می کند .

مدار فرستنده مادون قرمز به شکل زیر است : مدار گیرنده ماون قرمز را ببینید :

توجه کنید که دیود گیرنده در بایاس معکوس بسته شده است ؛ بنابراین اگر میزان نور مادون قرمزی که به آن می تابد کم باشد ( مثلاً هنگام بازتابش از سطح مشکی) دیود هدایت نمی کند و ولتاژ out بالا خواهد بود . اگر نور مادون قرمز به میزان زیاد به دیود بتابد ، هدایت می کند و ولتاژ out پایین می رود . بنابراین اگر برای تشخیص خط مشکی در زمینه سفید در روبات تعقیب خط از دیودهای مادون قرمز استفاده کنید ، در حالتی که فرستنده / گیرنده مقابل سطح سفید قرار دارد ، ولتاژ out پایین تر از وقتی است که فرستنده / گیرنده وارد خط شده است .

2-1-2 مقاومت متغیر با نور ( فوتو رزیستور یا فوتوسل )

مقاومت های معمولی تحت شرایط مختلف ( جریان ، توان ، دما ، فشار ، رطوبت ، نور ، . . . ) مقاومت تقریباً یکسانی دارند ( البته وقتی این شرایط در بازه های مجاز مربوط به آن مقاومت تغییر کنند ) . اما مقاومت هایی نیز وجود دارند که با تغییر شرایط ، مقاومت متغیری از خود بروز می دهند؛ مثلاً ترمیستور یک مقاومت متغیر با دما است و با تغییر دمای محیط مقدار مقاومت آن تغییر می کند . از ترمیستور به عنوان سنسور دما می توان استفاده کرد .


فوتوسل (Photocell) مقاومت متغیر با نور معمولی است . مقدار این مقاومت بسته به مقدار نوری که به آن می تابد تغییر می کند . برای استفاده از این سنسور در روبات تعقیب خط کافی است آن را همراه با یک فرستنده نوری معمولی مثلاً یک LED به کار برید . بهتر است رنگ LED را

شکل 2-2 مدار مقاومت متغیر بانور

طوری انتخاب کنید که بیشترین درخشش را داشته باشد ( مثلاً نارنجی تند ) . مدار زیر را ببینید

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

2-1-3 فوتو ترانزیستور

در ترانزیستورهای معمولی دو پیوندی (BJT) ، مقدار جریان lc که از کلکتور به امیتر جریان دارد ، بسته به جریان lB که به بیس آن ها وارد می شود تغییر می کند . بنابراین با یک پیکربندی مناسب می توان با تغییر ولتاژ ( جریان ) بیس ، ولتاژ کلکتور را تغییر داد .

در فوتو – ترانزیستور ، آن چه باعث تغییر جریان کلکتور به امیتر می شود ، نه جریان بیس ، بلکه نوری است که به بیس می تابد . بنابراین بسته به نوری که به بیس فوتو – ترانزیستور می تابد
( که با انعکاس از دو سطح سفید و مشکی متفاوت است ) ، ولتاژ کلکتور تغییر می کند . این نور بسته به نوع فوتو-ترانزیستور ، می تواند نور معمولی یا مادون قرمز باشد . مدار فرستنده –گیرنده فوتو-ترانزیستور به مدار فوتوسل شباهت زیادی دارد .

حال با توجه به معرفی و بررسی انواع سنسورهای مادون قرمز ما در این پروژه برای روبات خود از سنسورهای نوع مادون قرمز استفاده می کنیم.

در ذیل سنسور مادون قرمز CNY70 که ما در این پروژه قصد داریم از ان استفاده کنیم به همراه Datasheet ان تشریح می شود.

شکل 2-3 مدار فوتو ترانزیستور


2- 2 سنسور CNY70

این سنسور به صورت یک بسته حاوی دو عدد سنسور مادون قرمزاست. یک سنسور فرستنده و سنسور دیگر گیرنده می باشد. برای اینکه روبات شما بهتر کار کند بهتر است بجای استفاده از دو سنسور مادون قرمز به صورت مجزا از این packeg سنسور استفاده کنید. در این سنسور پایه های بلندتر در هر سمت سمت آند و پایه های کوتاهتر سمت کاتد است.

با استفاده از این نوع سنسور میزان خطاها تا حد قابل ملاحظه ای کاهش می یابد.

شکل 2-4 نمایی از یک سنسور CNY70

2-3 تعداد سنسورها

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

اکنون حالت های مختلف سنسورها از لحاظ تعداد و نحوه چیدن انها را بررسی می کنیم. در واقع قصد داریم درباره ی تاثیر تعداد سنسورها در توانایی روبات برای تعقیب خط بحث کنیم و در نهایت بهترین حالت را برای روبات خود انتخاب می کنیم .


2-3-1استفاده از یک سنسور: (The Edge Finder)

در این حالت تنها یک سنسور وظیفه ی دنبال کردن خط را بر عهده دارد و عملا یک لبه از خط با تغییر مکان از سیاه به سفید توسط ربات درک میشود. یک موتور وقتی فعال میشود که خط دیده می شود و موتور دیگر وقتی که خط توسط سنسور دیده نمیشود فعال می شود. این روش تنها برای سرعت های بسیار کم قابل استفاده است و در سرعت های بالاتر کاربرد ندارد. واضح است در صورتی که ربات در لبه ی دیگر ربات قرار بگیرد در جهت مخالف حرکت خواهد کرد و یا اگر ربات خط را گم کند در یک مدار دایره ای برای همیشه چرخش خواهد کرد. از این نوع سنسور به ندرت همراه با میکروکنترلرها استفاده میشود. در حالت باینری برای سنسورها تنها دو صورت صفر یا یک را میتوان در نظر گرفت.

تنها حالت ها ی ممکن عبارتند از:

Line off the – 0

Line over the -1

2-3-2 استفاده از 2 سنسور : (The Line Avoider)

استفاده از 2 سنسور شبیه به حالت یک سنسور می باشد با این تفاوت که هر سنسور به طور مجزا وظیفه ی کنترل یک موتور را دارد. سنسورها در دو طرف خط قرار میگیرند و از وارد شدن به خط اجتناب می کنند. روبات در این حالت بهتر از حالت قبل کار می کند اما با گم کردن خط دچار سرگردانی می شود دلیل این اتفاق این است که ربات نمی تواند اختلاف بین در خط قرار گرفتن با بیرون خط بودن را درک کند. در این حالت در صورتی که از میکرو کنترلر استفاده شود میتوان بعضی از این مشکلات را از طریق نرم افزار برطرف کرد. در صورتیکه دو سنسور را به انداره ای نزدیک هم قرار داده باشیم که هر دو روی خط وسط قرار گرفته باشند می توانیم به این روش هم خط را دنبال کنیم که با خروج هر سنسور از خط موتور متصل به آن خاموش شود.

حالت های ممکن برای این حالت عبارتند از:

00- Straddling the line or lost the line
01 - Found right side of line
10 - Found left side of line
11 - Not used unless sensors are placed less than the line's width apart

2-3- 3استفاده از 3 سنسور : (The Line Seer)

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

استفاده ار سنسور سوم در طراحی ها رایج است خصوصا در ربات هایی که در آنها از میکروکنترلر استفاده شده است.

شرایط امکان پذیر برای این حالت عبارتند از:

001 - Moving off the line to the left
010 - Centered over the line
011 - Slightly off the line to the left
100 - Moving off the line to the right
101 - Not used
110- Slightly off the line to the right
111 -Not used ,but could be used in the advanced or maze solving contests

2-3-4استفاده از 5 سنسور: (The Line Dancer)

ممکن است این سوال مطرح شود که 3 سنسور برای کنترل کامل ربات کافی می باشد در اینصورت دلیل استفاده از 2 سنسور اضافه چیست؟

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

صورت های ممکن برای این حالت : (تنها حالتهای مفید نوشته شده)

00000- Lost line from overshoot or break in line
00001 - Almost off the line, steer hard right and reduce speed
00011- Near the right edge of the line, steer right
00010 - Right of the center of the line, steer right
00110 - Slightly to the right of the center of the line, slight correction to the right
00100 - Centered over line, increase speed for straight runs
01100 - Slightly to the left of the center of the line, slight correction to the left
01000 - Left of the center of the line, steer left
11000 - Near the left edge of the line, steer left
10000 - Almost off the line, steer hard left and reduce speed
11111 - Line intersection or circle at end of maze

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

ما نیز قصد داریم از 5 سنسور مادون قرمز cny70 مطابق قسمت بالا استفاده کنیم.

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

در ادامه انواع روش ها برای این کار بررسی می شود.


** توجه: شما دوستان میتوانید از اینجا وارد فروشگاه بزرگ الماس شده و دیگر محصولات و پروژه های مشابه را جست جو نمایید... هدف ما رضایت شماست