تبلیغات
mobahan مباهن تازه ها و رباتیك ونرم افزار و برنامه نویسی و فناوری ودانلود و... - آموزش ساخت یك ربات
mobahan مباهن تازه ها و رباتیك ونرم افزار و برنامه نویسی و فناوری ودانلود و...
آیا میدانید امسال هم پربازدید ترین وبلاگ میهن بلاگ بودیم به من ایمیل بزنیدmobahan@in.com
صفحه نخست       پست الکترونیک          تماس با ما              ATOM            طراح قالب
گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من
درباره وبلاگ


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

مدیر وبلاگ :
مطالب اخیر
نویسندگان
نظرسنجی
كدام مطلب سایت را زیادكنیم؟









ربات مسیریاب با میکرو PIC 16F84A

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

قطعات مورد نیاز

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 پین

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





میکروکنترلر PIC 16F84A
این میکرو کنترلر از ساده ترین انواع میکروکنترلر از لحاظ برنامه نویسی است .اما فوق العاده قدرتمند می باشد.زبان برنامه نویسی این میکروکنترلرغالبا زبان برنامه نویسی سی(C)زبان برنامه نویسی بیسیک(BASIC)
زبان برنامه نویسی پاسکال (PASCAL) میباشد.که شما می توانید با تهیه کمپایلر هر کدام از این زبانها،با برنامه ای که به آن تسلط دارید.، اقدام به برنامه نویسی آن کنید.
برای کار با این میکروکنترلر احتیاج به پروگرامر خانواده گروه PIC دارید.،به همراه کمپایلر زبان برنامه نویسی که به آن علاقه دارید.





آیسی LM358
آیسی ULN2803
این آیسی حاوی دو عدد آپ امپ(DUAL AP-AMP)است.،این آپ امپ ها جهت مقایسه ولتاژ های ایجاد شده از سنسورها به کار می رود.پایه 4 آن منفی ،پایه 8 آن مثبت،پایه 2 و6ورودی منفی پایه 3و5 ورودی مثبت،وپایه های 1و7 خروجی است.این آیسی اختلاف ولتاژهای منفی ومثبت ورودی را در خروجی آشکار می کند.
آیسی ULN2803 حاوی بافر NOT است پایه 9 آن تغذیه منفی و پایه 18 آن تغذیه مثبت است.جریان خروجی آن در حدود 500 میلی آمپر است.این آیسی بیشتر برای درایو کردن موتور پله ای (STEPPER MOTOR) مورد استفاده قرار می گیرد








رگولاتور 7805
کریستال
رگولاتور LM7805 یک تنظیم کننده ولتاژ است.زمانیکه ولتاژ پایه ورودی آن در حدود 2 تا 2.5 ولت بیشتر از 5 ولت باشد.،ولتاژ تنظیم شده 5 ولت را در خروجی ایجاد می کند.
کریستال جهت تولید پالس برای میکروکنترلر مورد استفاده قرار می گیرد.در شکل زیر کریستال 10 مگاهرتز را مشاهده می کنید.








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




همانطور که در نقشه نگاه می کنید.پایه های خروجی آیسی 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 را به یک سر موتور دیگر وصل کنید.،وسر دیگر این موتور را به مثبت منبع تغذیه وصل کنید.

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

مسیر روبات

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





نمونه مسیر روبات






نقشه مدار




برنامه میکروکنترلر
برنامه میکروکنترلر در این پروژه به زبان بیسک است.
همانطور که در برنامه مشاهده می کنید.،سه عدد متغییر m,l,r در اول برنامه معرفی شده اند.،این سه متغییر در خطوط بعدی برنامه توسط پورتهای،portb.1,portb.2 ,portb.3 بارگذاری می شوند.،high یا low شدن این پورتها به صورت مستقیم وابسته به سنسورهای CNY70 است.،در صورت HIGH شدن سنسور وسطی دو موتور HIGH می شوند.،وحرکت خواهند داشت.HIGH یا LOW شدن هر کدام از موتورها سمت راست یا چپ یا هر دو موتور در برنامه کاملا مشخص شده است.



1:
2: m var byte
3: l var byte
4: r var byte
5: m=portb.2
6: l=portb.1
7: r=portb.3
8: if m=1 and l=0 and r=0 then
9: high portb.6
10: high portb.7
11: endif
12: if r=0 and l=1 and (m=0 or m=1) then
13: high portb.7
14: low portb.6
15: endif
16: if l=0 and r=1 and (m=0 or m=1) then
17: high portb.6
18: low portb.7
19: endif



نحوه کار با میکروکنترلر

برای کار با میکروکنترلر احتیاج به دو مرحله دارید.اول کمپایل کردن برنامه ای که به طور مثال با زبان بیسیک نوشته شده.دوم پروگرام کردن آیسی،‌برای کمپایل کردن میتوانید.ورژن 2.32 این کمپایلر را در خط زیر دانلود کنید.
برای دانلود برنامه کمپایلر بیسیک اینجا را کلیک کنید.
پس از اینکه این فایل فشرده را باز کردید.به مراحلی که راجب نصب گفته شده دقت کنید.تا این برنامه درست نصب شود.
شما می توانید برنامه تان را در محیط edit داس (dos) یا در محیط word یا notpad ویندوز وارد کنید.پس از وارد کردن برنامه بهتره آنرا در محلی که برنامه کمپایلر را نصب کردید وفایل pbp.exe در آن وجود دارد.با پسوندbas ذخیره کنید.pbp مخفف pic basic pro compiler است.برای کمپایل کردن برنامه پیشنهاد میکنم به جای استفاده از محیط ویندوز وارد محیط command بشوید ومسیری که برنامه کمپایلر را در آن ذخیره کردید با استفاده از دستورات dos پیدا کنید.این محیط می بایست شامل فایلpbp.exe باشد.اگر برنامه تان نیز در همین مسیر باشد.احتیاجی به دادن مسیر یا path برنامه ندارید.pbp را تایپ می کنید.بعد از آن با یک فاصله علامت - وسپس بدون فاصله نام میکرو مورد نظر از خانواده PIC را وارد می کنید.حال نام برنامه را وارد کنید پسوند bas آنرا فراموش نکنید.به طور مثال اگر برنامه شما وکمپایلر در مسیری مانند مسیر روبرو قرار گرفته باشند.و اسم برنامه ای که نوشته ای به طور مثال blink با پسوند bas باشد.،داریم. c:\pic\pic1\pbp -16f84a blink.bas در اینجا فرض کردیم میکرو از نوع PIC16F84A است.اگر میکرو PIC16F873 باشد.به جای 16F84A- خواهیم داشت 16F873- اگر برنامه بدون خطا باشد.فایل HEX آن در درایو ی که برنامه در آن قرار دارد.ایجاد می شود.حال می توانید آنرا از طریق پروگرامر وارد میکرو کنید.در پروگرامر نیز نوع میکرو را حتما درست انتخاب کنید.وبه دستورات و نحوه استفاده از پروگرامری که تهیه کرده اید.به دقت توجه کنید.

مکانیک یک روبات نمونه

همانطور که در شکل مشاهده می کنید.،پس ازلحیم کردن سیم به سر موتورها برای جلوگیری از برخورد سیمها به یکدیگر از وارنیش استفاده شده است.شما می توانید برد الکترونیکی خود را بر روی این روبات نمونه پیاده سازی کنید.
در قسمت جلویی این روبات ، طلقی L شکل را قرار دهید.،و محل پیچ شدن آنرا به روبات با مته 3 سوراخ کنید.، و با سوراخ کردن آن به صورت عرضی به آن قابلیت رگلاژ شدن بدهید.،سپس آنرا با پیچ و مهره 3 به قسمت جلوی روبات متصل کنید.
سنسورهای CNY70 بر روی برد مسی به گونه ای لحیم کنید.،که فاصله اولین سنسور با آخرین سنسور حدود 4.5 سانتی متر باشد.این سنسورها می بایست در وسط یکی از عرضهای برد مسی لحیم شود.سرهای مثبت سنسورهای CNY70 را به یکدیگر لحیم کنید.،سپس این سر مشترک را با سیم به یک سر کانکتور مخابراتی که بر روی برد مسی لحیم شده است.،لحیم کنید.این کار را برای تمامی پایه های سنسورها انجام دهید.،وآنها را به کانکتور مخابراتی دیگری که روی بدنه روبات قرار گرفته متصل کنید.برد مسی را که سنسورها روی آن قرار دارند.،را به زیر طلق L شکل متصل کنید.و با استفاده از کانکتور مخابراتی 7 پین به برد الکترونیکی که بر روی این روبات یا هر روبات دیگر سوار کرده اید.،متصل کنید
در واقع این قسمت کار مسیر یابی روبات شما را انجام میدهد.











نوع مطلب :
برچسب ها :
لینک های مرتبط :
          
دوشنبه 24 اسفند 1388
شنبه 18 شهریور 1396 02:16 ب.ظ
Hi, i read your blog from time to time and i own a similar one and i was just wondering
if you get a lot of spam comments? If so how do you protect against it,
any plugin or anything you can suggest? I get so much lately it's driving me crazy so any
assistance is very much appreciated.
پنجشنبه 22 تیر 1396 02:38 ق.ظ
Hello friends, how is everything, and what you would like
to say about this post, in my view its genuinely awesome designed for me.
سه شنبه 17 فروردین 1389 11:52 ب.ظ
ok
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر





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