16f877A port seçimi

Başlatan m_siner, 08 Mayıs 2015, 12:39:16

m_siner

Merhabalar PIC16F877'de giriş ve çıkışları nasıl yapmalıyım. Yaptığım devrede B portlarını giriş A portunu çıkış yaptım. sadece RA4 portunu kullanmadım. Devrede 877'nin portlarını dijital giriş çıkış olarak kullandım. 877 4-5 dakika sonra çok fazla ısınıyor. 877'nin çıkışını uln 2003 kullanarak röle sürdüm. 12 volt dc kaynak başka bir alıcının switchmod güç kaynağından alındı. 12 volt'u ayırsam ısı sorunum çözülür mü?

EMKE

Devre şeması koyarmısın ayrıca besleme bağlantılarını kontrol et  böyle ısınmaması lazım pıc in , besleme voltajını konntrol et 5 volt olması lazım .

EMKE

Pıc 12 volt ilemi besleniyor ?.

ete

Pic denetleyicilerin her bir pini ancak 20 ma akım verebilir. Bu akımdan fazlasını asılıyor isen pic ısınacaktır.
Böyle lafla böyle sorular sorulmaz. Devrenin şemasını hatta varsa PCB yerleşimini buraya koymalısınki senin göremediğini buradaki arkadaşlar görebilsinler.
Belliki devrende olumsuz bir durum var. Anlattıklarına bakarsan her şey usulüne uygun tabiiki pice 12V direk vermedin ise ki bu durumda zaten hemen yanacak ve hiç çalışmayacak idi. Ama anlattıklarınla gerçek devre arasında bir birne uymayan bir şey var mutlaka.

Ete

m_siner

Yaptığım devre bu şekilde. Uygulamada rölelerin bobin uçlarının her birine 1N4148 diyot bağladım. Şekilde bir adet var. PIC'in ısınması sizce RA4 ve RA5 portunun çıkış olarak kullanılmasından olabilir mi? PIC'lerde giriş veya çıkış olarak kullanılamayacak uçlar var mı? RA4 ve RA5 yerine RE0 ve RE1 portunu kullanabilirmiyim. PIC'in besleme voltajı 5,2 volt rölelerin besleme voltajı 12,2 volt ve güç kaynakları switchmod.

EMKE

Devre şemasında bir problem görünmüyor , ama uln2003 ' e bağladığın 1n4148 diyotunu kaldırabilrisin zira uln2003 datashetine baktıysan eğer orda entegre içerisnde ters paralel diyotlarından mevcut zaten .

EMKE

Ayrıca pıc pinleri zaten gruplandırılmştır , yani 877'yi örnek olarak verirsek 33 adet input output pini mevcuttur bu pinleride istediğin giibi giriş -çıkış olarak atayabilirsin sadece bazı pinler pic içierisndeki donanımların dış donanım ile  irtiabatını sağlayan özel pinlerdir bunlar nedir mesela  usart iletişim yapıcaksan RX-TX pinlerini kullanmak lazım vs gibi  bunlar datashettlerinde ve ders kitaplarında açıkça anlatılmıştır pıc ile ilgili net üzerinde ve kitaplarda ve en önemlisi üretici firma datashetinde her türlü bilgi mevuttur malzeme ile ilgili.

EMKE

Şemanı bir kez daha kontrol ettim gözümden kaçtı sanırım uln2003 entegresinin 9 nolu piinine gnd vermişssin sanırım bu uca röleleri beslediğin +12 voltu vermelisin gnd değil.

ete

#8
Bu şemada portA.4 çıkışıda çalışmaz. Zira diğer pinlerin aksine bu pine high dediğin zaman high çıkartamaz zira open collectordur. Oraya bir pullup direnci bağlaman gerekir high olabilmesi için.

ULN 9 nolu pindeki kusurdan  başka bir sorun yok ısınmaması gerekir.
Bence 5 volt beslemeni kontrol et. Fazla veriyor olabilir. Pic in etrafında yer alan malzemeleden birisi ısınıp ısısını pice aktarıyorda olabilir. Sorun yok dedim ama sorun olabilecek başka bir konu var!.

Her zaman söylerim, adamlar PortB ye dahili pullup direnci koymuşlar neden acaba?.
Neden basit tuş , anahtar vs gibi dışarıdan yapılacak girişlerin bu portdan yapılmasını sağlamak ve bu gişleri sürekli high da tutmak için. Dahili pullup dirençleri yanlış bilmiyorsam 22 k gibi bir değerdedir. Dolayısıyla artı besleme ile gnd arasında yüksek direnç oluşturup fazladan akım çekilmesini önlerler.

Şimdi sen bunları kullanmamışsın ve ne yapmışsın pullup yerine pulldown kullanmışsın direnç değerleride 5k6  butonların her biri 5k6 bunların her biri 5v ile gnd arasında paralel bağlı sayılır.
2 tane bağlı olsa direnç değer. 2k8 e düşer. İkinci bir 2 k8 ile direnç değeri 1k4 de düşer ( toplamda 4 direnç ) 2 tane 1k4 bağlanırsaki sende öyle oluyor direnç değeri 700 ohm a düşer . Düşün şimdi +5V ile gnd arasına 700 ohm bağlamış oldun bu bağlantının yarattığı akımda pic üzerinden geçiyor. Isınmasında ne yapsın? Bence sorun budur.
Çözüm, ya o pulldown dirençlerini kaldırıp dahili pullup ları aktif edeceksin ve butonların diğer ucuna gnd vereceksin. Böylece pin beklemede high da bekleyecek butona basınca pin low olacaktır. Programıda buna göre değiştireceksin.
Yada o dirençleri bana kalırsa 22K gibi bir değere yükselt. Hatta kurtarıyorsa ki kurtarır 33k falan yap.
Ete

m_siner

Arkadaşlar PIC konusunda yeniyim. Programlayıcı olarak parsic kullanıyorum. Girişlerde genelde artı giriş kullanıyorum. PIC cmos teknolojisi kullanılarak üretildiği için giriş uçları bir dirençle eksiye bağlanması gerektiğini biliyorum.(direnç değerini tam olarak bilmiyordum) Parsic programında pull up dirençlerini aktif yap seçeneği vardı o seçeneği işaretlemeden derleyip devreyi denedim. RA4 ve RA5 portları yerine RE0 ve RE1 portlarını kullanmayı düşünüyorum. Sonucu buraya yazarım. Yardım için cevap yazan herkese teşekkür ederim.

EMKE

Pıc konusunda değil bence donanım konusundada çok eksiğin var gibi bence bu iikisini biraz geliştir ,ete hocanın pıcbasic derslerine çalış bence  nettede bolca araştrma yap istemediğin kadar kaynak ve proje  mevcut.

m_siner

Merhaba arkadaşlar. Isınma sorununu hallettim. Sizlere bi sorum daha olacak. Şekildeki devrede PIC'in kararlı çalışması için butonun önündeki 10K'lık direnç yeterlimidir. Çıkıştaki led lambanın yerine transistör kullanıp röle sürdüğüm zaman röle uçlarından bir kontaktör çalıştırmak istersem PIC'in etkilenmemesi için ne yapmalıyım ( Beslemem switchmod güç kaynağı PIC'in uçlarına 100 nf kondansatör bağlı ekstra bir şey yapmalımıyım.)

F®T

10 kohm direnç pulldown için yeterli.
Reset olayı için röleyi farklı bir voltajla sürersen daha sağlam olur.En sağlıklısı pic çıkışını optocupler ile sürüp onun çıkışı ile role sürmek ve röle beslemesinide farklı bir kaynaktan beslemek.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Powered by EzPortal