آموزش میکروکنترلر
اگر میخواهید در الکترونیک و شناخت قطعات روی مدار تسلط بدست بیاورید لازم است که اطلاعات خود را درباره ای سی ها بیشتر کنید. شناخت ای سی های میکروکنترلر و میکروپروسسور از مهمترین قطعات روی بردهای الکترونیکی است. آموزش AVR شامل شناخت آی سی میکروکنترلر و برنامه ریزی آی سی است.
آموزش AVR
ساختمان داخلی میکروکنترلر
کامپیوتری که الان بر روی اون دارین کار انجام میدین دارای یک پردازنده مرکزیه به نام cpu که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات پرداژش انجام میده . میکرو کنترلر هم عینا دارای یک پردازنده مرکزی به نام cpu است که دقیقا کار cpu کامپیوتر رو انجام میده با این تفاوت که قدرت و سرعت پردازشش از cpu کمتره که به اون میکروپرسسور میگن در بخش بعدی فرق میکرو پرسسور و میکروکنترلر را بررسی میکنیم. میکروکنترلر علاوه بر cpu دارای حافظه است که ما برنامه ای که بهش میدیم در اون قرار بگیره در کنار حافظه در میکروکنترلرهای امروزی تایمرها برای تنظیم زمان کانتر ها برای شمردن کانال های آنالوگ به دیجیتال پورت های برای گرفتن و دادن اطلاعات و امکاناتی دیگر که بعدا مفصل راجع به هر کدام توضیح داده میشود تشکیل شده و همه اینها در یک چیپ قرار گرفته که تنکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده است.
تفاوت میکروپروسسور و میکروکنترلر
میکروپرسسور همانطور که گفته شد یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به اون اضافه کرد این امکان به درد این میخورد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم ولی مدار خیلی پیچیده میشود و از لحاظ هزینه هم هزینه بیشتر میشود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود اما این روزها میکرو کنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد و تنوع بسیار زیاد انها بر حسب این امکانات دست ما را باز گذاشته است تا دیگر میکروپرسسورها را فراموش کنیم.
آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟
جواب منفی است تمام کارهایی که ما با میکروکنترلر میتوانیم انجام بدهیم با قطعات دیگر هم میتوانیم انجام بدهیم چون ما قبلا هم تایمر داشتیم هم کانتر هم حافظه هم پردازنده و... . در واقع میکروکنترلر قطعه ای است با تمام این امکانات که به صورت یک آی سی آماده شده است و هزینه پیچیدگی و حجم را به نحوه قابل ملاحضه ای کاهش میدهد.
میکروکنترلر
تاریخچه پیدایش میکروکنترلر ؟
حدود 4 دهه پیش در سال 1971 میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام 8080 در اوایل سال 1980 روانه بازار کرد همین شرکت اینتلی که الان در ساخت cpu یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند .
تمام میکروکنترلرها جزء این 5 قسمت هستنند:
8051 | Pic | Avr | 6811 | Z8
البته مدل های 6811 ساخت شرکت موتورلا و z8 ساخت شرکت زایلوگ حداقل در ایران خیلی کم استفاده می شوند و رقابت اصلی بین سه نوع دیگر است.
تا به امروز هر میکروکنترلری که ساخته شده زیر مجموعه یکی از این5 نوع است. البته کارخانه های خیلی زیادی با مارک های مختلف میکرو کنترلر تولید میکنند ولی همه اونها زیر مجموعه یکی از این 5 قسمت هستنند شما برای هر کدام از این5 نوع میکروکنترلر میتوانید میکروکنترلر های مختلفی از شرکت های مختلفی را پیدا کنید اما خوشبختانه همه میکروکنترلر هایی که جزء هر کدام از 5 نوع بالا باشند از یک برنامه پیروی میکنند. بدین معنا که اگر شما کار با یکی از مدل های آن میکرو را یاد گرفته باشید مثل اینکه کار با تمام میکروکنترلرهای آن نوع را یاد گرفته اید.
مثلا شما اگر با یکی از مدل های میکروکنترلر avr مثلا atmega8 را یاد گرفته باشید دیگر با صد ها مدل دیگر میکروکنترلر avr مشکلی ندارید وتقریبا بدون هیچ مشکلی میتوانید با دیگر مدل های این میکرو کار کنید. اما یه مشکل که در میکروکنترلر ها وجود دارد این است که این۵ نوع از لحاظ برنامه نویسی به هیچ وجه با هم دیگر سازگاری ندارند .
به طور مثال اگر شما میکروکنترلر های avr و 8051 را کامل یاد گرفته باشید حتی ساده ترین برنامه رو روی یک میکروکنترلر pic نمیتوانید اجرا کنید. واین یکی از بزرگترین عیب و مشکل برای یاد گیری میکرو است . بنابراین از همون اول باید یک انتخاب درست داشته باشید و میکروکنترلر مناسب را برگزینید.
تا با یادگیری آن میکروکنترلر بتوانید بعدا به سادگی پروژه های خود را اجرا کنید . البته بسیاری از دوستان هستنند که کار با چند میکروکنترلر را میدونند و حتما این هم از هوش بالای ایرانی هاست. ولی اگر به صورت خیلی حرفه ای نخواهید وارد این بحث بشوید باید یکی از این میکروکنترلرها را انتخاب کنید و کار با آن را آغاز کنید.
معایب و مزایای میکروکنترلر های مختلف نسبت به هم
از آن جای که 6811 و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم.
انواع میکروکنترلر
- اول از 8051
که اولین میکروکنترلری بود که به دست بشر ساخته شد شروع میکنیم .
بررسی میکروکنترلر
میکروکنترلر توسط شرکت بزرگ intel ساخته شد. اما بعدا intel این امکان را به دیگر شرکت ها داد که این میکروکنترلر را تولید کنند و شرکت هایی مانند ATMEL , PHILIPS , SIEMENS , DALLAS و... به تولید این میکروکنترلر پرداختنند یکی از شرکت هایی که به صورت گسترده به تولید این تراشه پرداخت ATMEL بود که مدل های مختلف میکروکنترلر ساخت
این شرکت در سرار جهان و در ایران به خوبی یافت می شود. اما اگربخواهیم به صورت کلی سیر پیشرفت این نوع میکروکنترلر رو در نظر بگیریم اولین میکروکنترلر هایی که ساخته شد با جدیدترین میکروکنترلرهای 8051 که الان تولید میشود با توجه به این پیشرفت شگفت در تمام زمینه ها که صنایع دیگر در دنیا دارند پیشرفت زیادی ندارد به طور مثال AT89S5X که میکروکنترلر 8051 جدید ساخت ATMEL است نسبت به مدل های اولیه 8051 پیشرفت آنچنانی ندارد . امکانات این میکرو نسبت به AVR و PIC قابل مقایسه نیست . به صورتی که که همین مدل جدید 8051 تقریبا حافظه ای برابر یک صدم (0.001 ) میکروکنترلر های AVR را دارد و سرعتش 4 برابر کمتر از میکروکنترلر های PIC و 12 بار کمتر از میکروکنترلر های AVR است .
در آموزش الکترونیک بیشتر به شناخت این قطعه روی مدارات مختلف میپردازیم و درآوردن و جازدن روی برد های چند لایه توسط ابزارهای مختلف تعمیرات را معرفی میکنیم.
از لحاظ امکانات دیگر هم چنین ضعفی احساس میشود. اما برای کارهای ساده تر که پیچیدگی زیادی در آن نباشد به خاطر قیمت بسیار پایینی که این میکروکنترلر دارد بسیار مناسب است . قیمت همین مدل جدید AT89S5X حول و حوش ۱۰،۰۰۰ تومان است که قیمت بسیار مناسبی است. این میکرو کنترلر از زبان اسمبلی و C پشتیبانی میکند که زبان برنامه نویسی اصلی آن اسمبلی است که واقعا نوشتن با این زبان برنامه نویسی نسبت به زبان های برنامه نویسی دیگر هم مشکل تر و هم طولانی تر است. در کل این میکروکنترلر امروزه دیگر توانای رقابت با AVR و PIC رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است.
- میکروکنترلر PIC
واقعا میکروکنترلر خیلی قوی است که بر اساس بعضی آمار ها بیشترین کاربر را به خود اختصاص داده است
البته متذکر شوم که در ایران این آمار به نفع AVR است. این میکروکنترلر ساخت شرکت میکرو چیپ است؛ که PIC رو در مدل های خیلی زیادی با امکانات مختلف برای کارهای مختلف میسازد. این میکروکنترلر با مدل های مختلف PIC16XXX و PIC12XXXX که به جای X دوم از چپ به راست حروف C ,X,E,F قرار میگره که هر کدام مفهوم خاصی دارد.
- میکروکنترلر AVR
به میکروکنترلر AVR میرسیم که به نظر من و خیلی از دیگر بهترین میکروکنترلر موجود در بازار است. این نظر بسیاری از کسانی است که با AVR کار کرده اند .به دلایلی اول از همه سرعت این میکروکنترلر بسیار بالاست و به قولی دستوراتی که بهش داده میشه در یک سیکل کلاک انجام میدهد؛ در صورتی که این سیکل کلاک برای 8051 باید تقسیم بر ۱۲ شود و برای PIC باید تقسیم بر ۴ بنابراین AVR سریعترین میکروکنترلر موجود در بازار است.
AVR از زبان های برنامه نویسی سطح بالا پشتیبانی میکند که باعث تولید کدهای بیشتری میشود که در کل برنامه نوشته شده نسبت به برنامه هایی که برای 8051 و PIC نوشته میشود کوتاهتر است. امکانات جانبی این میکروکنترلر بسیار مناسب است و شما را از خرید بعضی لوازم جانبی مانند چیپ های آنالوگ به دیجیتال (ADC) و مقایسه گر آنالوگ راحت میکند. در ضمن AVR از بسیاری از استاندارد های ارتباطی مانند SPI,UART,12C,JTAG پشتیبانی میکند که به راحتی میتوان این میکروکنترلر را با میکروکنترلر دیگر یا و سایل دیگر وصل کرد و با وسایل دیگر به راحتی ارتباط برقرار کند. قیمت این میکروکنترلر هم به نسبت امکانات فراوانی که داره بسیار پایین است به طوری که یک میکروکنترلر AVR تقریبا پیشرفته رو با قیمت حدود ۴ تا ۵ هزار تومان خرید.
آموزش پروگرام کردن میکروکنترلر
پروگرام میکروکنترلر
شاید تا حالا به نظرتون رسیده باشه که این میکروکنترلر رو چگونه میشه برنامه ریزی کرد تا کار مورد نظرمان را انجام بده در صورتی که یک میکروکنترلر برنامه ریزی نشده هیچ کاری رو نمیتونه انجام بده و هیچ کاربردی نداره در واقع برنامه هر میکرو روح وجانی است که در اون دمیده میشه و اون رو زنده میکنه. برای برنامه ریزی میکروکنترلر نیاز به دستگاه یا بردی هست به نام پروگرامر که یه پل ارتباطیه بین کامپیوتر و میکروکنترلر . پروگرامر را هم میشه از بازار تهیه کرد و هم میشه اون رو ساخت. البته پروگرامرهای مختلفی در بازار هستنند که متانسب با کاربردشان قیمت های مختلفی دارند بعضی ها فقط چند مدل رو پروگرام میکنند بعضی از پروگرامر ها همه فن حریفند و تمام میکروکنترلر های 8051,AVBR , PIC , رو برنامه ریزی میکنند و قیمت زیادتری دارند.
در بخش اموزش الکترونیک عملا پروگرام کردن و کار با پروگرامرهای مختلف در بازار به شما آموزش کاربردی داده میشود.