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

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

زمان شروع دوره: 16 آذر 1401

 

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

 

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

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

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

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

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

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

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

 

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

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

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

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

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

 

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

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

 

مدت دوره:

50 ساعت

 

مخاطبین:

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

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

 

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

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

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

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

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

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

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

آشنایی با پروتکل  ارتباطی UART،

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

 

معرفی دوره:

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

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

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

 

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

  • معرفی انواع روشهای طراحی دیجیتال
  • آشنایی با ساختار میکروکنترلر های 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، رجیستری، و کتابخانه HAL
    • بررسی کتابخانه های ارایه شده توسط شرکت ST برای راه اندازی بخش های مختلف میکروکنترلر
  • اشنایی با منابع کلاک میکروکنتلر های ARM STM32 که یکی از مهمترین بخش های میکروکنترلر به شمار می رود.
    • آشنایی با منابع کلاک و تنظیم فرکانس سیستم و تنظیم PLL های میکرو
    • کار با واحد  Reset and clock control(RCC)
    • انجام تنظیمات مربوط به PLL
    • راه‌انداری و توقف Clock واحدهای مختلف میکروکنترلر
  • ساخت یک برنامۀ چشمک زن (LED Blinking)
  • مروی بر مباحث گذشته و پاسخ به سوالات دانشجویان
  • آشنایی با ملاحظات و نحوه طراحی PCB برای میکروکنترلرهای ARM شرکت ST
  • آشنایی با برد آموزشی STM32F107
  • آشنایی با مبدل های سطح منطقی
  • ساخت یک پروژه در محیط نرم افزار keil و انجام تنظیمات مربوط به پروگرامر و کامپایلر
  • اشنایی با منابع کلاک میکروکنترلرهای ARM STM32
  • راه اندازی پورت های ورودی و خروجی و کلاک میکروکنترلر(GPIO ,CLOCK)
  • ساخت یک برنامۀ چشمک زن (LED Blinking)
    • معرفی و کار با واحد General-purpose I/Os) GPIO) و رجیسترهای مربوط به این واحد
    • کار با واحد General-purpose I/Os  (GPIO)
    • آموزش انجام تنظیمات به صورت رجیستری
    • معرفی، HAL
  • کار با نمایشگر 7 قسمتی 7-Segments
  • معرفی مفهوم وقفه (Interrupt) و توضیح اولویت وقفه‌ها
  • آشنایی با واحد کنترلر وقفه در میکروکنترلر ARM و بررسی مزایا آن نسبت به سایر میکروکنترلر ها (EXTI – NVIC)
    • کار با واحد وقفه خارجی EXTI
    • آشنایی با تنظیمات کاربردی وقفه خارجی،
    • آشنایی با واحد NVIC میکروکنترلر
  • راه اندازی وقفه های پورتهای همه منظوره (GPIO)، شباهت ها و تفاوت ها در مقایسه با واحد وقفه خارجی EXTI، تنظیم صدور وقفه در بیش از 42 پایه میکرو
  • راه اندازی کلید به کمک واحد وقفۀ میکروکنترلر (KEY)
  • آموزش ماژولار نویسی برنامه
  • آموزش ساختن فایل‌های .c و .h

پروژۀ 1:

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

پروژه ی 3 :

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

 

  • توضیح مود Alternate functions برای GPIO
  • آشنایی و کار با تایمر میکروکنترلر های ARM STM32 و بررسی حالتهای مختلف کاری آنها
  • آموزش نحوه تولید وقفه با استفاده از واحد Systick
  • معرفی عملکرد و کاربردهای واحد تایمر (TIM) و رجیسترهای مربوط به این واحد
  • آشنایی با واحد تایمر، وقفه تایمر، ساخت فرکانس دقیق با واحد تایمر، ساخت پالس مربعی با تایمر و انجام عملیات در زمانهای دقیق
  • آشنایی با تایمر 6 و 7 میکروکنترلر
  • راه اندازی تایمر میکروکنترلر به همراه وقفه ها و و EVENT ها برای ایجاد تاخیر
  • طرز کار با اینتراپت‌های Update و Capture Compare تایمرهای مختلف
  • معرفی مدولاسیون عرض پالس (PWM) و کاربردهای آن و شیوه ساختن PWM به کمک تایمرها
  • آشنایی با تایمر 1 و 8 میکروکنترلر
  • راه اندازی تایمر میکروکنترلر برای تولید PWM،
  • ساخت عرض پالس قابل تغییر با PWM، کنترل دور موتور (سرعت) موتور DC
  • راه اندازی و کار با واحد کنترل موتور، راه اندازی واحد برای کار با موتور تکفاز، سه فاز، سخت افزار مناسب برای کنترل موتور ، مزیت استفاده از واحد MCPEM بجای PWM
  • فراگیری و نحوه کار با واحد انکودر
  • توضیح مود Encoder برای تایمر و معرفی کاربردهای آن
  • توضیح روش استفاده از IC درایو موتور L298 برای کنترل سرعت موتور 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 میکروکنترلر
    • آموزش راه اندازی واحد مبدل آنالوگ به دیجیتال در مدهای مختلف
  • ساخت یک ترموستات دیجیتالی
  • توضیح نحوه استفاده از تایمرها در 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 و ارتباط دوطرفه میکرو با کامپیوتر

 

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

کارگاه آموزش FPGA و زبان VHDL مدرس: دکتر محمد جوادیان مدت دوره: 50 ساعت
۳,۲۰۰,۰۰۰ تومان ۲,۸۰۰,۰۰۰ تومان
آموزش کاربردی میکروکنترلرهای ARM STM32، پیشرفته مدرس: دکتر محمد جوادیان مدت دوره: 36
۵,۸۰۰,۰۰۰ تومان ۵,۴۰۰,۰۰۰ تومان
کارگاه طراحی سیستمهای نهفته مبتنی بر بردهای سیستم عامل دار مانند رزبری پای مدرس: دکتر محمد جوادیان مدت دوره: 48 ساعت
۴,۲۰۰,۰۰۰ تومان ۳,۸۰۰,۰۰۰ تومان
کارگاه آموزش پردازش سیگنال و تصویر در متلب و پیاده سازی در FPGA به زبان VHDL مدرس: دکتر محمد جوادیان مدت دوره: 48 ساعت
۴,۲۰۰,۰۰۰ تومان ۳,۸۰۰,۰۰۰ تومان
کارگاه آموزش FPGA و زبان VHDL مدرس: دکتر محمد جوادیان مدت دوره: 55 ساعت (11 جلسه 5 ساعته)
۳,۹۰۰,۰۰۰ تومان ۳,۵۰۰,۰۰۰ تومان
طراحی بردهای مدار چاچی (PCB) با استفاده از نرم افزار آلتیوم دیزاینر (Altium Designer) مدرس: دکتر محمد جوادیان مدت دوره: 12 ساعت (4 جلسه سه ساعته)
۸۰۰,۰۰۰ تومان ۵۰۰,۰۰۰ تومان

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

09210217546

پست الکترونیک

doctorjavadian@gmail.com

صفحات رسمی ما

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

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

طراحی وب سایت

ورود به سایت

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