الکترونیکپروژه الکترونیک

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

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

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

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

پیشنهاد میکنم مقاله میکروکنترلر چیست را مشاهده کنید.

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

برای یادگیری کامل آردوینو ، روی دوره آموزش آردوینو و برای یادگیری کامل الکترونیک، روی دوره آموزش الکترونیک کلیک کنید.

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

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

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

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

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

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

  1. معماری ون نیومن
  2. معماری هاروارد

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

انتخاب معماری مناسب میکروکنترلر

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

مطلب پیشنهادی:  استفاده از تغذیه 5 ولت USB کامپیوتر (سیم داخلی USB)

یکی از مزایای مهم میکروکنترلر های بر اساس هاروارد (RISC) این واقعیت است که وجود باس های مختلف برای مجموعه داده ها و دستورالعمل ها امکان دسترسی به حافظه و عملیات واحد ریاضی (ALU) را فراهم می کند. این امر میزان توان محاسباتی مورد نیاز میکروکنترلر را کاهش می دهد و منجر به کاهش هزینه، مصرف انرژی کم و اتلاف گرما می شود که آن ها را برای طراحی دستگاه های با باتری ایده آل می کند. بسیاری از میکروکنترلر های ARM ،AVR و PIC بر اساس معماری هاروارد ساخته شده اند. نمونه ای از میکروکنترلرها که از معماری ون نیومن استفاده می کنند شامل 8051، zilog Z80 و… است.

3. اندازه بیت میکروکنترلر

یک میکروکنترلر می تواند 8 بیتی، 16 بیتی، 32 بیتی و 64 بیتی باشد که این 64بیتی حداکثر اندازه بیت است که توسط میکروکنترلر وجود دارد. اندازه بیت یک میکروکنترلر نشان دهنده اندازه یک کلمه است که در مجموعه دستورالعمل های میکروکنترلر استفاده شده است. این به این معنی است که در یک میکروکنترلر 8 بیتی، نمایش هر دستورالعمل، آدرس، متغیر یا ثابت 8 بیت طول می کشد. یکی از مفاهیم کلیدی اندازه بیت، ظرفیت حافظه میکروکنترلر است. به عنوان مثال در یک میکروکنترلر 8 بیتی، 255 مکان حافظه وجود دارد که با توجه به اندازه بیت تعیین می شود در حالی که در یک میکروکنترلر 32 بیتی، 4،294،967،295 مکان حافظه وجود دارد، این به این معنی است که هرچه اندازه بیت بالاتر باشد، تعداد مکان های حافظه برای استفاده در میکروکنترلر بیشتر است.

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

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

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

بنابراین مهم است که یک میکروکنترلر با اندازه بیتی انتخاب کنید که با داده های پردازش شده مطابقت داشته باشد.

توجه به این نکته مهم است که امروزه بیشتر برنامه های کاربردی بین 32 بیت و 16 بیت میکروکنترلر هستند که به دلیل پیشرفت های فناوری در این تراشه ها وجود دارد.

4. راه های ارتباطی میکروکنترلر

ارتباط بین میکروکنترلر و برخی از سنسور ها و محرک هایی که برای پروژه استفاده می شود ممکن است نیاز به استفاده از رابط بین میکروکنترلر و سنسور یا محرک برای ارتباطات داشته باشد. به عنوان مثال برای اتصال یک سنسور آنالوگ به میکروکنترلر نیاز است که میکروکنترلر دارای ADC کافی باشد (مبدل های آنالوگ به دیجیتال) یا همانطور که قبلاً اشاره کردم، تغییر سرعت موتور DC ممکن است نیاز به استفاده از رابط PWM در میکروکنترلر داشته باشد. بنابراین مهم خواهد بود که تأیید کنیم میکروکنترلر انتخاب شده به اندازه کافی رابط مورد نیاز از جمله UART ،SPI ،I2C در میان بقیه دارد‌.

مطلب پیشنهادی:  ساخت شارژر باتری 12 ولت با آردوینو (منبع تغذیه 12v)

5. ولتاژ کاری

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

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

6. تعداد پین های ورودی و خروجی

تعداد پورت های ورودی و خروجی یا پین های موجود در میکروکنترلر یکی از مهمترین عواملی است که در انتخاب میکروکنترلر تأثیرگذار است.
اگر یک میکروکنترلر تمام ویژگی های دیگر ذکر شده در این مقاله را داشته باشد اما به اندازه مورد نیاز پروژه پین های IO کافی نداشته باشد، نمی توان از آن استفاده کرد.

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

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

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

7. الزامات حافظه

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

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

مطلب پیشنهادی:  درک رگولاتور ولتاژ با افت کم (LDO) و اهمیت آن در باتری

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

8. اندازه فیزیکی میکروکنترلر

اندازه بسته به فاکتور شکل میکروکنترلر اشاره دارد. میکروکنترلر ها به طور کلی بسته هایی از QFP ، TSSOP ، SOIC تا SSOP و بسته DIP معمولی دارند که نصب بر روی بردبورد را برای نمونه سازی آسان می کند. مهم این است که قبل از ساخت برنامه ریزی کنید و پیش بینی کنید که بسته ای که انتخاب می کنید بهترین گزینه است.

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

9. مصرف برق

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

10. پشتیبانی از میکروکنترلر

مهم است که میکروکنترلری که برای کار انتخاب می کنید از پشتیبانی کافی برخوردار باشد از جمله: نمونه های کد، طرح های مرجع و در صورت امکان یک جامعه آنلاین بزرگ. کار با میکروکنترلر برای اولین بار ممکن است با چالش های مختلفی روبرو باشد و دسترسی به این منابع به شما کمک می کند تا به سرعت بر آن ها غلبه کنید. اگرچه استفاده از جدیدترین میکروکنترلر ها به دلیل ویژگی های جالب جدیدی که با آن ارائه شده است چیز خوبی است، اما توصیه می شود حداقل 3-4 ماه برای میکروکنترلر تضمین وجود داشته باشد تا اطمینان حاصل شود که بسیاری از مشکلات اولیه مربوط به میکروکنترلر بر طرف خواهد شد. زیرا مشتریان مختلف آزمایشات زیادی را در مورد میکروکنترلر با کاربرد های مختلف انجام داده اند.

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

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

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

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

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

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام آیرنکس عضو شوید.

محمد رحیمی

محمد رحیمی

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

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

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