Pic Basic ve PWM Uygulamaları
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).
Yorumlarınız
kolay gelsin
"Bilgiyi paylaşmak, hem paylaşanı hemde paylaşanın bilgisin büyütür."
İyi çalışmalar
Bir yorum ekleyin
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>