اجزای ساخت ربات:
1) سنسورها
2) مبدل ADC (مبدل آنالوگ به دیجیتال)
3) میکروکنترلر
4) درایور
5) موتورها
6) منبع تغذیه
7) مکانیک ربات
توضیحات ساخت:
1)سنسورها
وظیفه سنسورها تشخیص خط مشکی در زمینه سفید است،اما چگونه؟اصول این کار به این طریق است که سنسورفرستنده یک اشعه مادون قرمز را ارسال میکند.اگر این اشعه به سطح سفید برخورد کند منعکس شده و به گیرنده سنسور میرسد و در خروجی سنسور ولتاژ 5 ولت به وجود می آید واین بدین معنی است که سطح زیر سنسور سفید رنگ است ولی اگر این اشعه به خط مشکی برخورد کند توسط سطح سیاه جذب شده و منعکس نمیشود در نتیجه خروجی سنسور 0 ولت را نشان داده که به معنی این است که سطح زیر سنسور خط مشکی است.سنسورهای زیادی وجود دارند که میتوانند برای اینکار مورد استفاده قرار بگیرند ولی ما در این پروژه از سنسور مادون قرمز CNY70 استفاده میکنیم.این سنسور شامل یک گیرنده و فرستنده مادون قرمز در یک بسته(PACKAGE) می باشد و دارای 4 پایه میباشد که دو پایه مربوط به LED فرستنده و دو پایه مربوط به ترانزیستور گیرنده است.شکل ظاهری این سنسور به همراه نحوه تشخیص پایه های آن در شکل زیر قرار داده شده است.
سنسورهای ربات باید در کنار یکدیگر و در زیر ربات قرار بگیرند و تا حد ممکن نزدیک سطح زمین نصب شوند تا دقت خود را از دست ندهند.
2) مبدلADC (مبدلآنالوگبهدیجیتال)
تا این لحظه موفق شدیم که تفاوت سطح سیاه و سفید را با استفاده از سنسور تشخیص بدهیم و در خروجی سنسورها ولتاژی متناسب با رنگ سطح زیر ربات به وجود بیاوریم.حالا باید به این نکته توجه کنیم که ولتاژ خروجی سنسورها یک ولتاژ آنالوگ است و برای اینکه بتوانیم این ولتاژ را به میکروکنترلر بدهیم ابتدا باید آن را به دیجیتال تبدیل کنیم چون میکروکنترلر یک سیستم مبتنی بر مدارات منطقی است و میدانیم که مدارات منطقی فقط با سطوح دیجیتال(0و1)سروکار دارند.برای اینکار از مبدل ADC استفاده میکنیم.یکی از قطعاتی که میتواند اینکار را برای ما انجام بدهد استفاده از آی سیLM324 است.این آی سی در واقع یک تقویت کننده عملیاتی(OP-AMP) است که ما از ویژگی قطع و اشباع آن برای تبدیل ولتاژ آنالوگ به دیجیتال استفاده میکنیم.جهت کسب اطلاعات بیشتر درباره این آی سی و سایر قطعات الکترونیکی این ربات میتوانید با مراجعه به سایت WWW.ALLDATASHEET.COM و وارد کردن نام قطعه مورد نظر خود در قسمت بالای این سایت اطلاعات کاملی درباره قطعه مورد نظر خود به دست آورید.در شکل زیرنحوه اتصال خروجی سنسورها به مبدل ADC نشان داده شده است
3)میکروکنترلر
مغز متفکر ربات میکروکنترلر آن میباشد.کلیه تصمیم گیری ها و عملکردها در این قسمت اتفاق می افتد.در واقع ما میتوانیم سنسورها را به چشم های ربات،میکروکنترلر را به مغز ربات و موتورها را به دست و پاهای ربات تشبیه کنیم.
1-3)انتخابنوعمیکروکنترلر:بحث در مورد انتخاب نوع میکروکنترلر شامل بررسی میزانRAMوROM مورد نیاز،سرعت CPU،تعداد پورت ها،قیمت و.. میباشد که بحث بسیار گسترده ای میباشد.در مورد انتخاب نوع میکرو باید بگویم که شما میتوانید از میان سه خانواده میکرو موجود در بازار یعنی 8051،AVR و PIC یکی را بنابر نظر خود انتخاب کنید.ولی تجربه نشان داده که میکروکنترلرهای خانواده AVR برای اینکار مناسب تر هستند چون زبان برنامه نویسی ساده تری نسبت به 8051 ها دارند و همچنین تهیه کردن آنها و یافتن پروگرامر برای آنها در بازار نسبت به خانواده PIC آسان تر است.من در این پروژه از میکروکنترلر ATMEGA8 از خانواده AVR استفاده کرده ام.شما میتوانید جهت کسب اطلاعات بیشتر درباره خانواده های میکروکنترلر و مزایا و معایب آنها،زبان های برنامه نویسی،نحوه پروگرام کردن آنها و.. به مراجع متناسب با این موضوعات مراجعه کنید.
2-3)برنامهنویسی:الگوریتم برنامه نویسی این ربات را در ابتدای این مقاله توضیح دادم.یعنی شما باید با توجه به 0 و 1 شدن خروجی سنسورها تشخیص بدهید که دریک لحظه خاص ربات در سطح سفید قرار گرفته است یا مشکی و در این لحظه خاص باید مستقیم برود یا به چپ یا راست بپیچد.در اینجا جدولی قرار داده ام که تمامی عملکرد منطقی ربات را به شما نشان داده است.یعنی با درک این جدول شما توانایی درک کامل نحوه عملکرد ربات و چگونگی برنامه نویسی آن را فرا میگیرید.پس روی این بخش تمرکز ویژه ای داشته باشید.
در این جدول منظور از 0 در زیر قسمت سنسورها یعنی سطح سیاه دیده شده و 1 یعنی سطح سفید.در موتورها همم منظور از 0 خاموش بودن موتور و 1 به معنی روشن بودن آن موتور است.درکل 4 حالت برای حرکت ربات وجود دارد : 1)پیچیدن به سمت راست(دو حالت اول جدول) ، 2)پیچیدن به سمت چپ (حالت سوم و چهارم جدول) ، 3)حرکت مستقیم (حالت پنجم و ششم جدول) ، 4)حالت خطا یا تعریف نشده (حالت هفتم و هشتم جدول). دو حالت اول زمانی اتفاق می افتد که ربات در طی مسیر خود به پیچی به سمت راست برسد در نتیجه باید به سمت راست بپیچد.یکی از روش های پیچیدن خاموش کردن موتور همان سمت(سمت راست) و روشن ماندن موتور سمت چپ است در نتیجه ربات به سمت راست می پیچد.درک بقیه حالت ها هم با تصور کردن یک مسیر فرضی و قرار دادن سنسورها بر روی این مسیر امکان پذیر است.با استفاده از این جدول و مقداری آشنایی با برنامه نویسی میکروکنترلرها به راحتی میتوان برنامه ربات را طراحی کرد.در هنگام وصل موتورها به چرخ های ربات باید توجه کنید که یک موتور را به چرخ های سمت راست و یک موتور را به چرخ های سمت چپ متصل کنید تا بتوان بر روی پیچیدن ربات کنترل داشت(بر خلاف اتوموبیل که چرخ های روبه روی هم به یکدیگر متصل میشوند در این نوع ربات چرخ های پشت سرهم به یکدیگر متصل میشوند).
خروجی سنسورها پس از تبدیل شدن به سطوح دیجیتال توسط مبدل ADC به یکی از پورت های میکروکنترلر وارد میشود و ما در برنامه شبیه ساز میکروکنترلر این پورت را به عنوان ورودی تعریف کنیم.همچنین باید یکی دیگر از پورت های میکرو را به عنوان خروجی تعریف کنیم که این پورت به موتورها متصل میشود.شما میتوانید از برنامه CODE VISION AVR جهت برنامه نویسی و پروگرام کردن میکروکنترلر استفاده کنید.جهت نصب برنامه و همچنین آشنایی با نحوه کارکردن با این برنامه میتوانید از سی دی ها و کتاب های موجود در بازار استفاده کنید.در زیر برنامه ربات با 3 سنسورقرار داده شده است.
برنامهکاملربات
در برنامه code vision پس از ایجاد کردن یک new project و تنظیم پورت های ورودی و خروجی در قسمت code wizard(توجه شود در این پروژه پورت D میکرو کنترلر به عنوان ورودی و پورت C به عنوان خروجی در نظر گرفته شده است) برنامه را در حلقه while(1) بنویسید. سپس روی گزینه compile در بالای صفحه کلیک کنید تا فایل hex برنامه تولید شود سپس این فایل hex را با استفاده از پروگرامر به میکرو منتقل کنید.
4)درایور: برای اتصال میکرو به موتورها از آی سی به نام درایور استفاده میکنیم.چون موتورها در هنگام کار کردن به جریانی حدود 1.5 آمپر احتیاج دارند ما نمیتوانیم آنها را مستقیم به پایه های میکروکنترلر متصل کنیم چون حداکثر جریانی که میکروکنترلر میتواند به ما بدهد در حدود چند میلی آمپر است.به همین علت ما از آی سی هایی موسوم به بافر یا درایور استفاده می کنیم.از مزایای این آی سی ها قابلیت جریان دهی مناسب برای موتورها،داشتن دیود هرزگرد داخلی برای از بین بردن اثر سلفی موتورها، قابلیت ترمز کردن و.. را میتوان نام برد.از جمله این آی سی ها میتوان به L293,L298,ULN2803 و..اشاره کرد.شما میتوانید با مطالعه برگه مشخصات این آی سی ها درایور مورد نیاز خود را انتخاب کنید.در زیر نحوه اتصال درایورL239 به میکروکنترلر و موتورها نشان داده شده است.
5)موتورها: با توجه به حجم و وزن ربات خود میتوانید از موتورهای با قدرت مختلف استفاده کنید.موتور ربات هایی ساده تر و غیر حرفه ای میتواند یک موتور DC (آرمیچر) باشد و برای کارهای حرفه ای میتوان از موتور پله ای استفاده کرد.در واقع برای این پروژه شما میتوانید بدون هیچ نگرانی از موتور DC استفاده کنید.
6)منبعتغذیه:جهت تغذیه مدارات الکترونیکی و موتورهای ربات از منبع تغذیه استفاده می شود.برای مدارات الکترونیکی به یک ولتاژ 5 ولت DC احتیاج است.برای موتورها هم به تغذیه ای در حدود6 الی 12 ولت (بنابر وزن و نوع موتورهای ربات شما) احتیاج است.نکته مهم این است که تغذیه مدارات الکترونیکی و موتورها را به صورت مستقیم از یک باتری تامین نکنید چون نویزی که در هنگام کار کردن موتورها بر روی ولتاژ تغذیه می افتد باعث اختلال در مدارات الکترونیکی میشود و پیشنهاد من استفاده از رگولاتور است.
7) مکانیکربات:اگر شما تا این مرحله پیش رفته اید باید به شما تبریک گفت اما نه بابت ربات ! بلکه به خاطر ساخت یک مدار الکترونیکی.برای اینکه ربات شما حرکت کرده و انتظارات شما را برآورده کند اولا احتیاج به سازه ای دارد که مدارات الکترونیکی و باتری و.. را نگه دارد و ثانیا دارای محل مناسبی برای قرار گرفتن سنسورها در نزدیک سطح زمین باشد و از همه مهمتر دارای چرخ و گیربکس مناسبی برای تبدیل دوران شافت موتور به نیروی حرکتی باشد.شما میتوانید از گیربکس و چرخ موجود در ماشین های اسباب بازی برای اتصال به موتور استفاده کنید یا اگر میخواهید یکم خرج کنید از موتورهای گیربکس دار موجود در بازار استفاده کنید.در اینجا تصویری از چرخ و گیربکس ربات خودم را برای شما قرار دادم.همانطور که مشاهده میکنید هر موتور به چرخ های یک طرف متصل شده است.گیربکس ربات که وظیفه انتقال دوران شافت موتور به چرخ ها را بر عهده دارد شامل تعداد زیادی از چرخ دنده هاست.استفاده از گیربکس باعث میشود که سرعت زیاد شافت موتور کاهش پیدا کرده و در عوض قدرت چند برابر شود.در تصویر دوم هم تصویری از ربات را مشاهده میکنید.دقت کنید بخاطر اینکه سنسورها در نزدیک سطح زمین قرار بگیرند توسط دو پایه چوبی آنها را پایین آورده ونزدیک سطح زمین قرار داده ام.
تصویر (1) موتورها و گیربکس ربات
تصویر (2) شمای ظاهری ربات
درفرایندساخت ربات سه چیز حرف اول رامی زند(دقت)(فکرکردن)و(منظم کارکردن)شماهم دست به کارشوید
.: Weblog Themes By Pichak :.