راه اندازی واحد PWM توسط EasyMCU

راه اندازی واحد PWM توسط EasyMCU

راه اندازی واحد PWM توسط EasyMCU

 

راه اندازی واحد PWM توسط EasyMCU : تا حالا قصد داشتید سرعت چرخش یک موتور DC را کنترل کنید؟ یا زاویه ی قرار گیری شفت سروو موتور را تعیین کنید؟ شدت روشنایی LED را کنترل کنید؟ یا با ترکیب نورهای متنوع توسط RGB LED ترکیب رنگ های جالب بسازید؟ و یا …

 

مفهوم PWM

واحد PWM که سرنام کلمات Pulse Width Modulation به مفهوم مدولاسیون عرض پالس می باشد این امکان را به سادگی میسر می سازد. در این تکنیک یک قطار پالس با فرکانس ثابت ساخته می شود و با تعیین میزان عرض پالس بین 0 تا 100% ، میزان روشن (1) و خاموش (0) بودن سیگنال تعیین می شود. به همین سبب با وجود فرکانس مطلوب می توان درصد توانی مشخص و اختیاری به مصرف کننده اختصاص داد.

 

واحد PWM در Zcross

پایه های P23 تا P28 علاوه بر ورودی/خروجی ، می توانند به عنوان خروجی PWM ( مدولاسیون عرض پالس ) نیز پیکربندی شوند و مورد استفاده قرار بگیرند. برای دسترسی به کلاس PWM و استفاده از متودهای آن در ابتدا به سراغ شیء pwm می رویم. با گذاشتن علامت “.” { “dot” خوانده می شود } بعد از آن می توانیم دسترسی به متودهای کلاس PWM داشته باشیم. به جای x در عبارت pwm.x باید یکی از متود های زیر قرار بگیرد.

 

پیکربندی واحد PWM با فرکانس 60Hz (هرتز) و رزولوشن 100

 

تعیین میزان حداقل و حداکثر مجاز برای Duty Cycle (دوره وظیفه) سیگنال PWM

Duty Cycle یا به اختصار D.C. میزان درصد 1 بودن سیگنال PWM را تعیین می کند.

 

فعال کردن پایه ی PWM مدنظر

 

تعیین مقدار Duty Cycle

 

توجه:

پایه های P23 تا P28 طبق PinOut بورد Zcross به ترتیب معادل CH6 تا CH1 می شوند. در متودهای فوق بجای CHx می توان از نام خود پایه Px نیز استفاده کرد.

 

توجه:

با متود set در هر لحظه می توان تنها میزان Duty Cycle یک پایه را تعیین کرد.اما با استفاده از ترکیب متودهای ()ch و ()apply می توان ابتدا مقادیر نهایتا 6 کانال PWM را تعیین کرد و به صورت آنی نهایتا 6 مقدار مختلف در 6 خروجی PWM بورد Zcross داشت. در مثال نمونه ی زیر از این روش استفاده شده است.

 

نحوه ی سیم بندی پروژه

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

مثال نمونه