1

آموزش برنامه نویسی آردوینو

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

میکروکنترلر چیست ؟

میکروکنترلر چیست ؟

میکروکنترلر (MCU) در واقع یک کامپیوتر بسیار کوچک است که بر روی یک تراشه (IC) نیمه هادی قرار داده شده است. طبق تعاریف جدید میکروکنترلر نوعی SoC (System On a Chip) است. به زبان ساده تر یک میکروکنترلر یک تراشه است که دارای قسمت های مختلفی مانند پردازنده (CPU)، رم (Ram)، تعدادی پین (پایه) ورودی و خروجی و همچنین مقداری حافظه قابل برنامه ریزی (Programmable Memory) است.

برنامه نویسان می توانند برنامه مورد نظرخود را بر روی حافظه قابل برنامه ریزی میکروکنترلر (MCU) قرار دهند. طبق برنامه کاربر می تواند تعریف کند اگر شرایط خاصی در ورودی های میکروکنترلر اتفاق افتاد ، در خروجی اتفاق خاصی بیفتد. میکروکنترلر (Microcontroller) ها برای ساخت امبدد سیستم ها (Embedded Systems) به کار گرفته می شوند.

امبدد سیستم چیست ؟

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

امبدد سیستم چیست ؟

امبدد سیستم ها امروزه کاربرد گسترده ای در زندگی روزمره ما پیدا کرده اند به طوری که بیش از ۹۰ درصد میکروکنترلر ها و میکروپروسسور هایی که تولید می شوند در امبدد سیستم ها استفاده می شوند.

مروری بر تاریخچه میکروکنترلر ها

حالا که می دانید میکروکنترلر چیست احتمالا دانستن پیشینه ی میکروکنترلر ها و اینکه چطور میکروکنترلر ها به نقطه ی امروزی رسیده اند برای شما جالب خواهد بود. اختراع ماسفت (MOSFET) ها در سال ۱۹۵۹ توسط مهندس مصری آمریکایی محمد محمد عطاالله و همکارانش در آزمایشگاه های بل را میتوان مبدا پیدایش میکروکنترلر ها و میکروپروسسور ها دانست. تقریبا ۱۰ سال بعد از اختراع ماسفت ها طراحی اولین میکروپروسسور تک تراشه (Single-chip Microprocessor) تجاری توسط شرکت اینتل آغاز شد و در سال ۱۹۷۱ تراشه Intel 4004 روانه بازار شد. اینتل ۴۰۰۴ اولین پردازنده قابل برنامه ریزی چند تراشه ای (Multi-chip) با کاربرد عمومی (general-purpose) در بازار بود که مهندسین را قادر می ساخت با خرید این تراشه و سفارشی سازی آن توسط نرم افزار (برنامه ریزی میکروپروسسور) از این تراشه برای انجام کارهای مورد نظرشان و ساخت دستگاه های الکترونیکی متنوعی استفاده کنند.

پس از اینتل ۴۰۰۴ تراشه های دیگر اینتل شامل میکروپروسسور ۴ بیتی اینتل ۴۰۴۰ و تراشه های ۸ بیتی ۸۰۰۸ و اینتل ۸۰۸۰ روانه بازار شدند. اما تمام تراشه های ارائه شده از نوع Multi-chip بودند به این معنی که برای استفاده از آنها باید تراشه های جانبی دیگری مانند حافظه و تراشه های جانبی ورودی و خروجی بر روی برد قرار داده می شد تا این میکروپروسسور ها قادر به انجام عملیات دلخواه باشند.

میکروپروسسور اینتل 4004
میکروپروسسور اینتل ۴۰۰۴

سه سال پس از ارائه ۴۰۰۴ توسط اینتل، در سال ۱۹۷۴ تراشه های خانواده TMS1000 که طراحی آنها توسط مهندسین شرکت Texas Instruments در سال ۱۹۷۱ انجام شده بود روانه بازار شدند. TMS1000 اولین خانواده از میکروکنترلر های تک چیپ بودند که وارد بازار شدند.

در اوایل دهه ۷۰ میلادی شرکت های ژاپنی نیز میکروکنترلر های ۴ بیتی و ۸ بیتی زیادی برای استفاده در صنعت خودروسازی طراحی کردند. شرکت های خودروسازی ژاپن از میکروکنترلر های ۴ بیتی برای ساخت سیستم های قفل خودرو، برف پاک کن های اتوماتیک و داشبورد های الکترونیکی و از میکروکنترلر های ۸ بیتی برای کنترل موتور خودرو استفاده می کردند.

میکروکنترلر TMS1000 TI

شرکت اینتل در پاسخ به تراشه های خانواده TMS1000 شرکت تگزاس اینسترومنتس اقدام به طراحی و عرضه میکروکنترلر اینتل ۸۰۴۸ نمود. اینتل ۸۰۴۸ برای اولین بار در سال ۱۹۷۷ در بازار عرضه شد و برخلاف تراشه های قبلی شرکت اینتل تمام امکانات مورد نیاز بر روی یک تراشه قرار داشت و به نوعی اولین Single-chip microcontroller تجاری شرکت اینتل محسوب می شود.

شرکت میکروچیپ، از دیگر شرکت های موثر در صنعت ساخت میکروکنترلر ها به شمار می رود که اولین میکروکنترلرهای PIC ( پیک ) را در سال ۱۹۷۶ وارد بازار کرد.

شاید فکر کنید میکروکنترلر ها از روز اولی که وارد بازار شده اند به شکل امروزی با یک کابل و یک برد پروگرمر کوچک قابل برنامه ریزی بوده اند. اما این تصور چندان درستی نیست. میکروکنترلر های اولیه از حافظه PROM یا EPROM استفاده می نمودند.

حافظه های PROM (Programmable Read-Only Memory) تنها یکبار قابل برنامه ریزی بودند و پس از آن دیگر برنامه روی میکروکنترلر قابل تغییر نبود. به چنین میکروکنترلر هایی OTP یا One Time Programmable نیز گفته می شد. این میکروکنترلر ها بدنه ای پلاستیکی مشابه میکروکنترلر های امروزی داشتند و نسبت به میکرو کنترلر هایی که از EPROM استفاده می کردند ارزان تر بودند. اما اگر شما برای نمونه سازی (Prototyping) نیاز داشتید برنامه روی میکروکنترلر را چندین بار تغییر دهید باید از میکروکنترلر هایی استفاده می کردید که از حافظه های EPROM بهره می بردند.

میکروکنترلر هایی که از حافظه های EPROM (Erasable Proggramable Read-Only Memory) استفاده می کردند این امکان را فراهم می کردند که برنامه ی درون آنها پاک شود و مجددا برنامه ریزی شوند. اما روال کار با میکروکنترلر های امروزی کاملا متفاوت بود. برای اینکه بتوانید برنامه موجود درون میکروکنترلر های EPROM را پاک کنید باید نور فرابنفش (UV) شدید به تراشه درون میکروکنترلر تابیده شود. به همین منظور بدنه این میکروکنترلر ها از جنس سرامیک و با شکل منحصر به فرد و متفاوت نسبت به میکروکنترلر های امروزی ساخته می شد. علاوه بر این برای اینکه نور فرابنفش کل برنامه موجود بر روی تراشه را پاک کند باید دریچه ی شفافی از جنس کوارتز بر روی تراشه قرار می گرفت. از آنجا که شیشه های معمولی مقدار قابل توجهی از نور فرابنفش را بازتاب می کنند، استفاده از شیشه های معمولی برای ساخت این دریچه امکان پذیر نبود. استفاده از کوارتز، بدنه سرامیکی و نوع متفاوت حافظه باعث می شد تا قیمت میکروکنترلر هایی که چندین بار قابل برنامه ریزی هستند به میزان قابل توجهی بیش از میکروکنترلر های OTP باشد.

میکروکنترلر چیست ؟
یک میکروکنترلر با حافظه EPROM و دریچه ی کوارتز

در سال ۱۹۹۳ میلادی با معرفی حافظه های EEPROM شرکت میکروچیپ اقدام به ارائه اولین میکروکنترلر دارای حافظه EEPROM نمود. PIC16C84 اولین میکروکنترلری بود که از تکنولوژی EEPROM (Electrically Erasable Programmable Read-Only Memory) استفاده می نمود و کاربران را قادر می ساخت تا همانند میکروکنترلر های امروزی بتوانند بدون نیاز به تجهیزات تابش شدید فرابنفش، برنامه موجود بر روی میکروکنترلر ها را بار ها تغییر دهند. این میکروکنترلر ها دارای بدنه پلاستیکی بودند و قیمت کمتری در مقایسه با میکروکنترلر های EPROM داشتند.

شرکت Atmel که در سال ۱۹۸۴ پایه گذاری شده بود نیز موفق شد در همان سال کمی پس از شرکت میکروچیپ اولین میکروکنترلر با حافظه Flash را معرفی کرد. شرکت ATMEL نیز از دیگر شرکت های موفق صنعت میکروکنترلر بود که موفق شد میکروکنترلر های AVR را به بازار معرفی کند. میلیارد ها قطعه از میکروکنترلر های AVR در سراسر جهان تاکنون به فروش رسیده است. شاید برایتان جالب باشد بدانید که میکروکنترلر های AVR، میکروکنترلر اصلی اغلب برد های آردوینو هستند. در نهایت در سال ۲۰۱۶ شرکت میکروچیپ شرکت Atmel را خریداری نمود.

میکروکنترلر با میکروپروسسور چه تفاوتی دارد؟

میکروکنترلر AVR

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

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

میکروکنترلر AVR

میکروکنترلر AVR چیست ؟

AVR در ابتدا یک خانواده از میکروکنترلر های ۸ بیتی بود که در سال ۱۹۹۶ برپایه معماری تغییر یافته هاروارد طراحی و ساخته شد و توسط شرکت Atmel روانه بازار های جهانی شد. این میکروکنترلر یکی از پرفروش ترین میکروکنترلر ها در کل جهان به شمار می آید و تاکنون در پروژه های کثیر علمی ، تحقیقاتی و تجاری گوناگونی به کارگرفته شده است.

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

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

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

1 نظر
  1. علی می گوید

    سلام
    خیلی عالی و گویا تر از سایت های دیگر بود
    ممنون

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.