Créer un hub d'alimentation pour les USB

Salut, je test de quoi et j’avais le goût de le partager avec vous.

Comme vous le savez, les RPi 1,2,3 et Zéro ont une limitation de 1.2Amp pour les ports USB, ce qui limite l’usage, par exemple, de disque dur mécanique. C’est qu’un port USB standard fournis un maximum de 500mA, avec un RPi, faut diviser par le nombre de ports utilisé, pour 3 ont à 400mA, 4 ports utilisé, c’est 300mA, maximum théorique.

Une caméra USB ou un disque dur « laptop » mécanique (non SSD) demande un 500mA pour bien fonctionner.

Seul, une caméra marche bien, deux disque dur aussi, mais un troisième disque dur et les performances baisse rapidement. L’ajout d’une seconde caméra USB ne marche pas bien, mais c’est pas du à l’alimentation(uniquement) mais à la bande passante du hub USB. Mais ceci (la caméra) n’est pas le sujet.

La solution simple, et sécuritaire, est d’ajouter un hub USB. Mais ce genre d’appareil n’est pas parfait.

  • Les Hub à bas prix sont « fake » ou fournisse un faible ampérage avec un voltage non stable.
  • La structure est bien pour du bureau mais un problème pour un projet compact de type DIY
  • Ajouter un hub, sur un hub (car les ports des RPi sont un hub), ce n’est pas idéal

Ici, il est inutile d’utiliser par exemple deux ports USB pour alimenter un seul disque dur, car cette méthode, utilisé avec les lecteurs optique par exemple, reste limité par la sortie maximal du RPi.

L’idée est de fournir l’alimentation requise sans risquer d’endommager le RPi et sans utiliser plusieurs sources d’alimentation. Même si je connecte une alimentation de 5v 5A (25W), le « surplus » n’est pas remis aux USB par le RPi, alors il faut le fournir directement.

Il n’existe pas, selon mes recherches, de module pour faire ce que j’ai besoin; connecter le DATA au RPi, mais avoir le 5V pour le USB d’une source externe. Alors il faut le créer.

Alors voici mon premier montage de « circuit » sur un board, la qualité de mes soudures laisse a désiré MAIS, j’ai vérifier, aucun faux contact.

Alors pour éviter de charcuter mes adapteur SATA à USB, j’ai créé ce « module ». En fait c’est simple.

J’ai 4 ports femelles, ce sont les prise USB Type A Vertical. Le voltage (V-/+) sont relié à un point d’entré, pour la connexion au « power supply ». Vu que la source est identique, il sont mis en série. Leur Data (D-/+) respectif est relié a la prise USB Type A Horizontal correspondant.

Sur la carte, les prises Male sont placé de manière à pouvoir ce joindre au RPi simplement. Les ports USB Femelle sont quand à eux placé sur le côté opposé au port Ethernet, pour le laisser libre, justement.

De cette façon, le Data passe du femelle ou male pour le lien au RPi et l’alimentation est fournis directement et uniquement au port Femelle, évitant un retour d’alimentation vers le RPi non souhaité. Cette « couche » permet d’alimenter les port USB d’une source externe, sans ajouter un Hub directement, et profiter des liens direct USB du RPi.

Ceci est la théorie, alors voici les images pour visualiser la chose.

Les soudures des liens des ports Femelles à Males

Les 4 ports Males pour le RPi et les 4 ports Femelles pour les disques dur USB

Vu de « dessus » avec la prise pour l’alimentation

La connexion avec le RPi.

Vu que j’ai passé près de 3 heures à préparer et monter le module, je vais tester le tout plus tard (il et 3h30 AM quand j’écris ces lignes). Mais selon ma lecture et ChatGPT, ce module devrais marcher sans problème.

Ce projet est une réponse à mon problème cité ici; SATA avec les vieux RPi

Noter que si le module marche, je vais sécurisé les ports et les soudure par l’ajout de colle chaude, ceci rendra plus solide les encrages et les joint de connexion des fils et évitera tout faux contact future.


Je vous partage donc cette « solution » à valider car je crois que je ne suis pas le seul à avoir des soucis d’alimentation avec certains projets, et que le problème de ce genre avec les USB n’est pas limité au RPi. Dès que je test, je vous donnerais la validation, ou non, de ce concept.

Merci de partager vos commentaires, mis à part sur ma qualité des soudures. :stuck_out_tongue:

Hello,

tu n’as pas un schéma? je te suggère de ne pas brancher pour le moment

cdt

Le projet marche!

En fait, il faut apporter quelques modifications. Le projet comme présenté dans le message précédent ne prend pas en charge le Data, car le RPi doit retourner le GND du Data via le GND du USB. La solution est de relier que les GND de chaque port au GND de l’alimentation des ports.

  • Alors chaque port femelle reçoit l’alimentation depuis directement la source 5V 5A. Pour éviter des différence de tension, il vaut mieux refaire en étoile les liens que en série. Ce qui a été changé sur mon module.
  • Chaque port Femelle relie les liens Data + et - sur le port Male correspondant.
  • Chaque Ground des port USB Male ont été relié au Ground de la source d’alimentation

Voici le nouveau montage

Au démarrage de l’alimentation source, j’entend au « tic » ou « Toc » des disque dur, et un son normal de « spin » des disques, alors le problème d’alimentation semble réglé et fiable.

En effet, le « tic » ou « Toc » provenant d’un disque dur, mis à part un problème physique, est un signe de sous alimentation de ce dernier, car le moteur qui déplace la tête n’arrive pas a bouger correctement.

Après, faut valider le lien data, alors je m’installe Webmin pour valider les disques et éventuellement les gérer facilement par la suite. Voici le résultat

Great! Les 4 disques dur sont bel et bien vu et pris en charge.

Et une image de l’ensemble des connexions

Alors vous pouvez considérer cette solution comme réalisable et fiable pour alimenter des appareils en USB sans passer par le Raspberry Pi et ainsi s’assurer d’une alimentation adéquate des appareils USB.

Je sécurise mes soudures avec une colle chaude pour éviter tout faux contact future.

Voici le dessin des connexions. Noter que je fait qu’un seul port, mais le projet en compte 4.

Voici le schéma, simplifié. Je n’ai pas lu ton message avant mes tests, mais avant tout,

  • J’ai vérifier chaque soudure pour valider qu’il n’y a pas de faux contact.
  • J’ai testé les alimentations sur le V (5.10v) et le D (1.8v).
  • J’ai connecté un seul appareil et testé le data sur un OS neuf.
    Seulement après, j’ai validé ici la « solution ».
1 « J'aime »

Belle solution de contournement !!

Je suis en train de peaufiner ma ps One mini avec un pi zero et je vais essayer de faire quelque chose de similaire avec un hub USB maison et une alimentation 5V 3A qui va venir alimenter le PI et le hub USB.

J’avais peur de lier les ground de l’USB et du PI mais si ça passe alors je vais tester aussi !! Je voudrais installer un disque dur + clé wifi dans la PS ONE équipée du pi zero et avoir deux ports en façade de la playstation pour brancher des manettes.

@Jura39
J’ai de bon résultat, mais cette solution est vraiment dans l’idée d’un hub, mais il est possible de le faire sans « board » et uniquement en trafiquant les câbles USB.

Dans le cas d’un RPi Zero, le port USB est limité par le 1.2A théoriquement, perso j’ai jamais eu de problèmes en utilisant un Y, Un dongle Wifi et une clé USB arrive à marcher, mais un disque dur, sans une alimentation externe, c’est à voir.

Un disque dur mécanique exige un 500mA au démarrage est après tourne entre 150~380mA en idle/usage unique (non testé en stress). Un SSD c’est stable et demande un 250mA en pointe, tout comme la majorité des clés USB. Les caméras USB sont les gourmandes.

Dans une structure RPi model B, 4 ports USB sont déjà disponibles, c’est aussi ça un peu le ridicule, pourquoi ne pas les utiliser. Mais dans ton cas, si tu utilise que le port USB du RPi Zero sans adapteur/hat spécifique, tu dois passer par un « Y », ou un hub.

Passer par un hub, de qualité, est toujours plus fiable. (voir note à la fin)


Notes…

Si ont passe via le GPIO pour les pin 5V, le maximum qu’un RPi peut fournir, après l’usage de ce qu’il consomme, est de 2.5A, et 1A pour les RPi. Ceci peut être une manière plus simple d’aller chercher la source. Mais je n’ai pas testé.

La qualité des câbles USB limite aussi la charge, la plupart étant limité à 250mA voir 500mA, alors tenir plus est vraiment possible si ceux fournis avec l’appareil sont conçu pour. (pas pour rien qu’il vaut mieux utiliser le câble d’origine de l’appareil pour charger). Tandis que d’utiliser des câbles DIY, elle n’on pas les mêmes limitations.

Le problème sur le marché est que trop de hub sont de mauvaises qualité. J’ai commandé plusieurs modèles de hub USB, et une bonne partie avec des alimentation Externe, et je me rend compte que la qualité n’est pas au rendez-vous.

La plupart des hub alimenté à « bon prix », offre une puissance variant de 1.5A à 3A, réparti de 4 à 10 ports selon les modèles. Le problème est que l’électricité semble hautement suspect, car le chargeur est alimenté par la connexion au PC, sans être relié au mur. Après, le type de chargeur et la puissance réel fournis varie, alors il faut voir large dans la puissance maximum, et limiter le nombre de port.

La solution n’est pas que dans le prix, il faut allez aussi avec les spécifications et l’examen du hub. Mais pour le prix, déjà, je ne trouve pas que partager 4 ports alimenté au même prix qu’un RPi 3 est un bon « deal ».

Le seul hub qui donne de bonne performances (pour le prix) sont ceux de Amazon Business.

1 « J'aime »

re,

plus facile de comprendre avec le schéma :wink:

cdt

Merci pour le retour ! Je vais essayer avec ce modèle que j’ai trouvé chez nos amis communistes :

Je ne vais pas faire tourner de HDD à priori donc je pense me raccorder sur l’alim GPIO, je pense que ça va jouer.

J’espère surtout qu’il n’y aura pas de problème de driver. J’ai déjà eu le soucis sur des hat officiel de waveshare ou il faut bidouiller car les drivers ne sont plus automatiquement reconnus ou utilisé par l’OS.