Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Vladimir66
Příspěvky: 385
Registrován: 02 dub 2014, 15:30

Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od Vladimir66 »

pekne vysvetleno zde:
https://www.bluedot.space/tutorials/how ... n-i2c-bus/

pri 10Kohm Pull-Ups:
5V - 6x I2C modulů
3V - 10x I2C modulů
kolbaba71
Příspěvky: 466
Registrován: 12 říj 2013, 17:35
Bydliště: Praha
Kontaktovat uživatele:

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od kolbaba71 »

To jsem si myslel, že půjde víc, i když ne řádově.
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1523
Registrován: 16 úno 2013, 14:26

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od Dex »

Je potřeba si přečíst ten článek, jinak je Vláďův stručný závěr tak trochu zavádějící. Není až takový problém, pověsit na tu sběrnici více zařízení, ale pochopitelně nemůže mít každé svoje vlastní "pull-upy", to dá rozum :)
"all your robots are belong to us"
robodoupe.cz
Vladimir66
Příspěvky: 385
Registrován: 02 dub 2014, 15:30

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od Vladimir66 »

Ja jsem to sem dal, abych o tom zavedl debatu.
zajimaly by me prakticke zkusenosti s experimentovanim s vice moduly.
vyndavat pull-upy a nechat jen na jednom (nejpouzivanejsim) ?
mit MCU "uprostred" sbernice ?
napr. moje prakticka zkusenost je, ze kdyz odpojim kompas, tak mi OLED nezobrazuje..

-V66
Uživatelský avatar
gilhad
Příspěvky: 263
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od gilhad »

Já na svojí I2C síti (kde jsou teda převážně různá "Arduina") to mám zapojené "do hvězdy", kde v centru je deska s paralelně spojenými konektory, do kterých to všechno vede a do jednoho konektoru je zapojen protikus s pullupy. Takže i v případě množení takovýchto desek se ten pullupový protikus píchne jen do jedné a bez problémů :)

Pokud bych tam dával nějak víc senzorů (zatím tam jsou spíš "výstupy"), tak u každého ty jeho pullupy odpájím - přesně z výše uvedeného důvodu.

Prostě filozofie - na jedné sběrnici má být jen jedna sada pullupů a to tak, že samostatná a vyměnitelná - i na breadboardových bastlech tam dám dva nožičkové odpory. (a spíš vyšší, takže to neumrtví ani nějaký dobře ukrytý a zapomenutý v dosud neupraveném senzoru)
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1523
Registrován: 16 úno 2013, 14:26

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od Dex »

Já se snažím hvězdu ani odbočky nedělat respektive odbočky jen kratičké jako třeba pár cm na plošňáku.

Tam, kde připojuju jeden či dva moduly to moc neřeším, pokud to funguje ;)

Tam, kde to myslím "vážně", dávám "pull-upy" pryč a přidávám je na konec vedení. Optimální také je, pokud je SDA a SCL co nejdále od sebe (teď uvažuji plochý kabel).

Viděl jsem fungovat ledacos, ale zároveň musím říct, že tam, kde to řeším "vážně", se mi vlastně asi ještě nestalo, že by byl na sběrnici problém (možná štěstí/náhoda?! :D).

Doporučuji alespoň prolétnout toto ;)
"all your robots are belong to us"
robodoupe.cz
DavidO
Příspěvky: 1136
Registrován: 01 kvě 2013, 21:27

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od DavidO »

Ach jo. Na co debatu?? :roll: Vždyť je to prostě dané. Už jsem o tom mluvil na Robodoupěti několikrát. i2c je sběrnice, která má nějak nadefinované podmínky. Aby to fungovalo, je vhodné je dodržet. Například to, že to je sběrnice a k modulům vede co nejkratší odbočka, tedy že to není hvězda. Například, že pull-up je záležitost sběrnice, nikoli jednoho každého modulu. Ono to může fungovat i za jiných podmínek, ale to by uživatel měl sakra dobře vědět, co dělá, proč to dělá a co si může dovolit.
Ten článek je v kontextu webu, kde se věnuje hlavně svým modulům BlueDot, kde ty rezistory má na každém připájené, no tak pro uživatele, kteří o i2c nic moc nevědí, dává návod, kolik jeho modulů je možné zapojit, aby to ještě fungovalo. Vytržen z kontextu je ten článek spíše zavádějící (a to ani neuvažujeme problémy použití breadboardu jako třeba přechodové odpory a parazitní kapacity).
V podstatě ten článek říká, jaký důsledek má paralelní zapojení odporů (což byste si mohli uvědomit sami) a počítá, kolik modulů BlueDot stačí na porušení podmínek, nic víc.

Vláďo, ohledně kompasu a displeje - jaké tam máš na kterém z těch modulů (MCU - kompas - displej) pull-upy a k čemu pull-upujou? Tak jak to píšeš, to vypadá, že je třeba máš jen na kompasu, anebo že tam máš nesprávné napěťové úrovně, které ti ten kompas "napravuje" - např. mcu má sice pull-upy, ale tahá to jima na 3.3V a oled potřebuje 5V, na které to vytáhne ten kompas, a jestli je mcu 5V-tolerant, tak mu kompasových 5V nevadí. Ale může to být i jinak, samozřejmě.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Uživatelský avatar
fulda
Příspěvky: 1363
Registrován: 04 led 2016, 17:18

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od fulda »

Dex píše: 10 čer 2019, 18:45 Doporučuji alespoň prolétnout toto ;)
Pokud by to někdo chtěl v češtině, tak to mám jako knihu, takže k tomu potřebujete ještě někoho s kopírkou :)
Na knize je nápis tesla, takže trochu starší vydání.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Vladimir66
Příspěvky: 385
Registrován: 02 dub 2014, 15:30

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od Vladimir66 »

Diky za reakce.
Doufam, ze to ctou i "nadsenci", ktere moc pull-upy neresi a pak roboti fungujou/nefungujou.
Ja pouzil maximalne tri I2C moduly a zadne pull-upy jsem neresil.
Takze ode dneska uz bude hardware robota zase o neco zdravejsi :)

a jak je to s mixovanim 3V a 5V I2c modulů ?
staci jen napetove prizpusobeni 5V --> 3V nebo je dobre pouzit nejaky dalsi hw element ?
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1523
Registrován: 16 úno 2013, 14:26

Re: Vite, kolik I2C zarizeni muzete prakticky pripojit k MCU ?

Příspěvek od Dex »

Koukni do https://www.nxp.com/docs/en/application ... N10441.pdf na stránku č. 4 ;) Tohle mám vyzkoušené, ale existují i hotové obvody např.
PCA9306
"all your robots are belong to us"
robodoupe.cz
Odpovědět