Teknomerkez
TR EN ES
Konular

Pic Basic ve PWM Uygulamaları

Yazar: Aykut Yılmaz
Tarih: 07.04.2007
Türkçe

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).

Etiketler: Pic Basic 16F877A Pwm

Yorumlarınız

pıc - 19.04.2007
Benim dönem ödevim bu pıc konusu ile ilgiliydi. Kendime uygun olan uygulamaları buradan buldum.Bence uygulamaların video sunu koyarak çok güzel olmuş.İnşallah benim işeme yaradığı gibi başkalerınında işine yarar.Teşekkür ederim .
gökhan - 06.06.2007
slm pıc uygulamaları indirdim proteustan çalıştırmaya çalıştırdım ama çalışmadı sanırım yazılımlarda sorun var tekrar gözden geçirmenizi istiyorum teşekkürler
aykut yılmaz - 08.06.2007
sevgili gökhan burada yayınlanan bütün pwm uygulamaları çalışıyor hepsi denendi sorun sendeki proteusta olabilir sistemin çalışıp çalışmadığını ancak borda kurarak anlarsın
kolay gelsin
Asker Sakinler - 20.07.2007
Tebrik Ederim.
"Bilgiyi paylaşmak, hem paylaşanı hemde paylaşanın bilgisin büyütür."
adnan - 03.08.2007
teşekkürler faydalı bilgiler için..ben tezim için araştırma yapıyorum elinizde bir veriyi RF ile uzağa gönderebilmeme,ve okuyup lcd ye sürmeme imkan sunan pic dökümanları varmı? yardımcı olursanız sevinirim..
ali - 11.08.2007
emeği geçen bütün arkadaşların, gönüllerinin dileği olsun. pic ile ilgilenmeye yeni başladım pek bir şey anlamıyorum şimdilik ama, çok önemli örnekler olduğunu görüyorum. pwm, step, servo uygulamaları. dedim ya yeni başladım, bana yeni başlayan birisi olarak basit proğramlar nasıl yazılır (ayrıntılı olarak) yardımcı olursanız gönlünüzdeki dilekleriniz için dua etmeye devam ederim :), çok sağolun.
mert - 20.02.2008
Guzel calismalar. Emeginiz ve paylasiminiz icin tebrikler.
ömer - 17.02.2011
Hocam çalışmalarınızı yakından takip ediyor ve takdir ediyorum . Çalışmalarınızı öğrencilerimle birlikte derslerde kullanıyorum
İyi çalışmalar
murat trn - 07.06.2012
isisde pwm\'in çalışıp çalışmadığını nasıl anlarız.
ÖZKAN HOCA - 20.02.2020
12f675 ile pwm uyg yapmak istiyoruz hocam 2khz 2.5khz gibi dc motor sürecegiz yrd olma şansınız varmı yardımlarınız için şimdiden tşk ederim

Bir yorum ekleyin

İsim:
E-posta:
Yorumunuz:
Güvenlik Kodu:
 
Tüm alanları doldurmak zorunludur. Yorumunuz kontrol edilince yayınlanacaktır. E-posta adresi yayınlanmaz.
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>