PIC de kullanılmayan Uçlar

Başlatan mer_harun, 20 Ekim 2011, 11:49:08

picmanya

nasıl zarar vermezmiş. çatır çutur yanar. bir değil üç-beş giriş için denemeyi yapmayı tavsiye ederim.
güvenli bir yöntem ise, giriş beş de olsa, on da olsa olsa sorun olmamalı.
sink source max. 25mA. hatta bazı 16 bit modellerinde 4 veya 8 mA. olarak veriliyor.
bu akımları aşmamakda fayda var. program ilk derlendiğinde - pic ilk açıldığında program while(); içine girene kadar.
pin sink akımı aşırı riskli olur. Denemeden while (); içinde nasıl davranır bilemiyorum.
Allegro Hocanın yöntemini dünya tercih ediyor. Kullanılmayan pinlerin giriş olarak atanması gerektiğini ilk defa okuyorum.
Kullanılmayan pinler çıkış olarak bırakılsada bir direnç üzerinden 0V. ye bağlanmalı.

Kullanılmayan girişler TRIS registerinde giriş olarak bırakılsın diye bir öneri talimat pic için bir yerlerde yazılı olarak verilmişmi?


OG

Alıntı yapılan: picmanya - 23 Ekim 2011, 21:24:32
nasıl zarar vermezmiş. çatır çutur yanar. bir değil üç-beş giriş için denemeyi yapmayı tavsiye ederim.
güvenli bir yöntem ise, giriş beş de olsa, on da olsa olsa sorun olmamalı.
sink source max. 25mA. hatta bazı 16 bit modellerinde 4 veya 8 mA. olarak veriliyor.
bu akımları aşmamakda fayda var. program ilk derlendiğinde - pic ilk açıldığında program while(); içine girene kadar.
pin sink akımı aşırı riskli olur. Denemeden while (); içinde nasıl davranır bilemiyorum.
Allegro Hocanın yöntemini dünya tercih ediyor. Kullanılmayan pinlerin giriş olarak atanması gerektiğini ilk defa okuyorum.
Kullanılmayan pinler çıkış olarak bırakılsada bir direnç üzerinden 0V. ye bağlanmalı.

Kullanılmayan girişler TRIS registerinde giriş olarak bırakılsın diye bir öneri talimat pic için bir yerlerde yazılı olarak verilmişmi?

Niçin yansın?

Siz PIC ile diğer bir lojik devreyi bağlarken araya direnç koyuyormusunuz? Bu da aynı şey.

PIC girişi zaten çok yüksek empedanslı (CMOS yapıda). Yanması için ne gibi bir sebep olabilir?

PIC girişlerine PIC kaynak voltajından daha yüksek gerilim gelirse, ve bu koruma diyotlarının eşiğini aşarsa anlarım, ama NŞA da yanabileceğine anlam veremedim.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

muhendisbey

boşta kalan uçlar giriş yapılırsa bu pinler yüksek empedans moduna geçer ve her durumda korunur, aksi durumda yani çıkış yapılırsa yüksek empedansta olmadığından ters bir gerilimde pic portları yanmasa bile zarar görür. Stabil olmasıyla ilgisi yok, stabil değilse zaten sorun vardır.
Bir diğeri eğer portlar başta clear edilmemişse çıkış yapıldığında saçma çıkışlar da alınabilir.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

picmanya

öncelikle şu kısımda anlaşmalıyız galiba,
seri direnc bağlanmadan, giriş olarak ayarlanan, pic pinini, H yada L voltaja bağlamakda, o pinin programda kullanılıp - değerlendirilmesi ve programda kullanılmayıp - değerlendirilmemesi arasında bir fark olurmu?
kısaca pin programda, gerçekde değerlendirilmediği içinmi sorun olmaz deniliyor? burda sink akımı neyi ifade ediyor?
bu mantıkla sink akımı o pinin programda değerlendirilmesi durumundamı geçerli oluyor.

fahri-

#19
source akımı: port'u çıkış olarak ayarladığında verebileceği akımdır. Bu akımı da 25 mA i geçmeyecek yada bağladığın devreye zarar vermeyecek şekilde dirençle sınırlarsın.
Eğer ki port giriş olarak tanımlanmışsa korkma direk 5V bağla. bu port micro amperler mertebesinde anca bir akım çeker ve pic hiçbir zarar görmez.
Yanar diyen arkadaş da sanırım hiç piclerle uğraşmamış. Yada bu durumu hiç denememiş sanırım.

CLR

Alıntı yapılan: picmanya - 23 Ekim 2011, 21:24:32
nasıl zarar vermezmiş. çatır çutur yanar. bir değil üç-beş giriş için denemeyi yapmayı tavsiye ederim.
güvenli bir yöntem ise, giriş beş de olsa, on da olsa olsa sorun olmamalı.
sink source max. 25mA. hatta bazı 16 bit modellerinde 4 veya 8 mA. olarak veriliyor.
bu akımları aşmamakda fayda var. program ilk derlendiğinde - pic ilk açıldığında program while(); içine girene kadar.
pin sink akımı aşırı riskli olur. Denemeden while (); içinde nasıl davranır bilemiyorum.
Allegro Hocanın yöntemini dünya tercih ediyor. Kullanılmayan pinlerin giriş olarak atanması gerektiğini ilk defa okuyorum.
Kullanılmayan pinler çıkış olarak bırakılsada bir direnç üzerinden 0V. ye bağlanmalı.

Kullanılmayan girişler TRIS registerinde giriş olarak bırakılsın diye bir öneri talimat pic için bir yerlerde yazılı olarak verilmişmi?

Hatalısın, işlemciye birşey olmaz, giriş yapıldığında port yüksek empedans olur, senin bahsettiğin sink source akımları portu çıkış yaptığında geçerlidir.
Source current : Port çıkış ve lojik 1 ise işlemci o porttan en fazla 25ma akım basabilir demek.
Sink Current : Port çıkış ve lojik 0 bu durumda işlemci o porttan en fazla 25ma içeriye akım alabilir anlamındadır.


Alıntı yapılan: fahri- - 23 Ekim 2011, 22:33:30
sink akımı: port'u çıkış olarak ayarladığında verebileceği akımdır. Bu akımı da 25 mA i geçmeyecek yada bağladığın devreye zarar vermeyecek şekilde dirençle sınırlarsın.
Eğer ki port giriş olarak tanımlanmışsa korkma direk 5V bağla. bu port micro amperler mertebesinde anca bir akım çeker ve pic hiçbir zarar görmez.

@Fahri senin hatanda yukarıdaki yazdığım gibi, sink ile source'ü karıştırmışsın. Diğer söylediklerin doğru.

Konu için ise en mantıklı ve kısa çözüm, portu çıkış yapıp lojik seviyesini 0'da tutmaktır.
Knowledge and Experience are Power

OG

Alıntı YapKonu için ise en mantıklı ve kısa çözüm, portu çıkış yapıp lojik seviyesini 0'da tutmaktır.
İşte ben de bunun mantığını soruyorum, niçin? "giriş olması gerekir" mantığını yukarıda söylediğim gibi, "çıkış olması gerekir" neden mantıklı?

Ayrıca TRIS yazmaçlarında hiç ellemezseniz kendisi açılışta default 1 (yani giriş) yapıyor, en azından benim çalıştığım PIC'ler. Bu durumda giriş olması da"en kısa çözüm".

Yani boş portu hiç ellemediyseniz kendisini giriş atar ve yüksek empedans sebebi ile istediği yere temas etsin sıkıntı çıkmaz.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

fahri-

 eemkutay;
haklısın aceleyle sink ve source u karıştırmışım. Teşekkürler düzeltme için ...

Erol YILMAZ

Alıntı yapılan: OG
Yani boş portu hiç ellemediyseniz kendisini giriş atar ve yüksek empedans sebebi ile istediği yere temas etsin sıkıntı çıkmaz.

OG hocam bu sağa sola temas etme durumu ancak prototipte olabilir ve seri imalat için kesinlikle kabul edilebilir birşey değil.

Ben yaptığımız devrelerde gürültü düzeyinin PIC in reset etme sınırında olan durumlarda bu boşta kalan PIN lerin durumlarına ilişkin olarak
en sağlam sonuçları boşta kalan pinlerin çıkış yapılıp çıkışa da 0 verilmesi halinde yakaladım.
Şimdi bunun Mcu içinde nedenini nasılını çok fazla açıklayamıyorum ama aklıma gelen en mantıklı şey,
GND plane'i Mcu içinde genişlemesini sağlamak olmuştu.
Sonuçta PIC çıkış FET'leri 100 ohm civarında iç direnci olan FET.

downloaded

neden bu kadar tartıştınızki bu konuyu, prototipte giriş çıkış ayarlaman farketmez boş bırak gitsin.
pille çalışan, enerji tüketiminin önemli olduğu durumlarda çıkış yapıp 0 verdinmi, enerji harcaman daha az olur diye düşünüyorum. ne kadar farkeder hiç bi fikrim yok. (sleep falan bir sonraki adım...)
giriş yapılınca analog veri girişinin mcu'yu daha fazla yorduğunu ilk defa duydum, ama bununda fazla enerji harcamasına ve ısınmaya sebep olacağı için denemeyi gereksiz buluyorum.
araya şunu sıkıştırmak istiyorum. giriş olan bir porta 5V vermenin portu yakması bana mantıklı gelmiyor. ama hiç bir devremde giriş pinini VCC'ye bağlamadım. arada 10k direnç iyidir.
bana göre en sağlıklı ve mantıklı yöntem, benimde kullandığım yöntem, giriş olarak kullanılmayacak bütün portları çıkış yaptıktan sonra, tüm portlara 0 yüklemek (örneğin PORTA=0x00;) sonrada kodun gerisinin normal akışıyla sürmesini sağlamak.

CLR

Alıntı yapılan: OG - 24 Ekim 2011, 12:33:04
İşte ben de bunun mantığını soruyorum, niçin? "giriş olması gerekir" mantığını yukarıda söylediğim gibi, "çıkış olması gerekir" neden mantıklı?

Ayrıca TRIS yazmaçlarında hiç ellemezseniz kendisi açılışta default 1 (yani giriş) yapıyor, en azından benim çalıştığım PIC'ler. Bu durumda giriş olması da"en kısa çözüm".

Yani boş portu hiç ellemediyseniz kendisini giriş atar ve yüksek empedans sebebi ile istediği yere temas etsin sıkıntı çıkmaz.

Merhaba,

Kısa çözüm derken donanımı ellememek açısından söylemiştim. (direnç vs. atmak gibi) Portu giriş yapmak şu açıdan tehlikelidir. CMOS(CMOS yazmam senin için yeterli olması gerekli aslında) boş bırakılırsa, pin yüksek empedans olduğu için bir nevi anten girişi veya opamp girişi gibi davranacaktır zaten opamp girişleride böyle fet tabanlıdır. Böylece yüksek frekanslı gürültüler bile bu empedans üzerinde gürültü bir voltaj oluşturabilecek ve o pinden içeriye girebilecektir. Bu içeride bazı transistör veya lojik elmanları tetikleyecek ve gereksiz yere konum değiştireceklerdir(lojik 0-1 gibi).  Bu durumda bazı etkileşimli pinlerde veya besleme hattı üzerinde gürültü oluşturacaktır. Çünkü bir sisteme bir sinyal girdiği zaman mutlaka biryerde harcanıncaya veya biryerden(pinden, beslemeden) çıkıncaya kadar dolaşır.

İşte bu lojik değişlerden dolayı besleme hattında gürültü oluşur ve bu gürültüleri elimine etmek için 100nf,  ferit bead vs. kullanırız.

Diğer durumda şudur, port pinini giriş yaptın ve boşta bıraktın diyelim. Bu durumda cmos özelliği gereği yüksek empedans oldu ve voltajla sürülebiliyor, cmoslar yüksek empedanstır ama küçük akımlarla bozulabilirler. Peki bu yüksek empedans girişli bir sisteme küçük akım oluşturacak şey nedir? Elbette statik elektrik, pini boş bırakırsan çok daha kolay bozulabilecektir. Pini giriş yaptıysan mutlaka gnd'ye (vcc'de olur ama gnd daha uygun)
1k, 2k2 gibi direnç ile bağlamanı tavsiye ederim. Bu durumda statik enerji yüksek empedans yerine düşük empedanslı yolu tercih edecektir.

Sonuç boşta bırakılmış ve giriş olmuş pin her zaman tehlikelidir çünkü girişte bir lojik kapıya bile bağlı olsa, o lojik kapı içinde aynı anda belki 10 belki 100 transistör aynı anda asenkron konum değiştirecektir. Bu gürültü kaynağıdır.

Knowledge and Experience are Power

OG

Allegro ve eemkutay, teşekkür, yazdıklarınız aradığım cevaplar.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

picmanya

girişleri direkt VCC yada VSS ye çektiğimizde işlemcinin zarar görmediğini öğrenmiş olduk.
ama ben dirençsiz kullanmayacağım.

mer_harun

Arkadaşlar cevaplarınız için teşekkürler.
Benim yazılanlardan çıkardığım son özet şu:
Kullanılmayan uç 1k yada 2.2k direnç üzerinden toprağa bağlanır.

Çünkü ben bağlamadığımda genelde PIC ya doğru çalışmıyor yada çalışsada çok ısınıyor.


cdurakbasi

Sallayın gitsin dememiş Microchip. Eğer EMC vb.nin uzak olduğunu düşündüğünüz el aletleri gibi mikro amperlerin önemli olduğu yerlerde, boş bacakları giriş yapıp işinize gelen değerdeki dirençle lojik seviyeye çekebilirsiniz; yok eğer EMC vb.durumların önemli olduğu yerlerde çıkış olarak tanımlayıp 0 seviyesine ayarlayabilirsiniz demek istemiş, zannımca.