RS232 haberleşme sorunu

Başlatan Emin Aydın EROĞLU, 12 Şubat 2015, 09:38:32

Emin Aydın EROĞLU

Arkadaşlar merhaba,
Aşağıdaki şemadaki yapıyı baskı devre olarak kurudum ve çalıştırdım fakat bir sorun yaşıyorum ve bu konuda fikirlerinize başvurmak istiyorum.
Öncelik yapmaya çalıştığım durumu anlatacak olursam, devrede ki 18f46k22 benim master modülüm ve ben buna dışarıdan rs232 ile bilgi giriyorum. Bu bilgi girişi bazen bilgisayardan bazende diğer pic olan 16f648a dan olmaktadır. Fakat ikisinden aynı anda bilgi gelme durumu yok. Devreyi çalıştırdığım zaman iki pic kendi arasında sorunsuz haberleşiyor, herhangi bir sorun yok. Fakat bilgisayar girişi pasif kalıyor ve hiçbir şekilde veri alıp veremiyorum. 16f648a yı çıkartığım zaman soketten bilgisayar girişimden istediğim gibi bilgi alış verişini sağlıyabiliyorum. Anlıyacağınız iki ayrı sistemide ayrı ayrı kullanabiliyorum fakat aynı anda olmuyor. Bunun nedeni ne olabilir ve çözüm konusunda yardımınıza ihtiyacım var. Şimdiden teşekkürler.



Mucit23

İsiste Max232'yi koymadan denermisin.

Bildiğim kadarıyla compim TTL seviyesinde çalışıyor. Ben daha önce Compim ile Pic arasında Max232 koyduğumda compimden giden dataların bozulduğunu görmüştüm.

Emin Aydın EROĞLU

Ferhat ben smilasyonda denemedim açıkcası. Baskıdevre üzerinde denedim ve bu sonucu aldım

Mucit23

Donanımsal RS232'de hat boştayken RX ve TX lojik 1 de bekliyor. Benim aklıma gelen tek şey pic16F648'in TX çıkışının Push-Pull olmasından diye düşünüyorum. 16F648 veri gödermese bile boştayken Hattı sürekli lojik 1 yapmak isteyecektir. Dolayısıyla max232'den gelen veriler 16F648 hatta olduğu için bozuluyor diye tahmin ediyorum.

Bozulmayı önlemek için Pic16F648'in ve MAX232'nin TX çıkışları Open collektör durumuna sokulursa sorun çözülebilir. TX çıkışlarına basit bir transistör ve Transistörün Collektör ucuda pull-up yapımalı.

Ama bu haliyle iki pic de takılı iken 18F46K22 den gönderdiğin verilerin PC den görünmesi lazım.

Emin Aydın EROĞLU

Evet bak open collector olayı sorunu kaldırabilir gibime geliyor. Müsait olduğumda board üzerine kurup deniyeyim. Sonra buradan paylaşırım sonucu.

uzaylivolkan

Aynı hat üzerinde rs232 protokolü ile birden fazla cihaz bağlayamazsın.
  RS232 maksimum 20 kbps veri iletim hızında sadece bir DTE ( data terminal cihazı ) nin sadece bir DCE ( data haberleşme cihazı ) ye bağlanabildiği bir haberleşme arayüzüdür ve bu iki cihaz arasındaki maksimum    kablo uzunluğu 15 metre olabilir
Onun yerine rs485 standardına bir göz at istersen. Max485 entegresi ile master / slave olarak birçok cihazı birbiri ile haberleştirebilirsin.
Ayrıca rs485 ile rs232 den daha uzak mesafelere kablo çekebilirsin.

sadogan

18F46K22 de 2 adet donanımsal  usart var.

Emin Aydın EROĞLU

sadogan hocam 2 usart olduğunu biliyorum fakat diğer usartı ben farklı bir iş için kullanıyorum. Başka cihazlara veri göndderiyorum yani bir nevi master olarak çalışıyor 18f46k22.

Emin Aydın EROĞLU

Hocam çok teşekkürler. İnşallah ilk fırsatta ferhat hocamın söylediği yöntemi deniyeceğim olmazsa sizin dediğiniz yöntemi uygulayacağım.