تبليغاتX
آموزش روبوتيك
آموزش ساخت روبوت به زبان sade !!
چند واژه... 

با سلام!...

 

اينبار فكر كردم بهتره براي اونايي كه خيلي پياده هستن و معني لغاتي مثل كامپايلر ، بيت، بايت، پروگرمر و غيره رو نميدونن يه فرهنگ‌لغت بنويسم!

 

بيت: به كوچكترين واحد حافظه كه ميتونه صفر يا يك (روشن يا خاموش) رو ذخيره بكنه بيت مي گويند. به همين سادگي!

بايت: به مجموعه‌اي از بيت ها، بايت مي‌گويند. به عنوان مثال يك بايت 8 بيتي مي تواند 256 (28)حالت را شامل بشود.يعني اعداد صفر تا 255 رو نمايش بده:      110011001=409، ..... 101100101=357

سیگنال آنالوگ: سیگنالی است پیوسته در زمان که دامنه آن نیز پیوسته است. برعکس سیگنال دیجیتال کوچکترین تغییرات الکترونیکی در این سیگنال نیز دارای مفهوم می‌باشند و در نظر گرفته می‌شوند.

سیگنال دیجیتال: سیگنالی است که هم از نظر زمان رخداد و هم از نظر مقدار در بازهٔ خاصی محدود شده باشد. سیگنال دیجیتال در مقابل سیگنال آنالوگ تعریف می‌شود، که در آن حدودی برای پارامترهای فوق تعریف نمی‌شود. سیگنال دیجیتال از نظر ریاضی سیگنالی است که فقط از صفرها و یک‌های منطقی تشکیل شده باشد. این یک و صفرها ممکن است به شیوه‌های مختلفی نشان داده شوند که به این شیوه، کدینگ سیگنال گویند.

كامپايلر: كامپايلر يعني مترجم. براي ميكروكنترلر هيچ چيز ديگري غير از 0 و 1(كد ماشين) معني نداره و براي اينكه بتونيم كد هايي را كه به زبانهايي مثل بيسيك و سي و پاسكال و غيره مي‌نويسيم روي ميكروكنترلر اجرا كنيم بايد آنها را به كد ماشن ترجمه كنيم. البته اينكار مراحل زيادي داره(compiler, assembler, linker, . . .) كه ما، در حالت كلي به اين فرايند، كامپايل كردن و به نرم‌افزاري كه اينكار رو براي ما انجام مي‌ده كامپايلر مي‌گيم! براي مثال نرم‌افزار bascom-avr كه تو پست قبل براي دانلود گذاشتم يه كامپايلر بيسيك براي ميكروكنترلرهاي AVR هست. يعني كدهاي بيسيكي رو كه ما مي‌نويسيم رو به كد ماشين قابل فهم براي ميكروكنترلر تبديل ميكنه! هر كي نفهميد، خيلي ن-ه-ه !!.

پروگرمر: خوب حالا فرض كنيم برنامه رو نوشتيم و كامپايل كرديم و مي‌خواهيم كدمون رو روي ميكرو اجرا كنيم. فايل خروجي اكثر كامپايلر‌ها (كه همون كد قابل فهم ميكرو رو شامل ميشه!) داراي پسوند hex. هست. براي انتقال محتويات اين فايل به حافظه ميكروكنترلر بايد از وسيله‌اي به نام پروگرمر استفاده كنيم. به همين سادگي!! (ساخت پروگرمر براي AVR خيلي راحت و كم هزينه است كه تو پست بعدي راجع بهش حرف ميزنيم). نرم‌افزاري هم كه براي اينكار لازم هست روي اكثر كامپايلر‌ها وجود داره.

TTL: (Transistor-Transistor Logic)دستهاي از مدارهاي ديجيتال كه به دليل مصرف انرژي كم كاربرد وسيعي پيدا كرده‌ و به يك استاندارد تبديل شده‌اند. وقتي كه يك سيگنال TTLبين 0 و 8/0 ولت باشد low و وقتي بين 2 تا 5 ولت باشد high تعريف مي‌شود. در اين نوع مدارات ولتاژ استاندارد كاري، 5ولت است. ممكن است input يا output يك وسيله الكترونيكي مثل يك IC ، TTL باشد كه نشان دهنده سازگاري با سطح ولتاژ TTL است.(زياد جدي نگيريد!!)

 

 

 

نظر بدین!!

|+| نوشته شده توسط آرش در یکشنبه سی ام اردیبهشت 1386 | موضوع: عمومی
Bascom-AVR 1.11.7.8 
با سلام..

Bascom-AVR يه كامپايلر بيسيك براي AVR هست. البته کامپایلر خیلی ضعیفیه! ولی برای مبتدی ها کار کردن باهاش خیلی راحته.

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

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

**قابل توجه کسایی که از  XP استفاده میکنن:

برای پروگرم کردن(انتقال کدهای ماشین به میکرو) توسط Bascom حتما باید این فایلها رو به پوشه اصلیBascom کپی کنین و به جای اجرای خود برنامه فایل A.BAT رو اجرا کنین (بعدا میتونین اسمشو تغییر بدین!). (توجه داشته باشین که بدون انجام این کار Bascom نمی تونه میکرو مورد نظر رو بشناسه و پیام خطای "Could not identify chip with ID:FFFFFFF" رو میده.)

دانلود Bascom-AVR

 

|+| نوشته شده توسط آرش در شنبه نوزدهم اسفند 1385 | موضوع: دانلود
Micromouse 1 

 

حتما آخراشو ببینین.

ما هنوز اندر خم یک کوچه ایم!!

 

نظر بدین!!

 

|+| نوشته شده توسط آرش در شنبه نوزدهم اسفند 1385 | موضوع: گالری روبوت ها
آشنایی با میکروکنترلها- AVR(قسمت اول)  

با سلام دوباره!

با اجازه شما می خوام چند تا پست راجع به AVR مطلب بنويسم.

اگه پست هاي قبلي رو خونده باشيد بايد با نقش ميكروكنترل آشنا شده باشيد. ميكروكنترلهای AVR به دلیل سرعت بالا و امکانات و معماری پیشرفته تری که نسبت به میکروکنترلهای قدیمی تر (مثل میکروکنترلهای خانواده 8051) داره٬ بيشتر مورد توجه قرار گرفته و كم كم دارن جاي ميكرو هاي قديمي رو ميگيرن.

از امكانات جديد اين خانواده ميشه به اين موارد اشاره كرد:

سرعتي معادل  16Mips  با کریستال ۱۶ مگاهرتز (۱۶ برابر ۸۰۵۱) - مبدل آنالوگ به دیجیتال (خیلی بدرد بخوره!) - PWM سخت افزاری - داشتن پروگرمر ISP (یعنی لازم نیست هر دفعه برای پروگرم کردن IC رو بیرون بیارین) و  خیلی امکانات جدید که خارج از بحث ماست.

ما برای مثالامون قراره از  Atmega16 استفاده کنیم پس برای شروع ٬این میکروکنترلر رو بررسي مي كنيم! 

1۱- Atmega16

 


2۲- نام و شماره پین ها (Pinout)

 


3۳- حداقل پیکر بندی برای Atmega16

 

فعلا اینا رو داشته باشین تا دفعه بعد.!!

|+| نوشته شده توسط آرش در یکشنبه بیست و دوم بهمن 1385 | موضوع: آشنایی با میکروکنترلر ها
استفاده از رگلاتور 

با سلام...

خوب... گفتیم که میکروی شما برای کارش نیاز به ولتاژی برابر ۵ ولت داره . ولی چطور میشه این ولتاژ رو ایجاد کرد؟ برای ایجاد این ولتاژ باید از قطعه ای به نام رگلاتور استفاده کرد. کار این قطعه ثابت نگه داشتن ولتاژ روی یک سطح خاصه. مثلا رگولاتور ۷۸۰۵ ولتاژ رو رو ۵ ولت نگه میداره. یا ۷۸۰۹ ولتاژ رو روی ۹ ولت و  ۷۸۱۲... به همین ترتیب جلو برید!

1

در شکل بالا نام پایه های ۷۸۰۵ رو می بینید. برای استفاده از رگلاتور میتونین از شماتیک زیر استفاده کنید:

البته باید اینو بگم که لازم نیست که حتما دو تا خازن 100nf رو نصب کنین. ولی حتما باید یک خازن پر ظرفیت رو مثل شکل بالا به مدارتون اضافه کنید. دلیلشم اینه که موتور هایی که قراره تو روبوتتون استفاده کنید نویز زیادی رو تو مدارتون ایجاد میکنن که اون هم به نوبه خودش می تونه باعث هنگ کردن میکرو تون بشه و روبوتتون قاط بزنه. خوب حالا میتونین بخش تغذیه روبوتتون رو راه بندازید!! موفق باشید!

فعلا تا بعد.

|+| نوشته شده توسط آرش در شنبه سی و یکم تیر 1385 | موضوع: مدار های عمومی
آشنایی با میکروکنترلها 

دوباره سلام!

تو این پست میخوام مختصری راجع به میکرو (=میکروکنترلر!) حرف بزنیم. میکروکنترلر در واقع مغز روبوت ماست! تمام تصمیم گیریها توسط برنامه ای که ما خودمون قبلا به میکرو داده ام در درون این IC انجام میشه در واقع  میکرو یک کامپیوتر به تمام معنی است که دارای خصوصیت هایی مثل یک کامپیوتر شخصیه! ولی به صورت خیلی خیلی محدود.

البته اینم بگم که لازم نیست که ما حتما از میکروکنترلر استفاده کنیم و میشه یک روبوت تعقیب خط بدون میکرو ساخت. حتی میشه فقط از ترانزیستور استفاده کرد! ولی کیفیت روبوت و حجم اون به طور قابل ملاحظه ای تحت تاثیر قرار میگیره.

 میکرو ای که قراره باهاش کار کنیم از خانواده ۸۰۵۱ است که برای اولین بار توسط اینتل عرضه شد. ولی ما قرار نیست با خود ۸۰۵۱ کار کنیم چون خیلی قدیمی شده! ما قراره با میکروکنترلهایی مثل AT89c51 یا AT89c2051 و ... کار کنیم که از اعضای خانواده ۸۰۵۱هستن که دارای معایب و محاسنی نسبت به انواع دیگه ی میکرو هاهستن که به طور مختصر به اونا اشاره میکنم:

معایب: داشتن پروگرمر پیچیده و گران - قدیمی شدن این خانواده.

محاسن: قیمت پایین آنها نسبت به سایر انواع میکرو ها(۵۰٪>) - منابع مطالعاتی گسترده در کشور ما. 

متاسفانه برای خریدن پروگرمر این نوع از میکروکنترلها باید حدود ۲۰ تومن کنار بزارین!! ولی باور کنید به دلیل پایین بودن قیمت این میکروکنترلرها نسبت به انواع دیگه(AVR ...)( که میشه مثلا با ۱۲۰۰-۱۳۰۰ تومن یک AT89c52 خرید.) به آدم موقع کار کردن اضطراب کمتری وارد میشه!! ولی موقعی که ۳۵۰۰ تومن میدین و یه ATMEGA32 میخرین موقع سوختنش درد و رنج بسیاری بهتون وارد شده و  نوعی احساس پوچی بهتون دست میده!! البته اینم باید قبول داشت که امکانات یه ATmega32 به صورت باور نکردنی کار شما رو راحتتر میکنه ولی چه میشه کرد!بسوزه پدر بی پولی!!

به هر حال! هر سوالی داشتین بپرسین همچنین نظر یادتون نره!

 

|+| نوشته شده توسط آرش در پنجشنبه بیست و نهم تیر 1385 | موضوع: آشنایی با میکروکنترلر ها
سلام! 
باسلام به همه شما از امروز میخوام کارم رو شروع کنم. همه کسایی هم که میخوان کمک کنن و نویسنده این وبلاگ بشن کافیه یه PM  یا E-mail بفرستن.

برای شروع بهتره با میکروکنترلها آشنا بشید که انشاالله تو پست بعدی راجع بهش مطلب مینویسم!

فعلا تا بعد.

|+| نوشته شده توسط آرش در پنجشنبه بیست و نهم تیر 1385 | موضوع: عمومی
بالا