avatar_elektro77

FAZ SIRASI DEDEKTORÜ

Başlatan elektro77, 23 Kasım 2018, 17:18:32

elektro77

Faz sırası dedektoru yapmak istiyorum. Faz sırası değiştiğinde de o anki sırayı ekranda görmek istiyorum.
3 fazı notür ile beraber yarım dalgaya çevirip dirençlerle ve zener diyotlarla kırpıp kare dalgaya çevirerek 4.7 volt ile  pice girdim. Burada sorun yok yani.
Araştırmalarımda aşağıdaki eksik kodlara ulaştım. Tamamlamak için birçok deneme yaptım Fakat başarıya ulaşamadım. eklediğim kodlarda bulduğum yer sadece "sıra" satırından sonra olan yerlerdir. ayarları ve değişkenleri ben ekledim.
yaptığım devre şemasınıda ekledim
Elinde örnek kodlar olan veya kodları tamamlayabilecek olan Üstatlarıma şimdiden teşekkür ederim.
@ DEVICE pic16F876A
@ DEVICE pic16F876A, WDT_on
@ DEVICE pic16F876A, PWRT_ON
@ DEVICE pic16F876A, PROTECT_OFF
@ DEVICE pic16F876A, XT_OSC
'-------------------------------------------------------------------------------
define OSC 4
DEFINE LCD_DREG        PORTB    'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT        4        'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_EREG        PORTB    'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT        3        'LCD Enable Bacağı Hangi bite bağlı ?
define LCD RWREG       PORTB    'LCD R/W Bacağı Hangi Porta bağlı?
define LCD_RWBIT       2        'LCD R/W Bacağı Hangi bite bağlı ?
DEFINE LCD_RSREG       PORTB    'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT       1        'LCD RS bacağı Hangi Bite bağlı  ?
DEFINE LCD_BITS        4        'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES       4        'LCD Kaç sıra yazabiliyor
DEFINE ADC_BITS        10       'A/D çevirim sonucu kaç bit olacak
DEFINE ADC_CLOCK       3        'Clock kaynağı (3=rc)
DEFINE ADC_SAMPLEUS    100      'Örnekleme zamanı mikro saniye cinsinden.
DEFINE LCD_COMMANDUS   2000     'Command delay time in us
DEFINE LCD_DATAUS      50       'Data delay time in us

'-------------------------------------------------------------------------------
TRISA=%00000111
TRISB=0
TRISC=%11100000
portb=0
PORTC=0
'------------------------------------------------------------------
ADCON1=%10001110                '7. bit 1 yapıldı 10 bit sonuç almak için.
INTCON=%11000000                'INTCON.7 ve INTCON.6 bitleri SET edilecek.
'T1CON =%00000000                'Bölme oranı 1/1yapılacak
CMCON=7
'-------------------------------------------------------------------------------
symbol faz1=portc.5
symbol faz2=portc.6
symbol faz3=portc.7
bir var bit
iki var bit
uc var bit
dort var bit
bes var bit
alti var bit

'---------------------------------------------------------------
LCDOUT $FE,1
PAUSE 250
LCDOUT $FE,$80,"LUTFEN  BEKLEYIN"
PAUSE 1000


sira:
IF faz1=1 Then GoTo sira
sirabir:
IF faz1=0 Then GoTo sirabir
IF faz1=1 AND faz2=1 AND faz3=0 Then
bir=1
Else
GoTo yanlis
EndIF
PauseUs 5000

IF faz2=0 AND faz3=0 AND faz1=1 Then
iki=1
Else
GoTo yanlis
EndIF
PauseUs 2500

IF faz3=1 AND faz1=1AND faz2=0 Then
uc=1
Else
GoTo yanlis
EndIF
PauseUs 3500

IF faz1=0 AND faz2=0 AND faz3=1 Then
dort=1
Else
GoTo yanlis
EndIF
PauseUs 4000

IF faz2=1 AND faz3=1 AND faz1=0 Then
bes=1
Else
GoTo yanlis
EndIF
PauseUs 3000

IF faz3=0 AND faz2=1 AND faz1=0 Then
alti=1
Else
GoTo yanlis
EndIF
Return
.........................
.........................

"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

ete

Elimizde 3 adet faz (sinüs dalgası şeklinde) var ve her biri diğerinden 120 derece faz farkı ile geliyor.
Bu fazların sıralamasını nasıl takip ederiz. ? Bunu soru olarak site üyelerine soruyorum.!!!!
Aldığımız cevaba görede programa yön vereceğiz. Donanım olarak elimizde yalnızca 3 adet sıfır geçiş dedektör devremiz mevcut ve her birini bir faz ile besleyip çıkışlarını PORTB.4 - PORTB.5 ve PORTB.6 pinlerine bağlayıp PortB değişiklik kesmesinide aktif ettiğimizi kabul edelim.
Önce ben fikrimi söyleyeyim.
Fazlara sırası ile R-S-T isimlerini verecek olursak,
Öncelikle R fazınınbağlı olduğu PORTB.4 pininden bir kesme beklerim. Bu gerçekleşir ise peşinden gelen kesme şayet PORTB.5 de bağlı olan S fazından geliyor ise sıralama otomatikman R-S-T şeklindedir. R kesmesinden sonra gelen kesme şayet T fazının bağlı olduğu PORTB.6 pininden geliyor ise bu durumda faz sırası R-T-S dir derim.

Bu düşünceden faklı düşüncesi olan varmıdır acaba ? Düşünce farklı donanım ve algoritma ile olmalı elbette.


Ete

elektro77

Saniyenin 50 de biri bir hizla islem yapabilmeyi bir turlu aklim almiyor.
Yani 50 hz  in 1 palsini alicaz ve islem yaptiricaz. Ve bunu 3 ayri acida faza uygulayacagiz. Aklim almiyor.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

fatih88

Benim bildiğim fazlar arasında 20ms fark var yanlışım varsa düzeltin ilk önce 3 fazı mcu anlayacağı voltaja dönüştürmek bunu optokuplör ile yapabilirsin fazın birini referans alacaksın pin değişim kesmesi ve timer1 kuracaksın ilk tetik geldiğinde timeri başlatacaksın tetik kesildiğinde süreyi kaydedip timeri sıfırlayıp 2. Tetigin gelmesini bekleyecen tetik ms leri 20ms oturuyorsa faz yönü doğru bu süre 20ms küçük ise hatırladığım kadarıyla 5ms olması gerekiyor 2 fazın yerini değiştirmek gerekiyor
Eğer işinize yararsa ccs c de yazmıştım gönderebilirim
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

COTYORA

Fazlar arası yaklaşık 6.66 msn gecikme var  120 derece faz farkı olduğu için .
360/120=3  bir sinüs işareti
20msn ise  20/3=6.66 msn olur.


Hattuşa

slm bu 3 faz işini masa başında ölçümlemek için nasıl bir yol izlemek lazım? yani trifaze statik varyak kontrol yapmak istiyorum ev ortamında 3 faz olmadığı için projeye başlayamadım. sizin bir öneriniz varmıdır?

fatih88

Isiste 3 faz simülatör var bi türlü yazdığım programı bulamadım bulursam ekleyecem
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

Hattuşa

Alıntı yapılan: fatih88 - 24 Kasım 2018, 21:58:21
Isiste 3 faz simülatör var bi türlü yazdığım programı bulamadım bulursam ekleyecem

evet var onunla yazılımımı simüle edebiliyorum, sıkıntı yok. ancak ben reelde masabaşında test etmek istiyordum.eklediğim şu şemada basitce yapılmış ama gerçekte çalışır mı bilmiyorum? açıkcası denemedim.

elektro77

Siz bana yazılım konusunda yardımcı olun ben masa basinda olcebilme icin iyi bir çözüm önereceğim.
Konuyu ben actim ama bana yardimci olan yok.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

Yada çözüm önerimi şimdiden açıklayayım.
Pro hocamın gönderdiği devrenin çıkış uçlarını optokuplor ve tristor ikilisi ile surun. 3 adet 220 den 380 e 10 watt veya daha üstü-ki 10 wattin yeterli olacagi kanaatindeyim, izlasyon trafosu bulun veya sarın veya sardırın. Bu trafolarin primerlerini bu tristorlerle 120 derece açı olacak şekilde sürün. Sekonderlerin birer ucunu birleştirip nötürü elde edin. Diğer uçlarından da 120 derece açılı 380 volt trifaze alacağınıza eminim. Test için yeterli olacağını düşünüyorum. Belki açıyı kalibre edebilmek için bir başka devre gerekebilir. Fakat ana fikir bu. Ben denemedim ama yardım ederseniz ve  şu yazılımı yapabilirsem direk deneyeceğim.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

F®T

Alıntı yapılan: pro-TR - 24 Kasım 2018, 21:55:33
slm bu 3 faz işini masa başında ölçümlemek için nasıl bir yol izlemek lazım? yani trifaze statik varyak kontrol yapmak istiyorum ev ortamında 3 faz olmadığı için projeye başlayamadım. sizin bir öneriniz varmıdır?

Selami hocam varyaklar genlik ayarlar çıkışta sinüs bozulmaz.
Çıkış volatajına uygun şebekeden dc voltaj elde etmelisin.Daha sonra 3 faz hibrit igbt paket ve driver ihtiyacı var.Sonrasındada 3 faz elde edilip spwm yöntemi ile igbt paket sürülecek.igbt çıkışını izole etmek için çıkısa üçgen girişli yıldız çıkışli bir trafo süreceksin.Trafo çıkışındaki fazlarda sinüsü düzeltmek için filtreliceksin.
Uygun olanı bu şekilde .Yazması kolay uygulaması baya zor bir iş.

3 faz sıralaması için @ete hocamın dediği yöntemin uygun olduğunu düşünüyorum.
Örnegun R fazı programsal olarak 1.faz secilir.Eğer r fazı portb degisiklik kesmesini tetiklemişse kesmeye girilir R fazındanmı ona bakılır.Eğer R fazından ise bence orda bayrak setlenir.Sonraki gelen kesmede bu bayrak ve sonraki olması gereken kesme şartı kontrol edilir eger doğru ise zaten 2 faz doğru oldugu icin 3. De dogrudur.Bir led yakilarak siralama dogru denir.Fakat R fazi kesme uretti baurak setledik sonraki asamada diger faz kesmeye girdi ise direk faz sirasi hatali ledi yakilabilir.Aslinda @ete hocam zaten açıklamış.Bana kalırsa ölçümde izolasyon işi önemli.Ayrıca nötrsüz sistemlerde nasıl 3 faz sırası ölçülür buda bence güzel bir konu.Bu konuda sitede daha önce bende biraz kafa patlattım ama tecrübe edemedim öyle kaldı.Birazda bu tip devrelerde deneme yaparken risk yüksek iyi emniyet almak lazım.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

mehmet

Üç giriş pini ve birisi kesme de olursa
ölçüm yapılabilir.
Kesme oluştuğunda üç pin aynı anda
okunur. 0b101 veya 0b011 şeklinde
iki değer çıkar. Buna göre sağa veya sola
dönüyor diye ayırt edebiliriz.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

ete

#12
Bu sistemde kesmeyi oluşturan faz sıfır yani LOW çıkacak diğerleri 1 çıkacak. Ama bana faz sırasını vermeyecek.
Diyelimki R fazını PORTB.0 (INT) kesmesine bağladım. Diğer fazlarıda sırası ile PORTB.1 ve PORTB.2 ye bağladım. Kesme geldiğinde Portu okudum ve Bana (%110) bilgisini verdi. Bu durumda Faz sıralaması T-S-R dir diyebilirim. Zira her bir kesmede aynı değeri okuyacağım. Bunu doğru kabul edip ST fazlarının yerini değiştirirsem yine durum değişmeyecek okunan port %110 olarak çıkacaktır ki buda farklı faz sırasını bağladığım zaman terslik çıkacak anlamına gelir. Yani bu yöntem bir şey belirliyor ama net faz sırasını bana veremiyor maalesef. Ancak 2 kesme ilede doğru bilgi alınabilir şeklinde bende fikir oluşturdu.
Zira 1. kesmede %110 bilgisini almış isem ikincide %101 almam gerekir. Bu bilgiyi alıyor isem Faz sırası T-S-R dir diyebilirim.
Yada ikinci kesme oluştuğında 011 şeklinde bir bilgi geliyor ise faz sırası S-T-R şeklindedir diyebilirim.

Kısaca en azından ikinci fazın yerinide doğru bilmem lazım ki 3 cüsü otomatik yerini bulacak demektir.

Ete

elektro77

Çok mantıklı ete hocam.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

mehmet

Bu şekilde çalışıyor.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

Powered by EzPortal