avatar_elektro77

FAZ SIRASI DEDEKTORÜ

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

elektro77

Hocam bir sorum daha olacak.
Picin adc girislerinde voltaj olcumu true rms ozelligi tasiyormu.
"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

IF RV<100 THEN
ROLE=1
GOSUB RYOK
ELSE
ROLE=0
ENDIF

IF SV<100 THEN
ROLE=1
GOSUB SYOK
ELSE
ROLE=0
ENDIF

IF TV<100 THEN
ROLE=1
GOSUB TYOK
ELSE
ROLE=0
ENDIF

IF SIRAHATALI=0 THEN
ROLE=1
GOSUB HATAYAZ
ELSE
ROLE=0
ENDIF


     Yukardaki kodlarla değişik şartlarla röle çektirip bıraktırıyorsun.Şundan oluyor bence bir şartta sorun varsa röle bırakıyor ama diğer şartlar doğru olduğu için bu sefer röleyi çektiriyor.
     True rms bir ölçüm yöntemidir.Adc en aldığın bilgileri bu özelliğe göre formülize ederk bu ölçüm sonucunu true rms olarak alacaksın.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

elektro77

Bu sorunu ayni isi goren nasil bir kodlama ile duzeltebilirim sayin FT 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"

elektro77

Basit bir multimetrenin 2000 volt ac yi olcum yontemi. Bilgi olsun.
"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

3 adet şart röleyi hem bıraktırıyor hem çektiriyor bunu engelliyecek bir kod olmalı.

ıf rv<100 or sv<100 or tv<100  then
role=1
else
role=0
endıf

yukarıda 3 adet şarttan 1 adeti uygun değil ise röle çeker.
ama 3 şart uygun olduğu anda bırakır.

şimdi lcd kısmı için

if rv<100 then gosub ryok
if sv<100 then gosub syok
if tv<100 then gosub tyok

bundada olmayan fazı ekrana yazdırdın.

koda iyi bakalım.yukarda herhangi bir faz eğer yoksa röle çekiyor.ne zmaana kadar 3 şart oluşana kadar.3 faz olunca ancak röle bırakıyor.aşağıdaki koddada hangi faz hatalı ise sadece ekranda onu yazdık.
yol bu senden devam etmesi.tabi bu benim şu an aklıma gelen düşüncem herkes farklı düşünebilir.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

#35
3 adet faz var ve herhangi biri sorunlu ise program hatayı gösteriyor. O, 3 şart olmak zorunda.
Bana göre orada sorun yok. Zaten simulasyonda da sorun gözükmüyor. Sorun donanım kaynaklı.
Bir sürü dirençle voltaj düşürülüp ölçülmez direnç toleransları nedeni ile olması gereken seviyenin altında yada üstünde kalınabilir.

Adc pinlerinde True RMS özelliği yok çok özel bir hesaplama mantığı gerektirir bu.
Sıfır noktasını yakalayıp 10 ms süre içinde her 100 us de bir ölçüm alacaksın ölçümlerin karelerini alıp toplayacak ve sononda ölçüm sayısına bölüp karekökünü aldığında sana True RMS voltaj değerini verecek.
Ete

elektro77

#36
ete hocam daha direnç filan yok ortada.
simülasyonda adc girişlerine direk 5 volt vererek deniyorum. buna rağmen röle düzensiz aralıklarla kapanıp geri açılıyor.
port çıkışını değiştirdim yine aynı oldu.
acaba ayarlardan kaynaklı bir hatamı var.
 TRISA=%00000111
TRISB=%01110000
TRISC=%00000010
portb=0
PORTC=0
'------------------------------------------------------------------
ADCON1=%10001001                '7. bit 1 yapıldı 10 bit sonuç almak için. 3 adc girişi açıldı
INTCON=%11000000                'INTCON.7 ve INTCON.6 bitleri SET edilecek.
T1CON =%00000000                'Bölme oranı 1/1yapılacak
CMCON=7
'OPTION_REG=%10000101            'Pull up dirençleri İPTAL- Bölme oranı 1/64.
'-------------------------------------------------------------------------------
symbol SIRAHATALI=portc.1
symbol role=portC.0
ham1 var word
ham2 var word
ham3 var word
RV VAR word
SV VAR word
TV VAR word
"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

ete hocam sizin verdiğiniz kesmeli yazılımda simülasyon esnasında fazların tamamı yerinde iken ekran sürekli r-s-t ve r-t-s arasında değişiyor.
Fazları yer değiştirdiğimdede aynı şey oluyor. ancak fazlardan birini kesersem stabil oluyor. bu bir sorunmu.
"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

Gerek senindevren ve programında ve gerekse benim kesmeli programda o dediklerin bende olmuyor.  Şu anda seyehatteyim dönünce yarın bakarım.
Ete

elektro77

#39
Hocam nasıl bir devre ile voltajı ölçmeliyiz. Bir sürü direnc kullanmazsak ne kullanacagiz. Örnek bir devre şeması varmı.endustriyel faz olcerlerde de ayni yöntemi kullanmislar. Bu arada programa bakabildiniz mi
"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

ben olsam her bir faz için birer 3V (AC) 1watt tarfo kullanırdım. Çıkışı doğrultup pic ADC pinlerine verirdim.
Böylece voltajı iyi bir voltmetre ile ölçüp gelen ADC değerini ona göre kalibre ederdim.
Örnek hesap vereyim daha iyi anlarsın.
Diyelimki trafo çıkışını doğrulttuktan sonra ölçtüğüm voltajlar aşağıdaki gibi olsun.
AC=236V
DC trafo Çıkışımız=3,4 V
Şimdi kalibrasyon için şunları yapabiliriz.
Öncelikle 5V ref voltajı ile çalışacak olan işlemcimiz bakalım ADC den 3,4V karşılığında ne okuyacak.
5V ref voltajı ile çalışacağı için 5V karşılığında adc 1023 okumalıdır. Bu şekilde ayarlanmış bir sistem ise 3,4V için
(3,4 x 10233)/5=695 okuyacaktır.
Bu durumda formülümüzü yaratabilmek için şöyle yapıyoruz.
235V/695 =0,3381295  bunu 256 ile çarpıyoruz ve 86,5611511 buluyoruz. Bunu da 100 ile çarparak sabit çarpanımız olarak kullanıyoruz. Yani 86,5611511 x 100= 8656,1511 bunu  8.657 olarak kullanarak küsuratların farkını eklemiş olacağız hesaba.
Sonucu ise 100 e bölmemiz gerekece zira sayıyı 100 ile çarparak büyütmiş olduk. Sabit çarpanımız  8.657 dir formülümüz,
Volt(AC)=((ADC x 8657)/256)/100 şeklindedir. Bunu Basic de yazılışı ise Volt=(ADC */8657)/100 şeklinde olacaktır. Aslında 100 e değilde 10 a bölersek ondalık kısmınıda elde etmiş olacağız. Nasıl olduğunu aşağıdaki örnekte göstermiş olayım.
Örneğimizde 3,4V karşılığında adc den 695 okuyacağımız söyledik. Şimdi ADC den 695 okuyunca bunu AC voltaja nasıl çevireceğimizi formülü kullanarak hesaplayalım.
V=((695 * 8657)/256)/10 =2350 olarak bulundu. O halde voltajımız 2350/10 ve ondalık ise Mod 2350/10 şeklindedir.
Basic karşılığı ;
V=(695 */8657)/10=2350 ve ekranda gösterimi (sonuç gerçek değerin 10 ile çarpılmış halidir çünki 100 yerine 10 a böldük önceki hesapta)
LCDOUT $fe,$80,"V=",dec V/10,",",dec1 (V//10)
bu satır bize voltajın ekranda V=235,0 şeklinde gösterilmesini sağlayacaktır.
Şimdi işin devamında şunu kabullenmen gerekiyor. Şebeke voltajın düşerse trafo çıkışında 3,4V değil mesela 3V çıkacaktır. O zaman bizim ekran ne gösterecek onu hesaplayalım bakalım.
3V karşılığı ADC değerimiz ( 3 x 1023)/5 =613,8 ama bunu biz 613 olarak okumuş olacağız.
Şimd, bu değeri formülümüzde yerine koyalım,
V=((613 x 8657)/256)/10=2072 bu durumda ekranda 207,2V olarak görünecektir bu değer.
Bütün bu verdiğim değerleri kendi devrende kullanabilirsin. Aslında programıda vermiş oldum böylece sana. Geriye her faz için bu hesabı yapmak ve ekranda göstermek kalıyor.

Programa bakabildinmi demişsin. Tekrar baktım bende sorun olmuyor. Fazlar sabit durdukça ekrandaki gösterimde aynen duruyor. Fazı değiştirirsem yada kesersem anında değişiyor ve öylece duruyor. Sorunu kendi sistemlerinde aramalısın.

Ete



elektro77

Alıntı yapılan: ete - 26 Kasım 2018, 15:42:36
İlişiktekini kullandım programı test etmek için
Ete

Bu gönderdiginiz şemada kopru diyotlarin negatif uclari gerilim olcumu yapacagimiz devrenin gnd sine baglanmali degilmi hocam. Burada bagli degil. Acaba bende calismama nedeni bu olabilirmi.
"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

Ümit ,
Normal şartlarda köprü negatif uçlarını GND ye bağlamamak gerekir. her biri GND den izole olmalı.
Diğer taraftan pic beslemesini yine fazlardan birinden alacağın 220V AC yi trafo ile indirip köprü +filtre ile DC ye çevirdikten sonra kullanacaksın. Bu kafanı karıştırmasın bu beslemenin GND si ile faz kontrol devresindeki köprülerin GND si birleşmeyecek.

Bu arada bana söylediğin enranda oynama durumunu nihayet bende gördüm. Ne yazıkki sana verdiğim devrede  orta fazın ilerisindeki bir yer bir birine bağlanmamış gözüküyor bendeki sabit durma ondanmış. Ama dikkatli bakınca o bağlantı eksikliğini gördüm ve bağlantıyı yapınca ekranın oynadığına şahit oldum.
Bunun üzerine epeydir uğraşıyorum ekranı sabitleye bildim. Faz yokluğunuda program ile algılayabiliyorum ancak faz sırası şaşırdığı zaman bunu programa algılatmayı henüz beceremedim. Sandığımdan daha karmaşık bir işmiş bu.

Halledersem buraya koyacağım.

Ete

elektro77

Tamam hocam. Merakla bekliyorum. Teşekkürler
"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"

Hattuşa

ete hocam faz sırasını yazılımsal algılatamama sorunumu var? yani diyelim ki portb change kesmesine bu fazları girdiğimizde yazılımsal olarak bişeyler yapılamaz mı? mesela bir değişken tanımlayıp kesme içerisinde R geldiğinde 1, S geldiğinde 2, T geldiğinde 3 desek ve şartlarla bu değişkenin 1-2-3 olduğunu takip etsek atlama olduğunda uyarı versek gibi bir çözüm olamaz mı?

Powered by EzPortal