PIC12F683 kullanılarak yapılmış DC motor PWM kontrol devresi. PWM, potansiyometre ile kontrol ediliyor.

PIC12F683‘ün analog girişine bağlanan potansiyometrenin değeri okunuyor. Okunan değere göre PIC’in PWM çıkışı olan 5 nolu bacağa PWM sinyali gönderiliyor. Gönderilen PWM sinyali L293D motor sürücü entegreye geliyor. Entegre de çıkışına bağlanan DC motoru çalıştırıyor. Potansiyometrenin değeri arttırıldığında motorun dönüş hızı düşüyor.

PIC içine yazılan PicBasic Pro kodları şu şekilde:

[code]
@ DEVICE PIC12F683
@ DEVICE PIC12F683, FCMEN_OFF
@ DEVICE PIC12F683, IESO_OFF
@ DEVICE PIC12F683, WDT_ON
@ DEVICE PIC12F683, BOD_ON
@ DEVICE PIC12F683, PWRT_ON
@ DEVICE PIC12F683, PROTECT_OFF
@ DEVICE PIC12F683, MCLR_OFF
@ DEVICE PIC12F683, INTRC_OSC_NOCLKOUT
@ DEVICE PIC12F683, BOD_ON

DEFINE OSC 4
OSCCON=%01100001
CMCON0 = 7
ADCON0=%10000000

DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 1
DEFINE ADC_SAMPLEUS 30

‘ ============= PWM Ayarları =========
CCP1CON = %00001100 ‘ CCP1, PWM mode
PR2 = 249 ‘max Duty=1000 olacak %50 için 500 oluyor.249’
T2CON = %00000101 ‘ TMR2 on, prescaler 1:4
‘bu işlemcide PWM Timer2 ile çalışıyor.
CCPR1L = 0

GPIO=0
TRISIO= %00000001
ANSEL = %01110001
WPU=0

HAM VAR WORD
DUTY VAR WORD
X var word

PAUSE 300

BASLA:
ADCIN 0,HAM
DUTY= (ham+1)*/250
PAUSE 100
IF X=DUTY THEN BASLA
X=DUTY
CCP1CON.4=X.0
CCP1CON.5=X.1
CCPR1L=x>>2

goto basla
end
[/code]

Devrenin Proteus şeması, PicBasic Pro kodları, ASM ve HEX dosyaları ektedir

Yazıyla İlgili Dosyaları İndirmek İçin Aşağıdaki Dosyaları İndir Butonuna Tıklayın


Benzer Yazılar

PicBasic Pro – @ Komutu

Bu yazımızda Picbasic Pro'da kullanılan @ komutundan bahsedeceğiz @ komutu satırın başında kullanıldığında Picbasic Pro programının içine

PIC İle LCD’li Ayarlı Zamanlayıcı Devresi

PIC ile yapılmış, LCD kullanılarak zamanlama ayarı yapılan güzel bir zamanlayıcı devresi

PicBasic Pro – WHILE…WEND Komutu

While...Wend komutu belirtilen şart doğru olduğu sürece belirlenen kod bloğunun tekrarlanmasını sağlayan koddur.

PicBasic Pro – LCDOUT Komutu

LCD ekranlara yazı yazdırmak için kullanılan komuttur. 


Facebookta Paylas