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

در زمانی که غول­های سازنده ­ی پردازنده مثل intel حرف اول را  در طراحی و ساخت پردارنده می­زدند، شرکت ARM پردازنده­ای ارائه داد که توانست وارد دستگاه ­های قابل حمل شود. این یک نقطه عطف برای شرکت ARM محسوب می­ شود، چرا که با استقبال بی ­نظیر سازندگان اداوت قابل حمل مواجه شد. این استقبال به حدی است که امروزه (2018) 95درصد گوشی های موبایل که روانه بازار شده ­اند مجهز به پردارنده­ ی ARM می ­باشند.
اما این استقبال فقط محدود به سارندگان ادوات قابل حمل نبود. کمپانی­ های سازنده میکروکنترلر هم به دلیل ویژگی­های منحصربه­ فرد این پردازنده­ ها تمایلی صد چندان به استفاده از این پردازنده­ ها در محصولات خود پیدا کردند. با توجه به استفاده­ ی گسترده­ ی این کمپانی­ ها در چند سال اخیر از پردازنده ­های ARM در ساخت محصولات میکروکنترلری دور از ذهن نمی ­باشد که سایر میکروکنترلرها جایگاه و محبوبیت خود را در بین طراحان مدارات الکترونیکی از دست بدهند. لذا با توجه به پیشرفت سریع میکروکنترلرهای مبتنی بر ARM صلاح بر این نیست که بر روی میکروکنترلرهایی مثل AVR یا PIC تعصب داشته باشیم. پس بهتر است بلافاصله بعد از تسلط به یکی از میکروکنترلرهای ساده مثل AVR یا PIC بدون فوت وقت به سراغ میکروکنترلرهای مبتنی بر ARM برویم.

سرفصل این دوره

هفته اول:
1- ارائه خلاصه مطالب
2- آشنایی و معرفی ARM و هسته های مختلف آن
3- آشنایی و معرفی میکروکنترلرهای ARM شرکت ST
4- معرفی ابزار و قطعات مورد نیاز جهت راه اندازي ARM . (اعم از نرم افزار و سخت افزار)

شامل آشنایی با نرم افزارهای و کامپایلرهای مورد نیاز (از قبیل AIR ، keil، CubeMX، Altium و… programmer، debugger  و نرم افزار program  با ارتباط سریال …).
معرفی و پیشنهاد بردهای راه انداز اولیه.

5- ایجاد اولین پروژه با استفاده از نرم افزار CubeMX و IAR

نمونه پروژه های کار با پورتها:
ledچشمک زن(فلاشر)
راه اندازی سیستم دزدگیر با استفاده از سنسور PIR یا reedrelay
راه اندازه­ی موتور DC (آرمیچر) با استفاده از ترانزیستور یا Optocoupler.
تردد شمار با استفاده از سنسور PIR و 7Segment بعلاوه راه اندازی وقفه­ ی میکرو
راه اندازی سیستم هوشمند روشنایی راه­پله با استفاده از سنسور PIR و Relay جهت راه اندازی لامپ 220ولت

6- تولید فایل Hex و انواع روش های مختلف Program میکروکنترلر STM32

هفته دوم:
7- اشکال زدایی برنامه یا Debug(با استفاده از IAR و نرم افزار STMstudio)
8- ارتباط سریال  UART.

سخت افزارهای مورد نیاز
نحوه ی پیکربندی UART در CubeMX و استفاده از دستورات HAL در IAR برای ایجاد ارتباط سریال
Debug برنامه با استفاده از پورت سریال در صورت نداشتن پروگرامر
پروژه های مربوطه:

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

هفته سوم:
9- مبدل آنالوگ به دیجیتال

مورد استفاده در مدارات اندازه گيري ولتاژ از قبیل انواع سنسور.
شرح مدهای مختلف کاری از قبیل مد نرمال و مد DMA و …
نحوه پیکربندی در CubeMX و استفاده از دستورات HAL در IAR برای راه اندازی ADC
پروژه های مربوطه:

ساخت ولت متر و یا امپر متر و اهم متر.
نمونه برداری از سیگنال و ارسال دیتا به کامپیوتر از طریق ارتباط سریال برای کشیدن گراف بر روی نرم افزار های موجود (به عنوان مثال بخش گراف کامپایلر اردوینو)
راه اندازی سنسور دما LM35
راه اندازی سنسورهای دمای مقاومتی مثل pt100 ، … pt1000 همچنین بررسی عملكرد سنسور هاي ترموكوپل و PTC وNTC برای اندازه گيري دماهای بالا
راه اندازی loadcell
راه اندازی سنسورهای 4تا 20 میلی امپر که در صنعت کاربرد فراوان دارند.(توضیح مدار تبدیل منبع جریان به ولتاژ)

هفته چهارم:
10-مبدل دیجیتال به آنالوگ

مورد استفاده در مدارات ساخت سیگنال آنالوگ
نحوه ی پیکربندی در CubeMX و استفاده از دستورات HAL در IAR
تولید سیگنال دندان اره ای و سینوسی
تولید دو عدد سیگنال سینوسی با دو عدد مبدل DAC
خواندن از ADC سپس اجرای آن در DAC

هفته چهارم و پنجم:
11- تایمر:

توضیحات و کلیات تایمرها از قبیل تعداد تایمرها. چند بیتی بودن آنها، باس کلاک مورد استفاده و …
اصول بكارگيري و تنظيم تايمر براي ايجاد زمان دقيق.
راه اندازی در مد نرمال
ایجاد زمان مشخص برای انجام یک سری کارهای زمان بندی شده.
مد وقفه
نحوه ي ساخت ساعت با استفاده از تايمر + ساعت RTC
مد PWM
راه اندازی در مد advance
نحوه ی پیکربندی مدهای مختلف در CubeMX و استفاده از دستورات HAL در IAR
پروژه های مربوطه:

کنترل دور موتور با PWM (را اندازی موتور DC با درایور یا ماسفت)
کنترل سرو موتور با PWM
اندازه گیری فرکانس پالس در مد نرمال
اندازه گیری فرکانس پالس در مد capture
ایجاد موج PWM و مدله کردن آن با موج سینوسی

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

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

پیشنیاز شما در این دوره چیست؟

آشنایی با یکی از میکروکنترلرهای AVR یا PIC
آشنایی با زبان C
ترجیحا همراه داشتن لپتاپ

نرم‌افزارهای مورد استفاده :

IAR
STM32CubeMX
STMStudio
Proteus
نرم ­افزارهای کار با پورت مجازی

نحوه برگذاری کلاس ها :

دوره در 5 جلسه 4 ساعته و یک بار در هفته برگذار می‌شود
تمامی جلسات به صورت پروژه محور می­باشد.
پس از جلسه عملی تمرین و پروژه آن هفته ارائه می شود که دانشجویان بایستی برای جلسه بعد آن را انجام دهند.

در پایان این دوره قادر خواهید بود:

هسته های مختلف ARM را تمیز دهید.
ویژگی های هر سری از ARM را شرح دهید.
مناسب ترین سری را برای پروژه خود انتخاب کنید.
ساختمان داخلی میکروکنترلر ARM شرکت ST را شرح دهید.
سخت افزار مورد نیاز برای راه اندازی بخش های مختلف را به پروژه اضافه کنید.
با IDEهای مختلف می­توانید برای میکروکنترلر کدنویسی کنید.
با استفاده از دستورات سطح بالای کتابخانه HAL برنامه نویسی کنید.
بخش های مختلف سخت‌افزارهای داخلی میکروکنترار را راه‌اندازی  کنید (ADC ,USART ,I2C ,SPI ,GPIO ,TIMER ).
نقش چند گانه پایه­های میکروکنترلر را شرح دهید.
با ماژول های مختلف و سنسورهای مختلف ارتباط برقرار کنید.