arkadaşlar bu devrede triac neden kontrol edilemiyor

Başlatan F.T, 30 Mart 2010, 20:21:36

F.T

herkese kolay gelsin.devreyi yaptım ama triac bir türlü tetiklenmiyor.proteuseta sıfır noktasını algılayıp gecikmeden sonra tetik palsini görebiliyorum .ama devrede bu kontrolü bir türlü yaptıramadım.profesyonel arkadaşların  yardımına ihtiyacım var.yanlışım nerde   acaba .herkese teşekkür ediyorum.
Device 16F628A

@ CONFIG_REQ 
@ __config CP_OFF & DATA_CP_OFF & WDT_OFF & INTRC_OSC_NOCLKOUT & MCLRE_OFF & LVP_OFF & BODEN_OFF & PWRTE_OFF 

XTAL 4
PORTA=0
TRISA=%00000000
PORTB=0
TRISB=%00110001
CMCON=7

On Interrupt GoTo KESME 'YAZILIMSAL KESMEYE GİT 

Symbol INTF = INTCON.1 'RB0 KESME BAYRAGI
Symbol INTE = INTCON.4 'RB0 KESME YETKISI 
Symbol GIE = INTCON.7 'GENEL KESME YETKISI 
 
GIE=0 'TUM KESMELER KAPALI 
INTE=1 'RB0 KESMESİ AKTİF
GIE=1 'TUM KESMELER AÇIK
      
      Dim CPERD         As Byte			
      Dim C			    As Byte	
      Dim Temp          As Word
      Dim ISI           As Byte
      Dim ACI           As Word
      Dim KATSAYI       As Word
      Dim ISISET        As Byte      
      Dim BIRLER        As Byte    
      Dim ONLAR         As Byte   
      Dim W             As WORD  
      Dim A             As WORD   
      Symbol DQ =PORTB.3		 
      Symbol YUK=PORTB.4          
      Symbol ASA=PORTB.5  
      Symbol BUZ=PORTB.2
      Symbol TRIAC= PORTB.1
           
Clear
	  
      
      KATSAYI=8500/10  'KATSAYIYI KAÇ DERECEDE İŞLEM İSTİYORSAK YAZILIR BURADA 10 DERECE İSTEMİŞİZ 
      ISISET= ERead 1     'EPROMDAN ISISETİ OKU
      
BASLA:

'ISISET DEGERİNİ BUTONLARLA AYARLAMAK 
      While ASA=0 Or YUK=0
      GoSub AYAR
      Wend 
      
    IF ISI<ISISET THEN        
    ACI=8500-((ISISET-ISI)*KATSAYI)   
    IF ACI>8500 THEN 
    ACI=8500
    ENDIF 
    ELSE
    ACI=8500      
    ENDIF
                            
'DERECE OKUMA (TEMP)OKUNAN DERECEDİR             
      
      OWrite   DQ, 1, [$CC, $44]
      OWrite   DQ, 1, [$CC, $BE]
      ORead DQ, 2,[Temp.LowByte,Temp.HighByte, C, C, C, C, C, CPERD] 
      Temp = (((Temp >>4) * 100) - 25) + (((CPERD - C) * 100) / CPERD)
      Temp = Temp/100
      ISI=Abs Temp
             
'ISI DEGERİ  7 SEGMENTE YAZDIRILIR 
      
      FOR A=0 TO 50
 
      BIRLER=ISI Dig 0
      ONLAR =ISI Dig 1
            
      PORTA=240 | BIRLER
      Low PORTB.7
      DelayMS 2
      High PORTB.7
      DelayMS 2          
      
      PORTA=240 | ONLAR
      Low PORTB.6
      DelayMS 2
      High PORTB.6
      DelayMS 2              
	  NEXT A
      GoTo BASLA
AYAR:
      
      If YUK=0  Then
      Sound BUZ,[110,3]
       
      ISISET=ISISET+1 
      If ISISET=100 Then ISISET=99
      EndIf
      
      If ASA=0  Then
      Sound BUZ,[110,3]
      
      ISISET=ISISET-1 
      If ISISET=255 Then ISISET=0
      EndIf
           
'ISISETİ 7 SEGMENTE YAZDIRMA 

      FOR W=0 TO 100  
         
      BIRLER=ISISET Dig 0       
      ONLAR =ISISET Dig 1

                   
      PORTA=240 | BIRLER
      Low PORTB.7                                 
      DelayMS 2
      High PORTB.7                            
      DelayMS 2
      
      PORTA=240 | ONLAR
      Low PORTB.6
      DelayMS 2
      High PORTB.6
      DelayMS 2
      NEXT W      
      EWrite 1,[ISISET]      
      Return
	  
	  Disable 
KESME:
    
    GIE=0
    INTE=0
    
    TRIAC=0
    DelayUS ACI
    TRIAC=1          
    DelayUS 500
 
    TRIAC=0   
    INTF=0 
    GIE=1
    INTE=1

    Resume
    Enable
    Stop 'program sonu
      
     


Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

F.T

Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Feritt,

Triac ın tetiklenebilmesi için kullandığın Optotriac'ın non-zerocrossing tipinden olması gerekir.
Pek çok optotriac da sıfır geçiş kontrolü kendi içindedir. Bu tip bir optotriac kullanırsan triac'ı istediğin gibi kontrol edemezsin. Sıfır geçiş kontrolü olmayan bir optotriac kullanırsan istediğin olacak.
Örnek vermek gerekir ise;
MOC 3021 kullanırsan işin görülür. Ama MOC 3041kullanırsan Triac'ı kontrol edemezsin.
Şemanda kullandığın MOC tipi belli değil. Bu nedenle başka bir yorum yapamıyorum.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

F.T

ETE hocam selamlar.tabiki dediğiniz gibi.ben moc 3021 kullandım.hocam sıkıntı şu  ısıstede 7 segmentler yavaş çalışıyor.devredede aynı ve 
aynı yavaş.vede rakamlar tam oturmuyor .ayrıca sanki triac yarım dalga kontrol oluyor gibi bunlara bir bakabilirseniz memnun olurum.ETE hocam son halini ekliyorum.teşekkürler

http://www.4shared.com/file/254332817/a4ed974e/ISI_triac.html
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Biliyorsun Proton kullanmıyorum. PBP olsa simule edebilirdim.
Programda hata görüyorum.  Birinci display'e bilgi yazdırmak için kullandığın komut şu,
PORTA=240 | BIRLER   
Birler=7 ise PortA ya yazacağın değer 247 olacaktır. Neden? Neden 240 değerini her seferinde porta yazıyorsun.
PortA nın üst bitlerinde bir şey bağlı değil (şemanda öyle gözüküyor.)
O halde PORTA=BIRLER demende sakınca yok bence
SetIsı gösteriminde de aynı yöntemi kullan.

Şu komutu neden kullandığını anlamadım doğrusu en azından neden bir döngü içinde kullandın?
      FOR A=0 TO 100
      ISI=Abs Temp
      NEXT A

Display gösterimi için kesme kullanmaz isen bu displayler hep sapacaktır. Sensörün okuma süresi zaten 750 ms. Bu demektirki bir sensör okumasına girdinmi displayler 750 ms süre ile yenilenmeyecektir. Halbuki kesme kullanırsan yada displayleri kesmede sürersen böyle bir şey olmaz.
Daha önceki programı öyle yapmış idik diye hatırlıyorum. Neden değiştirdin?.
TMR0 kesmesini 2 ms de bir kesme oluşacak şekilde ayarlayacaksın. TMR0 kesmesi oluşmuş ise displayin birisini süreceksin. Bir sonraki kesmede diğerini süreceksin. Böylece düzenli olarak her 2 ms de bir displaylerin sürülecektir. Bu arada sensör okuma işlemleri sorunsuz yapılır.
Bir ikinci kesmede Sıfır geçiş kesmesi olacaktır. Kesme kısmında Flag lardan hangi kesmenin oluştuğuna bakıp ona göre işlem yapacaksın.

Ete


Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

F.T

ETE hocam dediklerinizi yapıp sonucu bildiricem.daha önceki düzenlemede problemler oldu onun için bende proton ile çalışma yapma zorunda kaldım.teşekkürler.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.


F.T

evet güzel çalışmalar var ama c ile yazılmış.pek bilmediğim bir yazılım dili.teşekkürler.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

teknikelektronikci

bildigim kadariyla program sonuna stop yazilmaz end  ile bitirilir
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

F.T

Alıntı yapılan: teknikelektronikci - 02 Nisan 2010, 00:34:32
bildigim kadariyla program sonuna stop yazilmaz end  ile bitirilir

selamlar.dogrudur.ama bir kaç örnek çalışmada bu şekil kullanıldıgını gördüm.mesela muhittin kaplan hocanın proton derslerinde.ders2 kesmeler olması lazım.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

gladi

ben böyle benzer bir devre yapmıştım gayette güzel çalışıyordu


misafir olan kimse, beraberce getiremediği birşeye kalbini bağlamaz.

F.T

gladi hocam selamlar.evet benim yaptıgım devrede çalışıyor ama bu devre ile arasında şu farklar var 7 segment display + ds18b20 var.devre hem ısıyı ekranda gösteriyor hemde triac ı kontrol etmeye çalışıyor bide butonlarla set veriyorsunuz.bunların hepsi işin içine girince 10ms içine herşeyi sıgdırma sorunu çıkıyor.display kırpışım yapıyor  sensör okumasıında sorunlar oluşuyor.incelerseniz fikirlerinizi almak isterim.yukarda devreyi paylaştım .ilginiz için teşekkür ediyorum.izmir ekibi olarak yeni buluşma bu aralar ayarlansa iyi olur. ;D
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

gladi

gündüzleri başka bir pc den girmek zorunda kalıyorum (başkasının ) ... onun için devre düzenleyip koyamıyorum ... resmi şunun için verdim ... şematik olarak denenmiş ısınma falan problemi olmayan devre diye verdim ... çıkışı model kullanabilirsin diye ....tabiki seninki farklı ...
misafir olan kimse, beraberce getiremediği birşeye kalbini bağlamaz.