آشنایی مختصر با دوره میکروکنترلر AVR مقدماتی

 

توسعه محصولات دیجیتال در جوامع انسانی و بروز فناوری نوظهور اینترنت اشیا ، از جمله مهمترین عواملی است که باعث افزایش مصرف میکروکنترلرها و پردازنده های تک منظوره در دنیا شده است . امروزه در صنعت خودرو ، تجهیزات پزشکی ، هدایت و راهبری (ناوبری) ، صنعت فیلمبرداری هوایی ، صنایع دفاعی ، تجهیزات مکاترونیک و روباتیک ، لوازم خانگی و سایر زمینه ها شاهد استفاده از میکروکنترلر هستیم . بنابر پژوهش های انجام شده ، بیش از 100 کمپانی تولید کننده تراشه ی میکروکنترلر در دنیا مشغول فعالیت هستند . همچنین با توجه به خرید سهام شرکتATMEL  توسط MICROCHIP در اوایل سال 2016 ، و ترکیب ایده های دانش بنیان اتمل ، با تجارب صنعتی میکروچیپ ، ضرورت بهبود توانمندی کار با محصولات شرکتAtmel  ، بیش از پیش احساس می شود . همچنین ترویج استفاده از Arduino در پروژه ها ، به عنوان یک پلت فرم متن باز سخت افزاری ، که اغلب مبتنی بر تراشه های Atmel طراحی شده است ، تاییدی بر تحولات دنیای میکروکنترلر می باشد .

 

تحلیل بازار کار

 

ورود شما به بازار کار الکترونیک از سکوی "برنامه نویس میکروکنترلر" ، ورودی همراه با اعتبار بوده و از جایگاه خوبی ، قدم در دنیای الکترونیک گذاشته اید . در ایران ، بازار کار این تخصص خوب می باشد و معمولا افرادی که بتوانند میکروکنترلر مورد نیاز پروژه را برنامه نویسی کنند و الگوریتم ماشین را به صورت کد ، به حافظه تراشه انتقال دهند ، از مزایای خوبی در حین پروژه و آینده آن بهره مند خواهند بود . طبعا گذراندن این دوره ، شما را برای ورود به بازار کار مهیا تر می کند اما این پایان راه نیست. افرادی که صلاحیت اخذ گواهینامه پایان دوره را داشته باشند ، در صورت دارابودن شرایط عمومی ، اشتغال به کارشان حتمی خواهد بود .

 

توانایی دانشجو پس از پایان دوره میکروکنترلر AVR مقدماتی

 

دانشجو در پایان دوره می تواند :

• واحدهای اصلی میکروکنترلر AVR اعم از (I/O, ADC, Timer, Interrupt, USART, SPI) را به صورت سخت افزاری راه اندازی نماید .

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

• با المان ها ، سنسورها ، نمایشگرها ، موتورها و قطعات جانبی که در مدارهای دیجیتالی مورد استفاده قرار می گیرد کار کند .

• یادگیری کارکرد سایر میکروکنترلرها و اصول برنامه نویسی این تراشه ها، از جمله توانمندی های عمومی دانشجویان خواهد بود .

شیوه برگزاری کلاس

 

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

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

سخت افزار آموزشی مورد استفاده در طول دوره نیز برد آموزشی میکروکنترلر AVR ساخت شرکت نیراسیستم می باشد که در اختیار دانشجویان قرار می گیرد .  

سرفصل دوره آموزشی میکروکنترلر AVR مقدماتی :

 

♦ آشنایی با میکروکنترلر AVR

♦  بررسی معماری RISC و CISC به صورت اجمالی و بیان تفاوت های آن ها

♦ بررسی انواع خانواده های AVR   مانند (MEGA , Tiny , AT90s , XMEGA و . . . )

♦ آشنایی با منابع تولید پالس ساعت

♦ آشنایی با انواع منابع ریست (Reset Sources)

♦ بررسی اجمالی اصول زبان C مقدماتی

♦ بررسی واحدI/O  

♦ آشنایی کامل با مفاهیم وقفه (Interrupt)

♦ روش ایجاد وقفه و نحوه پاسخ دهی به آن

♦ آشنایی با تایمر/کانتر در AVR

♦ بررسی کامل Timer0 و Timer1 و Timer2

♦ بررسی مدهای مختلف تایمر/کانتر و کار با تایمر ضد هنگ (Watch dog Timer)

♦ کار با واحد Input Capture

♦ ایجاد مدولاسیون عرض پالس توسط AVR (Pulse Width Modulation)

♦ آشنایی با مفاهیم کاربری آنالوگ در AVR

♦ کار با ADC و آشنایی با آن

♦ چگونگی تبدیل یک سیگنال آنالوگ به دیجیتال (Analog To Digital Converter)

♦ آشنایی با مفاهیم ارتباط سریال و نحوه تولید فریم سریال

♦ راه اندازی واحد SPI

♦ کار با واحد USART میکروکنترلر AVR 

♦ برقراری ارتباط بین میکروکنترلر و کامپیوتر بوسیله ارتباط USART

 

بخشی از عناوین پروژه ها و تمرین های کلاس :
 

• طراحي ساعت ديجيتال قابل تنظيم

• طراحي ماشين حساب

• راه اندازي موتور پله اي با قابليت كنترل جهت و سرعت

• طراحي كورنومتر ديجيتال

• طراحي ولت متر ، اهم متر

• طراحي دماسنج رنج محدود

• ارتباط دو ميكرو به صورت RS232

• كنترل LED-RGB از طريق RS232

• ارسال داده از keypad به LCD

• طراحي چراغ راهنمايي 

•  كنترل رله صنعتي

 

 

دانشجویان و علاقمندانی که قصد دارند به دنیای برنامه نویسی میکروکنترلرها قدم بگذارند می توانند با محصولات شرکت Atmel فعالیتشان را آغاز نمایند .کاملا واضح است که اگر به اصول برنامه نویسی (ترجیحا زبان C) تسلط داشته باشید ، حس بهتری در حین دوره خواهید داشت و سرعت پیشرفتتان نمایی خواهد بود(تجربه ی دانشجویان قبلی هم موید آن است) . همچنین تمامی افرادی که در طول دوره ، نسبت به انجام تکالیف کلاس و انجام پروژه های عملی مقید بوده اند ؛ جزء "رویشهای کلاس" بوده و قطعا اکنون هم ، در زمینه کاریشان موفق هستند . 

 

 

آقای حیدری :

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

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

من شخصا از ثبت نام در این دوره راضی هستم و واقعا دریچه ای جدید از دنیای الکترونیک مخصوصا در زمینه ی برنامه نویسی برایم باز کرد.
 

آقای رضازاده :

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

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

آقای فدایی :

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

آقای یوسفی :

من این دوره رو با استاد یادگاری گذروندم ایشون مسلط به درس هستن و در مجموع کلاس خیلی خوبی بود مخصوصا الان که بردهای آموزشی جدید ارائه میشه فکر میکنم این دوره لذت بخش تر از قبل هم شده.
 

خانم حیاتی :

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

 نحوی تدریس آقای رضوانیان جذاب بود و مطالب رو خیلی واضح  وراحت بیان می کردند  . توضیحات  خیلی جامع و کاملی می دادند .

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

آقای غربی :

در اين دوره مدرس قدرت انتقال عالي رو نسبت به دانشجو دارد و براشون يادگيري دانشجو در دوره مهم است.

از نظر بنده موسسه سعي بر كاهش قيمت و افزايش كيفيت اموزشي دارد كه اين نكته بسيار مهم و با ارزش است.


آقای حسینی : 

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


آقای پورمصطفایی :

دوره عالی بود.واقعا راضی بودم.


آقای بازرگانی :

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

واقعا از ابتدای دوره که در مورد خرید برد آموزشی و قطعات از ایشون راهنمایی گرفتم تا حتی بعد اتمام دوره هر زمان ازشون مشاوره و کمک خواستم کم نذاشتن و از ایشون واقعا ممنونم .


خانم رسولی :

مدرس دوره جناب آقای رضوانیان بودند. میزان تسلطشون کامل و عالی بود و واقعا خوب هم مشاوره میدادند

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

 
خانم اکبری : 

مدرس كاملا مسلط بودند . بردهاي اموزشي هم عالي بودند و اينكه پايه ها در دسترس بودند عالي بود. این دوره براي بنده بسيار مفيد بود و الان در كارم از دانش دوره بهره مي گيرم.

 

. برنامه نویسی میکروکنترلر AVR در این دوره با چه زبانی آموزش داده می شود؟

جواب : زبان برنامه نویسی مورد استفاده در این دوره زبان C بوده و باتوجه به اینکه پیش نیاز دوره نیز می باشد، دانشجویان جهت شرکت در این دوره باید حتما با زبان C آشنایی داشته باشند.

 

. چه میزان تسلط به زبان C برای حضور در این دوره نیاز است ؟

برای حضور در این دوره دانشجو می بایست درک کاملی از الگوریتم برنامه نویسی داشته باشد . هم چنین با انواع داده ها و متغیرهای زبان C و نحوه استفاده از آن ها به همراه ساختارهای شرطی و حلقه های تکرار آشنا باشد . لازم به ذکر است استفاده از توابع فرعی و هم چنین آرایه ها و رشته ها نیز بسیار حائز اهمیت می باشد .

 

.در این دوره از چه نرم افزاری استفاده می شود؟

جهت کدنویسی میکروکنترلر و کامپایل کد در این دوره، از نرم افزار Codevision  استفاده می گردد.

 

. با توجه به اینکه پیش نیاز این دوره زبان برنامه نویسی C است، برای ثبت نام باید مدرک زبان C داشته باشیم؟

خیر ؛ الزامی به مدرک زبان C از هیچ موسسه و آموزشگاهی نیست .

 

. آیا واحد برنامه نویسی گذرانده شده در دانشگاه برای رعایت پیش نیاز این دوره کفایت می کند؟

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

 

. من با زبان C++ کار کرده ام . آیا مشکلی برای یادگیری AVR خواهم داشت ؟

با توجه به اینکه پایه برنامه نویسی C++ بر بستر C می باشد و هم چنین قابلیت برنامه نویسی مبتنی بر C++ نیز میسر است ، در صورتی که تسلط کافی روی مباحث بیان شده وجود داشته باشد مشکلی نخواهد بود .

 

.آیا در طول دوره از سخت افزار هم جهت یادگیری استفاده می شود؟

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

 

. آیا برای استفاده از سخت افزار و بردهای آموزشی باید هزینه جداگانه ای پرداخت کرد؟

خیر؛ بردهای آموزشی در طول دوره و جهت استفاده در کلاس به صورت رایگان در اختیار دانشجویان قرار می گیرد.

 

. آیا امکان تهیه برد آموزشی برای استفاده خارج از کلاس نیز وجود دارد؟

بله؛ در صورتی که دانشجو جهت انجام تمرینات خارج از کلاس و انجام پروژه های شخصی نیازمند برد آموزشی باشد می تواند برد مورد نیاز را از مرکز آموزش نیراسیستم خریداری نماید اما هیچ اجباری در این خصوص وجود ندارد.

 

. آیا در انتهای دوره برای شرکت کنندگان گواهینامه صادر می شود؟

در صورتی که دانشجو در پایان دوره نمره ی لازم را کسب کند موفق به دریافت گواهینامه خواهد شد. حد نصاب نمره 70 از 100 بوده و از مجموع نمرات فعالیت های کلاسی، کوییز ها ، تمرینات و آزمون پایانی دانشجو محاسبه می شود.

 

 . نحوه برگزاری آزمون پایانی دوره به چه صورت است؟

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

 

.آیا برای این دوره جزوه یا کتاب خاصی باید خریداری شود ؟

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