pull-up ve pull-down sorusu

Başlatan berkay_yalan, 07 Şubat 2009, 05:17:45

berkay_yalan

pıc ıle buton kontrol projelerımızde kullandıgımız pull-up ve pull-down baglantılarından hangısı gercek hayatta daha kararlı calısır sızce? Hangısını tercıh etmelıyız yada hangısı dısarıdan daha cok parazıt kapar?
ne de olsa bırı 1 bırı 0 la tetıklıyor.

OG

Gerçek hayatta parazit bastırmak gereken yerde, eğerki giriş bilgisinin hız değişimi yüksek değilse degeri yeterince düşük direnç ile pulldown yapıyorum, dirence de paralel 100nF bağlıyorum. Bu durum genelde PIC kartından dışarıya çıkan nispeten uzun sayılabilecek birkaç metrelik bağlantılarda faydalı oluyor.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

mucit07

opto izalatör kullanarak girişlerde parazitleri kesinlikle engellersin pic nerede calısırsa calışsın

neotr

Bu senin kullanım alanına göre değişir,
PULL-UP ıcın
Gürültü nün tanımı (embedded da genellıkle parazit) zamanla formülüze edielemeyen işaretlere denir ve gürültü işarete toplanır(biner)  bu nedenle Senin girişin
sıfırsa gürültü buna toplanacağı için çok küçük bir ıhtımalde  olsa o pini 1 okuma gibi bir problemle karşılaşabilirsin bu nedenle grültü HIGH da olan bır pini sıfıra düşüremez çunku negeatıf bır deger degıldır uygulamada özellikle databus larda genellıkle HIGH a cekılır bunun bır sebebıde Hızlı gelen clock un köşelerının yuvarlakımsı degılde tam keskın kare elde edılmek ıstenmesıdr..

PULL-DOWN ıcın se  ozellıkle bazı uygulamalarda bazı data buslar anten gorevı gorebılır bunlar bu sebeple cıhazlar kullanıma uygun olmayabılır ornegın sen 20 mhz lık bır krıstal kullandın ve bunun harmonıklerınde sorun cıkabılır  bu frekansı databusla anten gorevı olarak kaparsa burda pini PULL_DOWN yaparsın ve topraga cekebılırsın burdada RF kullanımıyla ılgılı sana gercek yaşamdan ornekler vermeye calıstım umarım anlatabılmısımdır.
Yanı ıkısınınde var olması kullanım ıhtıyacına gore secmek en optımum karardır...

fthsev

Yeni konu açmamak adına ve biraz da sorumla alakalı olduğu için burdan yazmak istedim.
Bir elektronik cihazın kartında 10 butondan oluşan bir klavyeyi işlemciden alınan 4 output pini ile sürüp 3 input pininden de okuma yapıyorum. İnput pinleri pull-up ta. Sorun şöyleki gürültü yayacak bir şey çalıştığında örneğin inverter bu 10 butondan birisi basılmış gibi davranıyor. Bu probleme günü kurtarmak adına değilde kalıcı olarak nasıl bir çözüm bulunabilir? Bu arada cihazın ve kartın EMC testleri ve diğer kalite testleri yapılmış ve herhangi bir sorun yok.

alexsi

#5
Buton okuma sıklığını 30-40 ms aralıkta interrupt rutininde yap.. Butonların okuması düzelmezse pull down 10nF kutupsuz kondansatör ilave ederek tekrar yap. Olmadı açık buton şemasını paylaş çözüm bulmaya çalışalım.
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?

fthsev

Buton okuma 1 ms ve daha büyük aralıklarla iki defa yapılıyor gerçekten basılıp basılmadığını anlamak için. Yazılımdsal filtreler sorunu azaltıyor ama tam çözmüyor. Buton okuma rutini matris yöntemi ile bu durumda interrupt rutinini şimdilik kullanamayız. Pull up direncinden sonra işlemciye ve butona bağlanan noktaya low pass filter için direnç ve kapasite koysak nasıl olur ya da sadece kapasite konulursa mı daha iyi olur? Sorun arada bir olduğu için kart üzerinde çok deneme yapamadık henüz.

kayatech

Alıntı yapılan: fthsev - 29 Temmuz 2015, 15:05:42
Yeni konu açmamak adına ve biraz da sorumla alakalı olduğu için burdan yazmak istedim.
Bir elektronik cihazın kartında 10 butondan oluşan bir klavyeyi işlemciden alınan 4 output pini ile sürüp 3 input pininden de okuma yapıyorum. İnput pinleri pull-up ta. Sorun şöyleki gürültü yayacak bir şey çalıştığında örneğin inverter bu 10 butondan birisi basılmış gibi davranıyor. Bu probleme günü kurtarmak adına değilde kalıcı olarak nasıl bir çözüm bulunabilir? Bu arada cihazın ve kartın EMC testleri ve diğer kalite testleri yapılmış ve herhangi bir sorun yok.


Kesin çözüm ;




alexsi

Bence sadece 10nF ile bir deneyin. Düzelmezse Low pass yapıp deneyin.
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?

fthsev

Alıntı yapılan: kayatech - 29 Temmuz 2015, 15:53:01

Kesin çözüm ;





Bu devreyi biraz anlatabilir misiniz nasıl çalışacak? Yanlış okuma problemi 3 fazlı inverter çalıştırıldığı zaman oluyor işlemcinin input pinindeki voltaj low seviyesine düşüyor. Bir yerden bu pine negatif gürültü geliyor ve voltajı düşürüyor. Gönderdiğiniz devre buna çare olabilir mi?   

kayatech

Hocam deneyin. Ben de sürücü kullanıyorum ve bu devreyi bir çok parazit ile test ettim. Çalışmasını soracak olursanız inanın ben de bilmiyorum. Deneme yanılma ile yapmıştım. Ben kafamda başka birşey canlandırmıştım ama sonradan farkettim ki transistör ters çalışıyor.

Acaba diyot görevi mi görüyor diyerek base direncini söktüm ama sinyal göndermedi. + gerilimler bu devreden geçmiyor. Sadece negatifler geçiyor ve belirli bir seviyeden sonra yani transistör doyum gerilimi oluşunda iletime geçiyor.

Aynı kablodan hem 220volt hemde kontak geçiriyorum bu yöntem ile. Hiç bir sıkıntı çıkartmıyor. Kabloyu onlarca metre yaptım denedim gene bir sorun çıkmadı.


tekosis

@kayatech bu devrede bir eksiklik var gibi. pullup beslemesi nerede? R1 ile beyzin birleştiği yer vcc ye mi bağlanıyor.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

kayatech

Alıntı yapılan: tekosis - 29 Temmuz 2015, 20:23:42
@kayatech bu devrede bir eksiklik var gibi. pullup beslemesi nerede? R1 ile beyzin birleştiği yer vcc ye mi bağlanıyor.

Hayır hocam hiçbir yere bağlanmıyor devre doğru.

sadogan

Transistorlerin bozuk olmasın ?

z

Devredeki transistörü söküp atın. 10k nın boşta kalan ucunu diyodla işlmciye gidin aynı sonucu verir. (Anod işlemcide katod 10 dirençde)

İşlemcide 22K dan küçük pullup olmaması lazım.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com