PWM Kütüphanesi s1.0 (Tüm PIC12-16-18 Serisi İçin)

Pic ile ilgili yazı serisi yazmaya karar verdim. Bunlar en çok kullanılandan başlayacak şekilde pic kütüphaneleri olacak. Kütüphaneleri 8-Bit pic’ler ve HI-TECH C için yazacağım. 8-Bitlik çoğu pici sadece tek kütüphane ile kontrol edebileceksiniz…

Pwm genelde motor sürerken kullandığımız bir modüldür. Robotlarımızın veya projelerimizin değişmez modülüdür. PIC12 serisinin 1 modelinde, PIC16 serisinin çoğu modelinde ve PIC18 serisinin tüm modellerinde pwm modülü bulunmaktadır. Bu kütüphane pwm modülü olan tüm 8-Bit PIC modellerini desteklemektedir.

DC Motorlar için optimum pwm frekansı genelde 10kHz civarında oluyor. İnternette bir sürü hesaplama metodu bulabilirsiniz. Ancak uygun frekansta pwm sinyali gönderemezseniz motorunuz çalışmayabilir ve ses çıkarabilir. Eğer geçerli bir pwm frekansı seçmezseniz otomatikman PR2 değeri 255, Prescale değeri ise 4 seçilecektir. Bunun sonucunda 20mHz’lik osilatörle 4883Hz’lik pwm sinyali, 4mHz’lik osilatörle 977Hz’lik pwm sinyali alırsınız.

4mHz osilatör ile 10bitlik çözünürlüğe sahip pwm sinyali min 245Hz max 3906Hz olabilir.

20mHz osilatör ile 10bitlik çözünürlüğe sahip pwm sinyali min 1221Hz max 19531Hz olabilir.

Diğer osilatör frekansları için aşağıdaki formülü kullanabilirsiniz.

pwmmaxfreq

Kütüphanenin bir sonraki sürümüne çözünürlük ayarlama, otomatik max çözünürlük ve max frekans seçici gibi özellikler eklemeyi düşünüyorum.

Aşağıdaki linkten kütüphane dosyalarını indirebilirsiniz.

http://www.mediafire.com/download/12nr65q2besrmq2/pwm.rar

 

Bu kütüphaneyi kullanan örnek kod aşağıdadır;


#include <pic.h>
#include "pwm.h"

void main ()
{

TRISC = 0;
TRISB = 0;
PORTC = 0;
PORTB = 0;

InitPwm(4000000, 3000);

RB0 = 1;
RB1 = 0;
RB2 = 1;
RB3 = 0;
StartPwm(1, 125);
StartPwm(2, 255);

while(1);

}

Örnek projeyi indirmek için ise;

http://www.mediafire.com/download/b9ii09ooox4euub/motor+pwm.rar

Eğer kütüphane eklemeyi, projede kullanmayı bilmiyorsanız; Buraya bakınız.

3318 Total Views 2 Views Today

  1. Birkaç ay önce pwm ile çok uğraşmıştım. Çeşitli denemeler yapmıştım ancak sonuç tam istediğim gibi olmamıştı. Yazdığınız kodları deneyeceğim. Teşekkürler 🙂
    [Bu kadar değerli bir konuya nasıl yorum yapılmamış, şaşırdım.]

    • EMRAH on 23 Ocak 2014 at 16:37
    • Cevapla

    Hocam linkler bozulmuş rica etsem tekrar yükleyebilirmisin

    1. Güncelledim indirebilirsiniz.

Bir cevap yazın

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.