پیکربندی تایمر کانتر 1 به عنوان مولد موج PWM
پیکربندی تایمر کانتر 1 به عنوان مولد موج PWM
PWM یا همان مدولاسیون عرض پالس یکی دیگر از امکانات تایمر کانتر 1 میآباشد که کاربرد وسیعی در کنترل دور موتورهای DC دارد.
پیکربندی PWM
شکل کلی دستور:
تایمر کانتر 1 دارای دو خروجی PWMبا نام هایOC1A و OC1Bمی باشد.دو رجیستر برای قرارگیری مقادیر PWM خروجی با نامآهایPWM1A و PWM1B وجود دارد که میآتوان در آنآها نوشت و یا آنآها را خواند.
PWM=8|9|10:برای پیکربندی PWM به صورت مد 8، 9 و 10 بیت میآباشد.
Prescale: همانند دو مد تایمر و کانتر برای تنظیم فرکانس موج استفاده میآشود.برای تنظیم فرکانس موج در مدهای مختلف از فرمولات زیر استفاده میآکنیم:
COMPARE A|B PWM:این گزینهآها نوع تغییرات سیگنال PWM را مشخص میآکنند که این تغییرات به شرح زیر است:
CLEAR UP: موج PWM از سطح یک شروع میآشود.
CLEAR DOWN: موج PWM از سطح صفر شروع میآشود.
DISCONNECT: در این حالت خروجی PWM قطع میآشود.
نکته: در حالت کلی اگر از CLEAR UP استفاده کنید هرچه مقدار عدد داده شده به رجیستر کمتر باشد سرعت بیشتر است و در حالت CLEAR DOWN برعکس.
فعال سازی PWM
توسط دستورات زیر PWM آماده تولید پالس میآشود:
خواندن و نوشتن رجیسترهای PWM
توسط دستورات زیر میآتوان مقادیر PWM را خواند و یا در آن نوشت.در حالت PWM=8 جنس Varمیآتواند از جنس Byte باشد اما در حالتآهایPWM=9|10 جنس متغیر باید Word باشد.
http://vip.eca.ir/sharing/uploads/13440055421.rar
مثال دوم : کنترل دور موتور توسط کلید
http://vip.eca.ir/sharing/uploads/13440055861.rar
پیکربندی تایمر کانتر 1 به عنوان مولد موج PWM
PWM یا همان مدولاسیون عرض پالس یکی دیگر از امکانات تایمر کانتر 1 میآباشد که کاربرد وسیعی در کنترل دور موتورهای DC دارد.
پیکربندی PWM
Config PWM
شکل کلی دستور:
ConfigTIMER=PWM,PWM=8|9|10,Prescale=1|8,….,
COMPARE A|B=CLEAR UP|CLEAR DOWN_|DISCONNECT
COMPARE A|B=CLEAR UP|CLEAR DOWN_|DISCONNECT
تایمر کانتر 1 دارای دو خروجی PWMبا نام هایOC1A و OC1Bمی باشد.دو رجیستر برای قرارگیری مقادیر PWM خروجی با نامآهایPWM1A و PWM1B وجود دارد که میآتوان در آنآها نوشت و یا آنآها را خواند.
PWM=8|9|10:برای پیکربندی PWM به صورت مد 8، 9 و 10 بیت میآباشد.
Prescale: همانند دو مد تایمر و کانتر برای تنظیم فرکانس موج استفاده میآشود.برای تنظیم فرکانس موج در مدهای مختلف از فرمولات زیر استفاده میآکنیم:
PWM=8bit Fpwm= فرکانس کار میکرو / (256*PRESCALE)
PWM=9bit Fpwm= فرکانس کار میکرو / (512*PRESCALE)
PWM=10bit Fpwm= فرکانس کار میکرو / (1024*PRESCALE)
PWM=9bit Fpwm= فرکانس کار میکرو / (512*PRESCALE)
PWM=10bit Fpwm= فرکانس کار میکرو / (1024*PRESCALE)
COMPARE A|B PWM:این گزینهآها نوع تغییرات سیگنال PWM را مشخص میآکنند که این تغییرات به شرح زیر است:
CLEAR UP: موج PWM از سطح یک شروع میآشود.
CLEAR DOWN: موج PWM از سطح صفر شروع میآشود.
DISCONNECT: در این حالت خروجی PWM قطع میآشود.
نکته: در حالت کلی اگر از CLEAR UP استفاده کنید هرچه مقدار عدد داده شده به رجیستر کمتر باشد سرعت بیشتر است و در حالت CLEAR DOWN برعکس.
فعال سازی PWM
START
توسط دستورات زیر PWM آماده تولید پالس میآشود:
Enable TIMER1
Start TIMER1
Start TIMER1
خواندن و نوشتن رجیسترهای PWM
Var=PWM1A
توسط دستورات زیر میآتوان مقادیر PWM را خواند و یا در آن نوشت.در حالت PWM=8 جنس Varمیآتواند از جنس Byte باشد اما در حالتآهایPWM=9|10 جنس متغیر باید Word باشد.
PWM1A|B = Var
Var = PWM1A|B
Var = PWM1A|B
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
مثال اول : راه اندازی موتور DC با حداکثر سرعت http://vip.eca.ir/sharing/uploads/13440055421.rar
مثال دوم : کنترل دور موتور توسط کلید
http://vip.eca.ir/sharing/uploads/13440055861.rar
دیدگاه