avatar_Celal Kızılırmak

USART HABERLEŞME

Başlatan Celal Kızılırmak, 30 Temmuz 2019, 17:14:13

Celal Kızılırmak

HOCALARIM AKLIMA BİRŞEY TAKILDI MİKRODENETLEYİCİYİ USART HABERLEŞMESİ YAPARAK TEK İŞLEMCİYE HEM BLUETOOTHE MODÜLÜ HEMDE GSM MODÜLÜ PARALEL BAĞLAMAK İSTİYORUM. ACABA HABERLERŞMEDEN SIKINTI OLURMU HABERLEŞME SAĞLANIRMI VEYA MODÜLLER ZARAR GÖRÜRMÜ? YARDIMNCI OLURMUSUNUZ BU KONUDA.


ete

Forum sitelerinde büyük harflerle mesaj yazmak kötü bir anlam taşıyor. Yazan kişinin bağırıp kızarak mesaj yazması anlamına geliyor. Bilmediğini düşünerek ikaz ediyorum. Mesajını da düzeltmeni öneriyorum.

Soruna gelince, usart protuna sahip cihazla tek bir işlemci portunda birleştirilemezler. Bir birlerinin sinyallerini bozarlar. Şöyle düşün , modülün biri TX hattını LOW a çekmeye çalışırken diğeri HIGH vermeye kalkışırsa işler karışır. Bunun çaresi RS485 gibi bir sistem içerisinde Master-Slave ilişkisi kurmak. Master işlemcin olur slave ler ise diğer modüller. Bu şekilde bir birlerini bozmadan çalışabilirler. Tabiiki alış veriş işlemlerinde her birinin verdiği yada aldığı data sayısı da sorun yaratabilir. Bunları da uygun bir şekilde ayarlamak gerekebilir. Modüllerin alışveriş detaylarını bilmediğim için kesin bir öneri veremiyorum ama ip ucu olarak, birisi 5 byte lık bilgi ile alış veriş yapıyor ise diğeride 5 byte olmalı yada her birinde bir sonlandırma byte bilgisi olmalı. Aksi halde 5 byte yollayan bir modülden 6 byte beklersen yada 4 byte alıp işi sonlandırırsan eksik bilgi almış olursun. Sonuçta istediğin şey mümkün ama bir sürü detay var işin içinde bilmem halledebilecek blgiye sahipmisin.

Ete

Elektronikprojem

Tek usart portundan 2 cihazla haberlesemezsin. Ya 2 usart portu olan islemci kullan yada her cihaza rs485 ttl cevirici koy a b ve gnd pinleriyle tum cihazlarla tel yerden haberles.

Celal Kızılırmak

Öncelikle büyük harf yazımı için özür dilerim.Büyük harf olayını bilmiyordum.Bundan sonra daha dikkatli olacağım.Konumuza dönersek ete hocam bayt olayını anladım o alayı bir şekilde çözebilirim belki.Bu rs485 olayını araştıracağım bu konuda sizde yardımcı olursanız sevinirim.Kolay gelsin.

ete

Bu konuda detaylı bir çalışmamız var. Aşağıdaki linkte detaylarını görebilirsin.
Sistem ile ilgili dosyaları 2. ci sayfada aşağılara doğru bir mesaj ekinde verdim. Yükleyip devre şemasına bakarsan rs485 nasıl kullanılıyor anlarsın.

https://etepic.com/index.php/topic,57.15.html

Ete


Celal Kızılırmak

#6





Hocalarım yine bir yerde takıldım resimde görüldüğü gibi mikrodenetleyicileri köle olarak ayarlardım ve oradaki
comportu bluetooth modülü olarak düşünürsek. Sıkıntım şu yönde bluetooth dan gelen veriler mikrodenetleyiciler de işleniyor onda herhangi bir problem yok çakışma da olmuyor gelen verileri ayrı ayrı işleyebiliyorlar ama mikrodenetleyiciden çıkan variler bluetooth modülüne ulaşmıyor mikrodenetleyiciler arasında çakışma oluyor sanırım.
Mikrodenetleyiciler veri almada sıkıntı yaşamıyor veri göndermede problem yaşanıyor.Eğer tek mikrodenetleyici kullanırsam veri almada vermede de sıkıntı olmuyor.Ama iki ve ikiden fazla denetleyici devreye girdiğinde veri almada problem yaşanmıyor ama veri gönderiminde çakışma oluyor.

Umarım anlatabilmişimdir. Yanlış bir anlatım olduysa kusura bakmayın yardımlarınız ve görüşleriniz için şimdiden teşekkürler.

ete

Birden fazlaişlemcinin RX ve TX pinlerini birbirine bağlarsan portların lojik seviyeleri birbirlerini bozar ve hiç birisi bir şey alamaz.
RS485 kullan.
Ete

Celal Kızılırmak

Rs485 ile ilgili araştırma yaptım ama tam olarak anlayamadım fazlada bilgi yok ve internette hazır modulleri var bunu kendimiz yapamazmiyiz

ete

Şöyle düşün. RS232 sisteminde (senin kullandığın) yalnızca iki üniteyi bir biri ile haberleştirebilirsin. RS485 de ise bir tane master (müdür veya yönetici diyelim) vardır bu haberleşmeyi yönetir birden fazla da üye vardır. Üye sayısı 128 taneye kadar olabilir. Müdür ile üyeler arasındaki mesafe 1200 metreye kadar çıkabilir.
RS232 ile RS485 arasındaki fiziksel fark yalnızca her bir ünitenin bir RS485 entegresi kullanmasıdır. Yoksa komut veya haberleşme şekli RS232 ile aynıdır. Kısaca programda haberleşme komutları aynı olacaktır. Sadece arada kullanılan RS485 entegresinin kontrol bacaklarına HIGH veya LOW vererek onu ALıcı veya Verici konumuna getirmen gerekiyor.
Hiçde zor değil üstelik kendinde rahatlıkla yapabileceğin bir şey.
Bu sitede detaylı bir çalışma var. şağıdaki linkte yer alan çalışmayı incele şemayı da incele ve bak bakalım anlayabilecekmisin. Anlamadığın yerleri sorabilirsin.

https://etepic.com/index.php/topic,57.0.html

Ete

Mustafa48

Alıntı yapılan: Celal Kızılırmak - 28 Eylül 2019, 03:30:31Rs485 ile ilgili araştırma yaptım ama tam olarak anlayamadım fazlada bilgi yok ve internette hazır modulleri var bunu kendimiz yapamazmiyiz

SN75176 veya 65HVD1780 RS485 driver incelersen işin kolay olacak


By-Coders

#12
Kullanıdğın Modül ve işlemciler Data pinleri TTL Seviyesindedir.
RS485 Kullanıp lojik seviyelerini eşit tutmak için Kullanacağın Her Modül İçin 75176 Kullanman ve Bununla Beraber Enable Uçlarını Kontrol Etmek için Eksta İşlemcide Pin veya Data Geldiğinde Enable Ucunu Aktif eden bir mimari kurman gerekecek.Buda Hem devre elemanı olarak hemde maaliyet olarak bir artış sebebi demektir.

Aslında Aradığın şey MultiPlexer ve Demultiplexerdir.(Diğer Adıyla Line Data Selector)
74151 ve 74139 Entegreleri İşini Görecektir.

https://www.elektrik.gen.tr/2015/08/multiplexer-ve-demultiplexer-devreleri/484
https://www.electronics-tutorials.ws/combination/comb_3.html

NOT:Bu yazdıklarım aynı PCB üzerinde haberleşen cihazlar için geçerlidir.





Powered by EzPortal