Stránka 1 z 1

Identifikace připojeni USB

Napsal: 18 úno 2018, 11:21
od MartinL
Zařízení s Arduino Nano by mělo komunikovat buď přes BT, nebo přes vestavěný převodník USB (CH340..) na UART. Pokud bude připojené k PC přes USB, tak potřebuji odpojit BT (alespoň pin RX), aby se nehádaly. Jak detekovat, že je Arduino připojeno přes USB?
Zatím mám pouze jeden nápad, a to měřit napětí na VIN. Pokud bude vyšší než 5V, tak je připojen externí zdroj a komunikovat budu přes BT. Bohužel to neřeší problém, kdy bude připojeno externí napájení a USB zároveň.
Druhý problém je, jak zajistit odpojení komunikační linky BT? První nápad byl nějaký FET, ale pak mi došlo, že není úplně ono. FETy mají standardně vnitřní diodu, a tak by to v jedné úrovni nefungovalo (nějaký třístavový buffer?).
Díky za nápady.

Re: Identifikace připojeni USB

Napsal: 18 úno 2018, 12:27
od fulda
Obrázek Moje první rada pro dnešní den zní: pokud potřebujete arduino, které komunikuje po sériové lince jiné než do USB/seriál převodníku, nepoužívejte arduina typu nano ani uno.

Například deska typu leonardo má zároveň sériový port a zároveň USB.

Pokud opravdu trváš na tom, že použiješ tu nejlevnější desku a desetkrát jí zdražíš balastem okolo, tak použij třeba Pro Mini a vedle převodník USB/Seriál. Tam bezpečně poznáš, že je napětí na V=USB, které budeš moci použít k multiplexování vstupu pro Rx (a také výstupu pro Tx)

Co se týká multiplexování, tak je nabídka široká, stačí se rozhodnout, jak moc chceš investovat. Například nákup CMOS 4052 nebo 74HC4052 není vůbec sexy, ale je to levné.
Dají se najít verze od sparkfun, Atlas Scientific, nebo tady, ty jsou víc sexy, ale ne o tolik.

Jo a občas se hodí kouknout do nějakého návodu

Re: Identifikace připojeni USB

Napsal: 18 úno 2018, 13:57
od MartinL
Fulda: Díky za rady, ale někdy si člověk nemůže moc vymýšlet, když je zadání dané. Pokud bych navrhoval nové zařízení dle svého, tak k tomu přistoupím určitě jinak. Teď mě ještě napadlo, že na BT modulech HC-05 (některých) je vyveden vstup EN (zatím se mi nepodařilo dopátrat, co všechno dělá).

Re: Identifikace připojeni USB

Napsal: 18 úno 2018, 15:04
od gilhad
Ja bych asi "jednoduse" pripojil primo USB + prez 2x5k (nebo vic) na zem ("svod 0.5mA a min") jeste pred tou diodou k napajeni a meril napeti primo tam pomoci analogove nozicky.
Kdyz je tam asi tak 2.5V, jsi zapojeny do USB. Kdyz je tam asi tak 0V tak zapojeny nejsi. (merit mezi odpory, abych na analogovou nozicku urcite nedal napeti vetsi nez napajeci a aby zaverny proud tou diodou (svod) to nedokazal nahodit do falesneho plusu)

USB+ --- 5k --- A0 --- 5k --- GND

Na oddeleni nejaky standarni integrac na to urceny, treba viz fulda vyse. Taky by slo navic prez nejaky FET tomu BT vypnout napajeni (cimz se nezbavis nutnosti toho inetgrace, ale muzes si snizit odber z USB pro dalsi periferie, pokud bys byl s tim BT pobliz vykonostni hrany)