تبلیغات
علمی - روبات دنبال کننده خط
سه شنبه 17 دی 1387

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

   نوشته شده توسط: امید HERUOSNAM    

به تو ضیح نحوه ساخت آنرا دارم بروی زمینه سفید بدنبال خط مشکی حرکت میکند. میکروکنترلر مورد استفاده در روبات ATmega8 می باشد. و کدهای برنامه روبات با استفادرم افزار BASCOM ایجاد شده اند.

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

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

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


 


برنامه روبات به زبان BASIC نوشته شده در محیط BASCOM

$regfile = "m8def.dat"
$crystal = 8000000


Config Portd =
Output                      'Portd used for control motor
Config Adc = Single , Prescaler = Auto
Start Adc                                   'Start Analog to Digital Converter

Dim S1 As Word                             'S1 Right Sensor
Dim S2 As Word                             'S2 Left Sensor

Portd = 0
Wait 3

Do

S1 = Getadc(3)                              'Read Sensor 1
S2 = Getadc(5)                              'Read Sensor 2
 

'portd.0 right motor
If S2 > 400 Then Set Portd.0
If S2 < 300 Then Reset Portd.0

'portd.2 left motor
If S1 > 400 Then Set Portd.2
If S1 < 300 Then Reset Portd.2

Loop
End
                                         'end program


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

 نقشه روبات دنبال کننده خط طراحی شده توسط مهندس حسین لاچینی  www.HLachini.com

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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


  روبات دنبال کننده خط طراحی شده توسط مهندس حسین لاچینی

  روبات دنبال کننده خط طراحی شده توسط مهندس حسین لاچینی

  روبات دنبال کننده خط طراحی شده توسط مهندس حسین لاچینی