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

 به نام خدا
با عرض سلام خدمت دوستان عزيز
در مورد ميكروكنترلر‌هاي AVR در جلسات گذشته توضيحات مفصلي داده شده است و دوستان تا حد خوبي با اين خانواده از ميكروكنترلر‌ها آشنا شده‌اند، اما اين آشنايي براي انجام پروژه‌هاي حرفه‌اي‌تر كافي نيست و مطالب بسيار گسترده‌ي ديگري هم در مورد اين خانواده از ميكروكنترلرها وجود دارد كه هنوز مطرح نشده‌اند، ولي اهميت بسيار زيادي دارند. از اين رو ما سعي مي‌كنيم در خلل كار، مجدداً جلساتي را به مباحث مرتبط با AVR اختصاص دهيم تا خلأ موجود در اين بخش را به تدريج برطرف كنيم.
در اين جلسه به موضوع انواع حافظه در ميكروكنترلرهاي مي‌پردازيم.
با نحوه‌ي پروگرام كردن ميكرو كنترلر در جلسه‌ي 27 آشنا شديد. همان‌طور كه مي‌دانيد، اطلاعاتي كه در مرحله‌ي پروگرام كردن به ميكروكنترلر منتقل مي‌شود، با خاموش كردن سيستم(يعني قطع جريان برق ميكروكنترلر)، از بين نمي‌رود و نيازي نيست براي هر بار استفاده از ميكروكنترلر مجدداً آن را پروگرام كنيم، و تا زمانيكه برنامه‌ي پروگرام شده روي ميكروكنترلر توسط كاربر Erase نشود، آن برنامه پاك نخواهد شد. اين نوع حافظه را «حافظه‌ي غير فرّار» مي‌گوييم، در اين نوع حافظه اگر جريان برق قطع هم شود اطلاعات از بين نخواهند رفت. مثال ديگر اين نوع حافظه‌ها، هارد ديسك كامپيوتر‌هاي شخصي خانگيست.
نوع ديگر حافظه‌ها، حافظه‌هاي «فرّار» نام دارند، در اين نوع، با قطع جريان برق، اطلاعات هم از بين مي‌روند. مثال آن حافظه‌ي RAM در كامپيوتر‌هاي شخصي خانگيست.
در ميكروكنترلر‌هاي AVR چند  نوع حافظه وجود دارد كه در زير به اختصار در مورد هر يك آن‌ها توضيح مي‌دهيم.


حافظه‌ي FLASH



اين حافظه در مرحله‌ي پروگرام كردن، و براي ذخيره‌ي برنامه‌ي كامپايل شده توسط كامپيوتر (فايل با پسوند hex.) در ميكروكنترلر مورد استفاده قرار مي‌گيرد. همان‌ط‌ور كه توضيح داده شد اين حافظه از نوع حافظه‌هاي غير فرّار است.


حافظه‌ي SRAM



وقتي در برنامه‌هاي خود متغيري تعريف مي‌كنيم، در زمان اجراي آن توسط ميكروكنترلر، به‌طور معمول از حافظه‌ي SRAM استفاده مي‌شود. مثلاً وقتي در برنامه جمله‌ي زير را مي‌نويسيد:
int TEMP;


ميكروكنترلر براي ساختن اين متغير 2-بايتي، از حافظه‌ي SRAM استفاده مي‌كند.
حافظه‌ي SRAM از نوع حافظه‌هاي فرّار است و اطلاعاتي كه در آن ذخيره مي‌شوند، پس از خاموش شدن ربات و قطع جريان برق از ميكروكنترلر، همگي پاك مي‌شوند. اگر بخواهيم براي تعريف حافظه از فضاي ديگري به جز SRAM استفاده كنيم، بايد در الگوي تعريف متغير، تغيير كوچكي دهيم كه در ادامه شرح داده شده است.


حافظه‌ي EEPROM



گاهي اوقات ما نياز داريم اطلاعاتي كه در متغير‌ها ذخيره شده‌اند با خاموش شدن ربات يا دستگاه پاك نشوند و براي استفاده در زمان‌هاي ديگر هم قابل استفاده باشند. براي اين منظور حافظه‌ي EEPROM تعبيه شده است. EEPROM جزو حافظه‌هاي غير فرّار است.
براي استفاده از اين حافظه بايد متغير‌ها را به گونه‌اي تعريف كنيد كه به جاي استفاده از SRAM از EEPROM استفاده كنند. براي اين منظور طبق الگوي زير عمل مي كنيم:
eeprom int  TEMP;


يعني پيش از تعريف متغير، كلمه‌ي كليدي «eeprom» را ذكر مي‌كنيم. اگر اين كار را نكنيم، متغير به صورت پيش فرض در حافظه‌ي SRAM تعريف مي‌شود.
براي مثال فرض كنيد ربات مين‌يابي داريم كه مختصات مين‌هاي كشف شده را در متغيرهايي از حافظه‌ي ميكروكنترلرش ذخيره كرده است. اگر اين متغير‌ها در SRAM باشند، زماني‌كه ربات خاموش شود اين اطلاعات پاك مي‌شوند و ديگر قابل بازبيني نيستند، در اين‌گونه موارد بهتر است اطلاعات در eeprom ذخيره شوند تا خيالمان از بابت ذخيره‌ي اين اطلاعات راحت باشد.


رجيسترها



در مورد رجيستر‌ها در جلسه‌ي 24 توضيحاتي داده شده است. رجيسترها هم جزو متغير‌هاي فرّار هستند و با قطع جريان برق پاك مي‌شوند. مهم‌ترين مزيت رجيسترها نسبت به SRAM سرعت بالاي آن‌ها به‌خاطر نزديك بودن به واحد پردازش‌گر مركزي است. و مهم‌ترين محدوديت‌ آن‌ها هم كم بودن تعداد آن‌هاست.  نيازي نيست كه ما در برنامه‌هاي خود مستقيماً از رجيستر‌ها استفاد كنيم، اما خود ميكروكنترلر براي اجراي برنامه‌هاي خود مكرراً از آن‌ها استفاده مي‌كند.
مطالب مطرح شده مختصر و اجمالي هستند، ولي اين مطالب براي رفع نياز دوستان و انجام پروژه‌هاي مختلف كفايت مي‌كنند و نياز به بررسي تخصصي‌تر روي اين مبحث نيست. توضيحات بيشتر در اين باب، نياز به مقدمات علمي و تخصصي بيشتري دارد كه در اين‌جا مجال مطرح كردن تمام اين مطالب نيست.
منتظر سوالات، نظرها و پيشنهادهاي دوستان خوبم هستم.


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



>
1388/4/30 لينک مستقيم

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

فرستنده :
sana HyperLink HyperLink 1388/5/20
مـتـن : ممنون واسه مطالب مفید اما اگه امکان داره در مورد الگوریتم حرکت در زمین مین یاب توضیح بدین
پاسـخ : سلام. ممنونم. در جلسه‌ي چهلم مطالب زيادي در اين باب مطرح شد، اگر مطالب را مطالعه كرديد و سوال خاصي مد نظرتون هست بنده در خدمتم. پيروز باشيد

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

فرستنده :
حبیب HyperLink HyperLink 1388/5/20
مـتـن : سلام فراز جان
ممنون از سایت خوب و موفقت
اگه میشه روش ساخت سنسور فلزیاب رو توضیح بدی
البته میدونم چطور کار میکنه
منظورم اینه که توضیح بده چطور مدارشو ببندیم
ممنونم از لطفت
شاد باش و دیر زی
پاسـخ : سلام حبيب جان
ممنونم دوست عزيز
ساخت سنسور فلزياب به هيچ وجه كار ساده ‌اي نيست و نياز به معلومات زيادي در باب الكرونيك آنالوگ دارد كه اين معلومات در سطح دانش‌اموزي نيست. اما مدار‌هاي چاپي آماده و حتي دستگاه آماده‌ي آن در بازار موجود است.
پيروز باشيد

فرستنده :
behzad HyperLink HyperLink 1388/5/20
مـتـن : عالی بود دستتون درد نکنه موفق باشید
پاسـخ : ممنونم دوست عزيز

فرستنده :
l[dn HyperLink HyperLink 1388/5/20
مـتـن : سلام
مرسي از تمام زحماتتون
اما استاد اين روباتيك كي تموم ميشه ؟ منظورم ميكروهاست ؟ چن ماه ديگه؟
پاسـخ : سلام. ممنونم. رباتيك علمي نيست كه تموم بشه، به همين خاطر بنده نمي‌تونم تاريخ دقيقي را خدمت شما عرض كنم. در مورد ميكروكنترلر هم مطالب زيادي باقي مونده هنوز كه من پيشنهد مي‌كنم اگر مي‌خواهيد به صورت حرفه‌اي تر ميكروكنترلر را ياد بگيريد، خودتون از طريق منابع معرفي شده كار را دنبال كنيد و منتظر ما نباشيد، چون احتمالاً زمان زيادي طول خواهد كشيد تا مطالب ما در مورد ميكرو كنترلر به سطح كاملاً حرفه‌اي برسد. پيروز باشيد

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

فرستنده :
حسین وکیل زاده HyperLink HyperLink 1388/5/20
مـتـن : از همه نهایت تشکر و قدردانی را می کنم . مطالب بسیار مفیدی بود. اگه خواستین ، در مورد سایر موضوعات می توانم به این سایت کمک کنم و مطالب در اختیار شما قرار دهم. همیشه شاد و پاینده باشید.
پاسـخ : سلام دوست عزيز
ممنون از لطفتون. بنده خوشحال مي‌شم بتونم از علم و تجربيات ساير دوستان براي ارتقا سطح كار استفاده كنيم. لطفاً مطالبتون را به آدرس faraz.amirghiasvand@gmail.com براي بنده ارسال بفرماييد.
پيروز باشيد

فرستنده :
ميهمان HyperLink HyperLink 1388/5/20
مـتـن : سلام کارتون عاليه ولي اگراصول طراحي مدار رو ياد مي داديد بهتر بود تا اينکه لقمه اماده تو دهنمون بذاريد اينجوري سطح خلاقيت هم بالا مي رفت
البته قصد توهين به کارتون رو ندارم
پاسـخ : سلام دوست عزيز
ممنون از انتقادتون. من منظور شما را از لقمه‌ي آماده متوجه نمي‌شوم. ما هيچ مطلبي را در اين بخش بدون پشتوانه‌ي علمي عنوان نكرده‌ايم، اگر مصداق خاصي از قصور ما مد نظرتون هست لطفاً مستقيم اشاره بفرماييد كه مشكل را سريعتر بر طرف كنيم. پيروز باشيد.

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

فرستنده :
حسین HyperLink HyperLink 1388/5/20
مـتـن : سلام
می خواستم درباره ساخت مدار چاپی ولحیم کاری توضیح بدهید
ممنون
پاسـخ : سلام دوست عزيز
چشم، در جلسات آينده حتماً به اين موضوع خواهيم پرداخت.پيروز باشيد

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

فرستنده :
ريحانه HyperLink HyperLink 1388/5/20
مـتـن : چندتايي نظر دادم ولي تو سايت قرار نگرفتن! چرا؟! :(
کارتون فوق العاده است..ميخوام از الگوريتم هاي مين ياب (خودکار) بيشتر بگيد!
ممنون
پاسـخ : سلام.من عذر‌خواهي مي‌كنم به خاطر تاخير در پاسخ گويي به سوالات.
ممنونم دوست عزيز، لطفاً در هر بخشي از مين ياب خودكار كه سوالي به ذهنتون مي‌رسه سوالتون را مطرح كنيد تا بنده مستقيماً به سوال شما پاسخ بدهم.
پيروز باشيد

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

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

 

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