Site içi Arama

Ara

Pic Basic ve PWM Uygulamaları

Aykut Yılmaz - 07.04.2007

Bu yazımda, Pic Basic ve PWM başlıklı yazıda yayınlanan PWM konusuna örnekler vereceğim.

İlk devremiz tek kanallı PWM uygulaması olup, motor kontrol devresidir. Bu devre için Pic Basic Pro dosyası şu şekildedir.

'****************************************************************
'*  Name    : pwm.BAS                                      	*
'*  Author  : [AYKUT YILMAZ]                                    *
'*  Notice  : Copyright (c) 2007 [end. elektronik teknikeri]    *
'*          : All Rights Reserved                               *
'*  Date    : 28.03.2007                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
TRISC=0

DUTY VAR BYTE
BASLA:
FOR DUTY=255 TO 0 STEP -1       '255'DEN HER SEFERİNDE 1 ÇIKART
GOSUB PALS                      'PALSE GİT
NEXT

FOR DUTY=0 TO 255
GOSUB PALS
NEXT

PALS:
HIGH PORTC.2
PAUSEUS (Duty*230)
LOW PORTC.2
PAUSEUS (255-DUTY)*230
RETURN
END

Bu programın çalışması ise şu şekildedir.

FOR DUTY=255 TO 0 STEP -1 255'den her seferinde 1 çıkart 0 oluncaya kadar.
255.254.253.....0'a kadar

gosub pals git ve burda işlemlerini yap

FOR DUTY=0 TO 255 0.dan 255'e kadar arttır.
0.1.2.3....255'e kadar

PAUSEUS (Duty*230) 230 nerden çıktı?

Bu projede süreyi 15 sn olarak belirledim yani led 255 değerinden max +5v dan 0'a 15sn geliyor. Yine 0'dan 255'değerine 15sn de çıkıyor istediğim bu.

Hesaplamalar:

15sn=15000ms 255'e ulaşmak için her bir kademedeki geçikme dolayısıyla 15000/255=58824 high ve low süresine eşit. Süre 58824 olduğunda motor çok hızlı veya led çok parlak olacak. 0 olduğunda ise motor duracak veya led sönecek.

Bundan sonra ise kaç µs high kaç µs low olacak hesabı

58824/255=230 µs eder

saniye ile oynayarak böyle sistemlerin çalışmadaki görselliği arttıralabilir

Programa ait devrenin şeması:

Bu program uygulaması ile ilgili BAS, ISIS, ASM, HEX ek dosyaları indirmek için tıklayınız (19,5 KB).

İkinci devre, tek kanallı ADC_PWM uygulaması olup, potansiyometre ile motor kontrolu yapılmaktadır. Bu devre için Pic Basic Pro dosyası şu şekildedir.

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [AYKUT YILMAZ]                                    *
'*  Notice  : Copyright (c) 2007 [end. elektronik teknikeri]    *
'*          : All Rights Reserved                               *
'*  Date    : 27.03.2007                                        *
'*  Version : 1.0                                               *
'*  Notes   : 1 KANALLI ADC_PWM UYGULAMASI                   	*
'*          :                                                   *
'****************************************************************

'*****GİRİŞ VE ÇIKIŞLAR*****
TRISA=255
TRISC=0

'****HPWM AYARLARI****
DEFINE CCP1_REG PORTC        'HPWM 
DEFINE CCP1_BIT 2            'CCP1 PİNİ PORTC.2

'*****ADC TANIMLAMALARI*****
DEFINE ADC_BITS         10
DEFINE ADC_CLOCK        3
DEFINE ADC_SAMPLEUS     20

ADC1 VAR WORD
DUTY VAR WORD
ADCON1=%10000010        '10 BİT SONUÇ ALMAK İÇİN


BASLA:
ADCIN 0,ADC1
DUTY=ADC1/4
HPWM 1,DUTY,1000
gOTO BASLA
END

Programa ait devrenin şeması:

Bu uygulamanın çalışmasını fan kontrol devresi olarak gösteren wmv formatında vidyo kaydını izlemek için tıklayınız (1,23MB).



Bu program uygulaması ile ilgili BAS, ISIS, ASM, HEX ek dosyaları indirmek için tıklayınız (20,2 KB).

Üçüncü uygulama tek kanal PWM uygulaması olup, ışık uygulamasıdır. Bu devre için Pic Basic Pro dosyası şu şekildedir.

'****************************************************************
'*  Name    : pwm.BAS                                 	     	*
'*  Author  : [AYKUT YILMAZ]                                    *
'*  Notice  : Copyright (c) 2007 [end. elektronik teknikeri]    *
'*          : All Rights Reserved                               *
'*  Date    : 26.03.2007                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
TRISC=0

DEFINE OSC 4            '4MHZ'LİK OSİLATÖR
OUTPUT PORTC.0          'PORTC.0 ÇIKIŞ

A VAR BYTE
DUTYCYLE VAR BYTE

FOR A=0 TO 3
HIGH PORTC.0
PAUSE 1000
LOW PORTC.0
PAUSE 200
NEXT 

BASLA:
for dutycyle = 0 to 255
PWM PORTC.0,DUTYCYLE,100
next
    
GOTO BASLA
END

Programa ait devrenin şeması:
Programa ait devrenin şeması:

Bu uygulamanın çalışmasını fan kontrol devresi olarak gösteren wmv formatında vidyo kaydını izlemek için tıklayınız (1,23MB).



Bu program uygulaması ile ilgili BAS, ISIS, ASM, HEX ek dosyaları indirmek için tıklayınız (20,2 KB).

Üçüncü uygulama tek kanal PWM uygulaması olup, ışık uygulamasıdır. Bu devre için Pic Basic Pro dosyası şu şekildedir.

'****************************************************************
'*  Name    : pwm.BAS                                 	     	*
'*  Author  : [AYKUT YILMAZ]                                    *
'*  Notice  : Copyright (c) 2007 [end. elektronik teknikeri]    *
'*          : All Rights Reserved                               *
'*  Date    : 26.03.2007                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
TRISC=0

DEFINE OSC 4            '4MHZ'LİK OSİLATÖR
OUTPUT PORTC.0          'PORTC.0 ÇIKIŞ

A VAR BYTE
DUTYCYLE VAR BYTE

FOR A=0 TO 3
HIGH PORTC.0
PAUSE 1000
LOW PORTC.0
PAUSE 200
NEXT 

BASLA:
for dutycyle = 0 to 255
PWM PORTC.0,DUTYCYLE,100
next
    
GOTO BASLA
END

Programa ait devrenin şeması:

Bu uygulamanın çalışmasını gösteren wmv formatında vidyo kaydını izlemek için tıklayınız (1,33MB).



Bu program uygulaması ile ilgili BAS, ISIS, ASM, HEX ek dosyaları indirmek için tıklayınız (20,2 KB).

Dördüncü uygulama üç kanal PWM uygulaması olup, ışık uygulamasıdır. Bu devre için Pic Basic Pro dosyası şu şekildedir.

'****************************************************************
'*  Name    : pwm2.BAS                                      *
'*  Author  : [AYKUT YILMAZ]                                    *
'*  Notice  : Copyright (c) 2007 [end. elektronik teknikeri]    *
'*          : All Rights Reserved                               *
'*  Date    : 26.03.2007                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
TRISC=0
DUTY VAR BYTE

BASLA:
FOR DUTY=255 to 0 step -1
GOSUB PALS
next

FOR DUTY=0 to 255
GOSUB PALS
NEXT
GOTO BASLA 

PALS:
HIGH PORTC.0
PAUSEUS (Duty*230)
LOW PORTC.0
PAUSEUS (255-DUTY)*230

HIGH PORTC.1
PAUSEUS (Duty*230)
LOW PORTC.1
PAUSEUS (255-DUTY)*230

HIGH PORTC.2
PAUSEUS (Duty*230)
LOW PORTC.2
PAUSEUS (255-DUTY)*230
RETURN

END 

Programa ait devrenin şeması:

Bu uygulamanın çalışmasını gösteren wmv formatında vidyo kaydını izlemek için tıklayınız (1,28 MB).


Bu program uygulaması ile ilgili BAS, ISIS, ASM, HEX ek dosyaları indirmek için tıklayınız (15,1 KB).



Tek kanal ADC_PWM çalışmasını gösteren wmv formatında vidyo kaydını izlemek için tıklayınız (965 KB).



3 kanal ADC_PWM çalışmasını gösteren wmv formatında vidyo kaydını izlemek için tıklayınız (1,52 MB).

E-posta: aykut_yilmaz54@hotmail.com
Sayfa Etiketleri:16F877 (6) Pic Basic (5) Pwm (3)
İçerik Yan Blok
Konular
Tasarım: Teknimer Teknoloji
Yukarı