تبليغاتX
دانش روباتیک

دانش روباتیک

داشتم برای این تاپیک می نوشتم که با خودم گفتم میکروی ۸۰۵۱ که قدیمی شده باید بریم طرف میکروهای ساده تر و بهتر و با امکانات بالاتر. برای همین هم دیگه نمی خوام درباره ۸۰۵۱ بنویسم.

می خوام AVR رو شروع کنم.

ولی اگه سوالی داشته باشین در مورد ۸۰۵۱ تا جایی که بتونم پاسخ می دم.

+ نوشته شده در  سه شنبه بیست و نهم اسفند 1385ساعت 15:43  توسط شایان  | 

برای شروع بهتر و کار بیشتر در زمینه برنامه نویسی به زبان اسمبلی کتاب های اسکات مکنزی بسیار خوبه. حتما از اونا استفاده کنین.

+ نوشته شده در  جمعه بیست و پنجم اسفند 1385ساعت 16:6  توسط شایان  | 

یک نمونه برنامه به زبان اسمبلی

سلام

برای این که کامپایلر خطای End نگیره باید در پایان برنامه دستور end رو تایپ کنیم.


برای نمونه من یک برنامه رو اینجا می ذارم:

این خط آدرس شروع برنامه                                           ORG 00H
این دستور پورت ۱ رو ورودی می کنه                    MOV P1,#0FFH
در این دستور پین ۲ از پورت ۲ صفر می شه                      clr p2.2

این یک برچسب یا lable است                                             main:

در این خط اگر پین صفر از پورت ۱ صفر باشد برنامه به برچسب main پرش می کند                 jnb p1.0 ,main

این جا پین ۲ از پورت ۲ یک می شود                               set p2.2

دستوری که پایان برنامه را به کامپایلر اعلام می کنه               end


+ نوشته شده در  جمعه بیست و پنجم اسفند 1385ساعت 16:3  توسط شایان  | 

شروع برنامه نویسی

خب باید برنامه نویسی رو شروع کنیم. برنامه asem.exe برنامه با فرمت txt یا asm رو به باینری و هگز کامپایل می کنه. برای این کار باید فایل برنامه رو توی شاخه ای فایل asem.exe قرار داره کپی کنیم و بعد از اون فایل asem.exe رو اجرا می کنیم. پس از اجرا باید نام فایل و فرمت اون رو وارد کنیم و پس از زدن کلید Enter برنامه کامپایل می شود.

برای آغاز برنامه باید آدرس شروع برنامه ( از درون میکرو ) رو بنویسیم. دستور org به این منظور به کار می رود:

org 00h

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

پس از مشخص کردن آدرس شروع برنامه باید ورودی یا خروجی بودن پورتها رو تعیین کنیم. اگر پورت خروجی باشد نیاز به هیچ دستوری نیست. اما اگر بخواهیم پورت یا برخی از پین های یک پورت ورودی باشد باید پین های مورد نظر رو یک کنیم:

آدرس شروع برنامه ۰ هگز است                                                            org 00h

در این دستور پورت ۱ ورودی است                                               p1=11111111b

در این دستور پین صفر از پورت ۲ ورودی است                                           p2.0=1

در این دستور پین ۴ از پورت ۲ ورودی است                                               p2.4=1

برای مقدار دهی از چند نمادمی توان استفاده کرد:

x=y در متغیر یا بایت x مقدار دهدهی y را قرار می دهد.(اگر y عدد باشد)

x=yb در متغیر یا بایت x مقدار باینری y را قرار می دهد.(اگر y عدد باشد)

x=yh در متغیر یا بایت x مقدار هگز y را قرار می دهد.(اگر y عدد باشد)

همچنین می توان در یک بایت مقدار موجود در یک بایت دیگر را قرار داد.

+ نوشته شده در  دوشنبه چهاردهم اسفند 1385ساعت 16:27  توسط شایان  | 

تعریف برخی از واژه ها

میکرو:میکروکنترلر

رگولاتور:آی سی که ولتاژ ورودی را ثابت کرده و در یک ولتاژ ثابت را به خروجی خود می دهد.


اگه باز هم واژه ای بود که نیاز به تعریف داشت در همین پست می نویسم.

+ نوشته شده در  جمعه یازدهم اسفند 1385ساعت 14:33  توسط شایان  | 

انتقادی که شده بود بسیار به جا بود. نباید از میکرو های دیگه که پیشرفته تر هم هستند غافل شد.ولی من می خوام از ساده ترین اونها شروع کنم. چون اگه با میکرو های ساده شروع کنیم بعدا که به میکروهای پیشرفته تر می رسیم بهتر می تونیم از امکانات اون استفاده کنیم.

پس ۸۰۵۱ رو ادامه می دیم.


برای نوشتن برنامه از یک ادیتور مانند نت پد که توی همه ویندوزها پیدا می شه استفاده می کنیم. برای کامپایل برنامه از برنامه asem.exe استفاده می کنیم.

بعد از کامپایل هم فایل باینری (Bin.) یا هگز (hex.) برنامه رو روی آی سی لود می کنیم. برایلود کردن برنامه روی آی سی باید آی سی رو رویپروگرامر قرار دهیم و از داخل نرمافزار آن فایل رو بریزیم روی آی سی. بعد از پروگرام کردن آی سی اونو روی مدار می ذاریم و تغذیه اونو هم وصل می کنیم ( البته بعد از وصل کردن سیم های ورودی و خروجی و ... )

بعد از وصل جریان آی سی شروع بهکار می کند.

+ نوشته شده در  شنبه پنجم اسفند 1385ساعت 15:30  توسط شایان  | 

برای تغذیه ۵ ولت باید از یک رگولاتور ۵ولت (به شماره ۷۸۰۵ ) استفاده کنیم.

بعد از وصل کردن سیم های تغذیه و پرورگرام کردن آی سی باید اونو روی برد آزمایش کنیم. من معمولا از یک برد برد استفاده می کنم. چون کار با اون خیلی ساده است و خیلی زود هم می تونیم مدار رو ببندیم.

بعد از بستن مدار و وصل کردن تغذیه مدار باید ورودی ها و خروجی های اونو هم وصل کنیم.

حالا با وصل کردن آداپتور یا باتری به مدار شروع به کار می کنه.

برنامه هم با توجه به ورودی ها به ما خروجی می ده.



+ نوشته شده در  شنبه پنجم اسفند 1385ساعت 13:59  توسط شایان  | 

8051

دیگه هیچ چیز دیگه ای نمی نویسم و می رم سر آموزش میکرو.

می خوام از ۸۰۵۱ شروع کنم. خودم هم با این خانواده از میکرو کنترلر شروع کردم.


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

اما برای یک روبات معمولی ( لاین فالوور ) بسایر خوبه.

برای راه انداختن یک میکرو از خانواده ۸۰۵۱ باید +۵ ولت رو به پایه آخر ( مثلا اگه ۴۰ پایه است به پایه ۴۰ ) و منفی یا همون GND رو به پایه وسط ( اگه ۲۰ پایه است به پایه ۱۰ ) وصل کنیم.

پایه ریست اونو هم با یک خازن ۴.۷ میکروفاراد به مثبت و همون پایه رو با یک مقاومت ۱۰ کیلو اهم به زمین (GND ) باید وصل کنیم حالا مدار رو روشن می کنیم. اگه آی سی برنامه ریزی شده باشد شروع به کار می کند.

برای برنامه ریزی یا پروگرام کردن اون هم باید یک پروگرامر خانواده ۸۰۵۱ رو بگیرین.

+ نوشته شده در  سه شنبه یکم اسفند 1385ساعت 14:36  توسط شایان  | 

چند تا نکته کوچولو

می خوام چند تا نکته کوچولو بگم که فکر میکنم خیلی به درد می خوره.

۱.تو  هر سایت خبری که می تونین عضو شین.

۲.تا جایی که می تونین تو یک زمینه ( مانند روباتیک ) اطلاعات خودتونو افزایش بدین.

۳.ولی باعث نشه که زمینه های دیگه رو فراموش کنین.

۴.برای ساخت یک روبات تا می تونین روی اون کارکنین. چون یک روبات هر چه قدر هم که خوب و درست کار کنه اگه یک ذره هم احتمال خطا داشته باشه اون خطا صد در صد تو مسابقه کار روبات رو متوقف می کنه.

۵.برای شروع روباتیک صد در صد از یک روبات ساده و کوچولو مانند لاین فالوور شروغ کنید.

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

۶.اگه می خواهین برنامه نویسی میکرو کار کنید دست کم یک کتاب بگیرین. چون ممکنه که برنامه نویسی و ساختار برنامه رو یاد بگیرین اما همیشه دستورهایی برای برنامه لازم می شه که یادتون رفته پس همیشه کتاب مربوط به اون رو دم دست داشته باشین.

۷.اگه دیگران از شما اطلاعاتی خواستن حتما اگر می دنین به اونا بگین. ( خسیس نباسین )

۸.ایراد های روباتتون و تجربه هاتونو به دیگران بگین تا اونا بتونن بهتر کار کنن.

۹.

شماره بعدی رو نمی گم. چون خیلی زیاد حرف زدم.

+ نوشته شده در  سه شنبه یکم اسفند 1385ساعت 14:17  توسط شایان  |