Devre enerjisi kesilince çıkış portları rastgele çıkış yapıyor?

Başlatan F®T, 03 Kasım 2015, 23:54:52

F®T

16f877 işlemci kullandığım bir kartta kart enerjisini kestiğimde çıkış olarak ayarlamış olduğum portlar rastgele çıkış veriyor.Buda çıkışa bağlı rölelerin çekmesine neden oluyor.Sigorta ayarları
#define Config HS_OSC & WDT_OFF & PWRTE_ON & BODEN_ON & LVP_OFF & CP_OFF & CPD_OFF & DEBUG_OFF 

şeklinde ayarlı.Aslında Boden in bu işi engelleme yapması gerekmiyormu?
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

~ENES~

Hocam programa başlamadan değişken tanımlamalarından sonra 2 saniyelik bir gecikme sorunu çözecektir basıma gelmişti bende bu şekilde çözmüştüm
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

F®T

Açılışta değil.Enerjiyi keserken oluşan bir sorun.Enerji kesilince aktif olmaması gereken bir pin var ve arada bir kısa sürede olsa enerji sönümlenene kadar aktif oluyor.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

~ENES~

Biliyorum hocam olay şu ..
Enerji kesilirken voltaj yavas yavas dusuyor ve esik geriliminin altina dusunce pic otomatik olarak reset atip programi en bastan baslariyor anlik olarak ve bu sefer pic saniyelik olarak bazi pinleri hatta bazen butun pinleri bir anda 1 bilgisini gonderiyor .. Benim dedigim sekilde program baslamadan reset attigi anda beklemeye geciyor ve olusan bu durumu onlemis oluyoruz tecrube ile sabittir
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

F®T

Dediğiniz mantıklı o yönde düşünmemiştim.Fakat programımda bu tip bir gecikmem var.ilk satır 500ms gecikme ile başlıyor.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

~ENES~

Doğrudur hocam fakat yazdığınız programda muhtemelen kesme kullanmış olmalısınız ve verdiğiniz 500 ms gecikme kesme açma komutundan sonra olacağı için kesme alt programına dallanacağı için orada belki sorun oluşabilir .. eğer devre elinizin altında ise denemenizi rica ediyorum çünkü bende meraklandım şimdi :D
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

F®T

Farkeden birşey olmadı ne yazıkki.

DelayMS 500    
Device 16F877A
'------------------------------------------------------------------------------     
#define Config HS_OSC & WDT_OFF & PWRTE_Off & BODEN_Off & LVP_OFF & CP_OFF & CPD_OFF & DEBUG_OFF
Xtal = 20     
TRISA=%00001111:PORTA=%00000000   
TRISB=%11011111:PORTB=%00000000
TRISC=%01011111:PORTC=%00000000
TRISD=%00000000:PORTD=%00000000
TRISE=%00000000:PORTE=%00000000 
DelayMS 2000 


pwr ve boden açık kapalıda farkeden birşey olmuyor.Gecikme kesmeden önce.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

~ENES~

ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

Burak

Ferit abi 18F serisinden bir işlemci kullansan olmaz mı :) ?

Burak
Ω Gens Una Sumus Ω

F®T

220uf kapasite 5 volt devresinde.

Burak Kardeşim malesef 16f877a olmak zorunda bayağı bir malzeme var.18 serisinin farklı bir özelliğimi var.

Ayrıca PORTA=%00000000:PORTB=%00000000:PORTC=%00000000:PORTD=%00000000:PORTE=%00000000 satırını kesme öncesine kadar değişik yerlere yazdım ama banamısın demiyor.İlla enerji kesilince bir an aktif oluyor çıkış.Bu çıkış  bir selenoid kontrol ediyor onunda aktif olmaması lazım.Besleme ne kadar sönümlenme anında selenoidi çektirmicek kadar zayıflasada risk.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

~ENES~

ferit abi bide şöyle deneyelim portları sıfırladığın yerde sıfırladıktan sonra 3 saniyelik gecikme koy bakalım ne olacak hatta selenoidin bağlı olduğu pini özellikle 0 yaparak dener misin
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

Burak

Pin lojik konumları PORT kayıtçısı ile değilde , LATCH özelliği olan bir kayıtçıyla yapıldığı için program açılışında LATA=%00000000 şeklindeki bir ifade pinlerin random konum değiştirmesini engelliyor ..
Eğer işlemciyi değiştiremeyeceksen şayet , analog bir çözüm arayalım bu sistem için ... 

Burak
Ω Gens Una Sumus Ω

F®T

Evet Enes kardeşim dediğin gibi yaptım.

DelayMS 500  

Device 16F877A
'------------------------------------------------------------------------------     
#define Config HS_OSC & WDT_OFF & PWRTE_On & BODEN_On & LVP_OFF & CP_OFF & CPD_OFF & DEBUG_OFF
Xtal = 20

TRISA=%00001111:PORTA=%00000000   
TRISB=%11011111:PORTB=%00000000
TRISC=%01011111:PORTC=%00000000
TRISD=%00000000:PORTD=%00000000
TRISE=%00000000:PORTE=%00000000
DelayMS 2000 
     


Bu şekilde enerji verip voltaj tam oturduğu zaman enerjiyi kesersem şu anda çıkışlar düzeldi.Fakat enerjiyi verip kısa bir süre kesersem çıkışlar yine saçmalıyor.Ama ilk halinden iyi durum.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

F®T

Evet 18 serisinde dediğin gibi kayıtçı var.Bayada avantajlı.16 serisinde aynı anda yanyana olan pinleri aktif yapınca biri aktif olurken diğeri aaktif olmayabiliyor yada ters durumda olabiliyor.
Analog çözüm derken ne gibi bir çözüm.and kapısı ile çıkışı sağlama almamı?  :D
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

~ENES~

Hocam elinden geliyorsa islemcinin 5 volt girisini role ile sur elektrik kesildigi anda islemciye hic besleme vermesin hicbir sorun olmaz ugrasmaya degermi orasi tartisilir :D
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

Powered by EzPortal