دسته بندی نشده

راه اندازی pwm در میکرو کنترلر AVR

کنترل سرعت موتورهای دی سی یک قابلیت جالب است که با استفاده از مدولاسیون سطح پالس  یا PWM که اختصار کلمه Pulse-width modulation است امکان پذیر است .

در واقع مثل این است که شما درصد روشن بودن را به درصد خاموش بودن تنظیم کنید

مثلا اگر با فرکانس (سرعت) زیاد میزان روشن بودن و خاموش بودن 50 درصد باشد نور لامپ یا سرعت موتور نصف میشود .

تنظیمات PWM در CodevisionAVR :

مرحله اول :

ابتدا نرم افزار را باز میکنید .

 

—–

مرحله دوم :

باز کردن CodeWizardAVR از منوی Tools رو باز کنید .

و تنظیمات رو اینطوری انجام بدین :

بعد از تنظیمات تایمر و بقیه تنظیمات پورت یا ال سی دی و …

از منوی Program گزینه  Generate,save and exit را بزنید در این حالت اخطاری برای شما نمایش داده میشود

و به شما اخطار میدهد که شما از پورت دی پنج PORTD.5 برای PWM استفاده کردید اما آن را به عنوان خروجی تعریف نکردین اگر Yes را انتخاب کنید خود نرم افزار این پایه را به عنوان خروجی تعریف میکند ، پس ما روی Yes کلیک میکنیم ، بعد از این کار سه بار از شما اسم میخواهد برای دخیره کردن فایل های برنامه و سپس این کر را به شما نمایش میدهد

#include <mega32.h>

void main(void)
{
PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0x00;

PORTC=0x00;
DDRC=0x00;

PORTD=0x00;
DDRD=0x20;//در این خط پایه پی دبلیو ام به عنوان خروجی تعرف شده

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// تنظیمات تایمر یک برای پی دبلیو ام

TCCR1A=0x81;
TCCR1B=0x02;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x50;// مقدار این متغییر بین 0 تا 255 در صد پی دبلیو ام را مشخص میکند
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

MCUCR=0x00;
MCUCSR=0x00;

TIMSK=0x00;

 UCSRB=0x00;

 ACSR=0x80;
SFIOR=0x00;

 ADCSRA=0x00;

 SPCR=0x00;

 TWCR=0x00;

 while (1)
{
// Place your code here

\*

خب اگر در این قسمت برنامه ای ننویسید باز هم پی دبلیو ام شما باهمان مقداری که به مغییر OCR1AL داده این کار میکند و پالس خروجی دارید .

اما اگر بخواهید مقدار یا درصد پی دبلیو ام را تغییر دهید میتوانید عدد داخل متغییرOCR1AL را بین 0 تا 255 در مبنای دسیمال یا ده دهی تغییر دهید

*\
}
}

برچسب ها

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

‫3 نظرها

پاسخی بگذارید

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

دکمه بازگشت به بالا
بستن