Licence CC BY

Alimenter une Arduino sans USB

Vous vous êtes peut-être déjà demandé comment faire pour devenir indépendant de votre ordinateur en terme d’alimentation afin de pouvoir utiliser votre super programme partout ? Eh bien voici quelques solutions qui peuvent être appliquées !

Principe et pré-requis

La carte Arduino possède un régulateur de tension pour fournir le 5V nécessaire au microcontrôleur lorsque celui-ci est alimenté via une source externe. Ce dernier est capable de transformer une source de tension continue "élevée" (dans notre cas supérieur à 5V) en tension plus faible et régulée à 5V. Attention, tout n’est cependant pas possible, il y a des limites à respecter dont nous allons parler plus tard pour ne pas tout griller.

Le régulateur est capable de fournir au maximum 1 ampère en sortie. Souvent, lorsque l’on début ou que l’on prototype, on se contente de faire des montages et de les laisser connecté à l’ordinateur. La carte est donc directement alimentée via l’USB en 5V (limité au meilleur des cas à un maximum de 500mA). Mais s’en est assez ! Nous voulons plus d’indépendance pour pouvoir emmener nos montages partout ! Il existe pour cela plusieurs solutions que l’on peut ranger en deux catégories : Celles qui nous fournissent du 5V directement et celles qui nous fournissent une tension plus élevée…

Alimenter la carte Arduino avec une source de tension 5V

Les sources de 5V sont monnaie courante de nos jours. On en retrouve par exemple énormément avec tous les appareils mobiles qui demande une alimentation USB pour être rechargé (chargeur de portable, "power pack" pour faire une batterie d’appoint…). Une fois que vous possédez cette dernière, il ne reste plus qu’à la relier à l’Arduino. Pour cela, on va passer au-delà du régulateur et amener directement la tension sur la borne "+5V" (et bien sûr sur le GND). Il est aussi possible d’adapter un câble USB pour amener cette tension sur le connecteur USB (et ainsi limiter les erreurs possibles de branchement). C’est la solution la plus simple.

S’alimenter avec autre chose

Si nous n’avons pas à disposition une source de tension 5V, il va falloir passer par le régulateur intégré à la carte pour l’obtenir. Comme le précise la documentation officielle, une tension de 7 à 12V est recommandée et les limites acceptées sont entre 6 et 20V. À 6V la carte risque de mal fonctionner (reset intempestif) et à 20V le régulateur va beaucoup chauffer et risque de mourir prématurément.

Pour amener notre tension externe, nous avons deux solutions :

  • La première est d’utiliser la fiche ronde et noire, qui se situe près de l’entrée USB. Cette fiche, que l’on appelle un connecteur jack femelle, fait 2.1mm de diamètre et possède deux connecteurs. L’un est une sorte de "pointe" qui est au milieu. Ce sera le pôle positif. L’autre est plaqué contre le bord intérieur du connecteur et fera connexion avec la masse.

Ce connecteur se dessine par le symbole électronique suivant :

Symbole du centre positif
  • L’autre solution consiste à amener directement nos fils sur les broches Vin et Gnd. Je ne recommande cependant pas cette méthode qui augmente les risques d’erreurs de manipulation et donc de court-circuit (qui se résulteront par la mort du régulateur voire plus).

Maintenant que les présentations sont faites, il ne reste plus qu’à relier une source d’énergie et l’Arduino ensemble :) .

Solutions

Avec une pile 9V

Lorsqu’on réfléchit à retirer la laisse USB de notre carte Arduino, l’une des premières idées est surement d’utiliser une pile 9V. En effet, cette dernière comporte plusieurs avantages :

  • On en trouve facilement
  • Encombrante mais pas trop
  • Coût raisonnable
  • Sa tension est pile dans l’intervalle recommandé de [7V - 12V]

Maintenant, le plus dur reste à faire : relier la pile et la carte Arduino. Problème, la pile possède deux plots bizarroïdes et l’Arduino a le fameux jack femelle. Pour pouvoir les relier il va donc falloir bricoler un peu. Du côté de la pile, on utilisera le connecteur suivant (récupérable sur pas mal de vieux jouets) :

Un support de pile 9V

Du coté Arduino, nous l’avons vu plus tôt, il faudra un connecteur jack mâle. En les reliant ensemble (avec un domino, de la soudure, breadboard…) tout en respectant les couleurs vous aurez enfin la joie de pouvoir libérer votre Arduino du joug terrible de l’ordinateur et son câble USB :P !

Il existe aussi des versions toutes faites de ce câble chez certains [web]marchands sous la forme suivante :

Support de pile relié au jack d’alimentation Arduino

Avec plusieurs piles 1.5V

Comme nous l’avons vue un peu plus tôt, le régulateur 5V de l’Arduino exige au grand minimum 6V pour fonctionner. En utilisant des piles rondes de type AAA ou AA, on pourrait en mettre plusieurs en série (4 par exemple) pour obtenir les fameux 6V. Génial non ? Eh bien pas tant que ça. En effet, il y a un souci. Le 6V est le minimum vital pour le régulateur. Autrement, dit si la tension fluctue un peu il risque de ne pas pouvoir faire son travail correctement et le microcontrôleur va faire des resets n’importe quand. De plus, lorsque les piles sont neuves cela peut aller, mais dès qu’elles vont être un peu utilisées, la tension à leurs bornes ne sera plus réellement 1.5V mais légèrement inférieure, ce qui risque d’augmenter le problème mentionné ci-dessus. Une solution : utiliser une cinquième pile pour porter le total à 7.5V. Ainsi, même quand les piles commencent à se décharger il reste un peu de marge pour que le régulateur fasse correctement son travail. Si vous voulez jouer la prudence, vous pouvez carrément en rajouter une sixième ! :P Comme pour la pile 9V, il va falloir bricoler pour pouvoir relier un support de pile de ce type au jack rond de l’Arduino (encore une fois : attention aux polarités !) :

Support de pile AA

Avec une alimentation (presque) quelconque

Il y a quelques temps, j’avais un disque dur externe. Malheureusement, une mésaventure se terminant par une chute en fonctionnement lui a fait rendre l’âme :( . Je me suis donc retrouvé avec un câble USB type B (bien utile avec l’Arduino) et une alimentation inutile. Inutile ? pas tant que ça ! Il s’avère (coup de chance) que l’extrémité du câble de l’alimentation rentre parfaitement dans la prise femelle du jack d’alimentation de l’Arduino. Un rapide coup d’oeil sur le bloc d’alimentation secteur me donne les caractéristiques qui m’intéressent :

  • Entrée : 100 - 240V alternatif 50-60 Hz (plutôt standard)
  • Sortie : 12 V, 1.5 A continu. BINGO !

Me voilà avec une alimentation prête pour une nouvelle vie ! Un rapide coup d’œil sur le boitier pour m’assurer que le positif est bien au centre du jack (symbole ci-dessous) et c’est terminé !

Symbole du centre positif
Le chargeur recyclé

Ce chargeur, capable de débiter 1.5A sous 12V, serait même capable de fournir assez d’énergie pour alimenter un petit moteur via un shield moteur en reprenant directement les 12V sur la broche Vin par exemple1.

D’autres solutions ?

Les idées proposées ci-dessus ne sont pas les seuls. Vous en avez peut-être d’autres qui pourraient-être utilisées. En fait, n’importe quelle source d’énergie est viable, rappelez-vous juste qu’elle doit être en mesure de fournir plus de 7V continu et dans la mesure du possible moins de 12V (mais si ça fait 15V ce n’est pas dramatique non plus, le régulateur chauffera juste un peu plus). Parmi quelques idées en vrac on pourrait trouver :

  • Une batterie de voiture (environ 12V)
  • La prise allume-cigare de la voiture (11 à 13V selon que la voiture est à l’arrêt ou en marche)
  • Des panneaux solaires ?
  • Une dynamo ? (avec un pont de diode et un condensateur pour filtrer)
  • Soyez créatif ! (et n’hésitez pas à venir en parler en commentaire pour faire part de vos idées et expériences :) )

  1. Attention, la broche est tout de même limitée à un ampère nominal car protégée par une diode pouvant laisser passer 1A dans des conditions normales de fonctionnement. 


86 commentaires

Bonjour, Je ne comprends pas pourquoi alimenter la carte via l'USB d'un PC (5V, 500mA max) ou d'une alimentation de type chargeur de smartphone (5V, 1A) sont conseillés alors que le tuto dit que la tension doit être comprise entre 7V et 12V. Un truc m'échappe ! Merci de m'éclairer

Bonjour, Je ne comprends pas pourquoi alimenter la carte via l'USB d'un PC (5V, 500mA max) ou d'une alimentation de type chargeur de smartphone (5V, 1A) sont conseillés alors que le tuto dit que la tension doit être comprise entre 7V et 12V. Un truc m'échappe ! Merci de m'éclairer

WalterSiracusa

Je te propose de relire le passage "Alimenter la carte Arduino avec une source de tension 5V", dans ce cas il s'agit d'alimenter la carte " comme si on était branché au PC" et donc derrière le régulateur 5v directement

+0 -0

Salut :)

Je rebondi sur cette phrase du tuto :ninja:

Ce chargeur, capable de débiter 1.5A sous 12V, serait même capable de fournir assez d’énergie pour alimenter un shield moteur en reprenant directement les 12V sur la broche Vin par exemple

Je me suis posé la question de l’intensité max délivrable par cette broche Vin. Une petite recherche m’a amenée à trouver une discussion du forum Arduino indiquant qu’elle était limitée par la diode D1 protégeant la carte contre les tensions inverses. Cette diode de référence M7 (l’alim externe est en haut à droite sur le schéma) a une intensité moyenne maxi de 1A.

Ca ne serait-il pas à ajouter au tuto ?

Bonjour

Ce tutoriel était très clair, bien que je n’ai pas entièrement compris la première partie. La mention "USB" fait-elle référence au port USB de type A de l’ordinateur ou au port USB de type B de l’arduino ? Bref, je souhaite juste savoir s’il est possible d’alimenter l’arduino par son port USB B avec ce type de câble et un adaptateur secteur : http://www.conrad.fr/ce/fr/product/678048/Cble-de-raccordement-Digitus-1x-USB-20-mle-type-A-1x-USB-20-mle-type-B-050-m?ref=searchDetail Puissance maximale : 2.5 W @ 5 V / 0.5 A Merci d’avance ^^

Super tutoriel, simple à lire, ect Maintenant j’ai une question (j’adore ce site, le post date d’il y a plus de 2 ans et l’auteur répond encore aux questions): Je suis sur un projet de "Controleur de débit de douche", en gros je vais avoir une turbine avec un génératrice (tension de sortie : 12V) et je vais devoir alimenter l’Arduino avec cette génératrice. Je ne sais pas du tout comment faire, merci de votre aide Je peux envoyer des photos si besoin

Bonjour ou bonsoir, tout d’abord merci pour ce tuto qui m’a permis d’obtenir en partie ce que je voulais. Je rencontre un problème sur mon projet personnel : j’ai alimenté une carte arduino avec une batterie CP1270 (12V-7Ah). Jusque la tout va bien mais j’aimerais relever la tension à ses bornes (afin de déterminer le pourcentage de charge restante et pouvoir être prévenu en cas de charge critique). j’ai pensé a un analogRead() sur la broche Vin et d’utiliser un convertisseur A/N (analogique/numérique) afin d’obtenir ma tension et de la comparer au datasheet de ma batterie. Si vous avez des détails sur les manipulations a faire ou même des suggestions, je suis preneur. Merci de m’avoir lu jusqu’au bout ;)

+0 -0

Salut Eskimon, Désolé, je n’avais pas vu ta réponse, merci pour l’info ;) Si je veux utiliser une pile lithium 3.3 à 4V, penses tu que ce sera assez ? Et faudra-t-il alors que j’achète un module adapté ou tout module est compatible avec la NANO ? Je ne sais pas si mes questions sont censées, étant novice en la matière, ce sont les questions qui m’apparaissent évidentes. Bonne journée à toi et merci pour ton super travail ! Camille

Salut Eskimon, Désolé, je n’avais pas vu ta réponse, merci pour l’info ;) Si je veux utiliser une pile lithium 3.3 à 4V, penses tu que ce sera assez ? Et faudra-t-il alors que j’achète un module adapté ou tout module est compatible avec la NANO ? Je ne sais pas si mes questions sont censées, étant novice en la matière, ce sont les questions qui m’apparaissent évidentes. Bonne journée à toi et merci pour ton super travail ! Camille

CamilleBousquié

Vu qu’il faut soit une source 5V, soit une source > 6V, ta pile ne sera pas suffisante

+0 -0

Bon ben je pense qu’on va partir sur une pile 9V hein :) Merci Mattis25 de ton intervention mais d’une le temps de livraison est trop élevé et de deux un truc que je ne comprend pas mais qui n’est peut être pas un problème : je connecte le module par USB à mon Arduino ? Parce que si c’est comme cela que ça fonctionne, je vais mettre un peu plus pour l’avoir plus rapidement

Bonjour,

Excellents tuto. Le novice que je suis en profite pour remercier Eskimon pour son indéfectible partage sur le net, pédagogue, toujours clair, exhaustif, avec juste la petite pointe d’humour qui va bien ;)

Ma question porte sur le Gnd.

Dans la mesure ou l’on alimente un Arduino en 12V, une partie du courant étant utilisée pour alimenter des équipements 12V. Le Gnd du 12V peut-il (doit-il) être connecté au Gnd de l’Arduino dans lequel circule du 5V ? Ou bien est-il préférable d’avoir des circuits biens distincts ?

Merci.

+0 -0

Bonjour,

Autre interrogation. Mon montage (Arduino 5V plus des relais 12V) sera dans un boitier et je souhaite ne conserver qu’un seul jack d’alimentation en 12V. La dérivation vers les équipements 12V sera alors piquée sur les soudures du jack.

Je sais que l’Arduino peut réguler à partir de 12V, c’est la solution simple dans mon cas. Mais après les lectures sur les risques d’échauffement je souhaiterais ne lui envoyer que du 9V. Je compte donc partir de ce jack et abaisser la tension à 9V pour alimenter le pin Vin de l’Arduino.

Et là, plane un gros doute. Je ne sais pas si l’Arduino est en mesure d’accepter deux alimentations différentes simultanées. Et si oui, laquelle privilégiera-t-il : Vin ou Jack ? Ou bien faut-il impérativement qu’il n’y ait rien au jack si on veut alimenter au Vin ?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte