Meerdere ontwikkelboards aan 1 USB uitgang via 1>4 USB HUB

Stel, ik zou 4 (of meer) ontwikkelboards hebben, bijvoorbeeld een Microchip Curiosity Board of Arduino, en ik heb maar 1 USB poort op mijn computer.

Stel ik heb een USB splitter, bijvoorbeeld zo één:

+

Is het dan mogelijk om de 4 arduino's op de uitgangen aan te sluiten, en de ene ingang op mijn PC. Kun je alle arduino's dan afzonderlijk programmeren?

En dezelfde vraag, maar dan andersom, kun je op deze manier ook de seriele monitor van alle 4 de Arduino's of 4 UART's van Microchip op 1 USB poort uitlezen?

PA0EJE - www.eje-electronics.nl - e.jongerius[aapje]eje-electronics.nl - EJE Electronics - Elektronica/firmware ontwikkeling

Ja, ieder board krijgt zijn eigen serial port. Als je er echt vier aan gaat hangen is een hub met eigen voeding aan te raden. Dan belast je de USB poort van je pc niet te veel en krijgt ieder board goede 5V voeding.

Ja hoor dat gaat meestal wel. Wel ff uitzoeken welke virtuele compoort bij welke usb poort hoort. Soms wil alleen de bij het onwikkelsysteem behorende software niet meewerken. En dan gaat het niet.

buckfast_beekeeper

Golden Member

Normaal geen enkel probleem. Ik gebruik er 1 met 10 poorten. Er hangen een ESP8266 dev board, ESP32 dev board, ISP programmer (voor ATmega) en RS485 dongle (RS485 communicatie volgen en testen) constant aan. Soms nog extra ESP32/ESP8266. Je kan dan in de Arduino IDE kiezen welke com poort je wil gebruiken. De seriële monitor werkt wel maar op 1 poort tegelijk.

Communicatie kan je ook volgen in programma's zoals PUTTY.

Uiteindelijk zijn de meeste van die hubs gewoon 1 of meerdere USB IC's met 1 in en 4 uit. 1 uit wordt dan weer gebruikt voor de volgende IC in. Daarom meestal 4, 7, 10, ... uitgangen.

Als je toch de investering doet, neem dan zeker 1 met externe voeding. Bij de betere heb je dan een uitgang met 1A ter beschikking om bijvoorbeeld je telefoon te laden.

[Bericht gewijzigd door buckfast_beekeeper op 1 juni 2023 09:09:29 (12%)

Van Lambiek wordt goede geuze gemaakt.

Op 1 juni 2023 08:43:58 schreef Ex-fietser:
Wel ff uitzoeken welke virtuele compoort bij welke usb poort hoort.

Inderdaad een puntje om op te letten. Onder Linux gaat iedere Arduino (o.i.d.) een nieuwe entry krijgen van de aard /dev/ttyUSB0, deze worden dynamisch toegekend op het moment van inpluggen. Dus ofwel goed onthouden in welke volgorde ze worden ingeplugd, ofwel een voor een inpluggen en telkens nota nemen.
Hoe het onder Windows gaat weet ik niet, maar het zal wel min of meer gelijkaardig zijn.

NB een USB-hub met eigen voeding is inderdaad een aanrader!

buckfast_beekeeper

Golden Member

Op 1 juni 2023 09:47:19 schreef Paulinha_B:
[...]

Hoe het onder Windows gaat weet ik niet, maar het zal wel min of meer gelijkaardig zijn.

[...]

Mijn ervaring is dat Windhoos de devices onthoudt zodat ze telkens steeds dezelfde com poort krijgen.

Van Lambiek wordt goede geuze gemaakt.
Arco

Special Member

Alleen als je steeds dezelfde USB poort gebruikt.
Als je een andere gebruikt wordt er een nieuwe virtuele compoort aangemaakt.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Mijn ervaring is dat Windhoos de devices onthoudt zodat ze telkens steeds dezelfde com poort krijgen.

Windows koppelt de comport in principe aan een specifieke USB device, gebaseerd op het USB serial-nr van het device.

Maar dat serialNr is optioneel en veel USB com-poorten hebben dat niet. Dan valt Windows terug op de USB aansluiting die gebruikt is. Voor zover ik weet heeft een CH340 geen serialNr, en een FTDI wel.

Stel ik heb een USB splitter, bijvoorbeeld zo één:

Als je een echte USB splitter zou hebben niet werken. Eigenlijk zijn dit verder gewoon 4 afzonderlijke USB poorten met als 1 nadeel dat de totale snelheid van de 4 poorten bij elkaar nooit hoger kan zijn dan de poort waarop het zit aangesloten. Maar dat is eigenlijk zelden een probleem. Ga je nu dus op 1 poort van de hub een externe HDD plaatsen en daar een kopie van trekken dan worden de 3 overige poorten op de hub een stuk trager.

Als je met snuffer software in je PC zou gaan kijken dan zie je ook dat de PC nu in totaal 5 USB poorten heeft met elk hun eigen unieke adressen.

... en met lsusb kan men zelfs de hierarchie zien. Boeiend, maar zelden echt relevant.

Op 1 juni 2023 08:28:44 schreef Rolo:
Ja, ieder board krijgt zijn eigen serial port. Als je er echt vier aan gaat hangen is een hub met eigen voeding aan te raden. Dan belast je de USB poort van je pc niet te veel en krijgt ieder board goede 5V voeding.

Goed om er over na te denken, maar bij 4 kale arduinos waar verder weinig op is aangesloten, hoeft het niet.

Een computer poort kan 500mA leveren. Officieel verdeelt de hub dat in 4* 100 voor de poorten en 100 voor zichzelf. In de praktijk zit er zelden een politie-chip tussen die voorkomt dat je 150 bij de ene gebruikt en 50 bij de andere. Dat gaat ook gewoon.

Een arduino gebruikt zeg 20mA. De USB chip weet ik niet. Maar ik verwacht minder dan 40mA per arduino. Als het daarbij blijft hoef je geen externe voeding te regelen.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
buckfast_beekeeper

Golden Member

Dat klopt volledig REW. Maar hoe lang blijven die bordjes volledig 'kaal'? Hoe snel hangen er wat sensoren en TFT schermpjes aan? De backlight van mijn 4" TFT vraagt al 160mA. Er liggen er momenteel 2 werkende voor de neus.

Als je de investering toch moet doen, kan je beter uitgaan van het belaste scenario. Voor hetzelfde geld wordt er ook een externe HD aangehangen die de 500mA voor zich opeist.

Van Lambiek wordt goede geuze gemaakt.

Op 1 juni 2023 09:47:19 schreef Paulinha_B:
[...]

Inderdaad een puntje om op te letten. Onder Linux gaat iedere Arduino (o.i.d.) een nieuwe entry krijgen van de aard /dev/ttyUSB0, deze worden dynamisch toegekend op het moment van inpluggen.

Je kan in Linux met behulp van udev rules de poorten van de hub een /dev/ttyXXXXXX geven zodat je altijd dezelfde krijgt.

Kom eens langs bij RevSpace of één van de andere spaces!

Op 1 juni 2023 20:44:41 schreef Paulinha_B:
... en met lsusb kan men zelfs de hierarchie zien. Boeiend, maar zelden echt relevant.

Ik bedoelde eigenlijk dat het geen USB splitter is zoals een 4 voudige contactdoos voor 230V, maar dat er echt iets in zit die vanuit 1 USB poort en er 4 nieuwe bijmaakt en dat het vanuit de PC gezien je er dan in totaal 5 poorten hebt die elk uniek zijn.

En doordat er dus 4 USB poorten bijkomen kan daar ook weer van alles op zoals dat ook op de originele kon, behalve dat het dan gedeelde snelheid is.

Ja, inderdaad. USB-hubs vormen een boomstructuur, en dit dingetje voegt een niveau toe. Was er overigens geen maximum aan het aantal niveaus? Een totaal van drie dacht ik, waarbij er meestal al twee zijn opgesoupeerd op het moederbord?

Arco

Special Member

Noemt men ook wel 'tiered-star topology'...
Volgens mij is alleen het totaal aantal ports begrensd. (ik dacht iets van 127)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

waarbij er meestal al twee zijn opgesoupeerd op het moederbord?

IK heb er dacht ik wel eens 5 achter elkaar gehad zonder problemen. Dus met de PC erbij gerekend 6 of 7 lagen. Er staat me wel iets bij van max 128 devices per originele USB poort. Maar of dat BV voor USB3 ook nog geld weet ik niet.
In de handleiding van je MB staat vaak wel welke poort er directs is en welke er via een HUB zijn via het MB. IK heb bv 16 USB poorten waarvan er 4 direct zijn en 3x 4 via een HUB.
Het enige waar ik soms nog meer worstel is het toetenboard dat perse USB 1.1 wil zien, maar op deze nieuwe PC ook daar geen last meer van.

Op 2 juni 2023 20:31:16 schreef Arco:
Volgens mij is alleen het totaal aantal ports begrensd. (ik dacht iets van 127)

Ja dat zou ook kunnen 1 originele poort met daarachter 127 devices dat is ook 128 toch ;). Maar er zouden eventueel ook gereserveerde adressen kunnen zijn.

[Bericht gewijzigd door benleentje op 2 juni 2023 20:42:45 (21%)