فراموش کردم
اعضای انجمن(97) مدیریت انجمن طریقه آپلود عکس و فیلم و موسیقی طریقه قرار دادن موسیقی و کلیپ در مطالب
جستجوی انجمن
فراموش شده (forgoten )    

ساخت روبات دنبال کننده نور

منبع : http://daneshnameh.roshd.ir
درج شده در تاریخ ۹۰/۰۲/۳۰ ساعت 14:48 بازدید کل: 1335 بازدید امروز: 150
 

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

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

 

  1. 3 عددمقاومت نوری(LDR)
  2. 3 عددمقاومت 1 کیلو اهم
  3. 1 عدد میکروکنترلرPIC16F84A
  4. 10 عدددیود 1N4007
  5. یک عددخازن0.1 میکرو فاراد
  6. دو عدد خازن 0.01 میکرو فاراد
  7. دو عدد موتور 3 تا 5 ولتDC
  8. 1 عدد کریستال 4 مگا هرتز
  9. 1 عدد مقاومت 4.7 کیلو اهم
  10. 2 عدد خازن 22 پیکو فاراد
  11. 1 عدد آیسیULN2803


 

مقاومت نوری

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

نقشه مدار


پایه 9 آیسی uln2803 را به زمین و پایه 10 را به مثبتمنبع تغذیه یا باطری متصل نمایید.دو سر هر دو موتور را با یک خازن 0.01 میکروفاراد موازی کنید.همانطور که در نقشه و برنامه میکرو مشخص است.آیسی ULN2803 و میکرو ولتاژزمین را در یک سر موتور ایجاد می کنند و سر دیگر موتور نیز به صورت مستقیم به مثبت ولتاژ وصل است.هر زمانی که یک مقاومت نوری ،نور را سنس کند .ولتاژ نزدیک به 5 ولت را در پایه های RB1 , RB2, RB3 ایجاد می شود.نحوه تصمیم گیری میکرو با توجه بهولتاژ دار شدن پایه های آن در برنامه و نقشه مشخص است.مقاومت های موجود در پایه های میکرو نیز تعیین کننده میزان حساسیت مدار می باشد.می توانید با قرار دادن مقاومت های مختلف حساسیت مدارتان را آزمایش کنید.با مقاومت 1 کیلو مدار عملکرد مطلوبی دارد.
این روبات،روبات ساده ای است.شما حتی می توانید آنرا با گیتهای منطقی AND نیز پیاده سازی کنید.آیسی مربوط به گیت منطقی AND می تواند 74HC08 باشد.آیسی هاییکه مربوط به گیت AND باشد.زیادند.من تنها یک نمونه از آنرا برای شما عزیزان مثالزدم. تا قبل از تابش نور به مقاومت نوری این المان به صورت مدار باز عمل می کند ومانع رسیدن ولتاژ 5 ولت به پایه های مربوط به تصمیم گیری میکرو کنترلر می شود.به محض تابش نور به این المان،ولتاژ 5 ولت که در یک سر این المان قرار دارد به سر دیگر نیز هدایت می شود.البته میزان انتقال ولتاژ یا سطح پتانسیل بستگی به شدت نور دارد هر چه قدر شدت نور بیشتر باشد.ما سهم بیشتری از ولتاژ 5 ولت در سر دیگر مقاومت نوری که به میکرو منتهی می شود خواهیم داشت.برای تست این مدار از یک چراغ قوه استفاده کنید.و این را بگویم که هر چه قدر چراغ قوه شما دارای نور متمرکز تری باشد عملکرد مدارتان مطلوب تر خواهد بود.می توانید برای تست مدارتان از یک سری LED که در بازارتحت عنوان LED سفید است استفاده کنید این نوع LED دارای قیمتی بیشتر از LED معمولیاست.و نوری که از سر آن متصاعد می شود آنقدر زیاد است.که شما نمی توانید از روبرو به آن نگاه کنید.وچشم شما را اذیت میکند.در رنگهای مختلفی موجود است.اما برای تست این مدار از نوع سفید آن استفاده کنید.در واقع در این حالت این LED برای شما کارچراغ قوه را انجام می دهد.برای روشن شدن آن از یک باطری 1.5 تا 3 ولت استفاده کنید.وبسته به میزان روشنایی LED ای که خریداری می کنید.حتما در هنگام اتصال بهباطری یک مقاومت را با آن سری کنید این مقاومت نیز از 100 اهم تا 1 کیلو اهم می تواند متغییر باشد.

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


برنامه به زبان بیسیک نوشته شده است.،مقدارحساسیت و پاسخگویی فتوسل ها به منبع نوری هر لحظه در سه پورتRB1,RB2,RB3 بارگذاریمی شود.میکرو کنترلر بر اساس این بارگذاریها تصمیم گیری می کند .،و به سمت راست یاچپ منحرف می شود.
در سه خط ابتدایی متغییر هایm ، l وr باگذای می شوند.درواقع مقادیر پورتهایی که به مقاومت های نوری متصل هستند.در این پین های میکروبارگذاری می شوند.وبسته به مقادیر این متغغیرها مدار شما عمل می کند.نحوه تصمیمگیری میکرو نیز با استفاده از دستورات شرطیif به طور ساده در برنامه مشخص هستند.درخط انتهایی برنامه به طور مثال گفته شده اگر هر سه سنسور نور را دریافت کردند.هر دوموتور روشن شود.در واقع در این حالت روبات به سمت جلو می رود.عملکر به این صورتاست.،که زمانیکه این سنسورها نور را دریافت می کنند.در وقع مقاومت آنه کم می شود. وولتاژ 5 ولت را که در یک سر آنها قرار دارد.به سر دیگر منتقل می کنند.سر دیگر پاههای ورودی میکرو است.میکرو هم بسته به اینکه چه سنسوری نور را دریافت کرده و باتوجه به برنامه پین هایRB7 وRB6 راHIGH یاLOW می کند.در این حالت شما شاهد حرکتموتور به طرفین راست و چپ و یا جلو خواهی بود
 

 

 

  m var byte

   l var byte

  r var byte

    m=portb.2

    l=portb.1

    r=portb.3

   if  m=1 and l=0 and r=0 then

                                high portb.6

                              high portb.7

 11:  endif

  if  r=0 and l=1 and (m=0 or m=1) then

                                       high portb.7

                                        low portb.6

 15:  endif

   if  l=0 and r=1 and (m=0 or m=1) then

                                       high portb.6

                                        low portb.7

 19:  endif 

   if  m=0 and l=0 and r=0 then

                             low portb.6

                              low portb.7

  endif

   if m=1 and l=1 and m=1 then

                             high portb.6

                             high portb.7

   endif

                        

توضیحات مدار


همانطور که در نقشه می بینید.،یک پایه فتوسل ها بهتغذیه 5 ولت ویک پایه دیگر آن به ورودی هایRB1,RB2,RB3از میکروکنترلر متصلاست.پایه های فتوسل که به ورودی میکروکنترلر متصل است از همان اشتراک با مقاومت 1کیلو اهم به منفی منبع تغذیه نیز متصل می شود.،هرچه قدر مقدار این مقاومت بیشترباشد جریان کمتری از طریق آن به منفی می رود.،و حساسیت بیشتری از فتوسل را میکرودریافت می کند.،به طور مثال اگر شما مقاومت 1 مگا اهم به بالا قرار دهید حتی با نورمحیط نیز روبات حرکت خواهد کرد.، و هر چه قدر مقدار مقاومت کم شود.،حساسیت روباتکمتر می شود.،و برای حرکت روبات می بایست منبع نوری را به فتو سل بیشتر نزدیککرد.،از سه عدد سنسور یکی را در جلوی مدار یکی را سمت چپ ویکی دیگر را سمت راست بردخود قرار دهید.هر بار که منبع نوری مثل چراغ قوه را به سمت جلوی مدار خود می گیریدروبات به سمت جلو حرکت می کند در این حالت هر دو موتور کار می کنند.، اگر منبع نوریرا به سمت چپ یا راست منحرف کنید روبات به سمت چپ و راست ،در واقع در هر سمتی کهمنبع نوری باشد منحرف می شود.دیودهای موجود در مدار جهت حفاظت مدار از جریان برگشتیموتور مورد استفاده قرار می گیرد.همانطور که در نقشه ملاحظه می کنید.سر مثبت دیودهای محافظ در زمین و سر منفی آن در مثبت ولتاژ برای هر موتور قرار گرفته است.علاوهبر این 4 دیود که برای هر موتور به کار رفته و جمعا 8 دیود می شود.،دو عدد دیو دیگرنیز وجود دارد.این دیودها نیز برای حفاظت آیسیULN2803 از جریان برگشتی موتور بهکار می رود.که به صورت برعکس قرار می گیرد سر مثبت این دو دیود نیز در پایه هایخروجی آیسیULN2803 قرار گرفته اند.چرا که این سرها ولتاژ زمین یا صفر ایجاد میکنند.و سر دیگر موتور به صورت مستقیم به مثبت ولتاژ متصل می شود.که در اینجا نیز سرمنفی یا کاتد را مشاهده می کنید. البته آیسیULN2803 داری دیود محافظ درونی نیز میباشد.

نکته

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

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


برای کار با میکروکنترلر احتیاج به دومرحله دارید.اول کمپایل کردن برنامه ای که به طور مثال با زبان بیسیک نوشته شده.دومپروگرام کردن آیسی،‌برای کمپایل کردن میتوانید.ورژن 2.32 این کمپایلر را در خط زیردانلود کنید.
برای دانلود برنامه کمپایلر بیسیک اینجارا کلیک کنید.

daneshnameh.roshd.ir/mavara/mavara-download_file.php?fileId=167 


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

 

تاریخ آخرین ویرایش مطلب: تاریخ آخرین ویرایش: ۹۰/۰۲/۳۰ - ۱۴:۴۸
اشتراک گذاری: تلگرام فیسبوک تویتر
برچسب ها:

1
1


لوگین شوید تا بتوانید نظر درج کنید. اگر ثبت نام نکرده اید. ثبت نام کنید تا بتوانید لوگین شوید و علاوه بر آن شما نیز بتوانید مطالب خودتان را در سایت قرار دهید.
فراموش کردم
تبلیغات
کاربران آنلاین (0)