Les 3 moyens d’alimenter un Arduino UNO
Description de chaque élément des 3 blocs
Circuit d'alimentation par fiche Jack (7 - 12)V
Circuit de génération de tension 3V3 5
Circuit de gestion d’alimentation entre Vin et Vusb
Circuit d’alimentation par USB +5V
Fonctionnement des différents blocs d’alimentation :
Alimentation de l’Arduino par Vin
Alimentation de l’Arduino par Jack et USB
Alimentation de l’Arduino par USB
Synoptique des 3 blocs d’alimentation
Dans cet article, on va voir en détail le fonctionnement du circuit d’alimentation interne de l’Arduino Uno et du coup voir aussi comment est construit ce circuit pour gérer 3 types d'alimentation différente en parallèle.
Les 3 moyens d’alimenter un Arduino UNO
L’arduino Uno dispose de 3 façon de l’alimenter :
Avec le port USB (+5V) qui permet aussi de communiquer via le port série ;
Avec la prise Jack qui accepte de 6 à 20V (7 à 12V recommandé) ;
Avec la broche Vin qui accepte de 6 à 20V (7 à 12V recommandé).
À présent, on va voir un aperçu général du circuit de l'Arduino Uno avec les différentes parties du circuit d’alimentation :
Vous pouvez retrouver ce circuit en plus clair sur ce lien.
Maintenant qu’on a vu à peu près de quoi ça à l’air le gros circuit chargé de l’alimentation, on va décortiquer le circuit complet et on va le diviser en 3 blocs :
bloc 1 : Circuit de génération de tension 5V à partir de fiche Jack (Vin) ;
bloc 2 : Circuit de génération de tensions 3V3 ;
bloc 3 : Circuit de gestion d’alimentation entre Vin et Vusb.
Dans la suite de cet article, on continue la description et le fonctionnement par ces 3 blocs.
Description de chaque élément des 3 blocs
Pour mieux identifier la tâche de chaque élément de chaque circuit, on va simplifier les 3 circuits on laissant uniquement les parties du circuit lié à l’alimentation.
Circuit d'alimentation par fiche Jack (7 - 12)V :
Description de chaque élément du circuit :
L’élément X1 NCP117ST50T3G ou complètement à gauche est le port femelle Jack qui devrait avoir le contact de la masse à l'extérieur alors que 5v sera au centre.
La diode D1 1N4007 est posée là pour protéger le système des tensions inverses.
U1 est un régulateur de tension LDO (Low-dropout regulators, qui signifie qu’il fonctionnent avec une différence de tension minimale) sous référence LD1117S50TR à sortie 5V.
Dans sa datasheet, on peut lire qu’il possède une chute de tension de 1.2V entre son entré et sa sortie (en anglais, s'est nommé Dropout Voltage). Ca veut dire pour qu’il fournisse 5V à sa sortie, il faudrait que Vin soit supérieur à cette tension ajouté à la chute de tension (1.2V), ce qui donne un total de 6.2V :
→ condition de fonctionnement : Vin > 6.2V
On peut lire aussi qu’il peut fournir 5 V quand la tension d’entrée est égale ou supérieur à 7 V, c’est pour ça que la tension minimale recommandé sur cette entrée et la broche Vin est de 7 V. Moins que ça, la tension d’entrée ne remplit pas la condition de fonctionnement du régulateur donc il ne va pas générer une tension à sa sortie.
Les éléments PC1, PC2 (LD117S50TR) et C2 sont des condensateurs de filtrage PC1 et PC2 de valeur de 4 uF sont des condensateurs de type polarisé alors que C2 de valeur de 100 nF est de type céramique.
Circuit de génération de tension 3V3
Ce bloc n’est pas très compliqué, il est juste composé d’un régulateur de tension LP2985.
U6 est un régulateur de tension LDO sous réference LP2985
Dans sa datasheet, on peut lire qu’il possède une chute de tension de 0.45 V entre son entré et sa sortie. Ca veut dire pour qu’il fournisse 3V3 à sa sortie, il faut que Vin soit supérieur à cette tension ajouté à la chute de tension (0.45 V), ce qui donne un total de 3.75 V :
condition de fonctionnement : Vin > 3.75 V
Circuit de gestion d’alimentation entre Vin et Vusb
Description de chaque élément du circuit :
le boîtier LM3581DGKR comprends 2 AOP de type rail-to-rail ce qui signifie que la tension de sa sortie ±Vsat est très proche de ±Vcc.
L’un est utilisé dans ce circuit comme comparateur (en régime saturation) et l’autre sur la broche D13 est utilisé en montage suiveur de tension pour permettre à la fois la lecture/écriture sur la broche et le pilotage de la LED “L” (il remplit la tâche d’adaptation d’impédance).
Rappel :
Un AOP monté en comparateur (en mode saturé et sans contre-réaction positive ou négative) sert à comparer sur son entrée inverseuse, une tension donnée Vin par rapport à une tension de référence Vref sur son entrée non-inverseuse.
Alors dans ce cas, on peut avoir 2 possibilités.
Si Ve > Vref alors Vs = +Vsat ≃ +VCC (car c’est un AOP rail-to-rail) ;
Si Ve < Vref alors Vs = -Vsat ≃ -VCC.
le MOSFET FDN340P de type P dont Vgs_th (qu’on peut écrire aussi Vt), la tension de seuil du transistor est comprise entre -0.4 à -1.5 V. Cette tension délimite par apport à la valeur de Vgs, la zone de blocage et de passage du transistor :
|Vgs| < |Vt_min| ↔️ |Vgs| < 0.4 V ⇒ le transistor est bloqué.
|Vgs| > |Vt_max| ↔️ |Vgs| > 1.5 V ⇒ le transistor est passant.
Le MOSFET possède une diode qu’on appel diode anti-parallèle qui se situe entre le drain et la source.
Sur cette diode, quand la tension Vd (son anode) est supérieure à Vs (sa cathode), la diode sera passante et donc la tension qui se trouve sur le drain peut passer pour aller sur la source.
Circuit d’alimentation par USB +5V
On peut ajouter ce circuit ou reste des circuit présenté précédemment, même si il fait pas complètement parti d’un circuit d'alimentation hormis le fusible.
On va voir ici quels sont les composants électroniques utilisés pour garantir une meilleure communication entre Arduino et l'extérieur.
Description de chaque élément :
Le composant F1 MSMF050 (carré teint en une couleur uni) est un fusible réarmable qui sert à protéger Arduino contre les court-circuit et la surintensité de courant. Si par exemple en lie directement +5 V à la masse, ce qui engendre un court-circuit, il y aura une augmentation de température sur le MSMF050 l’amenant à ouvrir immédiatement le circuit et le refermer quand la température aura chuté. [1]
*Les éléments suivants n’ont rien avoir avec le circuit d’alimentation USB, mais plutôt sur la mise en forme et filtrage des signaux de communication à travers les broches de données D+ et D- du port USB.
Les 2 résistances RN3A et RN3D RC0805JR de valeur de 22Ω et de sensibilité ∓5% qui lient les de part en part les D+ et D- sur le port USB et le 16U2 ont pour fonction l’adaptation d’impédance pour que le microcontrôleur reçoit l’information sans perte ou modification de données à cause des perturbations électromagnétiques. [1]
Les composant Z1 et Z2 qui ressemble à des résistances variables sont des varistance CG0603MLC qui sont en fait des résistance dont la valeur varie en fonction de la tension à ses bornes utilisées ici pour protéger Arduino contre les décharges électrostatique.
Ils sont conçus pour fonctionner confortablement à 5 V sans affecter aucun fonctionnement, mais dès qu’une pointe dépasse 20 V, l’effet de blocage a pour effet de diriger l’impulsion vers la terre. [1]
Le composant L1 BLM21PG221SN1D est une perle de ferrite. Les billes de ferrite résistent au bruit haute fréquence, en les filtrant du support de signal. Donc elle est utilisée pour filtrer le bruit qui peut être capté dans l’air ambiant. [1]
Le même principe est appliqué aux câbles d’un peu de tout (chargeur PC, cable HDMI…) pour les protéger contre les parasites électromagnétiques :
Fonctionnement des différents blocs d’alimentation :
Maintenant qu’on a vu la description des éléments de chaque bloc du circuit général d'alimentation de la carte ainsi que le fonctionnement de ces composants, on peut passer au fonctionnement de chaque bloc et la gestion des alimentations du circuit au complet par différentes possibilités d’alimentation.
Avant d’aller plus loin, il faut savoir qu’il y a uniquement une diode entre la prise Jack et la broche Vin, ce qui implique que la tension aux bornes de la prise jack est égale à la tension aux bornes de Vin retranché de la tension de seuil de la diode (cf. au circuit de l’Arduino Uno), d’ailleurs si vous branchez sur le port Jack une alimentation de 12 V, vous allez mesurer une tension d’amplitude ~11.3 V sur la broche Vin.
C'est pour ça que dans notre étude des différents cas, on va choisir uniquement la fiche Jack.
On va voir le fonctionnement de chaque bloc ainsi que les échanges de chaque bloc pour les 3 cas d’alimentation :
Alimentation de l’Arduino par Jack ;
Alimentation de l’Arduino par Jack et par USB ;
Alimentation de l’Arduino par USB.
Alimentation de l’Arduino par Vin :
Au moment où on met l’alimentation sur la fiche jack, supposons qu’on va prendre la tension 12 V, on va avoir une chute de tension de 0.7 V aux bornes de la diode (tension de seuil) ce qui laisse que 11.3 V sur le noeud Vin.
La condition pour que le régulateur fonctionnement est assuré, comme on l’a vu précédemment, il faudrait que Vin soit supérieur à 6.2 V pour délivrer une tension à sa sortie (Vout + chute de tension du régulateur LDO = 5 V + 1.2 V) et comme c'est le cas ici, on va avoir une tension stabilisée de +5 V à sa sortie ce qui va alimenter tout le reste des composants demandant une alimentation à cette amplitude et allumer la LED verte “ON” sur la face avant de l’Arduino.
Et comme la sortie ‘+5V’ du circuit précédent est relié à l’entrée du régulateur U6 LP2985 qui est situé sur le bloc N°3 de la partie du circuit qui délivre 3V3 comme c’est montré sur le schéma suivant, à l’entrée de cet autre régulateur, on va avoir une amplitude de 5V qui vont permettre à ce dernier de générer une tension stabilisée d’amplitude 3V3. Tout en respectant la condition de fonctionnement pour ce régulateur qui dit que Vin doit être supérieur à 3.75 V (5V > 3.75V).
Ainsi à partir de la tension 12 V envoyé sur la fiche Jack de l’Arduino, le circuit d'alimentation a produit 2 tension stabilisée +5 V et +3.3 V.
En même temps, comme on l'a vu précédemment, le nœud Vin de ce ce circuit est aussi lié à l’entrée du bloc 3 (la broche Vin) ce qui fait transmettre la tension 11.3 V à l’entrée de celui ci, c'est à dire sur le diviseur de tension des résistances RN2A et RN2D dont les valeurs sont égales (10 KΩ) qui donc la divise en 2 et donne un résultat de 4.15 V à l’entrée inverseuse du comparateur.
Le comparateur LM3581 va comparer cette tension à la tension +3V3 généré dernièrement par le régulateur LP2985, comme la tension à la sortie du diviseur de tension est supérieur à la tension de référence sur l’entrée non inverseuse du comparateur ce dernier va être saturé positivement et donc on va avoir à sa sortie une tension de +5 V qui va se mettre sur la grille du transistor.
Du fait qu'on a +5 V à la fois sur la grille et la source du MOSFET, ce dernier va être dans un état bloqué puisque Vgs=Vs - vg = 5V - 5V = 0V, en étant bloqué, le transistor va bloquer l’alimentation Vusb.
Après vu qu’on alimente l’Arduino avec la broche Vin ou avec la prise Jack (une seule d’elle à la fois !) le MOSFET sera en état bloqué, alors qu’on mette ou pas une tension sur l’USB ça ne change pas grand chose. Le transistor est l’équivalent d’un interrupteur ouvert.
Alimentation de l’Arduino par Jack et USB
Comme on l’a vu dans le dernier paragraphe, si on a utilisé la fiche Jack (Vin) alors quoi qu’il en soit pour l’utilisation de l’USB ou pas le MOSFET qui aiguille l’alimentation de l’Arduino reste bloqué. Ce qui veut dire que si on alimente à la fois notre carte Arduino par la fiche Jack et le port USB, l’Arduino va être alimenté uniquement pas la tension délivrée par la fiche Jack.
Alimentation de l’Arduino par USB
Si on branche uniquement l’alimentation par le port USB, on va avoir +5 V sur Vusb et 0 V sur Vin puisqu’il y a rien de branché sur la broche Vin donc on va avoir +5V sur le drain et 0V sur la source du MOSFET, ce qui va pousser la diode anti-parallèle du transistor à conduire (puisque Va>Vk) tout en ayant un seuil de diode de 0.7 V cela va permettre d’avoir 5V moins les 0.7 V de la diode qui fait 4.3 V sur la source du transistor et aussi à l’entrée du régulateur LP2985 qui va produire une tension 3V3 stabilisée. Cette tension sera aussi utilisée par le comparateur pour la comparaison avec Vin/2.
Comme Vin est nul, l’entrée non-inverseuse du comparateur sera aussi nulle. Sur le comparateur, on a Vin/2 inférieur à 3V3 ce qui le sature négativement et renvoie donc un 0 V à sa sortie, donc sur la grille du MOSFET.
Jusqu’à maintenant le transistor est resté bloqué, maintenant qu’on a une tension nulle sur sa grille et 4.3 V sur sa source, on va avoir une tension Vgs de -4.3 V dont la valeur absolue est supérieure à la valeur absolu de la tension de seuil maximale du MOSFET (1.5 V) :
|Vgs| > |Vt_max|
⇔4.3V > 1.5V
Avec cette condition assuré, le MOSFET est à présent saturé, il est équivalent à un interrupteur fermé.
La tension présente sur l’USB (+5 V) va traverser le transistor vers la source afin de pouvoir alimenter tout le circuit en 5 V et remplacer l’ancienne tension d’alimentation 4.3 V.
Récapitulation & remarques
Comme on a pu le voir, les différents blocs s’interchange entre eux différentes tensions d’entrée ou d’alimentation. Voici un schéma synoptique qui va résumer tous ces échanges des différentes valeurs de tension entre les 3 blocs.
Synoptique des 3 blocs d’alimentation
On peut se demander pourquoi est ce que Vin est relié à la fois sur le circuit d’alimentation de la fiche Jack et le circuit de gestion d’alimentation ?
La réponse est simple, quand on relie une alimentation (7 à 12 V) que ça soit sur la fiche Jack ou la broche Vin, on va avoir à la fois le bloc 1 qui va générer une tension stabilisée +5V et le bloc 3 qui va à la fois récupérer cette tension pour la fournir au bloc 3 qui lui va générer la tension +3.3V et aiguiller quelle source de tension (Vin ou Vusb) va alimenter le circuit d’Arduino.
Autre moyen d’alimenter la Uno à part les 3 autres vues précédemment ?
Il est possible aussi d’alimenter l’Arduino Uno et Nano aussi par la broche ‘+5V’ mais on faisant bien attention que l'alimentation fournit est bien d’amplitude +5V et que soit bien stabilisé car par exemple la tension maximale d’alimentation du microcontrôleur ATMega328 est de 5.5V au-delà de cette tension, le microcontrôleur risque de cramer !
Il faut aussi faire attention à ne pas brancher l’alimentation par fiche Jack en même temps, alors qu’on peut brancher l’alimentation USB puisqu’il y a le MOSFET qui va éviter de court-circuiter les 2 tensions.
Sources :
[1] https://rheingoldheavy.com/arduino-from-scratch-part-7-arduino-usb-connection/
https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
Aucun commentaire:
Enregistrer un commentaire