Çoklu Usart

Başlatan Serk@n, 02 Şubat 2021, 09:11:04

Serk@n

Herkese iyi çalışmalar diliyorum.

Tek Usart hattından 4 adet mcu.ya bilgi göndermeye ve almaya çalışıyorum.

Merkezde bir cihaz var ve dört abone var. Bir protokol oluşturdum. Abonelerin 4 haneli isimleri var. 1000,1001,1002 ve 1003. Abonelerin TX-RX hatları birbirine paralel merkezdeki cihaza ters.

1000 numaralı abonenin 01 numaralı işi (röleyi çek) yapması için şu komutu gönderiyorum:

*1000*01*

Her abone önce numarasını teyit ediyor, sonra işlem yapıyor. Röleyi çekiyor, buraya kadar sorun yok.

Röle çekik mi diye soru komutu gönderiyorum.

*1000*02*

Abone de cevap olarak

*1000*01*

Göndermesi gerekiyor. Fakat anlamsız işaretler alıyorum.

Sormak istediğim soru şu:
Usart donanımsal olarak böyle bir kablolu bağlantı işlemi için müsait midir?

Yazılımı paylaşmadım. Çünkü yazılımda bir hatam varsa bunu kendim çözmek istiyorum.
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

ete

Abonelerin paralel bağlanması USART için uygun değildir. Bunu ancak RS485 ile yapabilirsiniz.

Ete

Serk@n

Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Serk@n

Merak ettiğim bir husus daha oldu. USART paralel bağlantının uygun olmaması TX pin çıkışındaki akım yetersiz kaldığı için midir?
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Hattuşa

usart pinleri sürekli high pozisyonunda olduğundan siz datayı yolladığınızda diğer işlemcilerin TX pinleri high olduğundan data yollanan işlemcinin tx pinini bastırdığından gönderilen data bozuluyor

Elektronikprojem

#5

Serk@n

Alıntı yapılan: pro-TR - 02 Şubat 2021, 15:13:21usart pinleri sürekli high pozisyonunda olduğundan siz datayı yolladığınızda diğer işlemcilerin TX pinleri high olduğundan data yollanan işlemcinin tx pinini bastırdığından gönderilen data bozuluyor

Meseleyi şimdi anladım. Çok sağolun.
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Serk@n

TX.leri ilk göndermede düşük ayarlayabilirsek, bu bir çözüm olur mu? En azından kısa mesafeler için.
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Serk@n

Alıntı yapılan: Updating - 02 Şubat 2021, 15:42:01Linkteki modülü kullanabilirsin.
Ben 150 metre uzunluktaki kabloya bağlı 7 cihazla haberleştim.
https://www.robotistan.com/rs485-ttl-uart-donusturucu-1?language=tr&h=8b0e5acc&gclid=CjwKCAiAjeSABhAPEiwAqfxURb01YJ4pieNQkfw0C2tzh-pnSxFFPOaJfIFNIeiwtKYq8bjsF3Aa6xoCrJQQAvD_BwE

Ayrıntılı araştırma yapacağım ama sizden kısa bir bilgi alabilir miyim, bu modül RX ve TX.leri paralel bağlamaya olanak mı sağlıyor?
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

MB_77

#9
bu mesaj tarafımdan silinmiştir.

Hattuşa

#10
Alıntı yapılan: serkanzey - 02 Şubat 2021, 17:19:13Ayrıntılı araştırma yapacağım ama sizden kısa bir bilgi alabilir miyim, bu modül RX ve TX.leri paralel bağlamaya olanak mı sağlıyor?
bu işlemi optocoupler gibi düşün, işlemcinin rx ve tx pinlerini korurken aynı zamanda sinyalin bozulmasını engelliyor ve istendiği kadar paralel bağlayabilirsiniz

Serk@n

Alıntı yapılan: MB_77 - 02 Şubat 2021, 21:22:17Basit bir öneri olarak usartlari seri baglayabilirsin gelen data kendisine ait değilse aynen iletir

Mesafe de artar

Gerçekten pratik bir çözümmüş.
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Serk@n

Alıntı yapılan: pro-TR - 02 Şubat 2021, 21:32:40bu işlemi optocoupler gibi düşün, işlemcinin rx ve tx pinlerini korurken aynı zamanda sinyalin bozulmasını engelliyor ve istendiği kadar paralel bağlayabilirsiniz

Çok teşekkür ederim
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

alisumer

hızlı diyot bütün hatları birbirinden ayırmak için kulanılabilirmi her bir alıcının rx bacağına uygun kutupla diyot bağlasak hatta geri beslemeyi kesmezmi ?
Hep meraktan

ete

Diyot bir yönde geçirir. Şayet pin tek yönlü ve yanlızca gönderme yönünde çalışıyor ise işe yarar. Ama kendisi HIGH gönderemez iken gelen LOW ları kendi tarafına geçirir ki buda yine çakışma yaratır. Zira paralel bağlı TX lerden biri gönderme yapınca ortaya çıkan bitler yeniden çakışma yaratacaktır. Olayı yanlızca bit çakışması gibide düşünmeyin. Ortada bir empedans bozulması da vardır. Buda sinyalin bozulmasına sebep olur. Ancak ve ancak transistörlü bir izolasyon sistemi ile bu sorun aşılabilir ki onuda zaten RS485 entegresi yapıyor. Direk onu kullanmak daha akıllıca olur.

Sitede detaylı anlattığım bir örnek çalışma var onu incelemeni öneririm. Zaten işin teorik kısmını halletmişsin. Donanım kısmı için örneğe bakabilirsin.

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

Bu örnek her ne kadar RF üzerinden başladı ise de seri iletişimde birden fazla Slave in bir master tarafından yönetilmesine örnek olacak şekilde düzenlenmiştir. Ara taşıyıcı olarak ister RF ister kablo kullanın farketmeyecektir.


Ete

Powered by EzPortal