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

Salut Eskimon,

Super tuto ! merci

Dans le cas d'un projet avec un microcontroller standalone (juste le microcontroller+ crystal, etc…) (pour consommer vraiment en minimum).

Comment alimenter le microcontroller? envoyer du 5volt sur la pin +5v avec plusieurs piles AA ? avec une diode pour réguler la tension?

Merci de ton aide

+0 -0

Il faudra faire comme il est fait sur l'Arduino, ajouter un régulateur 5V pour transformer une tension quelconque en tension propre 5V et envoyer cette dernière sur les broches d'alimentations de ton microcontrôleur (et bien sur si ce dernier est alimente a une autre tension il faut ajuster le régulateur choisi)

(pour consommer vraiment en minimum).

Dans une Arduino on a pas vraiment de grand consommateur hein. Si tu veux une consommation minimale il faudrait choisir un meilleur microcontrôleur fais pour ca (donc déjà pas un truc en 5V)

+1 -0

oui en effet je m'orientais vers un microcontroller 3.3v en 8mhz. je pense déjà être 4 fois plus économe.

ce serait pour faire un détecteur de niveau d'eau de citerne. je n ai pas envie de changer les piles tous les mois.

je la mettrai en veille quand je l'utilise pas

Et sans utiliser le régulateur ? En branchant directement sur le 5V de la carte c'est pas possible (malgré 0,5V en trop) ?

+0 -0

Alors au pire on peut ajouter des résistances pour obtenir pile 5V.

PG06

Ca non ! Tu peux faire un pont diviseur pour réduire une tension seulement si tu sais combien de courant partira dans la branche du pont (souvent 0 car on le met sur une entrée haute impédance). Si tu connais ce courant et qu'il est constant alors oui tu pourrais. Mais sinon, non tu ne peux pas (fais des calculs de pont en prenant une tension a réduire, la tension désirée et des courants différents dans ta broche centrale ;) )

+0 -0

Bonjour à tous,

J'ai trouvé un boitier d'alim avec les caractéristiques suivantes :

1
secteur 240V 50/60Hz (standard) <=> 9V 1A avec les bonnes connections

L'usb donne un maximum de 500mA, l'adaptateur 1A, donc j'ai (apparemment) 2 fois plus de puissance que lors de la connexion avec l'ordi ! J'ai bien compris ?

Merci beaucoup !

Bonsoir tout le monde Je suis tout nouveau sur Arduino et après avoir reçu mon kit de démarrage et fait quelque test avec des LEDs, j'ai voulut branché la pile 9V avec l’adaptateur sur la carte mais celle ci ne marche pas et la pile est neuve. J'ai loupé quelque chose ??? Merci de vos réponse

Bonjour à tous, Mon arduino est alimenté par une source extérieure (alim PC de récup sur entrée +5v et GND). Que se passe-t-il si je connecte mon PC par USB pour modifier mon programme. Arduino est donc alimenté par les deux sources. Est-ce un problème ?? merci de votre réponse. Claude

Bonsoir à tous, J'ai un petit soucis que j'ai du mal à comprendre. J'alimente une Arduino MEGA avec une batterie LiPo 11.1V qui est plutôt au dessus des 12V mais peu importe… L'alimentation Vin étant du coup un peu limite, j'utilise un régulateur de tension qui me la fait chuter aux alentours de 8,9V (mesurés au voltmètre). Donc l'arduino Méga est alimentée par une tension d'environ 9V et pourtant le composant ams1117 crame ! Voici le composant en question…

J'ai changé de carte en pensant à un composant défectueux mais j'arrive au même résultat… Quelqu'un aurait une idée de l'erreur commise ?

Ne serait-ce pas du à ceci ?

Intensité maxi disponible par broche E/S (5V) 40 mA (ATTENTION : 200mA cumulé pour l'ensemble des broches E/S)

Ça m'a l'air gros mais s'il y a surconsomation d'intensité en sortie de carte ?! Un peu du mal à y croire… Mon montage compte 1 écran LCD 2x16, une lecteur RFID, 1 accéléro 3 axes, 1 clavier, 2 leds blanches, 5 led RGB (PWM) et 4 inter (0-5V).

une idée ?! Merci pour vos lumières ! ;)


EDIT DU 11/02/2016 : Pour ceux que ça intéresse un sujet à été ouvert ici

+0 -0

Bonjour, je suis nouveau ici et j'ai une question: je pilote des rubans RGB neopixels WS2811 12V avec une carte arduino MEGA et j'aimerai alimenter mon arduino avec du 12V et le récupérer directement sur la carte pour alimenter les rubans puisque jusqu'à lors j'alimente les rubans indépendamment de la carte. J'ai une alim de 12V/6.67A et je voulais savoir si elle conviendra. Mes doutes se trouvent beaucoup plus au niveau de l'ampérage.

Bonjour

Est-il possible d'avoir une double alimentation, c'est à dire une alimentation externe comme décrit dans se tutoriel, et être connecté en même temps sur le pc via l'USB ? Pour info j'utilise une carte mega2560. En fait j'utilise cette carte avec une petite alim régulée 9V, et entre autre fonction utilisée, j'ai connecté un capteur de température sur une entrée analogique. En principe cela ne me sert que pour couper un circuit secondaire au cas où la température devient trop importante. Néanmoins, pour tester ce capteur, je voudrais utiliser la fonction d'affichage sur pc pour lire en continue la valeur mesurée par ce capteur' et donc utiliser le connecteur USB.

Merci!

J'ai la réponse à ma question: Oui, on peut avoir une alimentation externe ET être connecté au PC via USB en même temps. En étudiant le schéma, on apprend qu'il y a un petit circuit à Mosfet permettant celà sans risque pour le PC. J'ai testé çà fonctionne. Cdt

Erf j'ai loupé des notifs on dirait… Désolé de mon silence…

Du coup effectivement, on peut avoir deux sources d'alimentations (USB + une autre) et normalement l'Arduino comprendra.

Pour ce qui est de la limite des 12V pas de panique, vous pouvez aller au dela votre carte survivra (le régulateur chauffera juste un peu plus).

+0 -0
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