spwm frekans ve genlik ayarlı bir sinus elde etme yardım

Başlatan cemilcemil, 15 Mart 2010, 14:45:38

cemilcemil

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 03.03.2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
INCLUDE "modedefs.bas"
TRISB = 0
TRISA = 255
PORTB=0
PORTA=0
B var byte
K VAR BYTE
toplam var word
v var byte
;_______________________________________--
DEFINE ADC_BITS         10
DEFINE ADC_CLOCK        2
DEFINE ADC_SAMPLEUS    60
ADC1 VAR WORD
GEN VAR BYTE
ADCON1=%10000010

basla:
toplam=0
K=0
For V=1 To 10
ADCIN 0,adc1
TOPLAM=TOPLAM+adc1
NEXT V
adc1=TOPLAM/10
FOR B=0 TO 255 step 2      
K=sin B +127
pauseus 300
pauseus 3*adc1

PORTB=0
IF K.BIT0=1 THEN PORTB.0=1
IF K.BIT1=1 THEN PORTB.1=1
IF K.BIT2=2 THEN PORTB.2=1
IF K.BIT3=1 THEN PORTB.3=1
IF K.BIT4=1 THEN PORTB.4=1
IF K.BIT5=1 THEN PORTB.5=1
IF K.BIT6=1 THEN PORTB.6=1
IF K.BIT7=1 THEN PORTB.7=1    
next B
;__________________________________________________

goto basla

arkadaşlar yukardaki programda 0-60 hz arasında frekansı ve genliği değişen sinus dalga elde etmeye çalışıyom..yalnız 2 pot bağlayıp genlik ve freknası ayrı ayrı oynayıp sınuç almak istiyorum .bir türlü genlik ile frekansı birbirinden bağımsız bırakamıyorum?
yardımcı olun lütfen....
isteyen bu hesaptan indirip yardımcı olsun..lütfen
http://www.4shared.com/file/241657771/664969d8/_2__snus_dalga_pwm.html
saygılar....

z

Genlik pwm duty ile orantili

Sinus frekansi ise genlikten bagimsiz,

Mesela asagida tam peryodlu sinusun 0 noktasini 100 le ifade ettigim duty degerlerini incele

100 150 100 50 100 Frekans yuksek,  genlik yuksek

100 125 150 125 100 75 50 75 100  Frekans dusuk, genlik yuksek

100 125 100 75 100 Frekans yuksek, genlik dusuk

100 112 125 112 100 88 75 88 100  Frekans dusuk, genlik dusuk
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fractal

Alıntı YapMesela asagida tam peryodlu sinusun 0 noktasini 100 le ifade ettigim duty degerlerini incele

100 150 100 50 100 Frekans yuksek,  genlik yuksek

100 125 150 125 100 75 50 75 100  Frekans dusuk, genlik yuksek

100 125 100 75 100 Frekans yuksek, genlik dusuk

100 112 125 112 100 88 75 88 100  Frekans dusuk, genlik dusuk

bunu anlamadım
Restantum cogniscutur Quantum deligutur

robomaster

Konu yarım kalmış ve önemli bir konu

Verilen kodlar sanırım 50hz için.

Benim sorum sinüs frekansının ayarlı olması için sinus tabloları yerine kullanılabilecek bir algoritma yokmu?


a.zorba

     unsigned char sinus[32];							//  sinus tablosu 

        for(j=0;j<32;j++)
        {
            a=sin(0.196*(float)j);					//sin(2*pi/32*j)
            sinus[j] =(unsigned char)(128+127*a);		//0-255 arasi boyutlandir
        
        } 


forumda detaylı örneklerı var
Bilenler bilir . Biz maraşlilar için şehir olarak şubat ay' i bayram ,kurtuluş ,yaz in gelmesiydi. Şimdi karalar in yas in ayı oldu.

robomaster

#5
a.zorba
ilgi için teşekkürle
yazdığız kod tamamda oradaki değişkenler pwm frekansına ve duty cycle nasıl etki ediyor. Orayı anlasam kodu yazmak mesele değil.
Yani hazır program yerine mantığı paylaşırsanız nacizane sevinirim

Ayrıcana çözünürlük neden 32 ????

a.zorba

https://www.picproje.org/index.php/topic,28113.0.html
32 sayısı dizi de ki deger sayısı pbp için lookup tablodaki eleman sayısı
buradaki kodları kendime uygun hale getirerek sinus elde edmişdim forumda daha ayrıntılı formuller açıklamalar var .
arıca etepic de de ayrıntılı basic anlatımı var.
C kodu olduguna bakma  pbp ye çevrilebilir
bana kalırsa bu teknıgın en sorunu filtre tasarımı .
şu siteyede bir bak
http://www.romanblack.com/onesec/Sine1kHz.htm
Bilenler bilir . Biz maraşlilar için şehir olarak şubat ay' i bayram ,kurtuluş ,yaz in gelmesiydi. Şimdi karalar in yas in ayı oldu.

robomaster

a.zorba
çok teşekkür

gerçekten çok faydası oldu.

Eğer simüs elde edeceksek evet bir filtre lazım ancak igbt yada mosfet süreceksek bu filtre kullanılmıyor
sanırım???

rree

Bu fonksiyon ile pwm nasıl ayarlanır.