میکروکنترلر چیست؟ کاربرد و انواع آن
میکروکنترلر (Microcontroller) در اصل یک چیپ الکترونیکی برنامه پذیر است که با اتصال قطعات مختلف در یک مدار الکترونیکی، اجزای یک کامپیوتر ساده را فراهم می کند. از میکروکنترلر برای ساخت، کنترل و مانیتورینگ انواع سیستم های الکترونیکی استفاده می شود که با برنامه ریزی واحد های میکروکنترلر و تجهیزات جانبی فعال می گردد.
برای استفاده مناسب و صحیح از این قطعه الکترونیکی، باید ابتدا با انواع میکرو کنترلر و کاربردهای آن آشنا شد. پیش از آنکه بخواهیم انواع میکروکنترلر را شرح دهیم ، باید مختصری درباره اینکه، کلا میکروکنترلر چیست توضیح دهیم. در این مقاله به اجزای میکروکنترلر ها ، تفاوت آن ها با میکرو پروسسور، زبان برنامه نویسی و کاربرد میکروکنترل ها خواهیم پرداخت. لطفا با ما همراه باشید.
مشکل بیش از حد خوب بودن چیست؟
دلایل بسیاری برای خوب بودن وجود دارند. اما تاکنون به این نکته توجه کردهاید که آدمهای خیلی خوب پول کمتری به دست میآورند؟ آیا میدانید آدمهای خیلی خوب استرس بیشتری دارند، ترفیع کمتری میگیرند، بیشتر خسته میشوند، بیماریهای ذهنی و جسمی بیشتری را تجربه میکنند؟
میکروکنترلر چیست؟
میکروکنترلر (Microcontroller) در اصل یک کامپیوتر بسیار کوچک است که با جمعآوری دیگر قطعات الکترونیکی در یک فضای کوچک، اجزای یک کامپیوتر ساده را فراهم می کند.
اجزای مختلف میکروکنترلر چیست؟
اینکه ساختار و اجزای میکروکنترلرها چگونه است در ادامه به آن می پردازیم.
- CPU :در اصل همان مغز میکروکنترلر است، که وظیفه ی استخراج و پردازش داده ها، انجام محاسبات و وظایف اختصاصداده شده را بر عهده دارد!
- حافظه : هر میکرو مقدار مشخصی از ROM، RAM و فلش ساخته می شود و تمام برنامهها و دادهها میکروکنترلر در این واحد ذخیره می شوند. پردازنده (CPU) معمولا از این واحد برای ذخیرهسازی و دسترسی به اطلاعات استفاده میکند!
- ورودی و خروجی ها : پورتهای ورودی و خروجی(I/O) در اصل راه ارتباطی هستند که تمامی میکروکنترلرها از آنها برای اتصال به وسایل جانبی، دریافت ورودی و نمایش خروجی استفاده می کنند!
تایمر: برای تولید پالس، اندازهگیری فرکانس، ساخت نوسانات و … هر میکروکنترلر به یک یا چند تایمر (شمارنده) نیاز دارد. تا با کمک آنها، عملیات زمانبندی و شمارش را کنترل نماید!
- مبدل آنالوگ به دیجیتال (ADC) و مبدل دیجیتال به آنالوگ (DCA) : بیشتر کمیت های اطراف ما که برای اندازه گیری، کنترل و شبیه سازی از آنها استفاده میکنیم، آنالوگ و پیوسته هستند اما میکروکنترلر تنها مقادیر دیجیتال را درک میکند!
در نتیجه ما برای ایجاد یک زبان مشترک بین میکرو و کمیت هایی مانند گرما، نور و… از مبدل های ADC و DCA کمک می گیریم.کارایی و سرعت میکروکنترلرها با میکروپروسسورها بسیار متفاوت هستند، در ادامه به تفاوت آن ها می پردازیم.
تفاوت بین میکروکنترلر و میکروپروسسور
میکروپروسسور در اصل همان CPU یا مغز میکروکنترلر است که تمام عملیات محاسباتی و منطقی روی داده ها توسط آن انجام می شود. اصلی ترین تفاوت بین میکروکنترلر و میکروپروسسور نیز در طریقه ی اتصال آنها به تجهیزات جانبی خارجی است.
زیرا همانطور که در تصویر زیر مشاهده می کنید تمام وسایل جانبی به کاربرده شده در میکروکنترلر، به صورت واحد در تراشه، در کنار هم فشرده شده اند، اما برای اتصال همین تجهیزات به میکروپروسسور باید از نمونه های بزرگتر آنها استفاده نماییم.
در نتیجه بهتر است تا حد امکان از میکروکنترلر به جای میکروپروسسور، استفاده کنیم. زیرا ساخت هر دستگاهی با میکروکنترلر بسیار ارزانتر است. علاوه بر این ، در ساخت تجهیزات با میکروکنترلر شما به فضای کمتری نیز نیاز دارید! در ادامه این آموزش به انواع میکروکنترلر می پردازیم.
انواع میکروکنترلر
اغلب میکروکنترلرها ویژگی های مشترک زیادی دارند زیرا همه ی آنها دارای یک حافظه درایو، پایه های ورودی و خروجی و توان مصرفی کم هستند. اما در جزِئیاتی مانند تعداد پایه ها ، ابعاد، قیمت تمام شده و … نیز با هم متفاوت اند.
- میکروکنترلرهای AVR
- میکروکنترلرهای ARM
- میکروکنترلر های x-mega
- میکروکنترلرهای PIC
- میکروکنترلرهای 8051
انواع میکروکنترلرها براساس نوع کارکرد و مداری که در آن ها مورد استفاده قرار میگیرند به گروه زیر دسته بندی می شوند.
همچنین میکروکنترلرها براساس حافظه، معماری، بیت ها و مجموعه دستورالعمل ها به دسته بندی های مختلفی تقسیم می شوند.
البته پیشنهاد این است که در میان انواع میکروکنترلر، تا حد امکان از میکروکنترلرهای AVR استفاده نمایید. مدلهای میکرو کنترلر AVR توسط شرکت Atmel روانه بازار شدند. این مدل از میکروکنترلرها از معماری RISK و CISK برای تولید آنها استفاده شده است. برخلاف میکروکنترلر ARM ، قیمت مناسبی دارند و به راحتی در بازار یافت می شوند!
کاربرد میکروکنترلر
همانطور که اشاره شد، میکروکنترلر در اصل یک رایانه بسیار کوچک است که در هر پروژه و دستگاهی به طور همزمان نقش قلب و مغز مجموعه را ایفا میکند! بنابراین در حال حاضر در بیشتر لوازم خانگی و صنعتی مانند سیستم کنترل روشنایی، سیستم کنترل دما و آتش، سیستم های کنترل فرمان که در آنها اعمالی همچون اندازه گیری، ذخیرهسازی، محاسبه، کنترل و نمایش اطلاعات انجام می شود، از میکروکنترلر استفاده شده است.
در نتیجه شما هم میتوانید بدون هیچ محدودیتی از میکروکنترلر در راهاندازی یک LED کوچک، کنترل موتور خودروها، اینترنت اشیا و خانهی هوشمند، صفحات لمسی، ساخت دستگاههای پزشکی، ربات های پیشرفته و … استفاده نمایید.
زبان برنامه نویسی میکروکنترلر
همانطور که میدانید میکروکنترلر تنها مقادیر دیجیتال را درک می کند، در نتیجه برای برقراری ارتباط با میکروکنترلر باید با زبان باینری (01010) با آنها صحبت کنیم.
بنابراین باید یک مترجم برای تبدیل دستورها به کد های باینری فراهم کنیم! این مترجم ها همان کامپایلر ها هستند که زبان های مختلف را به زبان ماشین تبدیل میکنند. در کشور ما کامپایلر های Bascom AVR ، Code vision AVR و Atmel Studio بیشترین کاربرد را دارند.
برای برنامه نویسی میکروکنترلرها اغلب از زبان برنامه نویسی C ، Assembly، Basic و ++ C استفاده می شود. البته پیشنهاد این است که برای شروع کار با میکروکنترلرها، بهتر است از زبان ساده C استفاده کنیم!
آزمایش میکروکنترلرها
احتمالا زمانی که شما به دنبال تجهیزات لازم برای کار با میکروکنترلر ها و مدارات الکترونیکی بوده اید، با انواع پروگرامر آشنا شده اید. اما فراموش نکنید که این ابزار تنها زمان ریختن برنامه بر روی IC ها کارایی دارند! و بعد از آن شما به تجهیزاتی مانند: مولتی متر، اسیلوسکوپ، فانکشن ژنراتور و … برای اندازه گیری و تست مدارات نیاز دارید.
در آزمایش مدارهای الکترونیکی طراحی شده با ریزپردازنده ها، گاهی نیاز داریم که سیگنال هایی با شکل موج متفاوت به یک قطعه اعمال کنیم. از این رو، به دستگاهی بنام سیگنال ژنراتور نیاز داریم که از آن برای تولید سیگنال هایی با دامنه، فرکانس و … استفاده می شود.
معمولا در مدارهای آنالوگ برای مشاهده حالت های مختلف کار مدار، پاسخ فرکانسی و… از اسیلوسکوپ استفاده می شود. البته اسیلوسکوپ ها ی دیجیتال مجهز به لاجیک آنالایزر در مدارهای دیجیتالی که دارای میکرو هستند کاربرد بیشتری دارند.
در این مقاله با موضوع مهم ، میکروکنترلر چیست؟ کاربرد و انواع آن به طور مختصر آشنا شدیم. سعی کردیم بهصورت مختصر کاربرد و تفاوت بین میکروکنترلر و میکروپروسسور را بیان کنیم.