نحوه عملکرد اپتوکوپلر Optocoupler
آوریل 21, 2018
کنترل لوازم الکتریکی از طریق ماژول ESP8266 بر پایه IoT
مارس 26, 2018
نمایش همه

کنترل سرعت موتور DC با استفاده از PWM توسط Atmega32

از تکنیک PWM (Pulse Width Modulation) برای کارهایی همچون کنترل سرعت موتور DC یا کنترل شدت نور LED و … می توان استفاده کرد. در این مقاله می خواهیم سرعت موتور DC را با استفاده از PWM توسط Atmega32 کنترل کنیم.

برای استفاده از PWM در AVR از تایمر/کانتر timer/counter استفاده خواهیم نمود. از این خاصیت AVR برای تولید چندین مد PWM می توان استفاده نمود که در این مقاله ما از مد Phase Correct PWM استفاده خواهیم نمود.

Phase Correct PWM

در مد Phase Correct PWM کانتر به صورت تکراری از 0 تا مقدار ماکزیمم (0xFF) و سپس از مقدار ماکزیمم تا 0 می شمارد. OC0 زمانی که کانتر به مقدار مقایسه شونده برسد پاک می شود و تا زمانی که به مقدار شمارش شونده نزولی برسد صفر باقی می ماند زمانی که به مقدار مقایسه شونده در حالت شمارش نزولی رسی این مقدار یک می شود. مقدار مقایسه شونده در رجیستری به نام OCR0 نوشته می شود همچنین مقدار کنونی کانتر در رجیستر TCNT0 نوشته می شود. شکل زیر فرآیند فوق را به خوبی تفسیر می کند.

 

مقادیر PWM با تغییر مقادیر COM00 و COM01 در رجیستر TCCR عوض می شود. شکل زیر به خوبی مفهوم فوق را روشن می کند.

در این مورد سیکل کاری PWM از فرمول زیر محاسبه می شود.

Duty Cycle = ((255 – OCR0) * 2) / (255*2)

رجیستر TCCR0

W R/W R/W R/W R/W R/W R/W R/W
FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00

WGM00 -> 1 و WGM01 -> 0 برای فعالسازی phase correct pwm

COM00 -> 0 و COM01 -> 1 برای معکوس کردن pwm ساخته شده

CS00 -> 1 و CS01 -> 0 و CS02 -> 1 با این شرایط کانتر کلاک خود را از کلاک سیستم می گیرد که بر 1024 تقسیم شده است.

با توجه به فرمول سیکل کاری که در بالا به آن اشاره شد برای مثال با قرار دادن OCR0 = 178 تقریبا سیکل کاری برابر با 30% خواهد بود این مقدار برای OCR0 = 102 برابر با 60% و برای OCR0 = 25 برابر با 90% خواهد بود.

بلوک دیاگرام

بلوک دیاگرام زیر برای زمانی است که از سه دکمه برای تعیین سرعت چرخش موتور DC استفاده کنیم. پین OC0 به پین 3 پورت B متصل شده است.

برنامه

برای نوشتن این مطلب از این لینک استفاده شده است.

این مطلب را به اشتراک بگذارید.

پاسخ دهید

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

*