ربات مین یاب

از ویکی خرد

پرش به: ناوبری, جستجو

اعضای گروه:مهدیه ادیب،رعناعلمداران،تارا آخوندصادق،گلبهار رفیعی،درسااسلامی

فهرست مندرجات

هدف

برای استفاده در زمین های جنگی برای کاهش تلافات جانی.

مقدمه

براساس گزارشات موجود، ايران سومين كشور دنيا از لحاظ مين‌هاي دفن شده است. در طول 8 سال جنگ تحميلي عراق بر عليه ايران بالغ بر 16 ميليون مين در سرزمين‌هاي مرزي غرب و جنوب كشور كاشته شده است كه بعضاً به علت دورافتاده بودن و صعب‌العبور بودن مناطق خنثي نشده باقي مانده و همه ساله افراد زيادي از بين مردم عادي و نظاميان قرباني مي‌كنند. استانهاي آذربايجان غربي، كرمانشاه، كردستان، ايلام و خوزستان، هنوز در معرض خطر انفجار مين‌هاي باقي‌مانده از بيست سال پيش هستند. كشف و خنثي سازي مين‌ها كاري بسيار خطرناك و پرهزينه است. اين اميد وجود دارد كه ربات‌هاي مين‌ياب بتوانند اين خطر را رفع نموده و تلفات انساني و هزينه مين‌يابي را كاهش دهند. ربات های کنترل از راه دور به شکل بی سیم کنترل می شوند. هر ساله مسابقات زیادی در مقطع دانش جویی در این باره برگزار می شود، که در سال های اخیر تیم های دانش آموزی حرفه ای نیز در این لیگ ها شرکت می کنند.

                                               666.jpg

چکیده

هدف از طراحی این ربات طی کردن مناطق جنگی و مسیر های ناهموار و پیدا کردن مین های دفن شده در زمین است. نکته ی دیگر برداشتن مین ها از سر راه برای باز کردن مسیر است که امکان ادامه دادن به راه را به ربات بدهد. ربات های مین یاب به دو دسته ی خودکار و دستی(کنترل از راه دور) تقسیم می شوند. ربات های کنترل از راه دور به شکل بی سیم کنترل می شوند. برای دیدن مسیر روی ربات دوربینی نصب شده است که به شکل بی سیم اطلاعات و تصاویر به دست آمده را به اپراتور منتقل می کند. برنامه ی ربات در کامپایلر Code vision و به زبان C نوشته شده است. برای طراحی مدار ربات از نرم افزار Altuim designer استفاده شده است.

مکانیک

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

الکترونیک

مدار ربات با نرم افزار Altium designer طراحی شده است. روی برد از قطعاتی مانند رله،ترانزیستور،ال ای دی،دیود،خازن و ... از میکروکنترولر ATMEGA16استفاده کردیم. برنامه ی ربات به زبانC در کامپایلر Codevision نوشته شده است. بعد از لحیم کردن قطعات روی برد نوبت به اشکال گیری PCB شد. پس از چک کردن کامل PCB با استفاده از مالتی متر و... شروع به برنامه نویسی کردیم.

حرکت موتور ها

برای به کار انداختن موتور ها از رله استفاده کردیم و برای از بین بردن اثر جریان برگشتی موتور از دیود استفاده کردیم. در ابتدا برای هر موتور تابع های چرخش ساعت گرد ، پادساعت گرد و خاموش بودن تعریف کردیم. سپس تابع حرکت های ربات را تعریف کردیم که شامل4 حرکت اصلی می شد: جلو، چپ، راست، عقب. دو تابع دیگر هم برای حرکت به راست و چپ در برنامه وجود دارد که به ربات این امکان را می دهد که با زاویه ی متفاوتی از توابع راست و چپ قبلی حرکت کند. در اصل در توابع اول برای حرکت به راست موتور سمت راست خاموش می شد و موتور سمت چپ به حرکت ادامه می داد اما در تابع بعدی موتور سمت راست پاد ساعت گرد می چرخید و موتور سمت چپ ساعت گرد حرکت می کرد. برای حرکت ربات و بازو های آن از موتور های ده دور استفاده کردیم. برای باز و بسته کردن فک روبات از موتور سرو استفاده کردیم. این موتور ها گونه های دیگری از موتور ها هستند که به دلیل وجود قابلیت های مفید و منحصر به فردشان در رباتیک کاربرد های زیادی دارندو در حقیقت سرو موتور ها، موتور های DC گیرباکس دار هستند که دارای فیدبک کنترل بوده و روتر امکان جهت گیری دقیق را می دهند. در سرو موتور ها می توان محور موتور را در محدوده ی مثبت و منفی 45 درجه (90 درجه) تنظیم کرد و چنانچه عملیات تنظیم سیگنال در آن انجام شود این مقدار به مثبت و منفی 90 درجه (180 درجه) نغییر پیدا می کند. سرو موتور ها دارای سه سیم می باشد. دو سیم برای تغذیه که معمولا 5 تا 15 ولت می باشد و سیم دیگر برای اعمال سیگنال کنترل موقعیت به کار می رود. سرو موتور ها با فرکانس 50 هرتز کار می کنند اما میکروی فرکانسی به مقدار 8 مگا هرتز دارد. تایمر های ما این فرکانس را تقسیم بر 256 می کند سپس به فرکانسی با مقدار 31250 می رسیم. سپس در برنامه شرطی تعیین می کنیم که تابع حرکتی سرو موتور هر 625 بار اجرا شود در نتیجه به فرکانس 50 هرتز که مناسب سرو موتور هست می رسیم.


به علت این که ربات از راه دور کنترل می شود باید ارتباطی به شکل بی سیم بین ربات و اپراتور برقرار باشد. در نتیجه از ماژولی به نام XBEE استفاده کردیم. پس بخش USART را فعال کردیم .در برنامه تابع Receiver interrupt به data عدد های متفاوت دادیم. که به طور مثال با زدن عدد 28 ربات به جلو حرکت کند. که این به اپراتور این امکان را می دهد که به طور جدا هر موتور را خاموش کند یا آن را ساعت گرد با پادساعت گرد بچرخاند. برای فرستادن اطلاعات سنسور به اپراتور از دستور Putchar استفاده کردیم. اما این دستور اطلاعات را در 8 بیت می فرستد در حالی که داده های سنسور ما به علت استفاده از ADC 10 بیت است. در تنیجه داده ها را نقسیم بر 4 کردیم. ربات از طریق لپ تاپ کنترل می شود. برنامه ی گرافیکی آن را به زبان C# نوشتیم. در این ربات ما از IC CS209A استفاده کردیم. سیم پیچی را به این ای سی وصل کردیم. اگر فلزی در مسیر ربات قرار داشته باشد وقتی جریان الکتریسیته در سیم پیچ جاری شود اختلاف ولتاژی ایجاد می کند. CS209A به تغییر ولتاژ حساس است. از این طریق وجود مین را تشخیص می دهد.

                                               123.jpg

ساخت و نتایج پایانی

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

پیشنهادات

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

ابزارهای شخصی