ARM, STM, STM8, آموزش, توصیه شده, مقاله

آموزش میکروکنترلر STM8 قسمت 20: PWM تایمر 1

آموزش میکروکنترلر STM8 - TIM1 PWM

آموزش میکروکنترلر STM8 – قسمت بیستم:

سیسوگ در قسمت نوزدهم آموزش میکروکنترلر STM8 راه اندازی PWM با تایمر 2 در میکروکنترلر STM8 را توضیح داد و نتیجه عملکرد آن را با 3 عدد LED چشمک‌زن تست کرد. در این قسمت آموزش میکروکنترلر STM8 سیسوگ قصد دارد راه اندازی PWM با تایمر 1 را مورد بررسی قرار دهد. با سیسوگ همراه باشید.

PWM تایمر 1 :

تایمر 1 یک تایمر پیشرفته است، بنابراین PWM‌ هایی که با این تایمر تولید می‌شوند دارای ویژگی‌های اضافی نسبت به دیگر تایمر‌ها هستند. به عنوان مثال، امکان تولید PWM‌های مکمل با TIM1 وجود دارد. بیش از 3 مجموعه PWM مکمل در میکروکنترلر STM8  می‌توان تولید کرد. به عنوان مثال، PWM‌های مورد استفاده در طراحی مبدل سه فاز، یکسوکننده‌ها و … . PWM‌های تولید شده با TIM1 برای برنامه‌های کنترل موتور بسیار مفید هستند. هم‌چنین می‌توان dead_time و brake را نیز اضافه نمود. علاوه بر این‌ها، TIM1 می‌تواند PWM‌هایی را مانند PWM‌های ساخته شده توسط تایمر GP ایجاد کند. در این حالت، خروجی‌های PWM به صورت آزاد در دسترس نیست و تا چهار کانال PWM مستقل می‌تواند در دسترس قرار گیرد.

در این مثال، خواهیم دید که چگونه می‌توان PWM های مکمل را در کانال 1 TIM1 PWM ایجاد کرد.

 

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

اتصالات سخت‌افزاری برای PWM تایمر 1

نمونه کد

 

توضیحات

این بار از تمام  16 مگاهرتز سرعت HSI برای کلاک داخلی و CPU استفاده می‌کنیم:

 

مانند مثال‌های قبل، پین‌های GPIO خروجی PWM به عنوان خروجی تنظیم می‌شوند.

 

تنظیم اولیه کانال TIM1 و OC درست همانند مثال قبلی با برخی تفاوت‌های جزئی است. به نظر می‌رسد که بخش تولید زمان نیاز به استدلال‌های اضافی دارد. به این دلیل است که:

  • بر خلاف تایمرهای دیگر، مقدار  precaler TIM1 مقدار ثابتی نیست و می‌تواند ضریبی از 2 باشد.
  • شمارنده علاوه بر شمارش رو به بالا ، شمارش به صورت معکوس را نیز دارد.
  • تایمر 1 شمارنده تکرار شونده نیز دارد.
  • به جز تایمر اصلی تمامی تایمرهای STM8 دارای 16 بیت هستند.

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

به همین ترتیب، برخی از اطلاعات اضافی که در هنگام تنظیم کانال‌های OC مورد نیاز است وجود دارد. حتی اگر از کانال‌های مکمل استفاده نکنیم به اطلاعات آن‌ها نیاز داریم. می‌توان پلاریته را برای PWM در حالت پیش فرض قرار داد.

 

برای تغییر چرخه کار کانال، باید این تابع را فراخوانی کنیم:

خروجی‌ها به صورت جفتی اتفاق می‌افتند و آنها کاملاً به هم وابسته هستند. به همین دلیل هیچ عملکرد جداگانه‌ای برای خروجی با برچسب N وجود ندارد.

 

PWM TIM1

PWM TIM1

 

سیسوگ در قسمت بیستم و یکم از مجموعه آموزش میکروکنترلر STM8 قصد دارد کپچر تایمر ورودی TIM1 و TIM2 را مورد بررسی قرار دهد. با سیسوگ همراه باشید.

منبع

نوشته های مشابه

4 دیدگاه در “آموزش میکروکنترلر STM8 قسمت 20: PWM تایمر 1

  1. Amir گفت:

    لطفا مطلب بیشتری در این رابطه قرار بدین
    مثلا شما درباره I2C چیزی نگفتین. (راه اندازی یه E2PROM یا هر چیزی که با I2C کار میکنه)

    1. N H N H گفت:

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

  2. Amir گفت:

    سلام خسته نباشید
    آموزش هاتون خیلی خوبه _ کاملا مفید هست _ امیدوارم ادامه دار باشه
    ممنون

    1. N H N H گفت:

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

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

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