Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Komunikace více PIC přes izolovanou sběrnici
Jdi na stránku Předchozí  1, 2, 3  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Poradna
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: čt únor 04 2016, 17:10    Předmět: Citovat

termit256 napsal(a):
Jen posli bajt/paket dvakrat za sebou. Prijimaci strana vyhodnoti jestli jsou oba stejne a pokud ne, posle povel k opakovani prenosu.
Klidně se to zmastí 2x i vícekrát úplně stejně a nic se nepozná. Už jsem to zažil na DTMF přenosu. Zabepečovací CRC je určitě lepší a méně náročné na přenosovou kapacitu než opakování přenosu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
dracekvo



Založen: Feb 10, 2009
Příspěvky: 510

PříspěvekZaslal: pá únor 05 2016, 8:01    Předmět: Citovat

Tak on je 12F1572 dokonce levnější jak jeho slabší bráška s jedničkou na konci.
Jen ještě dotaz k tomu UARTu. Tam je možné spojovat více zařízení na jednu sběrnici, nebo je to jen pro přímou komunikaci?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Jirka525



Založen: May 22, 2013
Příspěvky: 325
Bydliště: Psáry JN79GW

PříspěvekZaslal: pá únor 05 2016, 9:55    Předmět: Citovat

To záleží, jak tu sběrnici hardwarově ošetříš. UART na CPU poskytuje signály na úrovni TTL. To znamená že na TXD můžeš připojit několik zařízení RXD. Nesmíš ale spojit 2 signály TXD, to by na sběrnicích docházelo ke kolizím. Jinými slovy, na úrovni TTL uděláš pouze obousměrnou komunikaci bod - bod nebo jednosměrnou komunikaci bod - multibod. Jedna velitelská stanice může dávat povely ostatním. Pokud potřebuješ sběrnici, na kterém může být několik zařízení s obousměrnou komunikací, tak je vhodné dát za UART převodník TTL/RS485. http://www.gme.cz/rozhrani-pro-rs422-rs423-rs485-sbernice RS485 je třístavová sběrnice, na které může být současně zapojeno několik zařízení. Ale stejně musíš programově ošetřit aby v danném okamžiku vysílala maximálně jedna stanice. To se typicky používá pro komunikační protokoly typu Master-Slave, například můj oblíbený Modbus.
_________________
Jirka
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
dracekvo



Založen: Feb 10, 2009
Příspěvky: 510

PříspěvekZaslal: út duben 12 2016, 6:44    Předmět: Citovat

Tak jsem nakonec vzal 12F1822 a ten podle datasheetu podporuje
• Master Synchronous Serial Port (MSSP) with SPI
and I2CTM with:
- 7-bit address masking
- SMBus/PMBusTM compatibility
• Enhanced Universal Synchronous Asynchronous
Receiver Transmitter (EUSART) module:
- RS-232, RS-485 and LIN compatible
- Auto-Baud Detect

Ale furt přemýšlím nad tou komunikací.
Jestli sem to dobře vše pochopil, tak 5V UART si sice můžu oddělit obyčejnejma optočlenama, ale už nemůžu spojit víc zařízení.
Potřeboval bych 1 master a 16 slave.

Na rychlosti opravdu nezáleží. Budu posílat číslo z ADC převodníku. Tj. 0-1024 a pokud master přijme od všech 16 slave data jednou za dvě vteřiny, tak to stačí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ross4435897



Založen: Nov 10, 2009
Příspěvky: 426
Bydliště: Brno

PříspěvekZaslal: út duben 12 2016, 7:31    Předmět: Citovat

I2C bus
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
dracekvo



Založen: Feb 10, 2009
Příspěvky: 510

PříspěvekZaslal: út duben 12 2016, 7:43    Předmět: Citovat

S i2c jsem zase na začátku problému, a tím je cena za izolátor i2c.

No nic, tohle asi žádné rozumné řešení mít nebude.
Asi se v rátím k tomu jak sem chtěl na začátku napsat nějaký vlastní protokol 1-wire na principu DS18B20.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
peatre



Založen: Nov 26, 2007
Příspěvky: 39
Bydliště: Malacky

PříspěvekZaslal: út duben 12 2016, 9:21    Předmět: Citovat

Na viac zariadeni jednoznačne I2C Alebo One wire komunikaciu

http://www.embedded.com/design/prototyping-and-development/4025023/Opto-electrical-isolation-of-the-I2C-Bus

_________________
Bezpečnost pri práci je dúležitejší než práca samotná...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
ross4435897



Založen: Nov 10, 2009
Příspěvky: 426
Bydliště: Brno

PříspěvekZaslal: út duben 12 2016, 9:51    Předmět: Citovat

no zas tak drahy to neni (kdyz si jich koupis 1000ks Smile) .... I2C ISOLATOR .. nebo na Ebay
One-wire je podle me taky pouzitelny ...


Naposledy upravil ross4435897 dne út duben 12 2016, 9:59, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
lesana87



Založen: Sep 20, 2014
Příspěvky: 3330

PříspěvekZaslal: út duben 12 2016, 9:58    Předmět: Citovat

Budič RS-485 se do dvacky pořídí i při 10ks.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frpr666



Založen: Dec 28, 2009
Příspěvky: 1051

PříspěvekZaslal: út duben 12 2016, 16:34    Předmět: Citovat

Já hlasuju pro každý "slave" 2x optočlen a pro "master" dekodér 1 z 16. Myšleno dle obr. níže.
Rx na "slave" MCU může být klidně jen obyčejný pin, a čekat jen na stav "log0", který odstartuje vysílání směrem "slave"->"master".
Pozn.1. na kolektoru PNP jsou pospojovány všechny anody...
Edit.2. výhodou tohoto řešení je, že "slave" může být např. bateriově napájený a většinu života v "power down" režimu. Vzbudit se, vyslat a zase usnout...



160412_optoizolator16.jpg
 Komentář:

Stáhnout
 Soubor:  160412_optoizolator16.jpg
 Velikost:  44.23 kB
 Staženo:  56 krát



Naposledy upravil frpr666 dne út duben 12 2016, 16:47, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Habesan



Založen: Jan 12, 2009
Příspěvky: 7096
Bydliště: Plzeňsko

PříspěvekZaslal: út duben 12 2016, 16:42    Předmět: Citovat

Co použít SPI a optrony s otevřeným kolektorem, s tím, že odpovídat bude pouze Slave, který správně obdrží svoji adresu (tak jako u I2C)?

Co použít I2C, ale HW (nějakým XOR) mu rozdělit datovou sběrnici na dvě jednosměrné?

EDIT: ad frpr666 sériovým řazením podřízených obvodů by se x-násobně (16, 127 nebo 256) snížila spolehlivost zařízení.

_________________
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)


Naposledy upravil Habesan dne út duben 12 2016, 17:16, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
frpr666



Založen: Dec 28, 2009
Příspěvky: 1051

PříspěvekZaslal: út duben 12 2016, 17:01    Předmět: Citovat

No ještě by šlo snížit počet optočlenů. Pokud nejsou nároky na rychlost, tak pospojovat "slave" za sebe do "série". Každý slave by kopíroval řetězec ze svého vstupu a nakonec by připojil "svůj" nějaký řetězec ve stylu <adresa_slave_x><data_slave_x>


160412_optoizolator16b.jpg
 Komentář:

Stáhnout
 Soubor:  160412_optoizolator16b.jpg
 Velikost:  40.08 kB
 Staženo:  56 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
dracekvo



Založen: Feb 10, 2009
Příspěvky: 510

PříspěvekZaslal: pá duben 15 2016, 8:15    Předmět: Citovat

Nad tou kruhovou topologií jsem přemejšlel taky, ale vyšlo mi, ale nevím jak bych to uřídil bez hodin. A kdybych použil hodinový signál, tak by mi počet optočlenů zůstal stejný, jen bych měl víc práce s obsluhou.
Nakonec sem se rozhodl pro dvě jednostranné 1wire sběrnice. Na jedné z mástra odešlu adresu a na druhé budu čekat na odpověď od osloveného procesoru.

Přincip je takový, že na RX bude stále log 1 a při vysílání jí bude optočlen stahovat do log 0. Tudíž budu moci mít více procesorů na jedné sběrnici, aniž by se navzájem ovlivňovali.

Mám zapojení správně?



oddelovac.png
 Komentář:

Stáhnout
 Soubor:  oddelovac.png
 Velikost:  18.7 kB
 Staženo:  77 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frpr666



Založen: Dec 28, 2009
Příspěvky: 1051

PříspěvekZaslal: so duben 16 2016, 18:14    Předmět: Citovat

Otázka je jestli chceš mít galvanicky izolované i jednotlivé "slave" mezi sebou. Nebo "slave" plavou na stejném potenciálu?
Jestli to dobře chápu, tak "master" bude v "log1" napájet 16x led v optočlenu?
Mimochodem jak máš vyřešené galvanicky izolované napájení pro jednotlivé "slave"?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
dracekvo



Založen: Feb 10, 2009
Příspěvky: 510

PříspěvekZaslal: so duben 16 2016, 18:42    Předmět: Citovat

To jsem asi nezmínil, každý slave sedí na jednom článku baterie z které se také napájí, takže musí být izolované i mezi sebou.
Jsou to vlastně balancéry, které po dosažení určitého napětí sepnou přes mosfet výkonové odpory. Když už to řídím přes PIC, tak jako doplňkovou funkci chci mít možnost si v budoucnu vyčítat napětí jednotlivých článků do nadřazeného systému k archivaci. Nebo přes něj nastavovat balanční napětí. Tak proto mi ani moc nezáleží na rychlosti komunikace.

S tim napájením 16x led optočlenu je to dobrá připomínka, to jsem si vůbec neuvědomil. Takže u mástra to budu muset posílit nějakým tranzistorem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Poradna Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3  Další
Strana 2 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.38 sekund