قسمت نوزدهم : PWM

قسمت نوزدهم : PWM

قسمت نوزدهم : PWM
قسمت نوزدهم : PWM

سیسوگ در قسمت هجدهم آموزش میکروکنترلر STM8 تایمر 4 را به شما معرفی کرد و برنامه آن را با هم بررسی کردیم. در این قسمت از مجموعه مقالات آموزش میکروکنترلر STM8  قصد دارد ویژگی پرکاربرد PWM را بررسی کند. با سیسوگ همراه باشید.

 

PWM :

تایمر 2 یا به عبارتی PWM جز ویژگی های مهم هر میکروکنترلر است. PWM کاربردهای بسیاری از جمله کنترل موتور، SMPS ها، کنترل روشنایی، تولید صدا، تولید موج و غیره را دارد. برخلاف دیگر میکروکنترلرها که کانال های PWM محدودی دارند، STM8 دارای چندین کانال PWM است، که تعدادی از آن ها به عنوان تایمر 2 (تایمر عمومی) هستند. به عنوان مثال، STM8S003F دارای سه کانال PWM مستقل است.

PWMهایی که توسط تایمر عمومی تولید می شوند، PWMهای اولیه هستند. این‌ها می توانند برای کارهای ساده ای همچون کنترل روشنایی LED، کنترل موتور سروو و غیره مورد استفاده قرار گیرند. که نیازی به ویژگی های پیشرفته مانند dead-time، brake یا تولید زمان موج را ندارد. در این بخش نحوه استفاده از تایمر 2 برای تولید PWMهای ساده را خواهیم دید.

توجه داشته باشید که در میکروکنترلرهای پیشرفته STM8  ورودی / خروجی های تایمر به عملکرد بیت های پیکربندی بستگی دارد. قبل از بارگذاری کد این بیت ها را بررسی کنید. در برخی میکروکنترلرهای STM8 ورودی / خروجی ها قابل انتقال هستند، بدین معنی که ورودی / خروجی را می توان در GPIO های مختلف مبادله کرد. در صورت نیاز می توانید از STM8CubeMx استفاده کنید.

اتصالات سخت افزاری 

اتصالات سخت افزاری PWM

نمونه کد PWM

این یک مثال بسیار ساده است. در اینجا هر 3 کانال تایمر 2 برای تغییر نور LED های متصل به کانال های تایمر استفاده می شود.

 

توضیحات

این بار نیز CPU و کلاک داخلی در 2 مگاهرتز تنظیم می شوند.

 

 

سپس باید PWM GPIOها را به عنوان خروجی تعریف کنیم.

 

 

درست مانند دیگر میکروکنترلرها، نسل PWM شامل یک تایمر است. همانطور که گفتیم TIM2 یک تایمر است. باید قبل از اینکه کانال PWM را تنظیم کنیم، در ابتدا زمان را تنظیم کنیم.

 

 

در کدهای بالا، تایمر 2 دارای پایه زمانی 16ms یا 62.5KHz است. این پایه زمانی مجدداً توسط واحد مقایسه کننده خروجی  (OC) تقسیم می‌شود. در اینجا پایه 62.5KHz به 1000 تقسیم می‌شود تا فرکانس PWM 62.5Hz حاصل شود. حداکثر چرخه کاری 1000 است. علاوه بر این، می توانیم پلاریته PWM را تنظیم کنیم و به کانال فرمان دهیم که به صورت معکوس عمل کند یا نه.

برای تغییر وظیفه PWM باید تابع زیر را فراخوانی کنیم:

 

 

توجه داشته باشید که در میکروکنترلرهای STM8 بین فرکانس کاری و فرکانس PWM تبادلی وجود دارد. اگر فرکانس کاری بزرگ باشد فرکانس PWM کوچک است و برعکس. این موضوع برای تمامی تایمرها صادق است.

PWM در STM8

سیسوگ در قسمت بیستم از مجموعه آموزش میکروکنترلر STM8 قسمت PWM تایمر 1 را مورد بررسی قرار می‌دهد. با سیسوگ همراه باشید.

 

منبع

لینک‌های دانلود

مطالب مرتبط

 

 

حمایت از electronic girl

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

electronic girl
electronic girl

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

دیدگاه ها

2 دیدگاه

  • محمد
    ۲۴ آبان ۱۳۹۷

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

    • Nasim Hematian
      electronic girl
      ۲۶ آبان ۱۳۹۷

      سلام
      ممنون از شما… حمایت دوستان باعث دلگرمی ما میشه.

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

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

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

درآمد زایی به سبک پینوکیو

ما مهندسین, بخصوص مهندسین برق و الکترونیک … علاقه خاصی به طراحی و ساختن داریم علاقه زیادی به تکنولوژی , بخصوص از...

Sisoog Os Sisoog Os
  • 3 سال پیش
سیـــســـوگ

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