فیلم آموزش تایمر پیشرفته در STM32 – جلسۀ 7 آموزش STM32

در فیلم آموزش تایمر پیشرفته در STM32، به امکانات پیشرفتۀ تایمرهای Basic و General purpose و Advanced میکروکنترلرهای ARM STM32F1 می پردازیم.

۲۴۵,۰۰۰ تومان

فروش ویژه
آموزش-stm32

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

فیلم آموزش تایمر پیشرفته در STM32، جلسۀ هفتم فیلم آموزش ARM STM32 مقدماتی یوبرد است. منظور ما از آموزش تایمر پیشرفته، آموزش مطالب مربوط به امکانات و ویژگی های پیشرفتۀ تایمرهای این میکروکنترلرهاست. در جلسۀ گذشته، تایمرهای Basic و General purpose و Advanced میکروکنترلرهای STM32 سری F1 را در حد مقدماتی و متوسط بررسی کردیم. در این جلسه، به امکانات پیشرفتۀ این تایمرها می پردازیم. منظور ما از میکروکنترلرهای STM32 سری F1 یا STM32F1، میکروکنترلرهای STM32F101/2/3/5/7xx است. تایمرهای میکروکنترلرهای STM32 امکانات پیشرفته ای دارند. امکاناتی مثل ارتباط داخلی تایمرها با یکدیگر، منابع کلاک متعدد، مد PWM input، خروجی های مکمل، مد Encoder interface، ساخت PWM شش مرحله ای، XOR ورودی برای اتصال خروجی سنسورهای Hall و … . که برخی از این امکانات تنها در تایمرهای Advanced وجود دارند و برخی دیگر، در تایمرهای General purpose هم موجودند. در نسخه های گذشتۀ آموزش ARM STM32، مباحث پیشرفتۀ تایمرهای STM32 را ارائه نکرده و آنها را به آموزش پیشرفتۀ STM32 موکول کرده بودیم. اما با توجه به اهمیت تایمرها و لزوم استفادۀ آنها در پروژه های کاربردی، و همچنین مشکل بودن این مباحث در تایمرهای STM32، این مباحث را در آموزش STM32 مقدماتی آورده ایم. تا دانش پذیر پس از آن بتواند بدون مشکل با امکانات پیشرفتۀ تایمرهای میکروکنترلرهای ARM STM32 کار کند. در ادامه موضوعات مورد بحث این جلسه از آموزش میکروکنترلرهای ARM STM32 را توضیح می دهیم.

فیلم آموزش میکروکنترلرهای AVR مقدماتی

فیلم آموزش آردوینو مقدماتی

زمان آموزش: 3 ساعت و 53 دقیقه

  • این فیلم آموزشی در راستای افزایش کیفیت، ویرایش شده است. با توجه به میسّر نبودن حضور مهندس رضا اسدی در افزودن مباحث جدید، برخی از این مباحث را مهندس رضا بداغی ارائه کرده اند.
  • تنها در سیستم عامل ویندوز و فقط در یک سیستم قابل پخش است.
  • بلافاصله پس از پرداخت، از طریق حساب کاربری قابل دانلود است.
  • به همۀ موضوعات مرتبط پرداخته است و در آن نکته ای از قلم نیفتاده و در سرفصل های ارائه شده، جامع است.
  • آموزش های یوبرد هم به صورت جلسه های مجزا و هم برخی از آنها به صورت پک هایی شامل چند جلسه، قابل تهیه هستند. برخی از آموزش ها، علاوه بر جلسات پک، جلسات دیگر و اغلب، آموزش خصوصی نیز دارند. برای مشاهدۀ جلسات STM32 و آموزش خصوصی آن، می توانید به آموزش STM32 مراجعه کنید.

آموزش-تایمر-پیشرفته-stm32f1

تصویر 1 – آموزش تایمر پیشرفته در STM32، بلوک دیاگرام کلی تایمرهای پیشرفته

سرفصل های فیلم آموزش تایمر پیشرفته در STM32

در این جلسه از فیلم آموزش ARM STM32، به مباحث پیشرفتۀ آموزش تایمر در STM32 یعنی تشریح امکانات پیشرفتۀ تایمرهای STM32، نمونه کد رجیستری تایمر در STM32 و نمونه کد تایمر در STM32 با HAL برای این امکانات پیشرفته و نتیجۀ عملی این نمونه کدها می پردازیم. مباحث فیلم آموزش تایمر پیشرفته در STM32 عبارتند از:

  • مبحث Timer synchronization: سنکرون سازی تایمرها، ارتباط داخلی تایمرها با یکدیگر، انتخاب کلاک تایمر از منابع داخلی و خارجی و Master و Slave بودن تایمرها مباحث این بخش از جلسۀ هفتم فیلم آموزش STM32 هستند. همچنین مباحث سیگنال های TRGO و TRGI، مدهای Master و Slave و رجیسترهای مربوط به Master و Slave و سنکرون سازی را در این بخش بررسی می کنیم.
  • مبحث Clock selection: که مربوط به انتخاب منبع کلاک تایمر است و در این بخش از فیلم آموزش ARM STM32، منابع کلاک داخلی و خارجی و رجیسترها و نمونه کدهای مربوط به منابع کلاک تایمر را تشریح می کنیم.
  • مد PWM input: این مد برای اندازه گیری پهنا و دورۀ تناوب یک پالس ورودی است. در این بخش فیلم آموزش تایمر در میکروکنترلرهای ARM STM32، مد PWM input، رجیسترهای مربوط به آن و یک نمونه کد PWM input mode را تشریح می کنیم.
  • خروجی های مکمل یا Complementary output: به تشریح خروجی های مکمل، Dead time و کاربرد آن، فاز سیگنال های PWM خروجی و … می پردازیم. سپس رجیسترها و نمونه کدهای مربوط را تشریح می کنیم.
  • مد Forced output: در این قسمت از جلسۀ هفتم فیلم آموزش STM32، به تشریح Forced output، رجیسترها و نمونه کد آن می پردازیم.
  • عملکرد Break: ابتدا بیت های مربوط به Break و جدولی مربوط به این بیت ها را بررسی می کنیم. سپس Break، مد Idle و نمونه کد آن را تشریح می کنیم.
  • پاک کردن سیگنال OCxREF: در این بخش از آموزش ARM STM32 به Clearing the OCxREF signal، رجیسترهای مربوط و نمونه کد آن می پردازیم.
  • مد Encoder interface: مد Encoder interface در تایمرهای STM32 سری F1، به نوعی یکی از روش های تأمین منابع کلاک تایمر است. با این قابلیت می توان خروجی انکودرهای روی شفت موتورها یا خروجی ولوم هرزگرد (Rotary encoder) را با تایمر خواند. در این بخش از آموزش تایمر در میکروکنترلرهای ARM STM32، پس از بیان مباحث مربوط به مد انکودر، نمونه کد آن را بررسی می کنیم.
  • موضوع PWM شش مرحله ای یا 6-step PWM: واقعۀ COM و مراحل PWM شش مرحله ای، موضوعات مورد بحث این قسمت از فیلم آموزش تایمر در ARM STM32 هستند.

نتیجه-عملی-pwm-6-مرحله

تصویر 2 – راه اندازی تایمر در STM32، نتیجۀ عملی ساخت PWM شش مرحله ای در تایمر STM32

  • مبحث XOR ورودی و اتصال سنسورهای Hall: در این بخش از جلسۀ تایمر فیلم آموزش ARM STM32، به ورودی XOR، خواندن خروجی سنسورهای Hall روی موتورهای براشلس، ارتباط XOR ورودی با PWM شش مرحله ای و کنترل دور موتور براشلس، روش ایجاد PWM شش مرحله ای با فیدبک از سنسورهای Hall روی موتور، رجیسترهای مربوط و نمونه کد ورودی های XOR شده و PWM شش مرحله ای می پردازیم.
  • مبحث One-pulse mode: در این بخش از فیلم آموزش تایمر پیشرفته در STM32 به مد تک پالس در تایمرهای این میکروکنترلرها می پردازیم.

مباحث این جلسه از آموزش تایمر در میکروکنترلرهای STM32 سری F1، از مباحث مهم تایمر در STM32 هستند و نیاز به دقت و توجه کافی دارند. از این رو حین بررسی نمونه کدها و تشریح مقداردهی به رجیسترها، مروری بر عملکرد بیت ها و رجیسترها داریم تا در جهت درک بهتر مطالب، گامی مؤثر  برداشته باشیم. بنابراین  همۀ مطالب مربوط به تایمرهای STM32 را به طور دقیق و کامل تشریح و بررسی می کنیم و نتیجۀ عملی آنها را می بینیم. به طوری که دانش پذیر پس از گذر از این جلسه می تواند تمامی امکانات تایمرهای میکروکنترلرهای ARM STM32F1 را در پروژه ها به کار گیرد. برخی نوشته های مرتبط با تایمر در میکروکنترلرهای AVR و STM32 و LPC در وبلاگ یوبرد عبارتند از:

ساخت PWM با AVR

PWM فرکانس متغیر با AVR

تایمرهای میکروکنترلرهای STM32

کنترل دور موتور با تایمر در STM32

ساخت PWM در LPC1768

پیش نمایش – نمونه کد تایمر پیشرفته، ارتباط Master و Slaveی بین تایمرها

ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است