Řízení více sběrnic RS485 z jednoho místa
Řízení více sběrnic RS485 z jednoho místa
Ve svítilně budu mít cca 140 zařízení, které bych chtěl řídit po sběrnici RS485, jenž má limit 32 zařízení. Jak tento limit obejít?
Re: Řízení více sběrnic RS485 z jednoho místa
Tak místo 485ky použij ty MCP2551, ty mají limit až 112 nodů čili stačí dvě větve 
Jinak by jsi musel těch 485ek provozovat vícero, čili by hlavní řídící prvek měl mít 5 sériáků a to už je dost. Ještě by to šlo nějak multiplexovat, ale to mi nepřijde moc šikovné.
Btw do čeho to má být celé svedeno?

Jinak by jsi musel těch 485ek provozovat vícero, čili by hlavní řídící prvek měl mít 5 sériáků a to už je dost. Ještě by to šlo nějak multiplexovat, ale to mi nepřijde moc šikovné.
Btw do čeho to má být celé svedeno?
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: Řízení více sběrnic RS485 z jednoho místa
Jako centrální mcu jsem uvažoval o ATmega 2560
Re: Řízení více sběrnic RS485 z jednoho místa
Ta má tuším 4x sériák čili dvě větve pro MCP nejsou problém. Necpal bych to na ten první, kde číhá i bootloader. Ovšem na 5 větví 485 je to málo, musel by jsi jednu řešit přes soft sériák a to já osobně nemám rád. Krystal tam budeš mít asi 16 MHz, takže doporučuju komunikovat třeba rychlostí 250 000 protože tam bude nulová chybovost a Arduino to v pohodě zvládne.
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: Řízení více sběrnic RS485 z jednoho místa
Tady máme trochu příklad špatně položené otázky.
Záleží, ne jaké úrovni si tu RS486 převezmeš. Ve většině implementací je doporučeno používat 9 bit komunikaci, kde nastavením devátého bitu identifikujeme adresu příjemce. Dodržovat tohle pravidlo je praktické, protože na to má celá řada procesorů podporu. Ale už se moc nespecifikuje, jak ta adresa má vypadat. Pokud máš komunikaci typu PMP (point to multipoint) a uděláš nějakou premisu že jeden bit použiješ na identifikaci request / response, tak máš pořád 127 zařízení. Nebo dokonce můžeš udělat to, že první bajt znamená adresu zařízení a až ve druhém bajtu se dočteš, jestli se jedná o request / response / call byte a tak dále. Takže pak máš 255 komunikujících zařízení a to je víc než potřebuješ.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Re: Řízení více sběrnic RS485 z jednoho místa
Ahááá takže jestli tomu dobře rozumím, tak to omezení 485ky nesouvisí s fyzickou vrstvou? U toho MCP2551 ale zřejmě ano?
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: Řízení více sběrnic RS485 z jednoho místa
Pozor souvisí to s hardwarem, záleží na konkrétním budiči. Např. MAX485 má omezení na 32 zařízení na sběrnici, MAX487 128 zařízení, atd.
Re: Řízení více sběrnic RS485 z jednoho místa
Toto téma mi nápadně připomíná téma, které vloni řešilo několik lidí, kteří se baví hracími 8-bitovými domácími počítači. Chtěli je propojit, aby si mohli zahrát obsoletní hry a nechápali, že pouhé propojení několika 8-bitových domácích počítačů jim nezajistí společné hraní.
Takže taková malá nalejvárna:
1. hardware
potřebujete "něco" co má TTL Rx/Tx rozhraní. To má kdejaký mikropočítač. Na něj dáte převodník na RS422 (místo obvyklého MAX232 , který je pro RS232C). Převodníků RS422 nebo RS485 je dostatek. Texas dělá také izolované. Když chcete izolovanou RS422 můžete použít buď ty izolované od Texase nebo obvyklé RS422 a k nim přidáte optočleny. Když se rozhodnete pro izolovanou RS422, musíte přidat ještě izolovaný DC/DC převodník pro napájení té izolované strany. Zcela stejné to musí být také na ostatních zařízeních, které chcete na RS422 připojit.
A to je asi tak vše co musíte udělat na hardware.
2.software
tak to už je horší. Když přes RS422 spojíte dvě zařízení, třeba počítač na jednom konci a robota na druhém konci, tak stačí posílat povely z počítače, kde si nahodíte terminál. Pochopitelně,když použijete PCčko, musíte k němu mít převodník USB-RS232C. Buď si ho vyrobíte, nebo si koupíte čínský zmetek u AliBaby. Čínský zmetkový převodníky z USB se vyznačují často nekompatibilním USB ovladačem. V takovém případě si převodník dáte do vitrýny.
Mnohem horší situace nastane, když chcete spojit více než dvě zařízení. V takovém případě už vám nestačí terminál na PCčku, ale musíte jednotlivé zařízení adresovat. Čili potřebujete software s protokolem. Standardní protokol je Modbus. Existují knihovny Modbusu pro určité vývojové softwarový systémy a pro určité mikropočítače. Málokdy jsou zdarma. Pochopitelně, naprogramovat musíte všechny zařízení, které jsou na síť RS422 navěšený.
Jestliže máte málo zařízení, které chcete na RS422 navěsit, například jen dva roboty a chcete je řídit z jednoho PCčka, můžete se Modbusu vyhnout tím, že na PCčku budou dva adaptéry USB-RS422. Každý pro jednoho robota. Roboti budou nezávislé a PCčko rozhodne o tom, kterého robota bude právě úkolovat. Kdyby jste chtěli, aby robot č.1 komunikoval s robotem č.2, v tom případě musí jít vše přes "velitele", tedy přes PCčko. Robot č.1 pošle data na PCčko a PCčko data přepešle robotovi č.2
Dříve, v dobrých časech, kdy ještě byla ISA sběrnice a PC-AT, existovaly levné adaptéry, které měly třeba 8 sériových portů. Stačilo na každý sériový port navěsit převodník na RS422 a měli jste hvězdicovou síť. Stačilo si napsat řídící program na PCčku, které pak ovládalo 8 robotů. Nepotřebovali jste žádný protokol a adresa robota byla určena adresou COM portu. Takový adaptér lze dnes vyrobit, potíž je kde vzít starý dobrý PCčko s ISA.
A nakonec, místo RS422 doporučuju použít CAN bus. Je to rychlejší, hardwarově stejně náročné jako RS422 a softwarově méně náročné.
Takže taková malá nalejvárna:

1. hardware
potřebujete "něco" co má TTL Rx/Tx rozhraní. To má kdejaký mikropočítač. Na něj dáte převodník na RS422 (místo obvyklého MAX232 , který je pro RS232C). Převodníků RS422 nebo RS485 je dostatek. Texas dělá také izolované. Když chcete izolovanou RS422 můžete použít buď ty izolované od Texase nebo obvyklé RS422 a k nim přidáte optočleny. Když se rozhodnete pro izolovanou RS422, musíte přidat ještě izolovaný DC/DC převodník pro napájení té izolované strany. Zcela stejné to musí být také na ostatních zařízeních, které chcete na RS422 připojit.
A to je asi tak vše co musíte udělat na hardware.

2.software
tak to už je horší. Když přes RS422 spojíte dvě zařízení, třeba počítač na jednom konci a robota na druhém konci, tak stačí posílat povely z počítače, kde si nahodíte terminál. Pochopitelně,když použijete PCčko, musíte k němu mít převodník USB-RS232C. Buď si ho vyrobíte, nebo si koupíte čínský zmetek u AliBaby. Čínský zmetkový převodníky z USB se vyznačují často nekompatibilním USB ovladačem. V takovém případě si převodník dáte do vitrýny.

Mnohem horší situace nastane, když chcete spojit více než dvě zařízení. V takovém případě už vám nestačí terminál na PCčku, ale musíte jednotlivé zařízení adresovat. Čili potřebujete software s protokolem. Standardní protokol je Modbus. Existují knihovny Modbusu pro určité vývojové softwarový systémy a pro určité mikropočítače. Málokdy jsou zdarma. Pochopitelně, naprogramovat musíte všechny zařízení, které jsou na síť RS422 navěšený.
Jestliže máte málo zařízení, které chcete na RS422 navěsit, například jen dva roboty a chcete je řídit z jednoho PCčka, můžete se Modbusu vyhnout tím, že na PCčku budou dva adaptéry USB-RS422. Každý pro jednoho robota. Roboti budou nezávislé a PCčko rozhodne o tom, kterého robota bude právě úkolovat. Kdyby jste chtěli, aby robot č.1 komunikoval s robotem č.2, v tom případě musí jít vše přes "velitele", tedy přes PCčko. Robot č.1 pošle data na PCčko a PCčko data přepešle robotovi č.2

Dříve, v dobrých časech, kdy ještě byla ISA sběrnice a PC-AT, existovaly levné adaptéry, které měly třeba 8 sériových portů. Stačilo na každý sériový port navěsit převodník na RS422 a měli jste hvězdicovou síť. Stačilo si napsat řídící program na PCčku, které pak ovládalo 8 robotů. Nepotřebovali jste žádný protokol a adresa robota byla určena adresou COM portu. Takový adaptér lze dnes vyrobit, potíž je kde vzít starý dobrý PCčko s ISA.

A nakonec, místo RS422 doporučuju použít CAN bus. Je to rychlejší, hardwarově stejně náročné jako RS422 a softwarově méně náročné.
Re: Řízení více sběrnic RS485 z jednoho místa
Tento problém jsem již vyřešil před delší dobou. Za těch 5 let jsem se sice posunul vcelku málo, ale o něco ano. Nevím proč bych měl místo RS422 používat CAN, se kterým nemám vůbec žádné zkušenosti, když chci použít RS485.
Re: Řízení více sběrnic RS485 z jednoho místa
OT Hlavne nevim, proc se na sbernici snazit naroubovat RS-422 ktery je urceny na dvoubodove spojeni... Ale treba nas JPLABS ochytri.-