تمام حقوق برای خط مهندسی محفوظ است
ربات مسیریاب چیست؟
ربات مسیریاب، رباتی است که میتواند خطوط را تشخیص داده و آنها را دنبال کند و هر زمان که خطوط تغییر مسیر دادند، ربات مسیریاب نیز مسیر خود را همراه با خطوط تغییر میدهد. معمولا این نوع رباتها، ساده ترین نوع رباتهای شناخته شده هستند و انتخاب بسیار مناسبی برای افراد تازه کار و علاقه مندان به یادگیری رباتیک (در خط مهندسی بخوانید : رباتیک چیست؟) است. ساخت این نوع ربات علاوه بر اینکه بسیار جالب و سرگرم کننده است، باعث میشود تا مهارتهای برنامه نویسی و الکترونیک شما افزایش پیدا کند.
شما میتوانید یک ربات مسیریاب ساده بسازید که خطوط مشکی یا سفید رسم شده روی زمین را دنبال کند یا اینکه میتوانید ربات پیشرفتهتری طراحی کنید که خطوط با رنگهای مختلف را شناسایی کند و فقط یک رنگ خاص را دنبال کند. بدون در نظر گرفتن اینکه قصد ساخت کدام نمونه ربات مسیریاب را دارید، تمام این رباتها دارای ویژگیهای مشترکی هستند. این رباتهای هوشمند همگی از چرخ یا شنی و از دو موتور یا بیشتر برای سیستم حرکتی و از سنسورها برای تشخیص خطوط استفاده میکنند. همهی این رباتها برای استحکام، دارای شاسی هستند و از یک برد الکترونیکی به عنوان مغز متفکر ربات استفاده میکنند.
ربات مسیریاب ماموریت ساده ای دارد، “دنبال کردن خطوط “. این رباتها را میتوان با کمترین منابع ساخت و نیازی به مهارتهای الکترونیکی و برنامه نویسی بالا برای ساخت این نوع ربات وجود ندارد.
کاربرد ربات مسیریاب
اگر میخواهید برای شرکت در مسابقات رباتیک و یا سایر مصارف یک ربات مسیریاب طراحی کنید و بسازید، در مطالب بعدی ما شما را با نحوه کارکرد رباتهای مسیریاب و آنچه که باید در مورد این رباتها بدانید آشنا خواهیم نمود.
( در خط مهندسی بخوانید: مکاترونیک و تفاوتهای آن با رباتیک )
ساخت ربات مسیریاب
- مکانیک
- الکترونیک
- برنامه نویسی
مکانیک ربات مسیریاب
-
برای اتصال بردها به بدنه اصلی حتما از پیچ و مهره و یا Spacer و مهره استفاده کنید.
-
برای محکم شدن اتصالات و جلوگیری از بازشدن آنها از واشر فنری استفاده کنید.
-
در جاهایی که ممکن است مهره یا Spacer باعث اتصالات در مدار شما شوند از واشر فیبری استفاده کنید.
مکانیک ربات مسیریاب جز سادهترین مکانیکها محسوب میشود.این مکانیک شامل بخشهای زیر است.
- شاسی یا بدنه
- موتورها
- چرخها
- برد سنسور
-
شاسی یا بدنه
این بخش در سادهترین حالت میتواند یک طلق پلاستیکی یا چوب (تخته سه لا) باشد که نسبتا سبک بوده و استحکام خوبی دارد. برد الکترونیکی شما روی آن پیچ میشود و موتورها و چرخها به آن وصل میشود و برد سنسور در جای خود قرار می گیرد.
-
موتورها
موتورهای ربات یکی از مهمترین اجزا ربات محسوب میشوند. موتورهایی که باید در این رباتها استفاده شوند از نوع DC Motor میباشند و مستقیماً نمیتوان آنها را به چرخ وصل کرد مگر اینکه توسط گیربکس از سرعت آنها کم شود و به قدرت آنها اضافه شود. از سه نوع موتور میتوان برای ربات استفاده کرد.
شما در یک ربات مسیریاب به دو موتور نیاز دارید یکی برای موتور سمت راست و دیگری برای موتور سمت چپ میباشد. بهتر است موتورها و چرخها در عقب ربات نصب شوند و چرخ هرزگرد و برد سنسور در جلوی ربات نصب شوند.
-
موتورهای اسباب بازیها
در ساده ترین حالت شما میتوانید موتور و گیربکس اسباب بازیها را باز کرده و از آن ها استفاده کنید. اگر موتورها جریانکشی بالایی دارند بهتر است از یک موتور دیگر استفاده کرد.
-
گویی وپولی
روش دیگری که می توان استفاده کرد استفاده از گویی وپولی ها است که از تسمه برای وصل کردن وتبدیل دور استفاده می شود اما این روش توصیه نمیشود.
-
موتور گیربکس دار
در این موتورها موتور و گیرباکس داخل یک مجموعه قراردارند و در دورهای مختلف با توانهای مختلف عرضه شدهاند. بهترین گزینه استفاده از این نوع موتورها میباشد.
-
چرخها
-
اندازه قطر چرخها
بهتر است اندازه چرخها طوری تعیین شود که با موتورها هماهنگی کاملی داشته باشند، چون هرچه قطر چرخها بیشتر باشند با یک دور چرخش موتور، ربات به مقدار بیشتری حرکت میکند و هرچه چرخها کوچکتر باشد حرکت ربات کمتر است.
-
اندازه عرض چرخها
عرض چرخها بهتر است بین ۱ تا ۲ سانتیمتر باشد، چون هرچقدر عرض چرخها بیشتر باشد هم وزن چرخ بیشتر میشود و سطح اصطحکاک بیشتری با زمین پیدا میکند.
-
میزان اصطحکاک چرخ با زمین
برای اینکه لاستیکها سر نخورند بهتر است چرخی را انتخاب کنید که اصطحکاک بسیار بالایی با زمین داشته باشد.
-
چرخ هرزگرد
این نوع چرخ فقط وظیفه حفظ تعادل ربات را بر عهده دارد و باید کمترین اصطحکاک را بر با زمین داشته باشد تا در زمانی که ربات به سمت راست یا چپ گردش داشت، گشتاور کاملی داشته باشد.
-
برد سنسور
این برد در جلوی ربات نصب میشود و باید فاصله استاندارد از سطح زمین را داشته باشد تا بهترین بازده از لحاظ وضعیت خط زیر ربات را به ما ارائه دهد.
الکترونیک ربات مسیریاب
-
چنانچه در طراحی و ساختار مدار و IC تجربه ندارید بهتر است از بردهای آماده یا بردهای آموزشی استفاده کنید.
-
به این نکته توجه داشته باشید مدار الکترونیکی شما حتما در مقابل نویز مقاوم باشد چون مدار درایور موتور و DC موتورها نویز شدیدی در مدار ایجاد میکنند.
-
سعی کنید از فیبرهای سوراخدار برای برد اصلی استفاده نکنید.
الکترونیک مدار ربات مسیریاب از بخشهای زیر تشکیل شده است.
مدار تغذیه
مدار درایور موتور
بخش خروجی
میکروکنترلر
مقایسهگرهای آنالوگ
مدار برد سنسور
-
مدار تغذیه
این بخش از مدار وظیفه تبدیل ولتاژ ورودی مدار به برق ۵ ولت را برعهده دارد، به این دلیل که میکرو کنترلر شما و اکثر المانهای برد با برق ۵ ولت کار میکنند. برای این تبدیل ولتاژ بهتر است از رگولاتور ۷۸۰۵ استفاده و برای گرفتن نویز مدار یک خازن با ظرفیت بالا (با این بخش موازی کنیم LED 2000 ) و یک خازن با ظرفیت بسیار پایین با مدار موازی کنیم. در این مدار فقط خازن با ظرفیت پایین با مدار موازی شده که بهتر است یک خازن با ظرفیت بالا بعد از رگولاتور با مدار موازی شود.
-
مدار درایور موتور
وظیفه این بخش تامین ولتاژ و جریان مورد نیاز موتور است و توسط میکروکنترلر کنترل میشود. میکروکنترلر مستقیما نمیتواند برق موتورها را تامین کند برای راه اندازی موتورها از دو روش استفاده میشود.
-
رله
رلهها قطعات الکترومکانیکی هستند که با وصل کردن برق رله، اتصال دو سیم رله متصل میشود و برق به موتورهای ما وصل میگردد. استفاده از رله چند عیب دارد ، سرعت قطع و وصل شدن رله کم است و نمیتوان از آن به صورت PWM استفاده کرد و موتورها را نمیتوانیم به صورت دو جهته کنترل کنیم.
-
ترانزیستورها یا IC های درایور موتور
با ترانزیستورها یا IC های درایور موتور میتوان موتورها را کنترل کرد. بهترین گزینه برای کنترل این موتورها آی سی L293 و آی سی L298 میباشد که میتوان موتورها را به صورت دو جهته کنترل کرد.
اگر بخواهیم ربات ما مستقیما به جلو حرکت کند کافی است ۲ موتور را روشن کنیم. چنانچه بخواهیم ربات به سمت راست بچرخد میتوانیم موتور سمت راست را خاموش کنیم و موتور سمت چپ روشن باشد تا ربات به سمت راست گردش داشته باشد. چنانچه بخواهیم ربات به سمت چپ بچرخد میتوانیم موتور چپ را خاموش کنیم و موتور سمت راست روشن باشد تا ربات به سمت چپ گردش داشته باشد. پس چرا موتورها باید به صورت ۲ جهته کنترل شود؟ دلیل آن کاملا واضح است چنانچه بخواهیم ربات را با سرعت بالایی کنترل کنیم باید در پیچ های ۹۰ درجه یا بیشتر از معکوس استفاده کنیم یعنی مثلا میخواهیم ربات به سمت راست بچرخد به جای خاموش کردن موتور سمت راست آن را به صورت معکوس روشن میکنیم یعنی موتور سمت راست به سمت عقب میچرخد و موتور سمت چپ به سمت جلو پس ما گردش با سرعت بالاتر و حول محور مرکز ربات را خواهیم داشت و همین مسئله در گردش به سمت چپ صدق میکند.
-
بخشخروجی
این بخشها میتواند شامل LED و LCD ها باشد که بتوانیم خروجیهای یک ربات و وضعیتهای آن را مشاهده کنیم تا بتوانیم راحتتر مشکلات ربات را بررسی و برطرف کنیم. “البته این بخش یک بخش اختیاری در ربات است”
-
میکروکنترلر
میکرو کنترلر در حقیقت مغز ربات ما میباشد و طبق برنامه که ما به آن میدهیم ربات را کنترل میکند، که شامل فرآیند دریافت ورودی از سنسورها، پردازش توسط برنامهای که ما برای آن مشخص کردهایم و خروجی دادن به موتورها میشود.
میکروهایی که معمولا در رباتهای مسیریاب استفاده میشود از دو خانواده هستند.
- میکروکنترلرهای ۸۰۵۱
- میکرو کنترلرهای خانواده AVR یا آردوینو (Arduino)
۱. مدار ساده تر نسبت به خانواده ۸۰۵۱
۲. داشتن مبدل آنالوگ به دیجیتال
۳. داشتن PWM سخت افزاری
۴. داشتن مدار پروگرامر ساده
۵. تکنولوژی بالاتر در طراحی میکرو و مقاوت بیشتر در مقابل Noise
-
مقایسهگرهای آنالوگ (Opamp)
این مدار در صورتی مورد نیاز است که از میکرو های خانواده ۸۰۵۱ استفاده کنیم. در این مدار خروجی سنسورها با یک ولتاژ متغیر که توسط یک مقاومت متغیر ساخته شده مقایسه میشود و خروجی آنالوگ ولتاژ سنسورها به صفر یا یک تبدیل شده که برای میکرو قابل فهم است. از Opamp های رایج می توان به Lm324 اشاره کرد .
-
مدار سنسور
وظیفه این بخش مشخص کردن وضعیت حالت زیر سنسور است که آیا سفید است یا مشکی؟ برای مشخص کردن این وضعیت از دو نوع سنسور میتوان استفاده کرد.
-
سنسورهای فتوسل(Photocell)
فتوسل یک مقاومت متغیر است که نسبت به تغیرات شدت نور حساس است. اگر بخواهیم از این سنسور استفاده کنیم باید از یک فرستنده که نور مرئی به زمین می تابد استفاده کنیم و اندازه بازتاب نور را توسط فتوسل اندازه گیری کنیم که این کار دقت بالایی ندارد و نور مرئی مستقیما نباید با گیرنده در ارتباط باشد و یکی دیگر از مشکلات این روش این است که خروجی سنسورهای ربات در شرایط مختلف نوری تغییر می کند و نور محیط بر آن تاثیر مستقیم دارد.
-
سنسور های مادون قرمز
در اکثر موارد برای شناسایی خطوط از سنسورهای مادون قرمز استفاده میشود. این سنسورها انواع مختلفی دارند که CNY70 و LTH دو نوع پرکاربرد این نوع سنسورها که در مقابل رنگ سیاه ولتاژی حدود ۰.۲ ولت و در مقابل رنگ سفید ولتاژی حدود ۳.۵ ولت خروجی میدهند. بنابراین شناسایی خطوط سیاه از زمینه سفید توسط این سنسورها کار بسیار ساده ای است. البته این سنسورها باید در مدار مناسبی قرار بگیرند به همین منظور از آی سیها استفاده میشود تا ولتاژ خروجی سنسورها دقیق تر و حدود ۵ ولت بشود.
طرز چیدن سنسورها به الگوریتم برنامه مربوط می شود ولی سعی کنید حداقل از ۵ سنسور در مدار خود استفاده کنید.
الگوریتم مسیریابی
الگوریتم مسیریابی باید طوری نوشته شود تا ربات بتواند هرگونه مسیری را، با هر اندازه پیچ و خم دنبال کند، بهطوری که خطای آن مینیمم باشد. تجربه نشان میدهد که بهترین روش برای یافتن و دنبال کردن مسیر، استفاده از ۵ سنسور است. البته با استفاده از حداقل ۲ سنسور نیز میتوان ربات مسیریاب ساخت، ولی قضیه دو دوتا ۴ تاست! یعنی با کم کردن سنسور ضریب اطمینان ربات نیز کاهش مییابد. وظیفه سنسورهای ۱ و ۲ تشخیص پیچهای مسیر و سنسور ۳ مقدار چرخش ربات به جهات مختلف را تعیین میکند .
-
برنامه نویسی
برنامه یک ربات مسیریاب میتواند شامل چند بخش باشد.
- خواندن وضعیت از سنسورها
- تصمیم گیری ( پردازش اطلاعات )
- فرمان دادن به موتورها
در مورد برنامه نویسی رباتها، به خصوص ربات مسیریاب با خط مهندسی در هفتههای آتی همراه باشید. مطالب آموزشی جالبی را در اختیار شما همراهان گرامی قرار خواهیم داد.
جمعآوری و نگارش: خط مهندسی
منبع: خط مهندسی
عالی بود
سلام ممنون عالی بود ببخشید یه سوال داشتم در مورد ربات های سرویس دهنده چجوری مسیر یابی می کنند ایا میدونید؟
سلام.من فکرمیکنم روبات های سرویس دهنده هم روبات مسیریابی هستن ومسیربراشون مشخص میشه چون تو فضای تعریف شده ای حرکت میکنن
سلام.ببخشید یک برد آردوینو انو(UNO) برای ساخت یک ربات مسیریاب سرعتی مناسبه؟و آیا تعداد پنج سنسور برای یک ربات مسیریاب سرعتی مناسبه؟آخه برای مسابقه میخوام درست کنم.
سلام یه سوال…
به نظر شما چه نوع چرخی برای این پروژه خوبه
منظورم اینکه شیار دار باشه یا صاف ؟