X
تبلیغات
شیکسون
سه‌شنبه 20 شهریور 1386 ساعت 08:44 ب.ظ

وبلاگ آموزش ساخت ربات به این آدرس نقل مکان کرد.

WWW.ROBOTONLINE.BLOGFA.COM

روبات آنلاین

del.icio.us  digg  newsvine  furl  Y!  smarking  segnalo
دوشنبه 19 شهریور 1386 ساعت 07:57 ب.ظ
آموزش ساخت ربات (میکروکنترلر۱)
سلام ـ قرار شد برای ساخت ربات تفعلی بزنیم به میکروکنترلر٬پس بی مقدمه بریم سر اصل مطلب:

میکروکنترلر چیست: میکروکنترلر رو درواقع می توان یه کامپیوتر کوچولو در قالب یه چیپ برای کنترل وسایل الکترونیکی (در اینجا ربات) تلقی کرد. تفاوت میکروکنترلر با میکروپروسسور در اینه که میکروکنترلر دارای یک CPU ٫مقدار محدودی RAM ٬ ROM ٬ پورت های I/O و تایمر در درون خود می باشد در صورتی که میکروپروسسور فقط یه CPU هست و شما باید RAM, ROM ,... رو به صورت اجزای جانبی به اون متصل کنید (درست مثل CPU کامپیوتر). برای همین میکروکنترلرها تک منظوره ولی میکروپروسسورها همه منظوره هستند. با این تفاسیر میکروکنترلرها دارای کارایی های خاص خودشون مثلا در ماشین لباسشویی٬ ماکروویو٬ تلفن و البته ربات هاو... هستند یعنی جایی که استفاده از میکروپروسسور نه از نظر کارایی و نه از نظر اقتصادی عقلانیه! تازه فهمیدیم میکرو یعنی چی :)

انتخاب میکرو(مناسب ربات ما): در انتخاب میکرو فاکتورهای زیادی دخیله: ۱-هزینه  ۲-سرعت  ۳-کارایی و قابلیت ها  ۴-راحتی کار با آن و... در حال حاضر در بازار ایران میکروهای متنوعی ازجمله ۸۰۵۱ از اینتل٬ PIC از میکروچیپ تکنولوژی و AVR از شرکت ATMEL هواخواهان زیادی دارن. همچنین آمارها نشون داده که در ساخت ربات اکثرا از PIC استفاده شده (در آمریکا :)) ولی من می خوام این پروژه رو با AVR انجام بدم چون تقریبا کم هزینه (۳۵۰۰) هستش٬ هم کارایی های مناسبی داره٬ هم برنامه نویسی برا اون آسونه (هم C داره هم Basic تازه کلی هم نرم افزار Emulator, Simulator ,... داره) و تازه پروگرمر ائن بسیار ساده و کم خرجه. با این حال فکر نمی کنم نوع میکرو تفاوتی در نقشه مدار و.. بزاره بجز کد و کامپایلر میکرو که سعی می کنم مال PIC یا حتی ۸۰۵۱ رو هم در کنار AVR زمیمه کنم. پس کسایی که با AVR کار نکردن اصلا نگران نباشن.

راستی یادم رفت بگم برا این ربات از AVR مدل Atmega32 استفاده خواهم کرد (مفت ۳۵۰۰ :)) و برای آموزش برنامه نویسی اون با وجود کامپایلرهای متنوعی چون Bascom (بیسیک) و CodeVision (سی) من Bascom رو انتخاب می کنم تا تازه کارهای برنامه نویسی هم مشکلی نداشته باشن (بیسیک که دیگه کاری نداره!). فکر نمی کنم چیزی ناگفته مونده باشه! پس از جلسه بعد آموزش ساخت پروگرمر و یکم آموزش برنامه نویسی AVR ٬البته فقط در حد کار خودمون -ربات- رو خواهیم داشت. (بگو ایشالا )

del.icio.us  digg  newsvine  furl  Y!  smarking  segnalo
دوشنبه 19 شهریور 1386 ساعت 07:32 ب.ظ
یک روبات مسیر یاب آماده!

 

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

این روبوت مدار خیلی ساده ای داره ومن اون رو با تمام فایل هایی که برای پروگرمر لازم داره براتون میذارم حتی یک اماتور هم میتونه به سادگی اون رو بسازه برای موتورها و چرخ  میتونید از موتور های ساده ماشینهای اسباب بازی استفاده کنید در این روبوت دو تا چرخ عقب توسط موتور کنترل میشه ولی چرخ جلو ازاده از چهار تا سنسور هم برای تشخیص نوار سیاه استفاده شده وقتی که سنسورها نوار سیاه رو میبینن خروجی مقایسه کننده low,lm324خواهد شد و در بقیه موارد خروجی highخواهد بود در اینجا برای درایور کردن موتورها از ای سی l293dاستفاده شده که برای کنترل سرعت و جهت موتور استفاده شده اگه نتونستید این ای سی رو توی بازار پیدا کنید پیغام بذارید تا یه مدار دیگه ای که میشه جایگزین کرد رو براتون بفرستم   

توجه:نحوه قرارگیری سنسورها خیلی مهمه

برای پروگرم کردن ۸۹۵۱احتیاج به یک پروگرمر دارید ولی فایل هگز به صورت اماده در دسترس هست امیدوارم که این روبوت رو بسازید و از ساخت اون لذت ببرید اگه در رابطه با ساخت به مشکلی بر خوردید سوال کنید من هم سعی میکنم جواب بدم       از این مدار حتی میتونید به عنوان یه پروژه دانشجویی هم استفاده کنید

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

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

۱.در مورد مدار چاپی باید بگم زیاد احتیاج به pcbنیست چون می تونید از برد سوراخ دار استفاده کنید و نتیجه بگیرید اگر هم خواستید می تونید با پروتل طراحی کنید ولی من  pcbاین مدار رو به صورت اماده ندارم

۲.در مورد مکانیک این روبوت  همونطور که گفتم می تونید از اسباب بازی استفاده کنید

جهت اشنایی بیشتر با مکانیک اینگونه روبوت ها می تونید به سایت های زیر مراجعه کنید

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

http://robotic.farsitools.com/upload/158861833_robotics.zip?PHPSESSID=3569ba0a7903ede243e14cad9164e8d8

http://www.hlachini.com/Projects/robotic/index.htm       فارسی

http://www.leang.com/robotics/info/articles/linesen/index.html     انگلیسی

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

robot c

robot-hex

robot-asm

 

 

del.icio.us  digg  newsvine  furl  Y!  smarking  segnalo
دوشنبه 19 شهریور 1386 ساعت 07:19 ب.ظ
چگونه یک ربات مسیریاب بسازیم!!!  (قسمت اول!)

روباتی که در اینجا تصمیم به تو ضیح نحوه ساخت آنرا دارم بروی زمینه سفید بدنبال خط مشکی حرکت میکند. میکروکنترلر مورد استفاده در روبات 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 سانتی متر


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


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

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

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

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

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

del.icio.us  digg  newsvine  furl  Y!  smarking  segnalo
دوشنبه 19 شهریور 1386 ساعت 07:17 ب.ظ

سلام به همه ی بروبج

من تو این وبلاگ فقط به بحث روبوت و علم الکترونیک میپردازم

و وبلاگ اصلی من این هستش :

www.rahaee2000.blogfa.com

del.icio.us  digg  newsvine  furl  Y!  smarking  segnalo