توجه :
 
 چنانچه مفاهیم یا عبارت ها و اصطلاحات به کار رفته در این صفحه را متوجه نمی شوید، می توانید مطالعه خود را از اولین جلسه آموزشی رباتیک شروع نمایید. بدین منظور روی لینک زیر کلیک فرمایید:
 
 
همچنین چنانچه بخشی از مطالب را قبلا خوانده اید، برای مشاهده فهرست موضوعات جلسات آموزشی رباتیک، لطفا روی لینک زیر کلیک فرمایید:
 
 
در این بخش از سایت رشد، مطالب آموزشی در زمینه رباتیک با زبان بسیار ساده و بر مبنای مطالبی که در سنین راهنمایی آموخته اید ارائه شده و در هر جلسه مطالب جدیدی آموزش داده شده اند.
 آخرین مطالب
Module Load Warning
One or more of the modules on this page did not load. This may be temporary. Please refresh the page (click F5 in most browsers). If the problem persists, please let the Site Administrator know.

 جلسه‌ي سي‌ام
جلسه‌ي سي‌ام
معرفي پروتكل STK200\300 براي پروگرام كردن ميكروكنترلر‌هاي خانواده‌ي AVR، ساخت يك پروگرامر بسيار ساده و...

جلسه‌ي بيست و نهم

صفحه‌ي اصلي رباتيك

جلسه‌ي سي و يكم

 

به نام خدا

با سلام خدمت همه‌ي دوستان عزيزم

ابتدا بايد يك نكته رو از مطالب جلسه‌ي پيش گوش زد كنم، براي بستن مدار Reset و همچنين كرستال خارجي، در ATMEGA16L هيچ الزامي وجود ندارد و صرفاً براي دقت بيشتر مي‌باشند.
در ضمن ياد آوري مي‌كنم كه ميكروكنترلر‌هاي ATMEGA16L و ATMEGA16 تفاوت خاصي در ترتيب پايه‌ها و كارايي با يكديگر ندارند. مهمترين تفاوت اين 2 آي سي در فركانس كاري اين 2 آي سي است كه ATMEGA16L نمي‌تواند با فركانس بيش از 8 مگاهرتز كار كند.
خوب، همانطور كه قول داده بوديم، قراره اين جلسه ساخت يك پروگرامر بسازيم كه بتوانيم به وسيله‌ي آن، برنامه‌هايي كه در كامپيوتر مي‌نويسيم را به ميكروكنترلر منتقل كنيم.

براي پروگرام كردن ميكروكنترلر‌هاي خانواده‌ي AVR روش‌ها و پورتكول‌هاي متعددي وجود دارد. يكي از معروفترين و پركاربردترين پروتكول‌هاي موجود، STK200\300 نام دارد كه ما در اين جلسه سعي مي‌كنيم نحوه‌ي استفاده از اين پروتكول را آموزش دهيم.

همانطور كه گفته شد، ميكروكنترلرهاي خانواده‌ي AVR اين قابليت را دارند كه مي‌توان آن‌ها را مستقيماً به وسيله‌ي يك كابل 5 رشته به كامپيوتر متصل نموده و پروگرام كرد، و در نتيجه، نيازي به يك دستگاه مجزا براي پروگرام كردن ندارند. اين روش پروگرام كردن STK200/300 نام دارد. اين روش، به خاطر عدم نياز به هرگونه مدار جانبي و سهولت كار با آن، از محبوبيت زيادي در بين كاربران حرفه‌اي برخوردار است.

اولين نكته اين است كه اگر كامپيوتر شما پورت LPT(موازي) نداشته باشد، شما نمي توانيد به اين روش(يعني فقط با يك كابل 5 رشته‌ي ساده) ميكروكنترلر خود را پروگرام كنيد و بايد از مدارهاي پروگرامر USB استفاده كنيد. با استفاده از پروگرامر‌هاي USB، شما مي‌توانيد با استفاده از درگاه USB هم ميكروكنترلر خود را پروگرام كنيد. ساختن اين پروگرامرها كار ساده‌اي نيست، اما انواع مختلف آن‌ها در بازار موجود است كه بين 20 تا 200 هزار تومان هم قيمت دارند.

براي ديدن پورت يا درگاه LPT (موازي) ، به پشت كيس كامپيوتر خود نگاه كنيد.

 

 



اين درگاه، درگاه ارتباط موازي(Parallel) يا LPT نام دارد و يكي از رايج‌ترين كاربردهاي آن براي ارتباط با پرينتر است. البته اكثر پرينترهاي امروزي از طريق درگاه USB با كامپيوتر ارتباط برقرار مي‌كنند.

درگاه LPT داراي 25 پايه است كه به شكل زير شماره گذاري مي‌شوند.

 

 



براي ساختن اين پروگرامر ساده، شما احتياج به نيم متر كابل فِلَت 5 رشته و يك عدد سوكت نَري LPT داريد. البته الزامي در استفاده از اين نوع كابل نيست و مي‌توان از هر كابل 5 رشته‌ي ديگري براي اين منظور اسفاده كرد.

 



سوكت نَري LPT.

 

كابل فلت نيز در شكل زير نشان داده شده است.

 

 

 



شما بايد اين 5 رشته را به پايه‌هاي شماره‌ي 6و7و9و10و24‌ از اين سوكت لحيم كنيد.

 

حالا مي‌توانيد به وسيله‌ي اين 5 سيم ميكروكنترلر خود را پروگرام كنيد. كافيست اين سيم‌ها را به ترتيب زير به پايه‌هاي ميكروكنترلر وصل كنيد.

سيمي كه به پايه‌ي شماره‌ي 6 سوكت متصل شده است، بايد به پايه‌ي SCK در ميكروكنترلر شما وصل شود. در  SCK, ATmega16 پايه‌ي شماره‌ي 8 است.

پايه‌ي شماره‌ي 7 سوكت، بايد به پايه‌ي MOSI در ميكروكنترلر وصل شود. در MOSI ,ATmega16 پايه‌ي شماره‌ي 6 است.

 

پايه‌ي شماره‌ي 9 سوكت، بايد به پايه‌ي Reset در ميكروكنترلر وصل شود. در ATmega16 Reset پايه‌ي شماره‌ي 9 است.

 

پايه‌ي شماره‌ي 10  سوكت، بايد به پايه‌ي MISO در ميكروكنترلر وصل شود. درMISO,ATmega16 پايه‌ي شماره‌ي 7 است.

 

و در نهايت، پايه‌‌هاي شماره‌ي 18تا 25 نيز، بايد به GND يا همان زمين در ميكروكنترلر وصل شود. پايه‌ي 11و 31 در ATmega16L ، - ياهمان GND است.بهتر است براي اتصال اين پايه‌ به ميكروكنترلر، از يك مقاومت 1 كيلو اهم استفاده كنيد.

در ضمن دقت كنيد، كه اگر طول سيم بيش از نيم متر باشد، ممكن است در پروگرام كردن دچار مشكل شويد، به همين خاطر بهتر است تا جاي ممكن طول سيم را كوتاه انتخاب كنيد.

 

جلسه‌ي آينده در مورد نحوه‌ي انجام تنظيمات مربوط به پروگرامر را در CodeVision نيز توضيح خواهيم داد.

منتظر سولات و نظرات دوستان خوبم هستم

پيروز باشيد

 

دوست شما،فراز اميرغياثوند


جلسه‌ي بيست و نهم

صفحه‌ي اصلي رباتيك

جلسه‌ي سي و يكم

 

1387/11/14لينک مستقيم

فرستنده :
پسر آریایی HyperLink HyperLink 1388/3/3
مـتـن : سلام من عاشق الکترونیک و رباتیک هستم و هم اکنون هم در پایه سوم ریاضی مشغول تحصیل هستم و قصد دارم در تابستان کار رباتیک را شروع کنم.
البته در محل زندگی ما کلاسی در این زمینه وجود ندارد.
آیا میتنوانم با راهنمایی ها و درسهای فوق العاده شما به نتیجه برسم؟
در ضمن قطعات مورد نیاز را از کجا تهیه کنم؟
پاسـخ : سلام دوست عزيز
اين بستگي به پشتكار و علاقه‌ي خودت داره، اگر اينطور كه مگي باشه، بله، حتماً مي‌تونيد به نتيجه برسيد.
موفق باشي

فرستنده :
مهرناز HyperLink HyperLink 1387/12/7
مـتـن : سلام من دانشجو هستم و مشغول ساختن ربات هستم ولی در نحوه ی پروگرام کردن باcodvision دچار مشکل شده ام تمامی مراحل ereas و flash کردن را درست انجام میدهم اما میکرو avrپروگرام نمیشود فیوز بیت های 5و9و10و13 را انتخاب میکنم و مطمئن هستم که پروگرامر و میکرو هم سالم است آیا در برنامه نکته خاصی برای پروگرام کردن وجود دارد؟لطفا من را راهنمایی کنید
پاسـخ :سلام
ممكنه شما فايلي كه Load كرديد اشتباه بوده باشه، يعني فايل قبليتون رو load كرديد و اصلاً فايل جديد رو روي ميكروكنترلر پرگرام نمي‌كنيد.
شايد هم مشكل از فركانس SCK باشه، اون رو كم كنيد و دوباره امتحان كنيد. در نهايت احتمال داره اصلاً آي‌سي شما سوخته باشه، با يك آي‌سي ديگه هم امتحان كنيد به نظر من.
موفق باشيد

فرستنده :
سعید HyperLink HyperLink 1387/12/7
مـتـن : چرا از bascom استفاده نمی کنیم؟
پاسـخ :سلام. يكي از مهمترين دلايلش توانايي‌هاي بالاي CodeVision در ارتباط با ميكروكنترلر‌هاي AVR است. همچنين سادگي و سهولت استفاده از اين نرم افزار نيز اهميت بالايي دارد.

فرستنده :
حسن HyperLink HyperLink 1387/12/7
مـتـن : سلام خسته نباشید لطفا درباره مداره چاپی وطرز ساخت آن توضیح میدهید یا سایتی درباره این موضوع معرفی میکنید ممنون میشم اگه درباره ی کاربرد واجرای نرم افزار های برق مانند protel dxp و.... درکشیدن pcb مدار توضیح دهید (چون من در پیدا کردن بعضی از قطعات درDXP 2004 مشکل دارم) مر30
پاسـخ : سلام حسن جان
بله، احتمالاً در آينده آموزش طراحي PCB هم در اين بخش خواهيم داشت، اما در حال حاضر بنده منبع خاصي رو به جز كتاب‌هاي موجود براي آموزش ابن مطلب، نمي‌شناسم. موفق باشيد

فرستنده :
اسماعیل HyperLink HyperLink 1387/12/7
مـتـن : سلام آقا فراز ممنون از آموزشتون
یه سوال خارج از مبحث
من در مورد سنسور جهت یاب مغناطیسی(قطب نما)و نحوه تنظیم اون اطلاعاتی میخواستم اگه میتونید مرا راهنمایی کنید یا منبعی دقیقی رو بفرستین به میل من
متشکر میشم
پاسـخ : سلام اسماعيل جان
كار با سنسور قطب نما يا Compass ، نسبتاً مشكل هستش. شما مي‌تونيد آي‌سي مربوطه را از بازار تهيه كنيد و خودتان مدار راه‌اندازي اسن سنسور را طراحي كنيد؛ اما من اين كار رو اصلاً توصيه نمي‌كنم، چون كار بسيار مشكليه. اگر هم بخواهيد از نمونه‌هاي آماده‌ي آن استفاده كنيد، باز هم راه مشكلي در پيش رو داريد، زيرا اين سنسور‌ها ساخت يك شركت آمريكاييست و به ايراني‌ها راحت فروخته نمي‌شود، و اگر هم در ايران گير بياريد، بهاي بسيار بالايي را براي آن بايد پرداخت كنيد. گذشته از اين، كار كردن با اين سنسور هم كار ساده‌اي نيست، شما بايد با پروتوكل I2C يا Usart‌ در ميكروكنترلر‌هاي AVR آشنايي داشته بايد تا بتوانيد از اين قطعه استفاده كنيد. در جلسات آينده با اين پروتوكل‌ها آشنا خواهيد شد.
موفق باشي دوست عزيز

فرستنده :
حسين HyperLink HyperLink 1387/12/7
مـتـن : سنسور مادون قرمزي رو معرفي كنيد كه بتونه امواج دريافتي از توپ رو آشكار كنه و فاصله ي نسبي (مثلا از سنسور بغلي كمتر يا بيش تر) رو بشه با اون تشخيص داد.
يعني اگه به اون سنسور نزديك تر باشه ولتاژ بيش تري بده نسبت به سنسور دورتر
پاسـخ : سلام حسين جان
من منظور شما رو متوجه نمي‌شم، سنسور‌هايي كه ما معرفي كرديم اين كار رو انجام ميدهند، ولي اگر منظورتون اينهكه چگونه بايد از اين ولتاژ متغير استفاده كنيم، بايد از قابليت مبدل آنالوگ به ديجيتال (ADC) ميكروكنترلر استفاده كنيد، ما هم اين مطلب رو در جلسات آينده اموزش خواهيم داد.
موفق باشي دوست عزيز

فرستنده :
پدرام HyperLink HyperLink 1387/12/7
مـتـن : سلام چرا نبايد طول سيم ما بيش از نيم متر باشد؟آيا مشكلي در فرستادن اطلاعات به ميكروكنترلر به وجود مي آيد؟
پاسـخ :سلام.
بله، ممكن است در تبادل اطلاعات بين ميكرو و كامپيوتر اختلال ايجاد شود و نتوانيد به راحتي پروگرام كنيد. موفق باشيد

نظر شما پس از تاييد در سايت قرار داده خواهد شد
نام :
پست الکترونيکي :
صفحه شخصي :
نظر:
تاییدانصراف
 

 

 فعاليت هاي علمي
 تماس با ما