آموزش کاربردی میکروکنترلرهای ARM STM32، مقدماتی

کارگاه کاربردی میکروکنترلرهای ARM STM32، مقدماتی

زمان شروع دوره: 6 اردیبهشت1400    1400/02/06

 

روزها و ساعت های برگزاری دوره: دوشنبه ها 14:30 الی 19:30

 

محل برگزاری دوره: کارگاه برق دانشگاه صنعتی شریف

 

برای اطلاع از نحوه ثبت نام در این دوره به ثبت نام در دوره های فناورسرا مراجعه فرمایید.

 

پیش نیاز های دوره:

بهتر است شرکت کنندگان این دوره به ربان Embedde C مسلط باشند، زیرا این دوره با این فرض است که شرکت کنندگان برنامه نویسی را بلد هستند. هرچند که در هر بخش به مفاهیم برنامه نویسی اشاره خواهد شد و شرکت کنندگان به مرور در قالب مثالهای کاملا کاربردی با زبان برنامه نویسی نیز آشنا خواهند شد.

دانشجویانی که قبل از این دوره با میکروکنترلر (AVR و یا ...) کار کرده باشند در این دوره موفق‌تر خواهند بود.

دانشجویانی که توانایی بهتری در خواندن متون انگلیسی داشته باشند موفق‌تر خواهند بود زیرا برگه‌ی اطلاعاتی (datasheet) و مرجع دستی (Reference manual) میکروکنترلرهای شرکت ST بهترین منبع آموزشی برای برنامه نویسی این میکروکنترلرها هستند و طی این دوره مرتباً به آنها رجوع می‌کنیم و مطالب را از آنها توضیح می‌دهیم.

به طور قطع علاقه مند بودن به یادگیری ، پرتلاش بودن ، انجام تکالیف ارائه شده و تمرین زیاد در موفقیت دانشجویان تاثیر چشمگیری خواهد داشت.

 

استاد: دکتر محمد جوادیان

دارای دکترای برق از دانشگاه صنعتی شریف

دارای بیش از 16 سال سابقه تدریس در دانشگاه های دولتی، آزاد، پایم نور، علمی کاربردی، و فنی حرفه ای

دارای مقام رباتیک خوارزمی و ایران اپن، و دارای سالها سابقه کار در زمینه طراحی الکترونیک، میکروکنترلر و برق صنعتی

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

 

مدرک پایان دوره:

اعطای گواهینامه معتبر دو زبانه پایان دوره 

 

مدت دوره:

36 ساعت

 

مخاطبین:

مخاطبین دوره علاقه مندان به طراحی سیستمهای نهفته.

علاقه مندان به یادگیری میکروکنترلرهای ARM از پایه تا مفاهیم پیشرفته.

 

کاربرد ها، مهارت ها و توانایی های اکتسابی پس از گذراندن دوره:

قادر به ایجاد پروژه برای برنامه نویسی میکروکنترلرهای STM32 و Debug کردن آن‌ها در محیط Keil خواهند بود.

آشنایی با خانواده میکروکنترلرهای ARMو آشنایی با انواع میکروکنترلرهای شرکت ST

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

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

آشنایی با نرم افزارهای Keil و cube و STM Studio و Proteus و ...و نیز debug کردن کدها

آشنایی با مبدل های ADC و DAC و راه اندازی آنها

آشنایی با انواع پروتکل های ارتباطی UART، SPI و I2C و ...

با مراجعه به برگه‌ی اطلاعاتی (datasheet) و مرجع دستی (Reference manual) میکروکنترلرهای شرکت ST قادر به برنامه نویسی این خانواده از میکروکنترلرها باشند.

قادر به استفاده از STM32 Standard Peripheral Libraries برای برنامه نویسی راحت تر این میکروکنترلرها خواهند بود و در ضمن با رجیسترهای مهم هر واحد هم آشنا خواهند بود و کد نویسی های خود قادر به خواندن و نوشتن از رجیسترهای میکروکنترلر خواهند بود.

 

معرفی دوره:

آموزش طراحی میکروکنترلرهای ARM از دوره های بسیار تخصصی الکترونیک می باشد. میکروکنترلر های ARM  دارای پردازنده های 32 بیتی و 64 بیتی هستند که قدرت و توانایی آن ها در پردازش بسیار زیاد است و مصرف آن ها بسیار کم است. به همین علت قابلیتهای کاربردی این میکروکنترلر بیشتر از سایر میکروکنترلر ها می باشد. شرکت کنندگان دوره میکروکنترلرهای ARM برای یادگیری بهتر و تسلط بیشتر برنامه نویسی ARM بهتر است به زبان C مسلط باشند. طراحی میکروکنترلرهای ARM به دلیل ویژگی خاص این پردازنده بسیار پرکاربرد و درآمدزا می باشد و بازار کار بسیار خوبی دارد. برای موفقیت در بازار کار ARM تنها کافیست از تخصص و مهارت لازم برخوردار باشید که با شرکت در دوره های آموزشی arm در فناورسرا به این تخصص دست خواهید یافت.

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

دوره آموزش طراحی میکروکنترلرهایARM  به صورت پروژه محور می باشد به طوری که در هر جلسه از دوره کارآموزان چند پروژه را به صورت عملی انجام می دهند. در این دوره با ساختار میکروکنترلر های ۳۲ بیتیARM و تفاوت آن با میکروکنترلر های ۸ بیتی و با کامپایلر های موجود برای میکروکنترلر ARM، آشنایی با میکروکنترلرهای STM32 و برد آموزشی STM32F107 ، نصب نرم افزار های مورد نیاز و STMCubeMx ، اشنایی و کار با PWM و کار با درایور موتور DC و کنترلر ان با PWM و... آشنا میشوید.

 

سرفصلهای کارگاه:

جلسه اول

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

  • معرفی انواع روشهای طراحی دیجیتال
  • آشنایی با ساختار میکروکنترلر های 32 بیتی ARM و تفاوت آن با میکروکنترلر های 8 بیتی مانند AVR
  • آشنایی کامل با ساختمان داخلی میکروکنترلرها 32 بیتی ARM
  • بررسی و مقایسه میکروکنترلرهای ARM ساخت شرکت های ATMEL, PHILIPS, ST و ...
  • مزایا و کاربردهای میکروکنترلر ARM-cortex
  • آشنایی با معماری پردازنده های ARM
  • آشنایی با میکروکنترلرهای STM32 و خانواده های مختلف آن
  • معرفی انواع روشهای برنامه ریزی (پروگرامینگ) میکرو
  • آشنایی با پروگرامرهای میکروکنترلر های ARMمانند ST-LINK و J-LINK
  • آشنایی با کامپایلر های موجود برای میکروکنترلر ARM
  • آموزش نصب نرم افزار های مورد نیاز (Keil,STM32CubeMX,ST-LINK,Drivers)
  • آموزش نحوه نصب و ایجاد پروژه در نرم افزار CubeMX
  • آموزش نحوه ساخت پروژه در نرم افزار cube و نحوه انتقال آن به keil
  • آشنایی با شبیه ساز و کامپایلر KEIL
    • آموزش نحوه نصب نرم افزار کیل KEIL و و نصب Pack مورد نیاز برای میکروکنترلر مورد نظر و ایجاد پروژ در آن
    • آشنایی با زبان برنامه نویسی C برای میکروکنترلر ARM با استفاده از کامپایلر KEIL و آموزش آن همراه با چند مثال .
    • بررسی برنامه نویسی با میکروکنترلر ARM و کار با نرم افزار KEIL
  • معرفی انواع روشهای برنامه نویسی میکروکنترلر ARM، رجیستری، کتابخانه cmsis و کتابخانه HAL
    • بررسی کتابخانه های ارایه شده توسط شرکت ST برای راه اندازی بخش های مختلف میکروکنترلر
    • بررسی Std Peripherals Library و انتخاب استفاده از درایورهای Std Peripherals Library به دلیل تنوع مثال‌ها و forum هایی که کدهای به این سبک را می‌توان مشاهده کرد.
  • اشنایی با منابع کلاک میکروکنتلر های ARM STM32 که یکی از مهمترین بخش های میکروکنترلر به شمار می رود.
    • آشنایی با منابع کلاک و تنظیم فرکانس سیستم و تنظیم PLL های میکرو
    • کار با واحد  Reset and clock control(RCC)
    • انجام تنظیمات مربوط به PLL
    • راه‌انداری و توقف Clock واحدهای مختلف میکروکنترلر
  • ساخت یک برنامۀ چشمک زن (LED Blinking)

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

جلسه دوم

در این جلسه دانشجویان با این مباحث کار خواهند کرد :

  • مروی بر مباحث گذشته و پاسخ به سوالات دانشجویان
  • آشنایی با ملاحظات و نحوه طراحی PCB برای میکروکنترلرهای ARM شرکت ST
  • آشنایی با برد آموزشی STM32F107
  • آشنایی با مبدل های سطح منطقی
  • ساخت یک پروژه در محیط نرم افزار keil و انجام تنظیمات مربوط به پروگرامر و کامپایلر
  • اشنایی با فایل Startup میکروکنترلر
  • اشنایی با منابع کلاک میکروکنترلرهای ARM STM32
  • راه اندازی پورت های ورودی و خروجی و کلاک میکروکنترلر(GPIO ,CLOCK)
  • ساخت یک برنامۀ چشمک زن (LED Blinking)
    • معرفی و کار با واحد General-purpose I/Os) GPIO) و رجیسترهای مربوط به این واحد
    • کار با واحد General-purpose I/Os  (GPIO)
    • آموزش انجام تنظیمات به صورت رجیستری
    • معرفی طرز استفاده از لایه‌های Std Peripherals Library در مثال‌ها و تمارین
    • معرفی CMSIS، HAL
  • کار با نمایشگر 7 قسمتی 7-Segments
  • معرفی مفهوم وقفه (Interrupt) و توضیح اولویت وقفه‌ها
  • آشنایی با واحد کنترلر وقفه در میکروکنترلر ARM و بررسی مزایا آن نسبت به سایر میکروکنترلر ها (EXTI – NVIC)
    • کار با واحد وقفه خارجی EXTI
    • آشنایی با تنظیمات کاربردی وقفه خارجی،
    • آشنایی با واحد NVIC میکروکنترلر
    • ساخت سیستم توقف اضطراری
  • راه اندازی وقفه های پورتهای همه منظوره (GPIO)، شباهت ها و تفاوت ها در مقایسه با واحد وقفه خارجی EXTI، تنظیم صدور وقفه در بیش از 42 پایه میکرو
  • راه اندازی کلید به کمک واحد وقفۀ میکروکنترلر (KEY)
  • آموزش ماژولار نویسی برنامه
  • آموزش ساختن فایل‌های .c و .h

پروژۀ 1:

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

پروژه ی 2 :

پروژه ی 3 :

برنامه ای بنویسد که با استفاده از سیستم کنترلر وقفه های خارجی (EXTI) و واحد کنترلر وقفه (NVIC) در میکروکنترلر وضعیت هر کدام از کلید ها را خوانده و مانند پروژۀ اول هر کدام از کلید ها را روشن کند.

پروژه ی 4 :

جلسه ی سوم

در این جلسه دانشجویان با این مباحث کار خواهند کرد :

  • توضیح مود Alternate functions برای GPIO
  • آشنایی و کار با تایمر میکروکنترلر های ARM STM32 و بررسی حالتهای مختلف کاری آنها
  • آموزش نحوه تولید وقفه با استفاده از واحد Systick
  • معرفی عملکرد و کاربردهای واحد تایمر (TIM) و رجیسترهای مربوط به این واحد
  • آشنایی با واحد تایمر، وقفه تایمر، ساخت فرکانس دقیق با واحد تایمر، ساخت پالس مربعی با تایمر و انجام عملیات در زمانهای دقیق
  • آشنایی با تایمر 6 و 7 میکروکنترلر
  • راه اندازی تایمر میکروکنترلر به همراه وقفه ها و و EVENT ها برای ایجاد تاخیر
  • طرز کار با اینتراپت‌های Update و Capture Compare تایمرهای مختلف
  • معرفی مدولاسیون عرض پالس (PWM) و کاربردهای آن و شیوه ساختن PWM به کمک تایمرها
  • آشنایی با تایمر 1 و 8 میکروکنترلر
  • راه اندازی تایمر میکروکنترلر برای تولید PWM، شیوه تولید پالسهای متقارن با Dead Time
  • ساخت عرض پالس قابل تغییر با PWM، کنترل دور موتور (سرعت) موتور DC
  • راه اندازی و کار با واحد کنترل موتور، راه اندازی واحد برای کار با موتور تکفاز، سه فاز، سخت افزار مناسب برای کنترل موتور ، مزیت استفاده از واحد MCPEM بجای PWM
  • فراگیری و نحوه کار با واحد انکودر
  • توضیح مود Encoder برای تایمر و معرفی کاربردهای آن
  • توضیح روش استفاده از IC درایو موتور L293D برای کنترل سرعت موتور DC
  • آشنایی با تایمر watchdog timer
  • راه اندازی و تنظیم تایمر نگه بان (Watch dog timer)، تنظیم تایمر نگهبان و اصول کاربرد، ارائه راهکار برای جلوگیری از ریست شدن ناخواسته توسط WDT

پروژه ی 1 :

برنامه ای بنویسید که چهار عدد LED که بر روی برد اموزشی قرار دارند هر یک ثانیه یکبار روشن و خاموش شوند . (برای درست کردن زمان یک ثانیه از واحد Systick timer میکرو استفاده بکنید)

پروژه ی 2 :

برنامه ای بنویسید که دو عدد از ال دی های میکروکنترلر را با استفاده از تایمر 6 و 7 به صورت چمک زن در آورد

پروژه ی 3 :

برنامه بنویسید که 3 پالس PWM در خروجی میکروکنترلر ایجاد نماید

پروژه ی 4 :

برنامه بنویسید که با استفاده از تایمر watchdog timer در صورت هنگ میکروکنترلر ، میکروکنترلر را ریستارت نماید.

جلسه چهارم

در این جلسه دانشجویان چند پروژه عملی انجام می دهند و با مفاهیم زیر آشنا خواهند شد که شامل:

  • کار با LCD کاراکتری
  • اشنایی با مبدل آنالوگ به دیجیتال (ADC)
  • اشنایی با امکانات مبدل آنالوگ به دیجیتال میکروکنترلر های STM32
  • اشنایی با مدهای مختلف ADC
    • آموزش نحوه راه اندازی قسمت ADC میکروکنترلر
    • آموزش راه اندازی واحد مبدل آنالوگ به دیجیتال در مدهای مختلف
    • راه اندازی مبدل آنالوگ به دیجیتال (ADC) به روش تقریب متوالی و یا Successive Approximation
    • مقایسه Regular channels group و Injected channels group در واحد ADC
    • بررسی مودهای Continuous و Discontinuous در ADCهای میکروکنترلر های شرکت ST
    • کار با ADC به روش‌های استفاده از فلگ EOC و همچنین وقفه‌ی EOC
  • ساخت یک ترموستات دیجیتالی
  •  بررسی Direct Memory Access و توضیح کاربردهای استفاده از DMA
  • کار با واحد DMA
  • استفاده از Direct memory access (DMA) برای خواندن راحت‌تر داده‌های ADC Data Register
  • توضیح نحوه استفاده از تایمرها در Trig کردن ADC

پروژۀ 1 :

برنامه ای بنویسید که مقدار Welcome روی LCD کاراکتری نمایش داده شود.

پروژه ی 2 :

برنامه ای بنویسید که مقدار آنالوگ کانال 8 میکروکنترلر را اندازه گیری کند و آن را بر روی LCD نمایش دهد.

پروژه ی 3 :

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

پروژه ی 4 :

برنامه ای بنویسید که مقدار ولتاژ رفرنس داخلی و سنسور دمای میکروکنترلر را اندازه گیری کرده و آن را بر روی LCD نمایش دهید

جلسه پنجم

در این جلسه دانشجویان با این مباحث کار خواهند کرد :

  • مروی بر مباحث گذشته
  • راه اندازی واحد مبدل دیجیتال به آنالوگ (DAC) و
  • معرفی واحد مبدل دیجیتال به آنالوگ، ساخت یک فانکشن ژنراتور با شکل موجهای (مثلثی، پله ای و دندانه اره ای و سینوسی، و تولید شکل موج نویز)
  • آشنایی با ,واحد BKP میکروکنترلر
  • اشنایی با واحد PWR میکروکنترلر
  • آشنایی با واحد RTC میکروکنترلر ARM و راه اندازی آن
  • اشنایی با واحد ارتباطی TWI (I2C) میکرو کنترلر
  • کار با سنسور دیجیتال LM75
  •  

پروژه 1 :

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

پروژۀ 2:

سیستمی طراحی بکنید که با استفاده از واحد RTC میکروکنترلر ARM مقدار زمان را محاسبه و بر روی LCD نمایش دهد.

پروژۀ 3:

سیستمی طراحی بکنید که زمان رو بر روی LCD نمایش دهد و در مدت 10 ثانیه مقدار نور LED که در پروژۀ قبلی کار شده ؛ تغییر یابد .(یعنی از ثانیه ای یک مقدار نور LED شروع به زیاد شدن بکند تا ثانیۀ 10 که مقدار نور LED به حداکثر مقدار خود می رسد)

جلسه ششم:

در این جلسه دانشجویان با این مباحث کار خواهند کرد :

  • مروی بر مباحث گذشته
  • آشنایی با ارتباط سریال، ارتباط سریال یکطرفه، دو طرفه و نیمه دو طرفه
  • ارتباط سریال سنکرون و آسنکرون
  • آشنایی با نحوه کار با واحد (Universal synchronous asynchronous receiver transmitter (USART
  • ارتباط UART و شیوه ارتباط بین دو میکروکنترلر یا یک میکروکنترلر و یک وسیله جانبی
  • مقایسه پروتکل های ارتباطی UART، RS232، RS485 و RS422
  • آشنایی با واحد سریال در میکروکنترلر STM32
  • آشنایی با مبدل USB به سریال برد آموزشی
  • راه اندازی پروتکل ارتباطی USART با استفاده از مبدل USB به سریال
  • تبدیل پروتکل UART به پروتکل RS232 و ارتباط دوطرفه میکرو با کامپیوتر
  • ایجاد ارتباط آسنکرون دوطرفه بین دو میکروکنترلر به روش‌های استفاده از فلگ‌های TXE و RXNE و همچنین وقفه‌های TXE و RXNE
  • آشنایی با پروتکل RS-485 و RS422 و راه اندازی آن
  • استفاده از مفهوم union

آموزش های مرتبط

آموزش عملی میکروکنترلرهای AVR مقدماتی مدرس: مهندس سید عبدالمهدی مرتضوی مدت دوره: 36 ساعت
۳,۲۰۰,۰۰۰ تومان ۲,۵۰۰,۰۰۰ تومان
طراحی مدارچاپی و کار با نرم افزار Altium Designer مدرس: سید علی شبّر مدت دوره: 24 + 12 ساعت
۱,۵۰۰,۰۰۰ تومان ۱,۲۰۰,۰۰۰ تومان
کارگاه آموزش FPGA و زبان VHDL مدرس: دکتر محمد جوادیان مدت دوره: 50 ساعت
۳,۲۰۰,۰۰۰ تومان ۲,۸۰۰,۰۰۰ تومان
آموزش کاربردی میکروکنترلرهای ARM STM32، پیشرفته مدرس: دکتر محمد جوادیان مدت دوره: 36
۴,۲۰۰,۰۰۰ تومان ۳,۸۰۰,۰۰۰ تومان
کارگاه طراحی سیستمهای نهفته مبتنی بر بردهای سیستم عامل دار مانند رزبری پای مدرس: دکتر محمد جوادیان مدت دوره: 48 ساعت
۴,۲۰۰,۰۰۰ تومان ۳,۸۰۰,۰۰۰ تومان
کارگاه آموزش پردازش سیگنال و تصویر در متلب و پیاده سازی در FPGA به زبان VHDL مدرس: دکتر محمد جوادیان مدت دوره: 48 ساعت
۴,۲۰۰,۰۰۰ تومان ۲,۸۰۰,۰۰۰ تومان
آموزش عملی میکروکنترلرهای AVR پیشرفته مدرس: مهندس سید عبدالمهدی مرتضوی مدت دوره: 30 ساعت
۳۸,۰۰۰,۰۰۰ تومان ۳۵,۰۰۰,۰۰۰ تومان
اصول طراحی سیستم های دیجیتال مدرس: سید علی شبّر مدت دوره: 48 ساعت
۲,۲۰۰,۰۰۰ تومان ۱,۹۰۰,۰۰۰ تومان

تماس تلفنی با فناورسرا

09210217546

نشانی ایمیل

info@fanavarsara.com

صفحات رسمی ما

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

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

طراحی وب سایت

ورود به سایت

رمز عبور خود را فراموش کرده اید؟
هنوز در سایت ثبت نام نکرده‌اید؟