KomponentciBlog Mağaza

RS485 Nedir? Modbus Haberleşme ve Bağlantı

Kısa cevap

RS485, iki tel (A ve B) üzerinden diferansiyel sinyalle çalışan, yaklaşık 1200 metreye kadar mesafede ve aynı hatta çok sayıda cihazla haberleşmeyi sağlayan endüstriyel bir seri haberleşme standardıdır. Cihazlar hatta paralel bağlanır (A'lar A'ya, B'ler B'ye) ve hattın iki ucuna 120 ohm sonlandırma direnci konur. RS485 üzerinde en yaygın protokol Modbus RTU'dur: her cihazın bir adresi vardır ve ana cihaz sırayla cihazların kayıtlarını okur ya da yazar.

Fabrikalarda sıcaklık sensörleri, enerji analizörleri, sürücüler ve PLC'ler çoğunlukla aynı iki telli hat üzerinden konuşur: RS485. Gürültülü ortamlarda yüzlerce metre öteye güvenilir veri taşıyabildiği için otomasyonun vazgeçilmezidir. Bu rehberde RS485'in nasıl çalıştığını, Modbus protokolünü ve Arduino ile bağlantıyı anlatıyoruz.

RS485 nedir?

RS485 (TIA/EIA-485), verinin iki tel arasındaki gerilim farkıyla (diferansiyel olarak) taşındığı bir seri haberleşme standardıdır. Tellerden birine A (bazen D+), diğerine B (D-) denir. Dış ortamdaki parazit iki tele aynı anda etki ettiği için fark değişmez ve veri bozulmaz. Bu sayede RS485 uygun hızlarda yaklaşık 1200 metreye kadar mesafede ve standart yükle aynı hatta 32 cihaza kadar (düşük yüklü alıcılarla daha fazlasına) haberleşme sağlar.

RS485, RS232 ve TTL farkı

ÖzellikTTL seri (UART)RS232RS485
SinyalTek uçlu, 3,3V/5VTek uçlu, ± gerilimDiferansiyel (A-B)
MesafeBirkaç on santimetreYaklaşık 15 metreYaklaşık 1200 metre
Cihaz sayısı22Aynı hatta çok sayıda
KullanımKart içi bağlantıEski PC ve cihaz bağlantılarıEndüstriyel otomasyon

RS485 hattı nasıl kurulur?

  1. Kablo: Bükümlü çift (twisted pair) kablo kullanın; uzun hatlarda ekranlı kablo tercih edin.
  2. Topoloji: Cihazları tek bir hat üzerinde art arda (daisy chain) bağlayın; yıldız bağlantı ve uzun dallanmalar yansımaya neden olur.
  3. A ve B: Tüm cihazların A uçlarını birbirine, B uçlarını birbirine bağlayın. Bazı üreticilerde A ve B etiketleri ters olabilir; haberleşme olmazsa iki teli yer değiştirmek ilk denenecek adımdır.
  4. Sonlandırma: Hattın yalnızca iki ucundaki cihazlara A ile B arasına 120 Ω direnç takın. Kısa ve yavaş hatlarda gerekmeyebilir.
  5. Ortak referans: Cihazların GND'leri arasında büyük potansiyel fark varsa üçüncü bir referans teli ya da izoleli dönüştürücü kullanın.

RS485 Arduino'ya nasıl bağlanır?

Arduino'nun seri portu RS485'e, MAX485 gibi bir dönüştürücü entegre taşıyan TTL-RS485 modülüyle bağlanır. MAX485 tabanlı modüllerde DI (veri girişi) Arduino TX'ine, RO (veri çıkışı) Arduino RX'ine bağlanır; DE ve RE pinleri birleştirilip bir dijital pine bağlanarak gönderme ve alma modu seçilir (gönderirken HIGH, alırken LOW). Yön kontrolünü otomatik yapan modüllerde bu pin yoktur. Örnekler: RS485 modülü 5V, RS485 modülü 3,3V (ESP32 için), TTL-RS485 dönüştürücü.

Modbus RTU nedir?

Modbus RTU, RS485 üzerinde en yaygın kullanılan ana-bağımlı (master-slave) protokoldür: ana cihaz bir istek gönderir, adresi eşleşen bağımlı cihaz yanıt verir. Her istek; cihaz adresi, fonksiyon kodu, veri ve hata kontrolü (CRC) içerir. Yaygın fonksiyon kodları:

  • 03: Holding register oku (ölçüm ve ayar değerleri)
  • 04: Input register oku
  • 06: Tek register yaz
  • 16: Birden fazla register yaz
  • 01 / 05: Bobin (coil) oku / tek bobin yaz (röle çıkışları)

Haberleşme hızı ve biçimi (ör. 9600 baud, 8 veri biti, parite yok, 1 stop biti) tüm cihazlarda aynı olmalı, her cihazın adresi benzersiz olmalıdır. Hangi register'da hangi değerin bulunduğu cihazın Modbus tablosunda yazar.

Örnek: RS485 sıcaklık sensörünü okumak

  1. Sensörün besleme kablolarını bağlayın, A ve B'yi RS485 modülüne bağlayın; ör. RS485 SHT20 sıcaklık ve nem sensörü.
  2. Bilgisayarda bir USB-RS485 dönüştürücü ve bir Modbus test programıyla sensörün adresini ve register'larını doğrulayın.
  3. Arduino'da ModbusMaster gibi bir kütüphaneyle sensörün adresine 03 fonksiyonuyla istek gönderin.
  4. Gelen register değerini sensörün tablosundaki ölçeğe göre (ör. 10'a bölerek) sıcaklığa çevirin.

Modbus ile röle kontrolü için hazır 8 kanallı Modbus RTU/TCP Ethernet röle modülü kullanılabilir. Uzun hatlarda endüstriyel sensör bağlantıları için endüktif sensör yazımıza da bakabilirsiniz.

Sık sorulan sorular

RS485 kaç metreye kadar çalışır?

Uygun kablo ve düşük haberleşme hızlarında yaklaşık 1200 metreye kadar çalışır. Hız arttıkça güvenilir mesafe kısalır.

RS485'te sonlandırma direnci şart mı?

Uzun ve hızlı hatlarda yansımaları önlemek için hattın iki ucuna 120 Ω direnç konmalıdır. Kısa ve düşük hızlı hatlarda olmadan da çalışabilir; ara cihazlara direnç takılmamalıdır.

RS485 ile Modbus aynı şey mi?

Hayır. RS485 fiziksel katmandır (tel ve sinyal seviyeleri), Modbus ise bu hat üzerinden verinin nasıl soru-cevap biçiminde gönderileceğini tanımlayan protokoldür.

RS485 haberleşmesi neden çalışmıyor?

A ve B'nin ters bağlanması, cihazların haberleşme hızı ya da adresinin farklı olması, DE/RE yön kontrolünün yanlış zamanlanması ve sonlandırma eksikliği en sık nedenlerdir.

RS485 full duplex mi?

İki telli RS485 yarı çift yönlüdür (half duplex): aynı anda yalnızca bir cihaz gönderir. Dört telli RS485/RS422 bağlantılarıyla tam çift yönlü haberleşme mümkündür.

Özet

  • RS485, A ve B telleriyle diferansiyel çalışan, uzun mesafeli bir seri haberleşmedir.
  • Cihazlar art arda bağlanır, hattın iki ucuna 120 Ω konur.
  • Arduino, MAX485 tabanlı TTL-RS485 modülüyle bağlanır.
  • Modbus RTU; adres, fonksiyon kodu, veri ve CRC ile çalışır.
  • Haberleşme hızı ve biçimi tüm cihazlarda aynı olmalıdır.

Bu yazıdaki ürünler

Diğer yazılar