PDA

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



PHANTOM ™
04-09-2011, 11:39 AM
با عرض سلام خدمت تمامی دوستان.
در نظر دارم در این تاپیک ساخت ربات نور یاب رو برای افراد مبتدی که هنوز چیزی در مورد ربات نمی دونند آموزش بدم.
قبل از هر چیز باید این افراد بدونند که ساخت اکثر ربات ها ساده هست.
ربات مسیر یاب، ربات نور یاب، ربات ماز (لابیرنت)، روبات RUFBOT(این نوع ربات از راه دور کنترل می شود) و ربات های مشابه تقریبا ساده ساخته می شوند و فقط برای ساخت آنها کمی تجربه لازم است که بعضا اشاره خواهد شد.
رباتهایی مانند ربات انسان نما یا رباتی برای پیدا کردن پارگی در کابل های اینترنت در زیر اقیانوس ها ساختمانی پیچیده دارند. وزن این نوع ربات گاهی به یک تن می رسد.

ربات ها برای اهداف ویژه ای ساخته می شوند. مثلا رباتی که بتواند زباله های هسته ای که فوق العاده سمی هستند را جابجا کند. یا رباتی که بتواند در یک کارخانه ی خودروسازی عملیات رنگ آمیزی خودرو ها را انجام دهد، نمونه هایی از این اهداف هستند.

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

برای ساخت ربات باید چند چیز را حتی در حد بسیار بسیار مبتدی بدانید:
1)الکترونیک (برای طراحی مدارات)
2)برنامه نویسی (برای برنامه دادن به ربات)
3)کنترل (برای کنترل حرکات ربات)
4)مکانیک (برای بستن قسمت های متحرک و مکانیکی)

شما با الکترونیک ربات در ادامه آشنا می شوید.

سوالی در اینجا پیش می آید و آن این است که چرا برنامه نویسی باید بدانیم؟
اکثر ربات های امروزی دارای مغز متفکری هستند که تمام عملیات ربات را انجام می دهد به طوری که می توانیم به این مغز متفکر خودمان دستور بدهیم. نام این مغز متفکر میکروکنترلر می باشد. میکرو کنترلر را با نام کامپیوتر تک تراشه ای می توان نام گذاری کرد. همانطور که می دانید کامپیوتر خنگی شامل CPU، RAM، ROM، Hard Disk، I\O(ورودی خروجی) و بعضی قسمت های داخلی دیگر است به طوری که می توان بسته به نیاز خودمان مقادیر آنها را تغییر داد ولی میکروکنترلر مقدار ثابتی از حافظه های بالا را شامل میشود. فرق میکروکنترلر (از این به بعد به میکروکنترلر میگم میکرو) با کامپیوتر به صورت زیر می باشد:
1)مصرف توان: در کامپیوتر توان زیادی در حد 200 تا 300 وات تلف می شود و ولتاژ کاری کامپیوتر خیلی بالا است ولی میکرو مصرف توانی در حد صفر دارد و با ولتاژ بسیار پایین در حد 5 ولت کار می کند.
2)قیمت: برای ساخت یک دماسنج قیمت کامپیوتربسیار بالا است در حالی که می توان با حدود 1000 تومان یک دماسنج با میکرو ساخت
3)اندازه: کامپیوتر حجم بسیار زیادی را اشغال می کند و وزن زیادی دارد بنابراین نمی توان از کامپیوتر در روبات نور یاب و رباتهای دیگر استفاده کرد.
4)فرکانس کاری کامپیوتر فوق العاده بالاست که به کار ما در ساخت ربات نمی آید ولی برای پردازش فرکانس های ویدیویی که در حد 400 مگاهرتز است میکرو جوابگو نیست و در این حالت می توان بجای کامپیوتر از تراشه های FPGA استفاده کرد این تراشه ها اکثر مشخصات میکرو را دارا هستند و برنامه پذیرند.
5)غالبا کامپیوتر برای انجام کارهای پیشرفته که میکرو و FPGA جوابگو نیستند استفاده می شود (مثلا برای انجام کارهای گرافیکی و یا استفاده از اینترنت)
6)به میکرو تک منظوره می گویند یعنی فقط یک عملیات انجام می دهد (مثلا فقط برای کنترل ربات استفاده می شود و یا فقط برای نمایش ساعت استفاده می شود) ولی کامپیوتر همه منظوره است و می تواند همزمان عملیات بسیار مختلفی را انجام دهد.

ما می توانیم با چند زبان برنامه بنویسیم:
1)بیسیک: این زبان به دلیل آنکه کلمات کلیدی زیادی دارد، فهمش برای کاربر آسان است بنابراین به اشخاص مبتدی یادگیری این زبان توصیه می شود. عمده اشکال این زبان این است که در نرم افزار های گوناگون دستورات مختلفی دارد. سطح این زبان بالا است و حدود 150 کلمه ی کلیدی دارد. (کلمات کلیدی مانند IF در زبان بیسک نمی توانند به جای اسم متغیر ها استفاده شوند)
2)زبان سی C: این زبان ساخت یافته است به این صورت که در نرم افزار های گوناگون دستورات مشابه دارد. این زبان سطح میانی دارد و حدود 30 کلمه ی کلیدی دارد.
3)پاسکال: این زبان مانند سی است ولی با آمدن زبان سی منسوخ شده است.
4)اسمبلی: سطح پایینی دارد. تمامی زبانها هنگام ترجمه برای میکرو (دستوراتی که ما برای میکرو می نویسیم باید توسط مترجم یا همان کامپایلر ترجمه شوند تا میکرو آنها را بخواند) به این زبان تبدیل می شوند بنابراین با نوشتن برنامه به زبان اسمبلی می توان حجم برنامه را کنترل کرد و در برنامه های دقیق مانند ساعت برای دقت زیاد برنامه به این زبان نوشته می شود. یادگیری این بان را به افراد مبتدی توصیه نمی کنیم.

ما پنج مدل میکرو داریم که دو تای آن در ایران یافت نمی شود
1)AVR: برای افراد مبتدی استفاده از این میکرو را توصیه می کنم
2)8051: قیمت پایینی دارد و برای کارهای کوچک تر استفاده می شود.
3)PIC: در ایران چندان محبوب نیست.
برای اطلاعات بیشتر به beygielectronic.blogfa.com مراجعه کنید.

آموزش برنامه نویسی برای AVR به زبان بیسیک: برای آموزش یک پست تو آدرس زیر قرار دادم:
http://forum.iranled.com/showthread.php?...688&page=3 (http://forum.iranled.com/showthread.php?tid=10688&page=3)

حالا چگونه باید برنامه را به میکرو منتقل کنیم برای این کار از پروگرمر استفاده می کنیم این پروگرمر می تواند به پورت USB کامپیوتر یا سایر پورت های کامپیوتر وصل شود نحوه ی پروگرم کردن را بعدا می گویم.
فعلا نقشه ی چندتا پروگرمر رو قرار میدم:

http://rapidshare.com/files/275861907/Pr...0.zip.html (http://rapidshare.com/files/275861907/Programmer_AVR_STK200-300.zip.html)

http://rapidshare.com/files/275863576/AV...r.rar.html (http://rapidshare.com/files/275863576/AVR_Jtag_Programmer.rar.html)

http://rapidshare.com/files/275865936/80...r.zip.html (http://rapidshare.com/files/275865936/8051_Programmer.zip.html)

http://rapidshare.com/files/275866600/PI...r.rar.html (http://rapidshare.com/files/275866600/PIC16F84A_Programmer.rar.html)

اینم نقشه ی یک ربات تعقیب نور فوق العاده ساده (لازم به ذکر است برای افزایش حساسیت این ربات به نور باید مقاومت های 1K اهمی را در حدود 15K اهم قرار دهید که بستگی به جنس مقاومت نوری دارد)

http://rapidshare.com/files/275867445/Li...t.zip.html (http://rapidshare.com/files/275867445/Light_Follower_Robot.zip.html)

ادامه ی مبحث باشه برا بعد