تحقیق آموزش ساخت ربات میکروکنترلر ۲۳ ص

تحقیق آموزش ساخت ربات میکروکنترلر ۲۳ ص

تحقیق آموزش ساخت ربات میکروکنترلر ۲۳ ص

تحقیق-آموزش-ساخت-ربات-میکروکنترلر-23-صلینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل :  word (..doc) ( قابل ویرایش و آماده پرینت )
تعداد صفحه : ۲۲ صفحه

 قسمتی از متن word (..doc) : 
 

‏آموزش ساخت ربات (میکروکنترلر‏) 
‏میکروکنترلر چیست: ‏میکروکنترلر رو درواقع می توان یه کامپیوتر ‏کوچولو‏ ‏در‏ ‏قالب یه چیپ برای کنترل وسایل الکترونیکی (در اینجا ربات)‏ ‏تلقی کرد. ‏تفاوت میکروکنترلر با میکروپروسسور در اینه که میکروکنترلر دارای یک 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 ‏٬‏البته فقط ‏در حد کار خودمون -ربات- رو خواهیم داشت‏.
‏جلسه قبل کمی در مورد میکرو و میکروی مناسب کار خودمون صحبت کردیم. این جلسه می ‏خوام به طور کلی تر راجع به قابلیت های میکروی AVR ‏بخصوص مدل Atmega32 ‏صحبت کنم. ‏بزارین‏ ‏بعضی از‏ ‏قابلیت های مهم مربوط به کار خودمون رو‏ ‏بصورت لیست بنویسم:
‏کارایی بالا و توان مصرف کم
‏سرعت بسیار بالا نسبت به سایر میکروها
۳۲K ‏حافظه فلش داخلی قابل برنامه ریزی
‏پایداری حافظه فلش: قابلیت ۱۰۰۰۰ بار نوشتن و پاک کردن
۲K ‏حافظه داخلی SRAM
۲ ‏تایمر-کانتر ۸ بیتی و یک تایمر-کانتر ۱۶ بیتی
…..
‏برنامه نویسی
Atmega32:
‏همونطور که گفته بودم برای برنامه ‏نویسی این میکرو از Basic ‏و کامپایلر معروف Bascom ‏استفاده می کنم (لینک دانلود این ‏کامپایر رو آخر پست گذاشتم). چون من می خوام خیلی گزرا به چند تکنیک وتابع این زبان ‏اون که در برنامه نویسی رباتمون استفاده میشه اشاره کنم اصلا وقت نمیشه درباره یکی ‏یکی ابزارهای محیط این کامپایلر توضیح بدم. اما در آینده با آموزش پروپه های دیگه ‏حتما اونا رو هم پوشش خواهم داد.
‏همونطور می بینید فقط ۷ تا منو از قرار File, Edit, Program, Options, Tools, Window, Help ‏داره. منوی File, Edit, Window, Help ‏تمام برنامه های ویندوز که با هم ‏مو نمی زنه پس اینا هیچ :). منوی Options ‏هم که از اسمش پیداست برای تنضیمات ‏کامپایلر و معرفی نوع و مدل میکرو و.. هست که البته هنگام پروگرام کردن میکرومون
‏سراغش میایم و توضیحات کافی رو میدم. می مونه منوی Program ‏که درواقع گزینه هایی ‏برای کامپایل کد, Syntax Check ‏و شبیه سازی داره که به مجرد شروع برنامه نویسی ‏باهمینا باید سروکله بزنیم.‏حتما Bascom ‏رو دانلود کنید و یکم وارسیش کنید چون پس فردا که برگشتم دیگه تفره ‏نمی رم و دیگه آموزش کد نویسی رو خواهیم داشت که اون هم یکی دو جلسه بیشتر طول نمی ‏کشه و بعد میریم سر مباحث الکترونیکی رباتمون. اما باور کنبد لذت برنامه نویسی و ‏سروکله زدن با میکرو اونم AVR ‏چیزی کم از ساخت ربوت نداره
‏بدنه یک برنامه در محیط
Bascom:
‏منظور از بدنه حداقل کد یک ‏برنامه هستش بدون هیچ فرمانی)  ‏بدنه یک برنامه در محیط Bascom ‏شامل تعیین نوع میکرو مورد استفاده‏٬‏ کریستال‏٬‏ پایان و گزینه های اختیاری دیگری است ‏که در زیر معرفی میشن.
‏معرفی میکرو:
‏برای شروع یک برنامه در محیط Bascom‏ ابتدا بایستی میکروی مورد نظر تعریف گردد. چون توصیه من در استفاده از مدل ATMEGA16|32|128‏ بود‏٬‏ بنابراین فعلا‏ ‏به علت زیق در‏ ‏همه چی‏ ‏فقط به‏ ‏تعریف همین ‏۳‏ مدل بسنده می کنم:
$REGFILE = VAR       ‘‏فرم کلی تعریف‏٫‏ “وار” یه رشته معرف مدل خاص میکروی‏ ‏مورد ‏نظر‏ ‏هستش
$REGFILE =  “M16def.dat”       ‘MEGA 16 MCU ‏این برا مدل
$REGFILE =  “M32def.dat”       ‘MEGA 32 MCU ‏این برا مدل
$REGFILE =  “M128def.dat”     ‘MEGA 128 MCU ‏این برا ‏مدل
‏کریستال:
‏برای مشخص کردن فرکانس کریستال (میکرو ها باید به یه قطعه خارجی بنام کریستال وصل بشن) استفاده شده برحسب هرتز از دستور CRYSTAL = X‏$ استفاده می نماییم X‏ فرکانس کریستال استفاده شده بر حسب هرتز است. خوشبختانه AVR‏ دارای یک کریستال ۱MHZ‏ داخلی هستش که واقعا یک نعمته! اما حتی‏ ‏برای استفاده از اون هم باید این دستور رو بکار ببریم. مثال:
$CRYSTAL = 100000        ‘۱MHz internal
$CRYSTAL = 140000        ’۱۴MHz external
‏یاداشت(اختیاری): ‏گاهی نیاز است یاداشتهایی برای اطلاعات بیشتر در برنامه اضافه کنید‏٬‏ در Bascom‏ ‏هم مثل بیسیک می تونید با علامت “‏ ‏’ ” یا REM‏ اینکارو انجام بدید. درست مثل یادداشت های اضافی که من در مثالهای قسمتهای قبل استفاده کردم! مثال:
Print “Hello World”      ‘‏این دستور بعدا معرفی میشه  
REM ‏این هم یه مدل دیگه از یادداشت ‏اختیاریه
‏همچنین در پایان هر برنامه باید از کلمه END‏ استفاده کنید که مثل یک حلقه بی پایان عمل می کنه (مثلا در سی باید همیشه یه حلقه درست کنی. یه کار تکراری)‏ ‏و دلیل استفادش چه در این کامپایر و برای این میکرو و چه در سایر کامپایلرها و برای میکروهای دیگه‏٬‏ اینه که سیستم برنامه‏ ‏میکرو با کامپیوتر فرق فوکوله‏ ‏و اگه از END‏ یا حلقه بی پایان استفاده نکنیم برنامه همینطور میره پایین و سایر آدرس های حافظه میکرو رو به خیال ادامه برنامه میخونه که این باعث Error‏ میشه دیگه! پس End‏ یادتون نره!خوب دیگه از گزینه های اجباری بدنه تغریبا چیزی نموند و برای اینجلسه هم کافیه! جلسه بعد آموزش‏ ‏نحوه تعریف شرط و حلقه و … در Bascom‏ رو داریم پس حتما مطلب رو دنبال کنید.
‏پیکربندی پورتها:
‏همونطور که در شکل مقابل می بینید میکروی AVR (‏مدل ATMEGA32) ‏داری ‏۴۰‏ پایه هستش که ‏۳۲‏ تا از پایه های اون ‏می تونه ‏برای چهارتا پورت موجود در اون استفاده میشه. این ‏۴‏ پورت مانند شکل به صورت PA, PB, PC, PD ‏نامگزاری شده اند که البته هر کدام از این پورتها دارای ‏۸‏ پین (‏۸X‏۴=‏۳۲) ‏هستند. که درواقع هر پورت رو باید به صورت یک بایت در نظر گرفت و هر پین رو به صورت ‏یک بیت (حتما می دونید هر بایت، ‏۸‏ بیت هستش!) فرض کرد و هر کدوم از این ‏۳۲‏ ‏پایه ‏میکرو مربوط به پین خاصی از یک پورت است. در Bascom ‏نماد پورتها به صورت portx ‏که X ‏یکی از حروف A..D ‏هست بکار میره و نماد پین های هر ‏پورت هم به صورت portx.y ‏که در اینجا X ‏مثل بالا هستش و y ‏شماره پین از ‏۰‏ تا ‏۷‏ میباشه (‏۰‏تا‏۷‏ میشه ‏۸‏تا). ‏مثال:
 PortB = 10         ‘set portb to 10
 PortC.0 = 0        ‘Set pin 0 of portC to 0
 PortC.4 = 1        ‘Set pin 4 of PortC to 1
‏نکته دیگه که باید دقت کنید اینه که پورت ها یک بایتی هستند یعنی نهایت عددی که ‏میشه در اونا قرار داد ‏۲(‏۱۱۱۱۱۱۱۱) ‏درمبنای باینری یا ‏۲۵۵‏ در مبنای ‏دهدهی خودمون هست. وقتی عدد ‏۲(‏۱۱۱۱۱۱۱۱) ‏یا ‏۲۵۶‏ رو مثلا در پورت سی قرار ‏بدیم تمام پین های این پورت ‏۱‏ میشن و اگر باز‏ ‏عدد ‏۱۷‏ معادل ‏۲(‏۰۰۰۱۰۰۰۱) ‏رو در اون قرار بدیم (PortC=17) ‏انگاه پینهای‏ ‏۰‏ و‏ ‏۴‏ این پورت یک خواهند شد. فکر کنم ‏فهمیده باشید قضیه از‏ ‏چه قراره :)‏ ‏فقط باید یکم تبدیل باینری به دهدهی و برعکس رو ‏بلد باشید… اما اگر هنوز کار میکروکنترلر رو درک نکردید و اصلا نمیدونید حالا یک ‏شدن هر پین به چه درد می خوره اصلا نگران نباشید چون به موقع توضیح خواهم داد
‏روباتیک
‏روباتیک، ‏علم ‏مطالعه ‏فن آوری ‏مرتبط با ‏طراحی، ساخت و اصول کلی و کاربرد ‏روباتهاست. روباتیک علم و فن آوری ‏ماشین‏های قابل ‏برنامه ریزی، با کاربردهای عمومی می باشد.
‏برخلاف ‏تصور افسانه ای عمومی از رباتها به عنوان ماشینهای سیار انسان نما که تقریباً ‏قابلیت انجام هر کاری را دارند، بیشتر دستگاههای روباتیک در مکانهای ثابتی در ‏کارخانه ها بسته شده اند و در فرایند ساخت با کمک کامپیوتر، اعمال قابلیت انعطاف، ‏ولی محدودی را انجام می دهند چنین دستگاهی حداقل شامل یک کامپیوتر برای نظارت بر ‏اعمال و عملکردهای و اسباب انجام دهنده عمل مورد نظر، می باشد. علاوه براین، ممکن ‏است حسگرها و تجهیزات جانبی یا ابزاری را که فرمان داشته باشد بعضی از رباتها، ‏ماشینهای مکانیکی نسبتاً ساده ای هستند که کارهای اختصاصی مانند جوشکاری و یا رنگ ‏افشانی را انجام می دهند. که سایر سیستم های پیچیده تر که بطور همزمان چند کار ‏انجام می دهند، از دستگاههای حسی، برای جمع آوری اطلاعات مورد نیاز برای کنترل ‏کارشان نیاز دارند. حسگرهای یک ربات ممکن است بازخورد حسی ارائه دهند، طوریکه ‏بتوانند اجسام را برداشته و بدون آسیب زدن، در جای مناسب قرار دهند. ربات دیگری ‏ممکن است دارای نوعی دید باشد.، که عیوب کالاهای ساخته شده را تشخیص دهد. بعضی از ‏رباتهای مورد استفاده در ساخت مدارهای الکترونیکی، پس از مکان یابی دیداری علامتهای ‏تثبیت مکان بر روی برد، می توانند اجزا بسیار کوچک را در جای مناسب قرار دهند. ساده ‏ترین شکل رباهای سیار، برای رساندن نامه در ساختمانهای اداری یا جمع آوری و رساندن ‏قطعات در ساخت، دنبال کردن مسیر یک کابل قرار گرفته در زیر خاک یا یک مسیر رنگ شده ‏که هرگاه حسگرهایشان در مسیر، یا فردی را پیدا کنند متوقف می شوند. رباتهای بسیار ‏پیچیده تر رد محیط های نامعین تر مانند معادن استفاده می شود.
‏روباتها ‏همانند کامپیوترها قابلیت برنامه ریزی دارند.بسته به نوع برنامه ای که شما به آنها ‏می دهید.کارها وحرکات مختلفی را انجام می دهند.رشته دانشگاهی نیز تحت عنوان روباتیک ‏وجود دارد.که به مسایلی از قبیل سنسورها، مدارات ، فیدبکها،پردازش اطلاعات وبست ‏وتوسعه روباتها می پردازد.روباتها انواع مختلفی دارند از قبیل روباتهای شمشیر باز، ‏دنبال کننده خط،کشتی گیر،
‏فوتبالیست،و ‏روباتهای خیلی ریز تحت عنوان میکرو روباتها،روباتهای پرنده وغیره نیز وجود ‏دارند.
‏روباتها ‏برای انجام کارهای سخت ودشواری که بعضی مواقع انسانها از انجام آنها عاجز یا انجام ‏آنها برای انسان خطرناک هستند.مثل روباتهایی که در نیروگاهای هسته ای وجود ‏دارند.،استفاده می شوند.
‏کاری ‏که روباتها انجام میدهند.، توسط ‏میکرو پروسسرها(microprocessors) ‏و ‏میکروکنترلرها(microcontroller) ‏کنترل می ‏شود.با تسلط در برنامه نویسی این دو می توانید دقیقا همان کاری را که انتظار دارید ‏روبات انجام دهد.
‏روباتهایی ‏شبیه انسان (human robotic)‏نیز ساخته شده اند.،آنها قادرند اعمالی شبیه انسان را ‏انجام دهند.حتی بعضی از آنها همانند انسان دارای احساسات نیز هستند.بعضی از آنها ‏شکلهای خیلی ساده ای دارند.آنها دارای چرخ یا بازویی هستند که توسط میکرو کنترلرها ‏یا میکرو پرسسرها کنترل می شوند.در واقع میکروکنترلر یا میکرو پروسسر به مانند مغز ‏انسان در روبات کار می کند.برخی از روباتها مانند انسانها وجانوران خون گرم در ‏برخورد و رویارویی با حوادث ومثایل مختلف به صورت هوشمند از خود واکنش نشان می ‏دهند.یک نمونه از این روباتها روبات مامور است.
‏برخی ‏روباتها نیز یکسری کارها را به صورت تکراری با سرعت ودقت بالا انجام می دهند مثل ‏روبات هایی که در کارخانه های خودرو سازی استفاده می شوند.این گونه روبات کارهایی ‏از قبیل جوش دادن بدنه ماشین ، رنگ کردن ماشین را با دقتی بالاتر از انسان بدون ‏خستگی و وقفه انجام می دهند.
‏ویژگیهای یک روبات
‏یک ‏روبات دارای سه مشخصه زیر است
۱-‏داری ‏حرکت وپویایی است
۲-‏قابلیت ‏برنامه ریزی جهت انجام کارهای مختلف را دارد
۳-‏بعد ‏از اینکه برنامه ریزی شد.قابلیت انجام وظایفش را به صورت خودکار دارد.
‏ممکن ‏است روزی فرا برسد که روباتها جای انسانها را در انجام کارها بگیرند.حتی بعضی از ‏آنها ممکن است به صورت محافظ شخصی از جان انسانهادر مقابل خطرات احتمالی حفاظت ‏کنند.

 

دانلود فایل

 

0
افکار شما را دوست داریم، لطفا نظر دهید.x