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.
Odkazy
[Zip] Testovací kód Pythonu
[PDF] Formát Wiki PDF