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

میکروکنترلر چیست و انواع آن (بهترین و قوی ترین میکروکنترلر)

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

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

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

فیلم زیر زیر شما را با میکروکنترلر ها آشنا میکند:

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

میکروکنترلر (μC یا uC) یک میکرو کامپیوتر است که از VLSI ساخته شده است. یک میکرو کنترلر به عنوان کنترل کننده تعبیه شده (امبدد) نیز شناخته می شود. امروزه انواع مختلفی از میکروکنترلرها با طول کلمات مختلف مانند میکروکنترلرهای 4 بیتی ، 8 بیتی ، 64 بیتی و 128 بیتی در بازار موجود است.

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

این مسئله شاید برای خیلی از افراد پیش پا افتاده باشد و شاید هم برای خیلی از افراد تازگی داشته باشد. کلمه میکروکنترلر از 2 بخش تشکیل شده است :

  1. Micro = میکرو : میکرو یک واحد ریاضی یونانی است و یعنی 10 به توان -6 (یعنی یک میکروکنترلر دارای سرعت بالا و اندازه بسیار کوچک است)
  2. controller = کنترلر : به معنای کنترل کننده است.
میکروکنترلر چیست ؟
تصویر یک میکروکنترلر

میکروکنترلر یک قطعه از نوع IC است. IC نیز به معنای مدار مجتمع است. میکروکنترلر ها قابل برنامه ریزی هستند. یعنی هرچیزی را که شما با استفاده از کامپایلر خود (مثل بسکام، اتمل استودیو، کدویژن و …) به میکروکنترلر بدهید، میکروکنترلر آن را انجام میدهد.

پادکست زیر شما را با میکروکنترلر ها آشنا میکند:

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

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

در واقعیت ، microcontroller همه امکانات را برای داشتن مداری ساده تر ، کوچک تر ، سریع تر و با دقت تر در یک فضای کوچک جمع آوری کرده است.

  • واحد پردازش مرکزی (CPU)
  • حافظه موقت خواندنی و نوشتنی (RAM)
  • حافظه فقط خواندنی (ROM)
  • پورت های ورودی و خروجی (I/O Ports)
  • تایمرها و شمارنده ها (Timers and Counter)
  • کنترلهای وقفه (Interrupt Controls)
  • مبدل آنالوگ به دیجیتال (ADC)
  • مبدل دیجیتال به آنالوگ (DAC)
  • رابط کاربری سریال (Serial Interface Ports)
  • و …

کاربرد میکروکنترلر

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

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

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

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

از آنجا که میکروکنترلر ها ویژگی هایی مانند ریزپردازنده داخلی، RAM، ROM، رابط های سریال، رابط های موازی، مبدل آنالوگ به دیجیتال (مبدل آنالوگ به دیجیتال)، مبدل دیجیتال به آنالوگ (DAC) و غیره دارند که ساخت برنامه ها در اطراف آن را آسان می کند. علاوه بر این، محیط برنامه نویسی میکروکنترلر ها امکانات گسترده ای را برای کنترل انواع برنامه ها بر اساس نیاز آن ها فراهم می کند.

اجزای داخلی میکروکنترلر

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

اجزای داخلی میکروکنترلر

میکروکنترلر ها به دلیل ویژگی های مختلف در سیستم های توکار استفاده می شوند. همانطور که در نمودار بلوک میکروکنترلر زیر نشان داده شده است، این شامل پردازنده، پین های ورودی / خروجی، پورت های سریال، تایمرها، ADC، DAC و کنترل وقفه است.

پردازنده یا CPU : پردازنده مغز یک میکروکنترلر است. وقتی ورودی از طریق پین های ورودی و دستورالعمل ها از طریق برنامه ها فراهم شوند، داده ها را بر اساس آن پردازش می کند و در پایه های خروجی ارائه می دهد.

حافظه : تراشه های حافظه برای ذخیره تمام برنامه ها و داده ها در میکروکنترلر ادغام شده اند. انواع مختلفی از حافظه در میکروکنترلر ها مانند RAM، ROM، EPROM، EEPROM، حافظه Flash و غیره وجود دارد.

پورت های ورودی/خروجی : هر میکروکنترلر دارای پورت های خروجی ورودی است. بسته به انواع میکروکنترلر ها، تعداد پایه های خروجی ورودی ممکن است متفاوت باشند. آن ها برای رابط دستگاه های ورودی و خروجی خارجی مانند سنسور ها، واحد های نمایشگر و غیره استفاده می شوند.

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

معرفی اجزای داخلی یک میکروکنترلر

ADC  و  DAC: گاهی اوقات سیستم های توکار نیاز به تبدیل داده ها از دیجیتال به آنالوگ و بالعکس دارند. بنابراین بیشتر میکروکنترلر ها برای انجام تبدیل مورد نیاز با ADC داخلی (مبدل آنالوگ به دیجیتال) و DAC (مبدل دیجیتال به آنالوگ) متصل شده اند.

تایمر ها : تایمر ها و شمارنده ها از قسمت های مهم سیستم های توکار هستند. آن ها برای عملیات مختلفی مانند تولید پالس، شمارش پالس های خارجی، تعدیل، نوسان و غیره مورد نیاز هستند.

کنترل وقفه : کنترل وقفه یکی از ویژگی های قدرتمند میکروکنترلرها است. این نوعی اعلان است که روند مداوم را قطع کرده و دستورالعمل انجام وظیفه تعریف شده توسط کنترل وقفه را می دهد.

انواع میکروکنترلر

انواع میکروکنترلر

طیف گسترده ای از میکروکنترلر ها در بازار موجود است. شرکت های مختلفی مانند Atmel، ARM، Microchip، Texas Instruments، Renesas، Freescale، NXP Semiconductors و غیره انواع مختلفی از میکروکنترلر ها را با ویژگی های مختلفی تولید می کنند. با جستجوی پارامتر های مختلف مانند حافظه قابل برنامه ریزی، اندازه فلش، ولتاژ تغذیه، پین های ورودی / خروجی، سرعت و غیره، می توان میکروکنترلر مناسب را برای کاربردشان انتخاب کرد.

با توجه به این پارامتر ها، بیایید نگاهی به این پارامتر ها و انواع مختلف میکروکنترلر ها بیاندازیم.

گذرگاه داده (اندازه بیت) : هنگامی که طبق اندازه بیت طبقه بندی می شود، بیشتر میکروکنترلر ها از 8 بیت تا 32 بیت هستند (میکروکنترلر هایی با بیت بالاتر نیز وجود دارند). در یک میکروکنترلر 8 بیتی گذرگاه داده آن از 8 خط داده تشکیل شده است، در حالی که در یک میکروکنترلر 16 بیتی گذرگاه داده آن از 16 خط داده و برای میکروکنترلرهای 32 بیتی و بالاتر نیز به همین ترتیب تشکیل شده است.

  • میکروکنترلر 8 بیتی عملیات منطقی را حساب و اجرا می کند. نمونه هایی از میکروکنترلر 8 بیتی Intel 8031/8051 هستند.
  • میکروکنترلر 16 بیتی بر خلاف 8 بیتی با دقت و عملکرد بیشتری اجرا می شود. نمونه ای از میکروکنترلر 16 بیتی Intel 8096 است.
  • میکروکنترلر 32 بیتی عمدتا در وسایل کنترل شده خودکار مانند ماشین های اداری ، تجهیزات پزشکی قابل کاشت و … استفاده می شود و برای انجام هرگونه عملکرد منطقی یا محاسباتی به دستورالعمل های 32 بیتی نیاز دارد.

حافظه : میکروکنترلر ها برای ذخیره برنامه ها و داده ها به حافظه (RAM، ROM، EPROM، EEPROM، فلش مموری و غیره) نیاز دارند. در حالی که برخی از میکروکنترلر ها تراشه های حافظه داخلی دارند اما برخی دیگر برای اتصال به حافظه خارجی نیاز دارند. به ترتیب به این میکروکنترلر های حافظه توکار و میکروکنترلرهای حافظه خارجی گفته می شود. اندازه حافظه داخلی نیز در انواع مختلف میکروکنترلر ها متفاوت است و به طور کلی میکروکنترلر هایی با حافظه 4B تا 4Mb را می توانید پیدا کنید.

تعداد پین های ورودی/خروجی : میکروکنترلر ها با توجه به تعداد اندازه های پین ​​های ورودی/خروجی متفاوت هستند. با توجه به نیاز برنامه می توان میکروکنترلر خاصی را انتخاب کرد.

مجموعه دستورالعمل : دو نوع مجموعه دستورالعمل RISC و CISC وجود دارد. یک میکروکنترلر می تواند از RISC (مجموعه دستورالعمل کامپیوتری کاهش یافته) یا CISC (مجموعه دستورالعمل کامپیوتری پیچیده) استفاده کند. همانطور که از نامش مشخص است، RISC زمان کار برای تعیین چرخه ساعت یک دستورالعمل را کاهش می دهد. در حالی که CISC امکان استفاده از یک دستورالعمل به عنوان جایگزین بسیاری از دستورالعمل ها را فراهم می کند.

  • CISC : به معنی “رایانه مجموعه دستورالعمل پیچیده” است. به کاربر اجازه می دهد 1 دستورالعمل را به جای تعداد بالایی از دستور العمل های دیگر اجرا کند.
  • RISC : به معنی “رایانه دستورالعمل کاهش یافته” است. RISC زمان عمل را کاهش می دهد.

ساختار حافظه : میکروکنترلر ها دو نوع دارند – میکروکنترلر های ساختار حافظه هاروارد و میکروکنترلر های ساختار حافظه پرینستون.

  • میکروکنترلر معماری هاروارد
  • میکروکنترلر معماری Princeton Memory

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

  1. سری میکروکنترلر AVR و ARM از شرکت اتمل
  2. میکروکنترلر PIC از شرکت میکروچیپ
  3. میکروکنترلر 8051
  4. و …

معروفترین خانواده میکروکنترلر در ایران ، AVR ساخته شرکت Atmel است. البته امروز استفاده از میکروکنترلر های سری ARM دارد جای میکروکنترلر های AVR را میگیرد. اما هنوز بسیاری از مهندسین الکترونیک و برنامه نویسان از میکروکنترلر های 8051، AVR و … استفاده میکنند.

میکروکنترلرها با توجه به حافظه ، معماری ، بیت و مجموعه دستورالعمل ها به دسته های مختلفی تقسیم میشوند. بنابراین با توجه به انواع معیار ها آن ها را بررسی میکنیم.

کاربرد میکروکنترلر در صنعت

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

به طور کلی کاربرد میکرو کنترلر ها را میتوان در دسته های زیر قرار داد :

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

کاربرد میکروکنترلر در دستگاه های زندگی روزمره:

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

کاربرد میکروکنترلر در دستگاه های کنترل صنعتی:

  • دستگاه های ابزار دقیق صنعتی
  • دستگاه های کنترل فرآیند

کاربرد میکروکنترلر در دستگاههای اندازه گیری و اندازه گیری:

  • ولت متر
  • اندازه گیری اشیا revol گردان
  • کنتور کنونی
  • سیستم های اندازه گیری دستی

بهترین میکروکنترلر

به طور کلی نمیتوان یک میکروکنترلر را به عنوان بهترین و قوی ترین میکروکنترلر انتخاب کرد. زیرا با توجه به شرایط و معیار های پروژه شما بهترین میکروکنترلر میتواند متفاوت باشد.

به طور مثال برای پروژه های ساده مثل ساعت یا یادآور، یک میکروکنترلر AVR مناسب است. اما برای پروژه های که نیاز به پردازش همزمان چندین مورد دارند دیگر میکروکنترلر AVR مناسب نیست و ما نیازمند یک میکروکنترلر سری ARM هستیم. همچنین باید توجه داشته باشید که تعداد پین های آنالوگ و دیجیتال، حافظه، سرعت، قابلیت PWM، ADC، DAC و … نیز در هنگام انتخاب میکروکنترلر مناسب مهم هستند.

و باید بدانید که میکروکنترلر های سری ARM به مراتب قیمت بیشتری نسبت به میکروکنترلر های سری AVR دارند.

برنامه نویسی میکروکنترلر

برنامه نویسی میکروکنترلر

برای برنامه نویسی میکروکنترلر ها ، نرم افزار های خاصی وجود دارند که به آن ها کامپایلر (Compiler) میگویند. در زیر چند تا از کامپایلر های محبوب را آورده ایم :

  • اتمل استودیو Atmel Studio
  • کدویژن Codevision
  • بسکام Bascom
  • کیل Keil
  • و …

در هر کامپایلر برنامه نویسی به زبان / زبان های خاصی انجام میشود. به طور مثال در کامپایلر اتمل استودیو و کدویژن از زبان C، بسکام زبان بیسیک و … استفاده میشود. زبان برنامه نویسی اتمل استودیو و کدویژن یکی است اما نمیتوان از کد کامپایلر دیگر برای کامپایلر دیگر استفاده کرد. زیرا بسیاری از توابع و کتابخانه در کامپایلر ها با هم تفاوت دارند.

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

سوالات متداول

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

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

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

به طور کلی نمیتوان یک میکروکنترلر را به عنوان بهترین میکروکنترلر انتخاب کرد. زیرا با توجه به شرایط و معیار های پروژه شما بهترین میکروکنترلر میتواند متفاوت باشد.

انواع میکروکنترلر ها کدام اند؟

میکروکنترلر ها انواع مختلفی دارند مثل میکروکنترلر های ARM ، AVR ، PIC و…

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

میکروکنترلر ها در انواع موضوعات مختلف مثل کارخانجات، پزشکی، خودرو، سلامتی و … کاربرد دارند.

 

4.5 (22 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

9 نظر

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

    1. سلام عزیز
      میتونید مقاله fpga چیست رو مطالعه کنید.
      مشکلی نداره از ARM شروع کنید اما بهتر هست با AVR آشنایی داشته باشید

    2. سلام مهندس
      در مورد نویز میکرو ها سوال داشتم
      نویز میکرو holtek بیشتر هست یا نویز میکرو PIC

  2. Please tell me, is there a microchip (semiconductor) plant in Iran?
    لطفا بفرمایید آیا در ایران کارخانه میکروچیپ (نیمه هادی) وجود دارد؟

    1. من با یک مورد نه چندان قوی آشنایی دارم

  3. سلام
    خوبین
    من ی مدته دارم برق صنعتی و اتوماسیون یاد میگیرم ی سوالی برام پیش اومده،

    میخواستم بدونم در کنار برق و اتوماسیون صنعتی میکروکنترلرها رو یاد بگیرم میتونه مزیتی برام داشته باشه؟

    از لحاظ درآمد و بازار کار هم بگین…

    ممنونم

    1. سلام عزیز،
      بله صد درصد براتون مزیت خواهد داشت.

    1. سلام جناب، خوشحالم که براتون مفید بوده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *