[R-Pi 1] Corriger le problème d’alimentation des ports USB

Un des gros problèmes des premiers modèles de Raspberry Pi (1-A/B) concerne l’alimentation. La carte est limitée à 1.1A au total, et surtout, les ports USB sont limités à 200mA (140 sur les révisions 1)… Ce qui est très loin de la norme USB qui oblige à 500mA par port…
Pour cette raison, un certain nombre de périphériques ne peuvent pas fonctionner correctement : caméras, cartes son, cartes wifi, disques durs…

Il existe cependant des méthodes pour palier plus ou moins à ce problème :

  • utiliser un hub USB qui dispose de sa propre alimentation, et qui pourra donc alimenter les périphériques, ainsi que le Pi.
    Inconvénient : cela rajoute un hub, qui doit être de bonne qualité, et une boucle de cable… pas idéal.
  • utiliser le même hub USB auto-alimenté, mais utiliser un des ports USB du Pi comme port d’alimentation (back-feeding, ou retour de courant en français).
    Inconvénient : même si ça a été volontairement prévu sur les rev2, un port USB ne devrait jamais être backfeedé. Sur une autre machine que le Pi, cette solution pourrait griller les ports, ou pire.
  • alimenter le Raspi directement par le connecteur GPIO. Cette méthode a toujours été ma préférée, car elle fonctionne bien, et ne necéssite pas de modification particulière.
    Inconvénient : on contourne complètement les éléments qui protègent le Pi des surtensions et court-circuits en entrée. Il faut donc être très prudent avec cette méthode.

Pour ceux que cela intéresse, voici les parties importantes du circuit du modèle B, repris de cette page :

Coté alimentation

pi_alim
On voit que l’USB est alimenté directement par l’alimentation principale, qui est limitée par le polyfuse F3 de 6v / 1.1A.
La carte consomme dans les 700mA, ce qui laisse 200mA par port USB.

Coté USB (revision 1)

pi_alim_usb
On voit que sur la révision 1, en plus de la limitation du polyfuse de l’alimentation, les ports USB sont également limités par les polyfuses F1 et F2 qui se coupent à 140mA.

La solution

La solution que j’ai testé et que je propose ici, c’est de faire en sorte que l’alimentation des ports USB contourne complètement le/les polyfuse(s). On aura donc la puissance fournie par notre prise d’alimentation disponible pour les USB, moins les 700mA consommés par le Pi. Le second avantage est de garder fonctionnelles les protections du Pi.

On va donc utiliser uniquement 2 fils et un fer à souder.

On connectera le fil (+) devant le polyfuse F3, et directement au (+) des ports USB (qu’on va ponter).

Le fil (-) sera connecté entre la sortie de la diode D17 et le (-) des USB (qui seront pontés également pour faire bonne mesure)

Voici le côté alimentation :

resize-20150530_160216

Le côté ports USB :

resize-20150530_160231Et c’est tout… Avec cette modification, vos ports USB disposeront donc de toute la puissance fournie par l’alimentation, moins les 700mA du Raspberry Pi (300mA pour le modèle A).

Une petite précaution, tout de même : le port micro-USB d’alimentation ne supportera pas 5A non plus… On ne connait pas sa résistance, mais se limiter à 500mA par port, en plus des 700mA de la carte, donne 1.7A, ce qui est généralement confortable pour ce type de connecteurs. Une alimentation de 2A semble donc la plus adaptée.

Pour vérifier, j’ai fait le test avec 2 webcams, qui n’arrivaient pas à passer la barre des 10 images / seconde. Après la modification, le Pi branché sur une alimentation de 2.1A, les caméras atteignent maintenant 30, voire 60 images / seconde.

/!\ J’ai essayé d’être le plus précis et clair possible, néanmoins je ne pourrai pas être tenu pour responsable des dommages éventuels que vous pourriez causer à votre précieux Raspberry Pi ! 😉

About Captain Stouf

Spécialiste en systèmes informatiques, Développeur matériel et logiciel, Inventeur, Maker : électronique, Systems on Chip, micro-controlleurs, Internet of Things, Modélisation / Scan / Impression 3D, Imagerie...

Laisser un commentaire