1. خانه
  2. آموزش
  3. جلسه بیست و دوم _ نحوه راه اندازی واحد PWM (بخش اول)

جلسه بیست و دوم _ نحوه راه اندازی واحد PWM (بخش اول)

جلسه بیست و دوم _ نحوه راه اندازی واحد PWM ونحوه انجام تنظیمات در محیط STM32CubeMX

در ادامه آموزش STM32 با استفاده از توابع HAL  در این جلسه قصد داریم تا به معرفی واحد PWM بپردازیم.PWM مخفف pulse Width Modulation می باشد و به معنای مدولاسیون عرض پالس می باشد. این تکنیک در صنایع الکترونیک و مخابراتی کاربرد زیادی دارد و از آن برای کدینگ پیام های مخابراتی، کنترل توان دستگاه های الکتریکی، شارژ باتری، کنترل نور LED ها، کنترل سرعت موتور و … استفاده می شود.در واقع PWM یک موج مربعی می باشد و همانطور که می دانید امواج مربعی دو حالت صفر و یک یاحالت روشن و خاموش دارند خاصیت امواج PWM در این است که زمان روشن بودن یا یک بودن آن ها نسبت به زمان خاموش بودن یا صفر بودن آنها متغییر است.

این خاصیت را با عبارت Duty Cycle بیان می کنند که بیانگر مدت زمان یک بودن پالس به کل زمان پریود می باشد و آن را معمولا بر حسب (%) نمایش می دهند.
در تصویر زیر یک موج PWM را با Duty Cycle های مختلف می توانید مشاهده نمایید.

PWM

با توجه به اینکه میکرو کنترلرها نیز از این ویژگی برخوردارند در این جلسه قصد داریم تا از این ویژگی مهم و پرکاربرد استفاده نماییم و نحوه راه اندازی و تنظیمات مربوط به آن را بیاموزیم. تولید موج PWM در واحد های تایمر که قابلیت تولید PWM را دارند انجام می شود. برای شروع ابتدا نرم افزار STM32CubeMXرا اجرا می کنیم و مطابق جلسات گذشته تنظیمات اولیه شامل تنظیم منبع کلاک میکرو و نوع دیباگر و پروگرامر و فرکانس کاری مدار را تنظیم می نماییم واز بخش Pinout & Configuration وارد قسمت Timers می شویم و TIM1 را انتخاب می کنیم.

Timers

با انتخاب TIM1 از قسمت TIM1 Mode and Configuration و از بخش Mode تنظیمات را مطابق تصویر زیر انجام می دهیم.

TIM1_Mode

در این قسمت تنها کافیست تا Clock Source را در حالت Internal Clock و Channel1 را در حالت PWM Generation CH1 تنظیم می نماییم.پس از آن پایه مورد نظر فعال می شود.

PWM_Output

در ادامه می توانید در قسمت Configuration بقیه تنظیما مربوط به واحد PWM را تنظیم نمایید و در آن Prescaler ، Counter Period را تنظیم نمایید تا به فرکانس دلخواه خود برسیم. کلاک تایمرهای ۱ و ۸ از APB2 timer clocks تامین می شود و کلاک تایمر های ۲ و ۳ و ۴ و ۵ و ۶ و ۷ از APB1 Timer clocks تامین می شود. در این پروژه فرکانس این واحد ها ۸ مگاهرتز در نظر گرفته شده است.

Clock_Conf

پس از آن Prescaler و Counter Periodمطابق تصویر زیر تنظیم می نماییم.

Time1_Conf

پس از انجام این تنظیمات فرکانس موج PWM از رابطه زیر قابل محاسبه می باشد

Freq_Calc

پس از انجام تنظیمات می توانیم با انتخاب گزینه Generate Code کد برنامه را تولید نمایید. در جلسه بعد به معرفی دستورات مورد استفاده در پروژه می پردازیم و با دستورات مربوط به PWM بیشتر آشنا می شویم.

زندگی تون پر از نور و مسیرتون سبز

محمد هادی دشتی

لینک های مرتبط با آموزش:
جلسه اول_معرفی هسته آرم و میکروکنترلرهای ۳۲ بیتی شرکت ST

جلسه دوم_معرفی نرم افزارهای مورد نیازجهت برنامه نویسی و پروگرام

جلسه سوم _ آموزش نحوه دانلود آخرین نسخه از نرم افزار STM32CubeIDE

جلسه چهارم _نصب نرم افزار STM32CubeIDE و نصب کتابخانه

جلسه پنجم _ نحوه انجام تنظیمات در نرم افزار STM32CubeMX برای تولید کد برنامه چشمک زن

جلسه ششم _ برنامه نویسی یک چشمک زن ساده با استفاده از نرم افزار STM32CubeIDE

جلسه هفتم _ نحوه انجام تنظیمات پایه به صورت ورودی در نرم افزار STM32CubeMX و برنامه نویسی یک کلید

جلسه هشتم _ معرفی نرم افزار STM32 Flash Loader Demonstrator (پروگرامر سریال) 

جلسه نهم _ نحوه راه اندازی ال سی دی کاراکتری (قسمت اول)

جلسه دهم _ نحوه راه اندازی ال سی دی کاراکتری _ افزودن کتابخانه (قسمت دوم)

جلسه یازدهم _ نحوه راه اندازی ال سی دی کاراکتری _ معرفی توابع (قسمت سوم)

جلسه دوازدهم _ دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش اول)

جلسه سیزدهم_دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش دوم)

جلسه چهاردهم_دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش اول)

جلسه پانزدهم_دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش دوم)

جلسه شانزدهم _ نحوه راه اندازی وقفه با تحریک خارجی(جلسه اول)

جلسه هفدهم _ راه اندازی وقفه با تحریک خارجی (بخش دوم)

جلسه هجدهم_دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش اول)

جلسه نوزدهم _ نحوه راه اندازی سون سگمنت و برنامه آن در محیط STM32CubeIDE (بخش دوم)

جلسه بیستم _ نحوه راه اندازی واحد کانتر ونحوه انجام تنظیمات در محیط STM32CubeMX(بخش اول)

جلسه بیست و یکم _ نحوه راه اندازی کانتر و برنامه آن در محیط STM32CubeIDE (بخش دوم)

جلسه بیست و سوم _ نحوه راه اندازی واحد PWM (بخش دوم)

جلسه بیست و چهارم _ معرفی واحد UART و سطوح منطقی ولتاژ و انواع مبدل ها(بخش اول)

جلسه بیست پنجم _ نحوه راه اندازی واحد UART ونحوه انجام تنظیمات در محیط STM32CubeMX(بخش دوم)

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید