Farklı bir RS232 bağlantısı

Başlatan respected, 11 Nisan 2013, 21:52:23

medelog

Pcnin comportundan voltaj almak için kullanılmış olabilir.

Genellikle 4 ve 7 nolu uçlar diyot ile devreye girip, devre adaptör kullanmadan voltajını Pcden alıyor.
"Gezdim Halep ile Şamı, Eyledim ilmi talep, Meğer ilim bir hiç imiş, İllâ edep illâ edep. " Yunus EMRE

z

Evet kartın TX datası ile opto ledini yakıp opto çıkışıyla da PC ye gidiyordur.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

polleme

Alıntı yapılan: OG - 12 Nisan 2013, 10:30:03
El sıkışmaları kapalıysa sistemi kandırmaya gerek kalmaz. Gönder deyince gönderir.

Bazı sistemler DCD ve/veya sinyalini görmeden bilgi göndermeyebiliyorlar. (Genellikle eski sistemler)

Alıntı yapılan: respected - 12 Nisan 2013, 10:39:27
Benim mevcut devremde sadece tx,rx ve gnd bağlantısı olduğundan sanırım bu cihazdan bilgi alamayacağım. PC de 9 uçta bağlı olduğundan sorun olmuyor data yı alıyor ama MCU lu devrede malesef almıyor.

Böyle düşünmeyin, bilgi alacağınız sistemin gerektirdiği sinyalleri bu tür kandırmacalarla uygularsanız her sistemden bilgi alabilirsiniz. Yalnız o COM portta RxD dediğimiz ucun referansı önemli. Örneğin bazen modem portu olarak belirlenen (DCE oluyor) portlarda TxD olarak belirlenen port gerçekte o portun RxD'si olabiliyor, çünkü bu TxD ucu, DTE sisteminin TxD portuna bağlanıyor (iki sistem arasında RxD-TxD, TxD-RxD) çaprazlaması gerektiğinden). Referans kimi durumlarda değiştiğinden ben ucun RxD veya TxD olduğuna bakmadan her iki ucu da ayrı ayrı alış veya veriş yönünde test ediyorum, bazen haklı olduğumu da görüyorum. Bana RxD denilen uçtan veri aldığım oldu, çünkü gerçekten de bu uç karşı sistemin RxD ucuna bağlanıyor, ama gerçekte o uç TxD olarak isimlendirilmeli.


respected

Alıntı yapılan: polleme - 12 Nisan 2013, 13:52:29
Bazı sistemler DCD ve/veya sinyalini görmeden bilgi göndermeyebiliyorlar. (Genellikle eski sistemler)

Böyle düşünmeyin, bilgi alacağınız sistemin gerektirdiği sinyalleri bu tür kandırmacalarla uygularsanız her sistemden bilgi alabilirsiniz. Yalnız o COM portta RxD dediğimiz ucun referansı önemli. Örneğin bazen modem portu olarak belirlenen (DCE oluyor) portlarda TxD olarak belirlenen port gerçekte o portun RxD'si olabiliyor, çünkü bu TxD ucu, DTE sisteminin TxD portuna bağlanıyor (iki sistem arasında RxD-TxD, TxD-RxD) çaprazlaması gerektiğinden). Referans kimi durumlarda değiştiğinden ben ucun RxD veya TxD olduğuna bakmadan her iki ucu da ayrı ayrı alış veya veriş yönünde test ediyorum, bazen haklı olduğumu da görüyorum. Bana RxD denilen uçtan veri aldığım oldu, çünkü gerçekten de bu uç karşı sistemin RxD ucuna bağlanıyor, ama gerçekte o uç TxD olarak isimlendirilmeli.

Hocam yani bu cihazdan gelen 2 uç aslında cihaz içerisinde bir devreyi çalıştırıp ondan sonra data gelebileceğini mi düşünmemiz lazım.  Peki araya bir devre ekleyerek normal rs232 (3 uçlu) şekline dönüştüremez miyiz?

polleme

Bence bağlantı şeklini değiştirmeden veri alabilirsiniz. 2 ve 3 nolu pinlerin her ikisine de ayrı ayrı bakarak olası hızlarda (1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps) bir terminal programı ile veri almaya çalışın. Bir uçta ve bir hızda istediğiniz sonucu alabileceğinizi tahmin ediyorum. (eğer sistem veri gönderiyorsa tabii)

respected

Alıntı yapılan: polleme - 12 Nisan 2013, 15:44:18
Bence bağlantı şeklini değiştirmeden veri alabilirsiniz. 2 ve 3 nolu pinlerin her ikisine de ayrı ayrı bakarak olası hızlarda (1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps) bir terminal programı ile veri almaya çalışın. Bir uçta ve bir hızda istediğiniz sonucu alabileceğinizi tahmin ediyorum. (eğer sistem veri gönderiyorsa tabii)

Bunu denemiştim hocam.
Sanırım bir çözüme ulaşacak netice aldım. Devreyi PC ye bağlayıp paralel olarak ta MCU lu devremi bağladım. Devre datayı almaya başladı. Ayrıca PC ye bağladığımızda cihazdan gelen 2 kablo üzerinde 14 V civarı bir gerilim oluştu. Arkadaşların  söylediği gibi bu gerilim devrenin bir bölümünü aktif hale getiriyor olabilir. Devrede bu kısmı dışarıdan besleyip rs232 ye bağlayacağım. Umarım netice alırım.

polleme

Alıntı yapılan: respected - 12 Nisan 2013, 15:45:42
Bunu denemiştim hocam.
Sanırım bir çözüme ulaşacak netice aldım. Devreyi PC ye bağlayıp paralel olarak ta MCU lu devremi bağladım. Devre datayı almaya başladı. Ayrıca PC ye bağladığımızda cihazdan gelen 2 kablo üzerinde 14 V civarı bir gerilim oluştu. Arkadaşların  söylediği gibi bu gerilim devrenin bir bölümünü aktif hale getiriyor olabilir. Devrede bu kısmı dışarıdan besleyip rs232 ye bağlayacağım. Umarım netice alırım.

Bu devreyi arada TTL-RS232 dönüştürücü olmadan doğrudan MCU'ya bağlamıyorsunuz değil mi? Eğer böyle yapıyorsanız sorununuz bu. RS232 olmadan 10-15V civarı gerilimler oluşamaz. PC'ye bağlamanız bu gerilimleri sağlıyorsa bu düşünülmeli.

respected

Hocam firma bize bu cihazı rs232 çıkışlı diye verdi. PC ye bağladığımızdada data alıyoruz. Dönüştürücü kullanmayı düşünmedim açıkçası. Zaten bu bağlantının bu safhaya geleceğini de düşünmemiştim.

polleme

#23
PC'ye bağladığınızda data alırsınız, çünkü PC portu RS232'dir. Ama bir MCU girişi standart RS232 voltaj seviyelerine sahip olmadığından ve TTL olduğundan bu cihazı bir MCU'ya bağlarken TTL RS232'yi normal RS232'ye dönüştüren bir dönüştürücü kullanmanız gerekir.

mesaj birleştirme:: 12 Nisan 2013, 22:22:01

http://urun.gittigidiyor.com/bilgisayar/atc-atc-102-rs232-ttl-data-cevirici-79157971

Linkteki gibi bir ürün aslında. Bu bir ticari ürün ve bu nedenle pahalı ama siz onu MAX3232 veya MAX232 gibi entegrelerle kendiniz de yapabilirsiniz. Ama uğraşamam alıp kullanayım derseniz işinizi görür.

Bir diğer seçenek te aşağıdaki ürün olabilir, o kutusuz ve uygun interface'ler üzerinde yok.

http://www.direnc.net/TTL-TO-RS232-CONVERTER,PR-6556.html

respected

Pardon hocam yanlış anlaşıldı sanırım.  MCU ya doğrudan bağlamıyorum tabiki. MCU kart ta max 232 entegresi var.

polleme

MCU'nun gerçekten veri alıp gönderebildiğini test edebilirsiniz. Bu amaçla örneğin PC'deki RS232 seri port TX pinini MCU RX pinine bağlayıp PC'deki terminal programından karakter gönderin. MCU bunları alıyorsa o zaman iletişim, port hızı ve MCU pin seçiminde hata yok demektir. Bundan emin olup daha sonra cihaza geçerseniz daha sağlıklı olur. Cihaz PC'ye veri gönderebildiğine göre sorun MCU eklemesi tarafında görünüyor.

respected

#26
Önce yaptıklarımı yazayım olay netleşsin.
1- Kullandığım board stm32f4 ve extended board
2- Bu boardlar ile hem pc den board a bilgi gönderdim hemde board tan pc ye.
3- Bahsettiğim cihazdan pc ye 9600 baud ile data gönderebiliyorum. Daha doğrusu cihaz gönderiyor biz sadece PC den serial port monitör ile alıyoruz.
4- Cihazı stm32 board a doğrudan bağladığımda bir bilgi göndermiyor fakat PC ye gönderme durumunda iken board un rx ve gnd uçlarını bağladığımda board data almaya başlıyor. (2x16 lcd de bunu görebiliyorum)
5- Şimdi hem board un rs bağlantı şekli hemde cihazın 2 kablo olarak çıkış verdiği devrenin resimlerini koyuyorum.
(daha önce bir arkadaşın söylediği gibi opto ile sürülmüş bir kısım var)


polleme

Keşke bu bilgileri en baştan gönderseydiniz. Şimdi durum netleşti. Hatalı yaptığınız birşey yok görünüyor. İletişim hızı da 9600 bps. Bu noktada PC bağlı iken verilerin cihaz tarafından alınması ve dediğiniz gibi voltaj seviyelerinin 14v'a çııkması, RS232 konnektördeki bağlantıları düşündürüyor. Cihazdan PC'ye veri gönderen pini MCU kartınızın RX pinine de doğru şekilde bağladığınızı varsayarak aklıma gelen şey, PC seri portundaki RX,TX dışındaki sinyallerin de kullanıldığı, bu nedenle veri akışının sağlandığı, ancak doğrudan MCU bağlantısında bu sinyaller olmadığı için akışın sağlanamadığı yönünde. MCU direkt bağlanınca daha önce bahsettiğim "kandırmaca" gerçekleşmiyor diye algılıyorum. Bir deneme yapmak için aşağıdaki linkteki yazılımı tavsiye ederim. Bu yazılım, bir seri porttan aldığı bilgiyi aynen diğer seri porta aynen iletir. (Com port redirection) PC'de bir seri porta MCU, diğer seri porta cihaz bağlanıp deneme yapılabilir. Eğer bu şekilde MCU veriyi alırsa cihaz seri portuna müdahele etmek veya araya basit bir dönüştürücü bağlamak gerekecektir.

http://en.kioskea.net/download/download-21241-advanced-com-port-redirector

respected

Bu programla çalıştıramadım fakat bu programın yaptığı işi donanımsal olarak çözersem olur sanırım.

z

Optonun emetorunu senin kartın Gnd sine bağla. Optonun kollektorunu de senin kartın RX pinine.
Rx pininden 5v a 4K7 direnç bağla.

Şansını dene.

Baktın olmadı;

Optonun emetorunu Gnd ye değilde - 2 yada -3v alabileceğin bir yere bağla.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com