رفتن به مطلب

پروژه ساخت ربات مسیریاب 5 سنسوره تیم رباتیک نواندیشان


Abbas.H

ارسال های توصیه شده

>


اعضای تیم:

 

1- بخش برنامه نویسی:

 

pari.v , Abbas.h, Mehdi19, یمنا1 به سرپرستی Abbas.h

 

2- بخش طراحی و پیاده سازی مدار:

 

Mahnaz, m@f, مجید بهره مند, به سرپرستی Mahnaz


به امید موفقیت های بزرگ :icon_gol:

لینک به دیدگاه
  • پاسخ 76
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

سلام:a030:

 

اول تبریک برای تشکیل تیم جدید:a030:

 

به عنوان عضوی از این تیم میخواستم چندتا نکته رو با اجازه عباس آقا بگم:icon_redface:

 

اول از همه ایشالله یه نتیجه خیلی خوب از این گروه میگیریم:w16::icon_gol:

 

چندتا نکته عرض کنم

 

معمولا توی برنامه نویس روبات مسیریاب از میکرو AVR و زبان بیسیک توی محیط BASCOM-AVR مینویسن (البته این اطلاعات من مربوط به زمان دانشوجییم میشه که جز گروه روباتیک بودم:ws37:)

 

برای مدارشم اول سعی میکنیم توی برنامه proteus مدارو بکشیم و با protel مدار چاپی شو رسم کنیم

 

از لحاظ مکانیکشم خیلی کار پیچیده ای نیست

 

به نظر من یه مسابقه که امید پیدا کرده بود قوانینشو در بیاریم طبق همون قوانین شروع کنیم

 

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

لینک به دیدگاه

بچه ها من از قصد تاپيك برنامه نويسي و طراحي رو جدا نكردم كه مباحث تا حدودي مشترك باشه و در جريان كار همديگه باشيم. پس لطف كنيد و همه پست هارو بخونيد :a030:

 

تيم طراحي هم يواش يواش شروع كنن كه از ما عقب نيفتن :ws3:

-------------------------------------------------------------------------------------------

خب شروع كنيم :a030:

 

من زبان سي و نرم افزار كدويژن رو انتخاب ميكنم. چون به نظرم ساده تره :w16:

 

مرحله بعدي انتخاب ميكروكنترلر با توجه به كاربرد ما هستش. ما 5 سنسور داريم كه خروجي آنالوگ دارن، يعني ميكرويي كه انتخاب ميكنيم بايد 5 ورودي آنالوگ به ديجيتال

 

داشته باشه.همچنين بايد دو خروجي براي موتورها داشته باشيم كه اين قسمتش تو همه ميكروها وجود داره. فكر ميكنم براي هدف ما ميكروكنترلر ATmega8 مناسب باشه.

 

اينم دياگرامش:

ATMEGA8-pinout.jpg

 

 

اگه جايي رو اشتباه گفتم يا دوستان نظر ديگه اي دارن بگن.

 

به اين ترتيب ما پايه هاي PC0 تا PC4 رو به عنوان 5 ورودي آنالوگ از سنسورها در نظر ميگيريم.

 

دوستان تيم برنامه نويسي، قسمت كار با مبدل ADC يا همون Analogue to Digital Converter رو مطالعه كنن تا دوستان طراح نوع سنسورها و موتورها رو مشخص كنن :icon_gol:

لینک به دیدگاه

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

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

 

خب اينم حرف خوبيه :a030:

 

ولي خب از الان نميشه توسعه هاي احتمالي درآينده رو پيش بيني كرد،‌ به خاطر همين من ميكرو مگا8 رو انتخاب كردم كه در آينده هم اگه تصميم به توسعه گرفته شد، با تغييرات كوچيكي بشه از مگا16 و بالاتر از اون استفاده كرد. نظر من اينه كه الان هزينه كمتر كنيم، چون تغيير سيستم از مگا8 به مگا16 و مگا32 و مگا64 زياد سخت نيست :ws37:

 

اما با اين حال اگه دوستان ديگه هم مايل باشن،‌ ميتونيم از ميكروهاي قوي تر استفاده كنيم :a030:

لینک به دیدگاه

من یه پیشنهاد دارم ...

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

لینک به دیدگاه
بچه ها من از قصد تاپيك برنامه نويسي و طراحي رو جدا نكردم كه مباحث تا حدودي مشترك باشه و در جريان كار همديگه باشيم. پس لطف كنيد و همه پست هارو بخونيد :a030:

 

تيم طراحي هم يواش يواش شروع كنن كه از ما عقب نيفتن :ws3:

-------------------------------------------------------------------------------------------

خب شروع كنيم :a030:

 

من زبان سي و نرم افزار كدويژن رو انتخاب ميكنم. چون به نظرم ساده تره :w16:

 

مرحله بعدي انتخاب ميكروكنترلر با توجه به كاربرد ما هستش. ما 5 سنسور داريم كه خروجي آنالوگ دارن، يعني ميكرويي كه انتخاب ميكنيم بايد 5 ورودي آنالوگ به ديجيتال

 

داشته باشه.همچنين بايد دو خروجي براي موتورها داشته باشيم كه اين قسمتش تو همه ميكروها وجود داره. فكر ميكنم براي هدف ما ميكروكنترلر ATmega8 مناسب باشه.

 

اينم دياگرامش:

ATMEGA8-pinout.jpg

 

 

اگه جايي رو اشتباه گفتم يا دوستان نظر ديگه اي دارن بگن.

 

به اين ترتيب ما پايه هاي PC0 تا PC4 رو به عنوان 5 ورودي آنالوگ از سنسورها در نظر ميگيريم.

 

دوستان تيم برنامه نويسي، قسمت كار با مبدل ADC يا همون Analogue to Digital Converter رو مطالعه كنن تا دوستان طراح نوع سنسورها و موتورها رو مشخص كنن :icon_gol:

 

 

گروه برنامه نویس عقبین بجنبین مدار ما آمادس:ws3:

 

عباس آقا ما خروجی آنالوگ به شما نمیدیم دیجیتال به شما میدیم پس خیالتون راحت از همه پایه ها میتونید استفاده کنین:w02:

لینک به دیدگاه

اینم یادم رفت بگم

 

 

خروجی که ما به شما میدیم برای هر سنسور 0 یا 1 هست. در واقع ما 5 تا خروجی به شما میدیم که یا صفرن یا یک

 

شماروی اون 5 تا میتونید بفهمید که هر سنسور خط سفید رو سنس کرده یا سیاه رو

 

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

 

 

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

 

البته خودم بعدا مدارشو بهتون میدم فقط میخوام یه اطلاعات کلی داشته باشین که ایشالله مدارشم شروع کنیم:a030:

لینک به دیدگاه
من یه پیشنهاد دارم ...

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

 

آخه بحث جوری نیست که بشه تقسیمش کرد به چند قسمت، مگر اینکه هر کسی جدا گونه برنامه کاملو بنویسه و روش کار کنه :ws37:

 

شما هر وقت هر سوالی براتون پیش اومد همینجا بپرسید :w16:

 

کل کاری که ما قراره انجام بدیم اینه که پنج تا ورودی بگیریم و با توجه به مقدار اونها، دو تا خروجی رو تحریک کنیم. ایشالا به پروژه های سنگین تر که برسیم

 

تقسیم بندی میکنیم :a030:

 

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

 

رو تولید میکنیم :a030:

لینک به دیدگاه
اینم یادم رفت بگم

 

 

خروجی که ما به شما میدیم برای هر سنسور 0 یا 1 هست. در واقع ما 5 تا خروجی به شما میدیم که یا صفرن یا یک

 

شماروی اون 5 تا میتونید بفهمید که هر سنسور خط سفید رو سنس کرده یا سیاه رو

 

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

 

 

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

 

البته خودم بعدا مدارشو بهتون میدم فقط میخوام یه اطلاعات کلی داشته باشین که ایشالله مدارشم شروع کنیم:a030:

 

:a030:

 

میشه بگی قصد دارید از کدوم قطعه بعنوان درایور موتورها استفاده کنید ؟ :ws37:

لینک به دیدگاه
:a030:

 

میشه بگی قصد دارید از کدوم قطعه بعنوان درایور موتورها استفاده کنید ؟ :ws37:

 

 

من درایور L298 رو پیشنهاد میدم:a030:

 

ولی باید با بقیه دوستان گروه طراحی مشورت کنم ببینم اونا چی رو پیشنهاد میدن:a030:

لینک به دیدگاه
من درایور L298 رو پیشنهاد میدم:a030:

 

ولی باید با بقیه دوستان گروه طراحی مشورت کنم ببینم اونا چی رو پیشنهاد میدن:a030:

 

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

 

هر درایور L298 تا دو تا موتورو میتونه ساپورت کنه درسته ؟؟

 

و برای هر موتور دو خط ورودی و دو خط خروجی میخواد

 

pinout_small.gif

 

میشه درباره نوع ورودیاش توضیح بدی ؟؟

 

منظورم اینه که چرا دو تا ورودی داره ؟؟ :ws37: (چون به برنامه نویسی مربوط میشه پرسیدم)

لینک به دیدگاه
عباس جان بیشتر توضیح بده ما تازه کاریم باید مرحله به مرحله توضیح بدی ببخشیدا!؟:4564:

 

با اجازه عباس اقا و مهناز خانم ببخشید من 3مدل ربات را جهت اطلاع تازه کارها از مدارها و مکانیک وبرنامه نویسی انتخاب کردم که میگذارم

 

 

چگونه یک روبات مسیر یاب بسازیم

image001.jpg

برای ساخت یک روبات مسیر یاب باید با سه رشته مکانیک , الکترونیک , کامپیوتر ( برنامه نویسی ) آشنایی مقدماتی داشته باشید.

مکانیک

image004.jpg

مکانیک یک روبات مسیر یاب از 4 بخش تشکیل شده است که به بررسی هر کدام می پردازیم.

1- شاسی یا بدنه که تمام اجزای روبات مانند برد ها و ... روی آن قرار می گیرد.

2- موتور روبات مسیر یاب

3- چرخ روبات مسیر یاب

4- برد سنسور که وظیفه تشخیص خط زیر روبات را بر عهده دارد.

شاسی یا بدنه

 

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

موتور یک روبات مسیریاب

image006.gifimage007.pngimage009.pngimage012.gifimage014.jpg

یک روبات می تواند از دو نوع موتور استفاده کند که عبارت است از :

DC MOTOR

Steper Motor

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

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
Is Shoping Robotic

چرخ ها

image016.gif

در ساخت این روبات باید به چند نکته در مورد چرخ ها توجه کرد که عبارتند از :

-1 اندازه قطر چرخ , -2 اندازه عرض چرخ ,-3 اصطعکاک چرخ با زمین

1- اندازه قطر یک چرخ باید به اندازه ای باشد که با دور موتور شما هماهنگی داشته باشد چون هرچه قطر چرخ بشتر باشد با یک دور موتور روبات مسیربیشتری را طی می کند و هر چه قطر آن کمتر باشد با یک دور چرخش موتور روبات مسیر کمتری را طی می کند.

2- اندازه عرض چرخ : توصیه می شود اندازه عرض چرخ برای این کار بین 1 تا 2 سانتیمترانتخاب شود چون اگر بیشتر از این باشد اصطعکاک و وزن آن خیلی زیادی می شود .

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

چرخ هرز گرد :

image017.png

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

برد سنسور ( حسگر )

image020.jpgimage021.gifimage022.gifimage023.png

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

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

1- حتما مکانیک روبات محکم بسته شود.

2- اگر از چسب برای بستن استفاده می کنید حتما به همراه بست استفاده شود .

3- برای بستن برد ها به بدنه ( شاسی ) حتما از پیچ و مهره یا Spacer و مهره استفاده کنید .

4- برای محکم شدن و جلوگیری ازشل یا باز شدن اتصالات می توانید از واشر فنری استفاده کنید .

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

 

 

این یک اشنایی کلی از پروژه است ریزه کاری ها هم که در موردش بحث میشه

لینک به دیدگاه

در ادامه حهت اشنایی افراد جدید دو نمونه از ربات که یکی از طریق rfو دیگری با سنسور مادون قرمز هست را میارم اولین ربات با سنسور مادون قرمز هست

هر چند قدیمیه ولی به جهت اموزش ابتدای بد نیست

 

 

  • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

     

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    • برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

     

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

    [*]

    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

 

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

 

[h=1]قطعات مورد نیاز[/h]

  1. 3 عدد سنسور مادون قرمز CNY70
  2. 1 عدد میکروکنترلر PIC 16F84A
  3. 3 عدد پتانسیومتر 10K
  4. 2 عدد
    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
    22 پیکو فاراد
  5. 2 عدد آیسی LM358
  6. 6 عدد
    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
    220 اهم
  7. 5 عدد مقاومت 5 مگا اهم
  8. 3 عدد خازن 0.1 الکترولیت
  9. 1 عدد کریستال 4 مگا هرتز
  10. 1 عدد 1مقاومت 4.7 کیلو اهم
  11. 1 عدد منبع تغذیه 6 لتی
  12. 1 عدد رگولاتور 7805
  13. 2
    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
    7 تا 9 ولت dc
  14. 1 عدد آیسی ULN2803
  15. 2 عدد
    برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
    1N5817
  16. 1 عدد کلید کشویی سه حالته
  17. 2عدد کانکتور مخابراتی 7 پین

 

[h=2]سنسور CNY70[/h]این سنسور به صورت یک بسته حاوی دو عدد سنسور مادون قرمزاست. یک سنسور فرستنده و سنسور دیگر گیرنده می باشد.برای اینکه روبات شما بهتر کار کند بهتر است بجای استفاده از دو سنسور مادون قرمز به صورت مجزا از این packeg سنسور استفاده کنید.در این سنسور پایه های بلندتر در هر سمت سمت آند و پایه های کوتاهتر سمت کاتد است.

برای دریافت اطلاعات مربوط به این سنسور

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
را کلیک کنید.

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

 

[TABLE=align: right]

[TR]

[TD]cny70.jpg [/TD]

[/TR]

[/TABLE]

 

 

hamz.gif

[h=2]میکروکنترلر PIC 16F84A[/h]این میکرو کنترلر از ساده ترین انواع میکروکنترلر از لحاظ برنامه نویسی است .اما فوق العاده قدرتمند می باشد.زبان برنامه نویسی این میکروکنترلرغالبا زبان برنامه نویسی سی©زبان برنامه نویسی بیسیک(BASIC)

زبان برنامه نویسی پاسکال (PASCAL) میباشد.که شما می توانید با تهیه کمپایلر هر کدام از این زبانها،با برنامه ای که به آن تسلط دارید.، اقدام به برنامه نویسی آن کنید.

برای کار با این میکروکنترلر احتیاج به پروگرامر خانواده گروه PIC دارید.،به همراه کمپایلر زبان برنامه نویسی که به آن علاقه دارید.

 

[TABLE=align: center]

[TR]

[TD]PIC16F84a.gif [/TD]

[/TR]

[/TABLE]

 

 

 

[h=2]آیسی LM358[/h] [h=2]آیسی ULN2803[/h]این آیسی حاوی دو عدد

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
(DUAL AP-AMP)است.،این آپ امپ ها جهت مقایسه ولتاژ های ایجاد شده از سنسورها به کار می رود.پایه 4 آن منفی ،پایه 8 آن مثبت،پایه 2 و6ورودی منفی پایه 3و5 ورودی مثبت،وپایه های 1و7 خروجی است.این آیسی اختلاف ولتاژهای منفی ومثبت ورودی را در خروجی آشکار می کند.

آیسی ULN2803 حاوی بافر NOT است پایه 9 آن تغذیه منفی و پایه 18 آن تغذیه مثبت است.جریان خروجی آن در حدود 500 میلی آمپر است.این آیسی بیشتر برای درایو کردن

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
(STEPPER MOTOR) مورد استفاده قرار می گیرد

 

[TABLE=align: center]

[TR]

[TD]lm358.jpg [/TD]

[/TR]

[/TABLE]

 

[TABLE=align: center]

[TR]

[TD]280333.gif [/TD]

[/TR]

[/TABLE]

 

 

 

 

[h=2]رگولاتور 7805[/h] [h=2]کریستال[/h]رگولاتور LM7805 یک تنظیم کننده ولتاژ است.زمانیکه ولتاژ پایه ورودی آن در حدود 2 تا 2.5 ولت بیشتر از 5 ولت باشد.،ولتاژ تنظیم شده 5 ولت را در خروجی ایجاد می کند.

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

[TABLE=align: center]

[TR]

[TD]7805.jpg [/TD]

[/TR]

[/TABLE]

 

[TABLE=align: center]

[TR]

[TD]S8841136560.jpg [/TD]

[/TR]

[/TABLE]

 

 

 

 

 

[h=1]توضیحات مدار[/h]در شکل زیر نحوه اتصال سنسور CNY70 به آیسی LM358 را مشاهده می کنید.سمتی از این سنسور که نوشته دارد پایه بالا یی و پایینی مربوط به LED فرستنده و دو پایه قسمتی که نوشته ندارد.،مربوط به گیرنده است.پایه بالایی قسمتی که نوشته دارد.،به تغذیه 5 ولت و پایه زیر این پایه را با یک مقاومت 220 اهم به منفی وصل کنید.قسمتی از این سنسور که نوشته ندارد.پایه بالایی را به تغذیه 5 ولت و پایه پایینی را با یک مقاومت 5 مگا اهم به منفی وصل کنید.از اشتراک مقاومت 5 مگا اهم با پایه پایینی قسمت گیرنده سنسور به ورودی مثبت آیسی LM358 که پایه 3 می باشد وصل کنید.

یک سر پتانسیومتر 10K را به مثبت 5 ولت ویک سر دیگر آن را به منفی منبع تغذیه یا باطری وصل کنید.سر دیگر پتانسیومتر را به ورودی منفی آیسیLM358 که پایه 2 می باشد.، وصل کنید.پایه 4 آیسی LM358 را به منفی ،پایه 8 آیسی LM358 را به مثبت منبع تغذیه وصل کنید.،پایه 1 آیسی LM358 را توسط مقاومت 220 اهم به ورودی پایه های میکروکنترلر وصل کنید.این کار را برای هر سه سنسور CNY70 انجام دهید.

 

[TABLE=align: center]

[TR]

[TD]esquemaCNY70.gif [/TD]

[/TR]

[/TABLE]

 

 

همانطور که در نقشه نگاه می کنید.پایه های خروجی آیسی LM358 توسط مقاومتهای 220 اهم به پایه های RB3,RB1,RB2 میکروکنترلر وصل می شوند.میکروکنترلر بر اساس HIGH یا LOW شدن این پایه ها تصمیم گیری می کند.،وپایه های RB6 یا RB7 را که به یک سر موتور وصل هستند. را HIHG یا LOW می کند.دیود در خروجی آیسی ULN2803 نقش محافظتی را دارد.خازنهای دو سر موتور نیز جهت از بین بردن نویز وکارکرد بهتر موتور مورد استفاده قرار می گیرند.البته در عمل یکی از خروجی هاآیسی LM358 از پایه 7 این آیسی گرفته شده است.پایه 5 میکروکنترلر را حتما به تغذیه منفی وصل کنید.

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
پیاده سازی کنید.وخرجی دو عدد آیسی LM358

را که پایه های 1 و7 و1 می باشندرا توسط مقاومتهای 220 اهم به صورت مجزا به سه LED وصل کنید.زمانیکه کاغذ سفید رنگ را به قسمت بالایی این سنسورها نزدیک می کنید.،LED مربوط به هر سنسور روشن می شود.شما می توانی با تنظیم پتانسیومترها شدت نور LED ها و میزان فاصله پاسخگویی سنسورها را تعیین کنید.زمانیکه از عملکرد صحیح سنسورها وتنظیم آنها مطمئن شدید سه خروجی آیسی LM358 را به ورودیهای RB3,RB2,RB1 از میکروکنترلر وصل کنید.تصمیم گیری میکروکنترلر بر اساس HIGH یا LOW شدن این پایه های میکروکنترلر می باشد.،خروجیهای RB6,RB7 میکروکنترلر را قبل از اتصال به پایه های 1و2 ورودی آیسی ULN2803 به دو عدد LED وصل کنید وپس از مطمئن شدن از عملکرد صحیح برنامه ای که در میکروکنترلر توسط پرگرامر LOAD شده است آترا به ورودی 1و2 آیسی وصل کنید.،سپس خروجی 18 آیسی ULN2803 را به سر یک موتور وسر دیگر موتور را به مثبت منبع تغذیه وصل کنید.در واقع میکروکنترلر منفی یک سر موتور را می دهد.،خروجی 17 آیسی ULN2803 را به یک سر موتور دیگر وصل کنید.،وسر دیگر این موتور را به مثبت منبع تغذیه وصل کنید.

 

[h=1]تغذیه روبات[/h]برای تغذیه مدار از 6 عدد باطری 1.2 ولت آمپر بالا استفاده کنید.قبل از اتصال باطری به روبات عمل تغذیه را توسط منبع تغذیه DC انجام دهید.،واز سیمهای سوسماری بلند جهت اتصال مثبت ومنفی منبع تغذیه به روبات استفاده کنید.

در این مدار بهتر است.،از رگولاتور 7805 استفاده کنید.،تغذیه مثبت کل مدار به غیر از موتورها از رگولاتور 7805 می باشد.،اگر تغذیه موتورها را از رگولاتور 7805 بگیرید.موتورها آمپر لازم را جهت حرکت کردن نخواهند داشت.

 

[h=1]مسیر روبات[/h]

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

را بر روی آن بچسبانید.

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

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

 

 

 

 

 

[h=1]نمونه مسیر روبات[/h]

 

 

 

ChiBots01MarCourse.jpg

لینک به دیدگاه

bot.jpg

RufBOT از سیستم TWS434RF استفاده می کند

استفاده از RF در طرحهایتان راه حل مناسبی است. ولی اگر شما نیز مانند من مبتدی باشید , ساختن موفقیت آمیز یک فرستنده-گیرنده Solid RF سخت است.

وقتی که من شروع به کار کردم ,نمی دانستم فلز برد بورد[1] مانند خازنهای کوچکی عمل نموده و باعث اعوجاج سیگنال فراوانی شده ,که در نتیجه عملکرد و پویایی مدار تغییر میکند.

پس از تحقیق زیاد جفت فرستنده-گیرنده TWS 434 و RWS 434 از Reynolds Electronics را پیدا کردم.البته من تولیدات مشابهی از MING Microsystems و Radioshack را نیز امتحان کردم, اما محصول Reynolds Electronics از لحاظ قابلیت , قیمت و راحتی کار با آن بهتر از بقیه بود.بنابراین به کمک آن و نیز دو میکروکنترلر PIC16F84 [2] کار کردن روی رابط سریال RF خود که واسط بین کنترل گر(جوی استیک[3]) و روبوت بود را شروع کردم.شما می توانید این قطعات را در

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
بیابید.

overhead.jpg

نمای بالای ساختمان روبوت که روی یک برد بورد کوچک قرار دارد

rws434.gif

شماتیک مدار

من متوجه شدم جفت مدار فرستنده-گیرنده و ارتباط سریال تعبیه شده در زبان برنامه نویسی PICBasic موجود در PIC های من,با یکدیگر به خوبی کار می کنند.من مطمئن نبودم , مدار با تبادل سریال غیرهمزمان و با نرخ[4] (باود) 9600 خوب کار کند چون در سرعتهای بالا انتظار یک سری مشکلات را داشتم, اما در عمل به اشکالات اندکی برخورد کردم.من به سادگی موقعیت پتانسیومتر موجود در جوی استیک را با استفاده از دستور POT که از دستورات PICBasic است, خواندم و نتیجه را در موقعیت B0 قرار دادم. و از آنجا با دستور SEROUT محتوای B0 حافظه را به پایه 6 فرستنده TWS 434 ارسال نمودم تا داده دریافتی از پین 3 , RWS 434 را خوانده و حاصل را در B0 قرار دهدم.

مقادیر موجود در B0 با موقعیت جوی استیک رابطه مستقیم دارد.ورودی بالاتر از 150 نشانگر "راست" است , پایین تر از 106 علامت چرخش به "چپ" بوده و میان این دو , نشان دهنده "مرکز" است.با استفاده از این اعداد می توان یک محدوده تعریف کرد.

overhead1.jpgtx.jpg

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
">PIC اطلاعات دسته بازی(جوی استیک) را خوانده و ارسال می نماید

tws434.gif

شماتیک مدار فرستنده

در این نقاط اشارات(جهت حرکت دسته بازی) به سادگی قابل مشاهده است.از طریق اعداد فرستاده شده می توانیم مسیر(راست ,چپ و غیره) و همچنین میزان انحراف به چپ و راست را تعریف کنیم. با این داده ها امکان تعریف "کنترل سرعت" وجود دارد.برای اعداد دورتر از 128 (مرکز) سرعت بیشتری اعمال شده است[5].در مورد این مدار , من از پایه های PORTA از PIC برای کنترل مسیر موتور استفاده کردم ولی کنترل سرعت نکردم.از آنجا که داده سریال ده بیتی است(یک بیت شروع ,هشت بیت داده و یک بیت پایانی) می توانیم در عرض یک ثانیه , 960 دستور را به

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
">PIC گیرنده بفرستیم که برای قطعات زیر 20 دلار بد نیست.با استفاده از آنتن هایی که برای تلفن های بیسیم 900 MHz ساخته شده است , توانستم در فضای آزاد به برد 350 فوت[6] برسم و هنگامی که تغذیه گیرنده را کمی از 12 ولت بیشتر کردم به بورد 500 فوت[7] نیز رسیدم(این کار توصیه نمی شود).

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

قطعه کد زیر نشان می دهد که قطعات موجود در سیستم شما چقدر ساده کار می کنند.


[1] Breadboard

[2] است MICROCHIP پر استفاده ترین میکروکنترلر دنیا که محصولی است از شرکت

[3] Joystickدسته بازی-

[4] Baud

[5] البته به نظرمن تنها در صورتی این گفته درست است که سرعت واکنش بازیکن برای همه حرکات از جمله راست و چپ و مرکز, به یک اندازه باشد.چون میتوان به عنوان مثال دسته را به آرامی و طی زمان نسبتا طولانی به سمت راست منحرف کرد و بالعکس.

[6] حدود 107 متر

[7] بیش از 152 متر

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
نوشته شده در یکشنبه سی ام دی 1386ساعت 14:57 توسط cierra | نظر بدهید


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

قبل از این که بحث برنامه نویسی رو شروع کنم باید یه سری تنظیماتی رو روی میکروتون و برنامه انجام بدید که تنظیم فیوز بیت های میکرو و پرو گرامره J

ابتدا باید برنامه BASCOM AVR رو تهیه یا دانلود کنید و بعد نصب و کرک اون این مبحث رو ادامه بدید

اول نحوه تنظیم پروگرامر رو توضیح میدم

اول برنامه رو باز کنید و بعد از منوی Option گزینه Programmer رو انتخاب کنید و بعد از اون صفحه ای باز میشه که باید نوع پروگرامرتون رو مشخص کنید که شما از لیست اون گزینه STK200/STK300 Programmer رو انتخاب کنید تا نوع پروگرامرتون رو بشناسه

تنظیم دوم

میکرو خود را به مدار پروگرامرتون وصل کرده و برق پروگرامرتون تامین کنید

وارد محیط برنامه BASCOM AVR شوید و بعد از اون از منوی File گزینه New را انتخاب کنید

بعد از اون روی

CLICK.jpgکلیک کنید و بعد از اون روی گزینه Manual Program کلیک کنید و بعد از اون وارد محیطی شبیه محیط زیر میشوید که زبانه Lock and Fuse Bits رو انتخواب کنید

FIUSE.jpg

.::ليست قطعات مدار روبات::.

robot.GIF

--میکرو کنترلر ATmega8 یک عدد

--آی سی رگولاتور7805 یک عدد

--آی سی ULN2803 یک عدد

--موتور 5 ولتی با گیربکس و دور بر دقیقه 60 دو عدد

--رله 5 ولتی دو عدد

--دیود 1N4001 دو عدد

--مقاومت 10کیلو اهمی دو عدد

--مقاومت 330 اهمی دو عدد

--فتورزیستور کوچک دو عدد

--دیود نورانی سفید پر نور دو عدد

--خازن 330 میکروفاراد دو عدد

--برد هزار سوراخ 11.5 در 6.5 سانتی متر


.::ليست قطعات مکانیک روبات::.

--چرخ ماشین اسباب بازی کوچک دو عدد

--فولی ضبط صوت جهت چرخ وسط یک عدد

--پیچ اسپیسر (Spacer) سه سانتی به همراه مهره چهار عدد

--ترمینال برق چهار خانه یک عدد

--تخته سه لا 12 در 12 سانتی متر


مراحل ساخت مکانیک روبات


Robot04.jpgRobot03.jpgRobot02.jpg

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • اضافه کردن...