arduino seri haberleşme hatası

Başlatan FMY, 13 Mart 2017, 11:31:32

FMY

Merhaba arkadaşlar rfid modüllerle bir öğrenci yurduna giriş çıkış takip sistemi yaptım. Henüz devereye alamadım çünkü bir problem var. Kısaca sistemden sonrada hatadan bahsedeyim. kapının dışında ve içinde birer arduino nano ve onlara bağlı rfid modül var. Arduinolardan çıkan usb kabloları(10METRE) bilgisayara gidiyor. Seri ekrana aktarılan kart ıdler not css ile veri tabanına aktarılıyor. veri tabanından da internet sitesine aktarılıyor. Kart okutulduğunda öğrencinin giriş çıkış saati ve ismi internete aktarılıyor birde kapının kilidi açılıyor.

Sorun:
Seri bağlantı noktası parametrelerini ayarlarken hata oluştu: 9600 N 8 1

acaba böyle bir hata alan ve çözümünü bilen var mı? ben araştırdım şöyle bir şeyler buldum:

1)kullandığım kablo çok uzun olduğu için iletişim sağlanamıyor
2)bant aralığını değiştirmeliyim
3)arduinoyu dışarıdan da besliyorum, iptal etmeliyim
4)arduinoların takılı olduğu bilgisayarın sürücüleri güncel değil(eski bi bilgisayar ama win10)
5)seri iletişim için yardımcı bi program kullanmalıyım.https://docklight.de/
Mekatronik

kimlenbu

- arduino'yu usb ile bağladıysan harici olarak neden besledin ? güç kaynağını çıkardığında nasıl tepki veriyor ?
- arduino yerine esp12 kullanırsan programını neredeyse hiç değiştirmeden wireless ağ üzerinden server programına gönderebilirsin. kablo derdin kalmaz.
- 10m usb kablo için oldukça uzun, harici beslemeni çıkarıp kaç v geliyor bir ölç, ne kadar gerilim düşümü oluyor.
- baudrate'i mümkün olduğu kadar düşük tut, mesafen çok uzun.

Tagli

Benim de ilk şüpheleneceğim yer USB kablo uzunluğu olur. Bilgisayarın, Arduino üzerindeki seri iletişim çipini tanıyıp tanımadığını kontrol et. Bence 10 metre kablo üzerinden Arduino'ya program atmayı da bir dene. Eğer bu işlem sırasında hata alıyorsan sorunu zaten bulmuşsun demektir.

Normalde böyle bir uygulamada 10 metrelik hattın RS485 gibi bir şey olması gerekir. Arduino seri çıkışına MAX485 gibi bir ekleme yaparak hattı RS485'e dönüştür. Bilgisayar tarafında da yine bir USB - RS485 dönüştürücü kullan.
Gökçe Tağlıoğlu

FMY

Yardımlarınız için eyvallah:)
Program atmada sıkıntı oluyor arduinoya evet.
Harici besleme yapmamın sebebi belki gerilim düşümü olur diye.
usb kablosu uzun ama repeaterlı.
esp ile uğraşıyorum bugün.
farklı bir bilgisayarda sıkıntı olmuyor seri iletişimde.
rs485 kablosu çok masraflı hocam ya.
Mekatronik

FMY

hocam bide baudrate seri ekrandan ve programda değiştiriyorum hata veriyor acaba rfid kutuphanesinden de mı değiştiricem ?
Mekatronik

Tagli

Kesin bir şey diyemem ama rfid ile ilgili kısmın baud rate'i, Arduino ile bilgisayar arasındaki değerden bağımsızdır diye düşünüyorum.

RS485 için özel bir kabloya ihtiyacın olmayabilir. Dandik bir çift ince kablo bile 10 metre mesafe için yeterli olabilir belki. Ayrıca baud rate'i de istediğin gibi düşürebilirsin. Bilgisayar tarafı için dönüştürücü bulmak da kolay. Tek mesele Arduino tarafı için ufak bir devre yapmak. Bulabilirsen belki hazır shield vardır. Yoksa da delikli pertinaks ile kendin de yapabilirsin. Ancak MAX485'in (veya muadili) DE bacağının sürülmesi ile ilgili olarak koda ekleme yapman gerekebilir. Eminim Arduino'da RS485 ile ilgili örnek kod bulabilirsin. Veya Arduino'dan çıkan TX'i bir NOT kapısı ile tersleyip DE'yi sürmen de mümkün olabilir (aşırı dandik CH340G'li bir USB - RS485 dönüştürücüde bu şekilde yapıldığını görmüştüm) ama bu yöntem benim kafama pek yatmadı, ancak son çare olarak düşünülmeli.
Gökçe Tağlıoğlu

FMY

hocam kabloyla alakası yok galiba çünkü kendi bilgisayarımla denedim sistemi güzel çalışıyor. baund rate aralıgıhnı 1200 kadar düşürdüm gene aynı hata. ama yüklemede sıkıntı olmuyor yani sadece seri port ekranında hata veriyor.
Mekatronik