Normal çalışan devre korna bağlayınca hatalı çalışıyor.

Başlatan b_cavus, 04 Şubat 2011, 13:46:38

b_cavus

Otomobillerde kullanılmak üzere 16f628A kullanarak bir devre yaptım. RA4'e bağlı pull-down yapılmış bir butona basınca RB0'a bağlı 1K ile sürülmüş bir BD135 ile aktif olan rolenin çekmesi (12V role) ve kornanın çalması, butona birdaha basınca rolenin bırakması ve kornanın susması lazım. Role uçlarına korna bağlı değilken devre normal çalışıyor. Role uçlarına korna bağlayınca ve butona basınca korna çalıyor bazen 1-2 bazen de 6-7 saniye sonra sanki butona tekrar basmışım gibi korna susuyor. Bounce sorunu yok çünkü korna bağlı değilken devre normal çalışıyor. Pic'in besleme uçlarının tam dibine 100nF bağladım. Ayrıca 47mikro onu söküp 100mikro daha sonra onu da söküp 470mikro bağladım olmadı(Bu denemelerin hepsinde 100nano bağlı). Korna uçları arasına 330nano bağladım olmadı. Kornayı söküp yerine güçlü bir motor bağladım devre sorunsuz çalışıyor. Otomobilde kullandığım için beslemeleri ayırma şansım yok. Çözüm için yardımlarınızı bekliyorum.

Maxim

keşke şema verseydin

porta.4 pull-down olduğuna göre butonun diiğer ucu +5voltta değilmi?
%99.9 gene bir parazit vakası ama bakalım nereden çıkacak .

b_cavus

evet 5V'a bağlı. Yazdıklarımla anlatamadı isem devre şeması göndereyim.


Maxim

hocam yazdıklarınla gönderdiğin şema tutmuyor?
porta.4 e buton bağlı demiştin, şimdide porta.4 te transistor sürmüşsün ?

hangisi doğru

JKramer

Ben de aynı şeyi yazıyordum :). (Eğer şema doğruysa) RA4 open drain çıkıştır, pull-up direnci koyup ona göre programı düzenlemeniz gerekiyor.

RA5 yani MCLR'ı nasıl bağladınız? Sigorta ayarlarınız nasıl?


b_cavus

Mclr kapalı. Devre korna bağlanınca hatalı çalışıyor.

b_cavus

tüm sigortalar kapalı. lvp:off, boden:off, boren:off, watchdog:off, prte_enb:off, int_rc_osc_noclkout.

edem46

Alıntı yapılan: b_cavus - 04 Şubat 2011, 13:46:38
Otomobillerde kullanılmak üzere 16f628A kullanarak bir devre yaptım. RA4'e bağlı pull-down yapılmış bir butona basınca RB0'a bağlı 1K ile sürülmüş bir BD135 ile aktif olan rolenin çekmesi (12V role) ve kornanın çalması, butona birdaha basınca rolenin bırakması ve kornanın susması lazım. Role uçlarına korna bağlı değilken devre normal çalışıyor. Role uçlarına korna bağlayınca ve butona basınca korna çalıyor bazen 1-2 bazen de 6-7 saniye sonra sanki butona tekrar basmışım gibi korna susuyor. Bounce sorunu yok çünkü korna bağlı değilken devre normal çalışıyor. Pic'in besleme uçlarının tam dibine 100nF bağladım. Ayrıca 47mikro onu söküp 100mikro daha sonra onu da söküp 470mikro bağladım olmadı(Bu denemelerin hepsinde 100nano bağlı). Korna uçları arasına 330nano bağladım olmadı. Kornayı söküp yerine güçlü bir motor bağladım devre sorunsuz çalışıyor. Otomobilde kullandığım için beslemeleri ayırma şansım yok. Çözüm için yardımlarınızı bekliyorum.






korna rolesi nin 30 nolu ucuna  aküden   ayrı kaplo almalısın  bırde 628 in çıkışına  seri diyot bağla.

role oto rolesi değilse  COM ucu na

floresan

R1 e parelel 100nf bağlayın. butona parelel 100nf bağyayın.  6 nolu uçtan şaseye 10k bağlayın. birde picin beslemesine ve botona giden + uca sseri bobin bağlayabilirsiniz. bobinden sonra kondansatör atın. ayrıca besleme kaynağınız yüksek amperli olması lazım. korna fazla akım çeker ve çok fazla parazit yayar.

b_cavus

Buton +5v'a korna rolesi +12V'a bağlı. Kullandığım role otomobillerde kullanılan roleden.İsis'te çizerken öyle gösterdim. 628'in 6 nolu ucuna seri diyot bağladım olmadı. Denemelerimi oto aküsü ile yapıyorum. 12V 60A civarında.

Maxim

1- mlcr yi açın ve 4k7 ile 5volta bağlayın, birde pic tarafına 100nf koyun
2- kullanılmayan tüm boşta kalan ayakları çıkış olarak tanımlayın
3- RA4 pull-up yapın, butonun diğer ucu şasede olsun, programı değiştirin öyle deneyin.

başkada aklıma birşey gelmiyor

OG

Korna ciddi bir parazit üretecedir. Hem havadan hem enerji hattı üzerinden yayılım yapar.

MCLRE'yi açma, R1'in değerini düşürebildiğin kadar düşür (butona basınca 5V regüleni ısıtmayacak kadar) ve R1'e paralel 100nF~220nF mercimek kapasite bağla.

Olmaz ise Buton hattını 5V dan değil 12V akü hattından optocoupler ile bağla.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

z

Yapilan en temel hata butona basildimi basilmadimi rutininde yapilir. Ornegin butona basildiginda girisi low yapan uygulamada;

Aynen soyle;

Dongu:   
              Portun ilgili girisi 1 mi?
              Sifir ise goto Yallah
              Goto Dongu


Bu rutin gurultuye cok duyarlidir. Ilgili pin , buton tarafindan low yapilmasa bile, gurultu nedeniyle pinde cok kisa sureligine low sinyali olussa ve bu tam pini okuma anina denk gelse Yallah olunur.

Bunun cozumu asagidadir.

ButonOku:
              A=0
Dongu:  
              Portun ilgili girisi 1 mi?
              Bir ise Goto ButonOku
              A=A+1;
              A=10 ise Goto Yallah
             Goto Dongu


Bu ise gurultu etkisini nerede ise sifirlar. Islemci frekansi ile gurultunun neden oldugu low suresi arasindaki dengeyi buradaki 10 sayisi belirler. Bu degeri uygulamaniza gore ister 3 ister 1000 yaparsiniz.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com