در این فایل خواندن اطلاعات PWM با میکرو STM32 نشان داده شده است.
محتویات فایل:
-
پروژه کامل خواندن دیوتی سایکل و فرکانس پالس ورودی به میکرو (با HAL و میکروکنترلر STM32F103C8T6)
-
پروژه راهنمای فارسی دارد
PWM چیست؟
در PWM ولتاژ تولید شده خروجی از صفر تا مقدار ولتاژ مرجع تعیین شده تغییر میکند. در واقع با استفاده از تکنیک PWM میتوانیم ولتاژ و جریان را با استفاده از یک ترانزیستور تقویت کنیم و همچنین روی مقدار ولتاژ خروجی نیز کنترل داشته باشیم. تمام این کارها را میتوان با استفاده از یک میکروکنترلر یا هر آی سی دیگری که قابلیت تولید PWM دارد را انجام داد.
به طور مثال اگر Duty Cycle یک موج PWM برابر با ۷۰% باشد بدان معنی است که در هر سیکل ۷۰% ولتاژ برابر VCC و ۳۰% ولتاژ برابر ۰ است. در شکلهای زیر PWM نشان داده شده است.
اگر سیگنال PWM در یک فرکانس ثابت کار کند، با تغییر زمان موقعی که دامنه سیگنال بالا میباشد، میتوان زمان دامنه سیگنال پایین را تغییر داد. میزان زمانی که دامنه سیگنال بالا میباشد، پهنای پالس نامیده میشود.
این پهنای پالس که بستگی به دوره سیگنال دارد، دیوتی سایکل گفته میشود. دیوتی سایکل Duty Cycle به میزان درصد روشن خاموش بودنتجهیز در یک دوره زمانی گفته میشود. با ضرب دیوتی سایکل در ۱۰۰، میتوانیم آن را به صورت درصد نشان دهیم؛ بنابراین درصد دیوتی سایکل به طور مستقیم با مقدار ولتاژ گرفته شده از منبع متناسب است. اگر دیوتی سایکل ۱۰۰% باشد، موج تبدیل به یک DC ثابت میشود. دوره زمانی سیگنال (T) که به پریود زمانی نیز گفته میشود از لحظه افزایش پلهی سیگنال موج مربعی شروع شده و به میزان شروع افزایش بعدی طول میکشد.
سیگنال PWM به روشهای مختلفی میتواند تولید شود:
۱- روش آنالوگ (Analogue method)
۲- روش دیجیتال (Digital method)
۳- با استفاده از ایسیهای گسسته (Discrete IC)
۴- یا استفاده از میکروکنترلرها (Onboard microcontroller)
یک تفاوت بین سیگنال موج مربعی و سیگنال PWM این است که سیگنال موج مربعی دارای زمان یکسان یک و صفر است (دیوتی سایکل ۵۰%)، درصورتی که سیگنال PWM دارای دیوتی سایکل متغییر است. موج مربعی به عنوان یک مورد خاص سیگنال PWM است که دیوتی سایکل آن ۵۰% است (زمان یک بودن = زمان صفر بودن).
با استفاده از یک عدد فیلتر پایین گذر میتوانید انواع شکل موج را با استفاده از pwm تولید کنیم. البته در ساخت شکل موجهای سینوسی باید فرکانس pwm بالا باشد تا یک تبدیل خوب صورت گیرد. همچنین برای تقویت سیگنال میتوانید از یک آپ امپ نیز استفاده کنید. دوره سیگنال (T) رابطه معکوس با فرکانس PWM دارد و از رابطه زیر محاسبه میشود:T=۱/F
Ton: مدت زمان روشن بودن یا همان ۱ بودن
Toff: مدت زمان خاموش بودن یا همان صفر بودن
T. = Time Period = Ton + Toff
به طور مثال فرکانس ۱ کیلوهرتز به ما یک دوره ۱ میلی ثانیه میدهد.
به عنوان مثال:
در فرکانس ۵۰ Hz طراحی موج PWM با دیوتی سایکل ۶۰% میتوانیم بنویسیم:
موج PWM نتیجه شده:
اما در پروژه ای که برای شما عزیزان تدارک دیدیم، مشخصات یک PWM دریافتی توسط میکروکنترلر را می خوانیم و مشخصات آن نظیر : فرکانس و دیوتی سایکل را استخراج می کنیم!
فایل بارگذاری شده از نظر کارکرد چک شده که با استفاده از کتابخانه های HAL با استفاده از میکرو سری F1 نوشته شده است و راه اندازی آسانی دارد.
در صورت هرگونه سوال در فایل خواندن اطلاعات PWM با میکرو STM32 با ما در تماس باشید.
اگر تازه کار هستید: برای مشاهده آموزش شروع کار با میکروکنترلر STM32 به اینجا مراجعه کنید.
جهت آشنایی با میکروکنترلرهای شرکت STM32 به این لینک مراجعه کنید.
اگر مشکلی در راه اندازی داشتم چکار کنم؟
از طریق واتس اپ و یا تلگرام به شماره 09032523988 پیام دهید
آیا این فایل توسط سایت آموخ نوشته شده است؟
خیر با ذکر منبع تهیه شده است
پاکروان –
سلام از قابلیت تایمر میکرو استفاده شده آیا؟