RS-485 je ekonomické řešení pro sítě sériové komunikace. Lze jej použít s datovými rychlostmi 10 Mbit / s nebo na vzdálenosti až 1200 m při nižších rychlostech. RS-485 Shield je standardní štít pro Raspberry Pi. Je integrován s jednoduchým šroubovým terminálem a rozhraním DB9.

kup nyní

Vlastnosti

  • Jeden ovladač a jeden přijímač na část
  • Minimalizace hluku EMI
  • Přenosová rychlost až 2,5 Mb / s
  • Žádné omezení rychlosti rampy řadiče
  • Omezený zkratový proud
  • Bezpečné aplikace

Specifikace

Vlastnosti Hodnota
Pracovní napětí 3,3 V
Rozhraní RS-485 DB9 Interf ejs X1
RS-485 Šroubové rozhraní X1
2 × 13 female konektor pro Raspberry X1
2 × 13 Dodatečná zásuvka X1
Interf ejs Grove I2C X1
Rychlost přenosu dat 2,5 Mb / s
Počet přijímačů 32

Teplotní rozsah

úložný prostor

od -65 ° C do 160
Počet kanálů 8
Řešení 12-bit
Spotřeba energie Liší se v závislosti na přenosové rychlosti
Rozměry 62 x 39,2 x 21,8 mm
Hmotnost 23 g
Velikost balení 140 x 75 x 25 mm
Celková hmotnost 42 g

typické aplikace

  • Transceivery RS-485 s nízkou spotřebou energie
  • Převaděče úrovní
  • Vysílače a přijímače pro průmyslové aplikace v sítích citlivých na elektromagnetické rušení
  • Poloduplexní aplikace

Přehled hardwaru

Distribuce vedení

 

Rozhraní RS-485 DB9 a RS-485 Šroubové rozhraní

 

Rozhraní 485 používá diferenciální přenos signálu. Zkontrolujte, zda je port A připojen k portu A zařízení 485 a port B k portu B zařízení 485.

485-A: Konec A datového kabelu RS485, připojení ke kolíku A čipu MAX485.
485-B: Kabelový konec B pro přenos dat RS485, připojení k kolíku B.
GND: Připojte se k GND Raspberry Pi.

 

Jak vidíte, pro přenos dat se používají GPIO14 a GPIO15 a jako aktivační signál se používá GPIO18.

Definici logických signálů naleznete v tabulce níže.

 

Zásuvka pro Raspberry

K připojení tohoto modulu k Raspberry Pi používáme 2X13 female konektor. Ujistěte se, že jsou kolíky zarovnané.

 

Extra zásuvka

Štít RS-485 má 26 pinů Raspberry Pi a ve skutečnosti se používá pouze 5 pinů GPIO. Těchto 26 kolíků odvozujeme, pokud je potřebujete pro jiné účely.

Seznam použitých GPIO

Číslo GPIO Funkce
GPIO02 SDA pro port Grove I2C.
GPIO03 SCL pro port Grove I2C.
GPIO14 Připojte k DI pinu čipu Max485 pro přenos dat.
GPIO15 Připojte k RO pinu čipu Max485 pro přenos dat.
GPIO18 Připojte se k pinům RE a DE čipu Max485, funguje to jako signál povolení.

Port Grove I2C

Vyhrazili jsme si rozhraní I2C, aby ho bylo možné snadno použít se zařízeními I2C. Všimněte si, že VCC tohoto portu je 5V. Zkontrolujte, zda modul pracuje s 5V.

SCL: Sériové hodiny I2C, připojení k GPIO03 Raspberry Pi.
SDA: Sériová data I2C, připojte se k GPIO02 na Raspberry Pi.
VCC: Připojte se k 5V pinu Raspberry Pi.
GND: Připojte ke kolíku GND Raspberry Pi.

 

Čip Max 485

Pro tento štít byl použit integrovaný obvod MAX485ESA. Další informace o tomto integrovanémobvodu najdete v datovém listu MAX485 .

Jak začít

Zařízení

Potřebné materiály

Raspberry Pi Štít RS-485 pro Raspberry Pi
    • Krok 1. Připojte štít RS-485 k Raspberry Pi.

    • Krok 2. Připojte 485-A k vodiči A 485, připojte 485-B k vodiči B 485.

    Pozor

    Pokud je kabel zaneprázdněn, nebude komunikace možná.

    • Krok 3. Připojte napájení k Raspberry Pi pomocí kabelu microUSB.

    Software

    Komunikační testovací kód

    Můžete vytvořit nový soubor pythonu a zkopírovat následující kód do nového souboru, nebo si můžete stáhnout zdrojový soubor v oblasti stahování prostředků. Poté jej spusťte ve svém terminálu.

    Poslat kód.

     #! / usr / bin / env python
    
    čas importu
    importovat sériové číslo
    import os
    
    
    send_str = "******* rs485888888 - rn"
    
    os.system ("echo 18> / sys / class / gpio / export")
    os.system ("echo out> / sys / class / gpio / gpio18 / direction")
    ser = serial.Serial (port = '/ dev / ttyAMA0', přenosová rychlost = 10 000 000, velikost bytu = 8, stopbity = 1, časový limit = 1)
    
    
    last_time = time.time ()
    
    now_time = time.time ()
    os.system ("echo 1> / sys / class / gpio / gpio18 / value")
    time.sleep (0,01)
    n = 800
    zatímco n> 0:
        ser.write (send_str)
        n = n-1
    # time.sleep (0,001)
    os.system ("echo 0> / sys / class / gpio / gpio18 / value")
    

    Přijímací kód

      

     #! / usr / bin / env python
    
    čas importu
    importovat sériové číslo
    import os
    
    
    
    send_str = "******** abcdefghijklmnopqrstuvwxyz &"
    
    
    os.system ("echo 18> / sys / class / gpio / export")
    os.system ("echo out> / sys / class / gpio / gpio18 / direction") 
    
    ser = serial.Serial (port = '/ dev / ttyAMA0', přenosová rychlost = 115200, velikost bytu = 8, stopbits = 1, časový limit = 1)
    
    last_time = time.time ()
    zatímco 1:
        now_time = time.time ()
        if ((now_time-last_time)> = 1):
            last_time = now_time
    # tisk „172 odesílání“
            os.system ("echo 1> / sys / class / gpio / gpio18 / value")
            time.sleep (0,01)
            ser.write (send_str)
            time.sleep (0,01)
            os.system ("echo 0> / sys / class / gpio / gpio18 / value")
        os.system ("echo 0> / sys / class / gpio / gpio18 / value")
        time.sleep (0,01)
        count = ser.inWaiting ()
        if (count! = 0):
            x = ser.readline ()
            pokud „********“ v x:
    # print "délka str je:" + str (počet)
                tisk x
    

    K otestování výše uvedeného kódu potřebujete dvě čepice a dvě Raspberry Pi, nebo můžete ke komunikaci s Raspberry Pi použít sériový nástroj v počítači.

    zveme vás ke spolupráci!