Bases · 11 min de lecture

GND, c'est quoi ? Pourquoi une masse commune est indispensable

GND et masse commune expliqués : tension de référence, alimentation externe et GND de l'Arduino, boucles de masse, masse en étoile et terre du secteur.

La réponse courte à GND, c'est quoi : c'est le point de référence à 0 volt par rapport auquel on mesure toutes les tensions du circuit. Le nom vient de l'anglais "ground" ; en français on parle surtout de masse, parfois de moins. La broche 5V de l'Arduino veut dire en réalité "5 volts par rapport au GND" ; les 2,5 V en sortie d'un capteur n'ont de sens que par rapport à une masse. La plupart des pannes mystérieuses des débutants, servos qui tremblent, capteurs qui lisent n'importe quoi, cartes qui redémarrent toutes seules, viennent en fait d'un seul fil manquant : la masse commune.

Dans cet article, j'explique avec une comparaison simple pourquoi le GND est une "référence", je montre comment relier correctement les masses avec une alimentation externe, j'explique chiffres à l'appui d'où viennent les boucles de masse et le bruit, et je t'apprends à séparer la masse des moteurs et celle des capteurs avec une masse en étoile. On verra aussi la différence entre la masse du circuit et la terre des prises, ainsi que les cas où l'on garde volontairement les masses séparées. Les bases de l'alimentation sont dans alimenter un Arduino.

Qu'est-ce que le GND ? Pourquoi mesure-t-on une tension entre deux points ?

Une tension n'est pas une propriété d'un seul point ; c'est la différence de potentiel entre deux points. Pense à la hauteur : quand tu dis qu'une table fait "80 cm de haut", tu prends le sol comme référence sans t'en rendre compte. Si la même table est au 10e étage, sa hauteur par rapport au niveau de la mer dépasse 30 mètres. En électronique, le GND est ce "sol". Quand tu poses la pointe noire du multimètre sur le GND et la rouge sur un point, tu lis la tension de ce point par rapport au GND. Place la pointe noire ailleurs et le même point affiche une tout autre valeur. Quand on dit "5 V" dans un circuit, on sous-entend donc toujours "par rapport à la masse de ce circuit".

TermeSignificationOù le voir
GND / 0VPoint de référence du circuitArduino, ESP32, Pico et tous les modules
Moins (-)Borne de retour de l'alimentation, en général reliée au GNDPiles, adaptateurs, alimentations de labo
VCC / VIN / 5V / 3V3Alimentation positive par rapport au GNDBroches d'alimentation des modules et cartes
COMBorne commune ; souvent le GND, mais sur un relais c'est le contact communRelais, boutons, appareils de mesure
AGND / DGNDMasses analogique et numérique séparées, reliées en un pointADC, audio, mesures de précision
Masse châssisMasse reliée au boîtier métalliqueAppareils sous boîtier, véhicules
Terre de protection (PE)Le fil vert-jaune de la prise, pour la sécuritéInstallation secteur 230 V

Pourquoi faut-il une masse commune ?

Quand l'Arduino envoie un signal à un servo ou à un module, il dit en réalité : "ma broche est à 5 V par rapport à mon GND". Le récepteur lit ce signal par rapport à son propre GND. Si les masses des deux appareils ne sont pas reliées, il n'y a pas de sol commun ; pour le servo, les 5 V de l'Arduino peuvent valoir 5 V, 2 V ou -3 V. Il y a aussi un problème plus fondamental : le courant circule toujours dans une boucle fermée. Le courant de signal sort de la broche de l'Arduino, traverse l'entrée du récepteur et doit revenir par le GND. Sans chemin de retour, le signal ne se forme pas correctement, ou les fils jouent les antennes et captent des parasites. En bref : si deux appareils s'envoient des signaux, leurs masses doivent être reliées.

Alimentation externe et Arduino : relier les masses

Servomoteur MG996R
Les servos puissants comme le MG996R tirent plus de 1 A en charge ; ils doivent être alimentés par une source externe de 5-6 V, pas par la broche 5V de l'Arduino.

Le cas le plus courant : un servo, un moteur ou un ruban de LED est alimenté par un adaptateur séparé, parce qu'il consomme plus que ce que l'Arduino peut fournir. Dans le bon câblage, seules les masses sont reliées, les plus restent séparés. Le courant de la charge sort ainsi de l'alimentation externe et y retourne, tandis que l'Arduino fournit seulement le signal. Le tableau montre le câblage d'un servo MG996R alimenté par un adaptateur 5 V externe ; la même logique s'applique à un MOSFET qui commande un ruban LED 12 V ou à une carte de pilotage de moteurs.

FilOù le brancherPourquoi ?
Servo rouge (+)Adaptateur externe +5 VLe courant du moteur ne traverse pas l'Arduino
Servo marron (-)GND de l'adaptateur externeChemin de retour du courant moteur
Servo orange (signal)Arduino D9Signal PWM de position
Fil de liaisonEntre le GND de l'adaptateur et le GND de l'ArduinoRéférence commune du signal
+5 V de l'adaptateur vers 5V de l'ArduinoNe pas relierLes deux sources pourraient se renvoyer du courant
C++ (Arduino IDE)
1// Harici 5 V ile servo, ortak GND / servo on an external 5 V supply, common GND
2#include <Servo.h>
3
4const int SERVO_PIN = 9;   // turuncu sinyal kablosu / orange signal wire
5Servo servo;
6
7void setup() {
8  servo.attach(SERVO_PIN);
9}
10
11void loop() {
12  for (int a = 0; a <= 180; a += 2) {   // 0 -> 180 derece / degrees
13    servo.write(a);
14    delay(15);
15  }
16  for (int a = 180; a >= 0; a -= 2) {   // 180 -> 0 derece / degrees
17    servo.write(a);
18    delay(15);
19  }
20}
Si tu oublies le fil de liaison, le servo risque fort de ne pas bouger du tout ou de trembler au hasard, car le signal PWM n'a pas de chemin de retour. L'inverse est dangereux aussi : relier les plus de deux alimentations fait que l'une envoie du courant dans l'autre, même si leurs tensions ne diffèrent que de quelques centaines de millivolts, et les régulateurs chauffent. La règle est simple : on relie les masses, on sépare les plus. Tu trouveras la consommation des servos et la bonne façon de les alimenter dans le guide du servomoteur.

Pannes réelles : "le servo ne marche pas", "le capteur délire"

SymptômeCause liée à la masseSolution
Le servo ne tourne pas ou trembleGND de l'alimentation externe non relié à l'ArduinoRelie les deux masses avec un fil court
L'Arduino redémarre quand le moteur démarreLe courant moteur revient par le GND de l'Arduino et la tension chuteRamène le GND du moteur directement à l'alimentation, masse en étoile
Le capteur analogique saute quand le moteur tourneChute de tension due au courant moteur sur un fil de masse partagéÉloigne la masse du capteur du chemin du moteur
Caractères incohérents sur la liaison sérieMasses des deux cartes non reliéesRelie le GND en plus de TX et RX
Le ruban LED ne s'allume jamais avec le MOSFETLe moins de l'alimentation 12 V n'est pas relié au GND de l'ArduinoRelie la source du MOSFET et les deux masses
La valeur change quand on toucheEntrée flottante ou masse mal serréeAjoute un pull-up/pull-down, vérifie le fil de masse

L'Arduino qui redémarre au démarrage d'un moteur est la panne la plus déroutante du tableau, car le câblage paraît "correct". Pour un diagnostic détaillé, suis aussi les étapes de l'Arduino redémarre tout seul ; sur un ESP32, le même problème se manifeste généralement par un message de brownout.

Boucles de masse et bruit : le fil de masse est aussi une résistance

Comme les schémas dessinent le GND d'un seul trait, on suppose qu'il vaut exactement 0 V partout. En réalité, les pistes de la breadboard, les fils de liaison et les soudures ont une petite résistance. La loi d'Ohm est impitoyable : U = R × I. Si le courant de retour d'un moteur de 2 A passe dans un fil de masse de 0,1 Ω au total, une différence de 0,2 V apparaît entre ses deux extrémités. Si un capteur analogique partage ce fil, son "0 V" se retrouve 0,2 V plus haut. Sur l'ADC 10 bits de l'Arduino Uno, c'est une erreur d'environ 41 points (0,2 / 5 × 1023). Si le moteur est piloté en PWM, ce décalage monte et descend des centaines de fois par seconde et tu vois les mesures sauter.

Une boucle de masse apparaît quand il existe plus d'un chemin de masse entre deux appareils. Par exemple, si l'Arduino est relié à l'ordinateur en USB et aussi, par un autre fil, à une alimentation raccordée à la terre, le courant de masse peut circuler par deux chemins, et cet anneau fermé se comporte comme une antenne qui capte les champs magnétiques voisins. Résultat : le ronflement des circuits audio ou une ondulation à 50 Hz dans les mesures. La solution n'est pas de couper le GND mais de ne laisser qu'un seul chemin et d'éviter que les forts courants partagent un fil avec les signaux sensibles.

Masse en étoile : séparer la masse des moteurs et des capteurs

Module d'alimentation pour breadboard MB102
Les modules d'alimentation comme le MB102 fournissent 5 V ou 3,3 V aux deux rails latéraux ; les GND des deux rails sont reliés sur le module, ce qui en fait un bon point étoile.

La masse en étoile consiste à faire converger tous les fils de masse vers un seul point central au lieu de les chaîner les uns aux autres. Le fort courant du moteur revient au moins de l'alimentation par son propre fil épais, tandis que les masses de l'Arduino, des capteurs et des circuits de signal rejoignent ce même point par des fils fins séparés. La chute de tension due au courant moteur reste ainsi dans le fil du moteur et ne décale pas la référence des capteurs. En pratique, procède ainsi :

  1. Choisis le moins de l'alimentation ou un bornier à vis comme point étoile.
  2. Ramène le GND du pilote de moteur (L298N, MOSFET, bobine de relais) directement à ce point avec un fil court et épais.
  3. Relie le GND de l'Arduino au même point avec un fil séparé ; ne passe pas par le GND du pilote.
  4. Relie la masse des capteurs analogiques à la broche GND de l'Arduino pour que capteur et ADC partagent la même référence.
  5. Ajoute un condensateur céramique de 100 nF aux bornes du moteur et un électrolytique de 100 à 470 µF à l'entrée d'alimentation du pilote.
  6. Fais passer les fils moteur loin des fils de signal et torsade ensemble les fils de chaque moteur.
Les pistes fines d'une breadboard ne sont pas prévues pour plus de quelques centaines de milliampères et ont une forte résistance de contact. Ne fais pas passer les courants moteur par la breadboard ; branche les fils moteur et d'alimentation sur des borniers à vis ou directement sur la carte de pilotage, et réserve la breadboard aux signaux. Tu verras pourquoi les condensateurs aident ici dans qu'est-ce qu'un condensateur.

Mesurer le bruit : un test de masse simple avec un Arduino

Au lieu de deviner la qualité de ta masse, tu peux la mesurer. Monte un diviseur de tension avec deux résistances de 10 kΩ entre 5V et GND et relie le point milieu à A0 ; ce point doit rester stable à 2,5 V. Le code ci-dessous prend 200 mesures d'affilée sur A0 et affiche l'écart entre la plus grande et la plus petite comme bruit crête à crête en millivolts. Mesure d'abord moteur arrêté, puis moteur en marche ; réorganise ensuite les fils de masse en étoile et mesure de nouveau.

C++ (Arduino IDE)
1// Basit GND gürültü ölçer / simple ground noise meter
2const int SENSOR_PIN = A0;   // ölçülen sinyal / signal under test
3const int SAMPLES = 200;     // yaklaşık 22 ms'lik örnek / about 22 ms of samples
4const float VREF = 5.0;      // Uno ADC referansı / Uno ADC reference
5
6void setup() {
7  Serial.begin(115200);
8}
9
10void loop() {
11  int minV = 1023, maxV = 0;
12  long sum = 0;
13  for (int i = 0; i < SAMPLES; i++) {
14    int v = analogRead(SENSOR_PIN);
15    if (v < minV) minV = v;
16    if (v > maxV) maxV = v;
17    sum += v;
18  }
19  float avgVolt = sum / (float)SAMPLES * VREF / 1023.0;
20  float ripplemV = (maxV - minV) * VREF / 1023.0 * 1000.0;   // tepe-tepe / peak-to-peak
21
22  Serial.print("ortalama / average: ");
23  Serial.print(avgVolt, 3);
24  Serial.print(" V   tepe-tepe / peak-to-peak: ");
25  Serial.print(ripplemV, 0);
26  Serial.println(" mV");
27  delay(500);
28}

Dans un circuit bien monté, le bruit crête à crête tourne autour de 1 à 2 points d'ADC, soit 5 à 10 mV. S'il dépasse 50 mV quand le moteur tourne, un fil partage le chemin de masse avec le moteur. 200 mV ou plus indiquent en général une masse mal serrée, un courant moteur qui passe par la breadboard ou une alimentation externe jamais reliée. Ce test simple prouve en quelques minutes que, dans la plupart des cas de "capteur qui délire", le problème ne vient pas du capteur mais de la masse.

Quand garde-t-on volontairement les masses séparées ?

La seule exception à "relie toutes les masses" est l'isolation galvanique. Un optocoupleur ou un relais transmet le signal par la lumière ou un champ magnétique et ne laisse aucune liaison électrique entre ses deux côtés. Les masses des deux côtés sont alors volontairement séparées : l'une côté Arduino, l'autre côté secteur ou moteur bruyant. Sur les modules relais avec cavalier JD-VCC, quand on retire le cavalier et qu'on alimente la bobine par une source séparée, le GND de cette source n'est pas relié à l'Arduino ; c'est tout l'intérêt de l'isolation. Pour les détails, vois qu'est-ce qu'un optocoupleur et qu'est-ce qu'un module relais. Sans isolation, deux circuits qui échangent des signaux ont besoin d'une masse commune.

La terre du secteur est-elle la même chose que la masse du circuit ?

Non. Le fil vert-jaune des prises est la terre de protection et rejoint vraiment un piquet enfoncé dans le sol. Son rôle est la sécurité des personnes : si la phase touche le boîtier métallique d'un appareil, le courant s'écoule par ce chemin et le fusible ou le disjoncteur différentiel coupe le circuit. La masse d'un circuit Arduino n'est que la référence propre à ce circuit et, dans un projet alimenté par pile ou adaptateur, elle n'a aucun lien avec la terre. Sur certains adaptateurs et ordinateurs, la masse du circuit est reliée à la terre, ce qui est d'ailleurs une cause de boucles de masse. Dans un projet amateur, n'essaie jamais de relier toi-même la masse du circuit au neutre ou à la terre du secteur.

La tension du secteur peut tuer. Dans les projets reliés au secteur par un relais ou un optocoupleur, la masse du côté basse tension n'est jamais reliée au côté secteur, et l'on garde au moins quelques millimètres de distance d'isolement entre les deux. En cas de doute, confie la partie secteur à un électricien.

Masse commune avec des modules 5 V sur ESP32 et Pico

L'ESP32 et le Raspberry Pi Pico fonctionnent en 3,3 V ; pour brancher un module 5 V, on intercale un convertisseur de niveau. Ce convertisseur a des broches GND côté bas (LV) et côté haut (HV), et il faut relier les deux : il ne peut traduire les signaux que par rapport à une référence commune. Il en va de même quand l'ESP32 est alimenté par USB et un ruban LED 12 V par un adaptateur séparé : la source du MOSFET, le moins de l'adaptateur et le GND de l'ESP32 doivent se rejoindre en un point. Le fonctionnement des convertisseurs est expliqué dans convertisseur de niveau logique.

Liste de contrôle de la masse

  • Les masses des deux appareils qui échangent des signaux sont-elles reliées ?
  • Avec des alimentations externes, seules les masses sont-elles reliées et les plus séparés ?
  • Les courants des moteurs, relais et rubans LED retournent-ils à l'alimentation sans passer par la broche GND de l'Arduino ?
  • Les capteurs analogiques sont-ils sur un chemin de masse qui ne transporte pas le courant moteur ?
  • Les fils de masse sont-ils plus épais que les fils de signal et aussi courts que possible ?
  • Là où un optocoupleur ou un relais JD-VCC isole, les deux côtés sont-ils vraiment séparés ?
  • En cas de doute, as-tu vérifié la liaison entre les points de masse au multimètre en mode continuité (bip) ?

Le GND est le fil le plus discret mais le plus important d'un circuit : bien fait, personne ne le remarque ; oublié, tout se dérègle. Si tu ne sais pas tester la continuité au multimètre, comment utiliser un multimètre te facilitera la tâche. Dans l'application BlueGrays, tu trouveras des projets qui demandent une alimentation externe, comme les servomoteurs, une voiture robot à L298N, un robot qui évite les obstacles, une lampe 230 V commandée par relais et un arrosage intelligent, chacun avec schéma et code pas à pas, pour suivre chaque liaison de masse sur le schéma.

Questions fréquentes

Qu'est-ce que le GND et à quoi sert-il ?

Le GND (ground, masse) est le point de référence à 0 volt par rapport auquel on mesure toutes les tensions d'un circuit. C'est aussi le chemin par lequel le courant retourne à l'alimentation. Quand on dit qu'une broche d'Arduino est à 5V ou 3,3V, c'est toujours par rapport au GND.

Le GND est-il la même chose que la terre ?

En électronique, le GND est la référence propre au circuit et n'est pas forcément relié à la terre. La terre de protection vert-jaune de la prise rejoint un piquet dans le sol pour la sécurité. Dans un projet Arduino sur pile ou adaptateur, le GND n'a aucun lien avec la terre du secteur.

Faut-il relier le GND d'une alimentation externe à l'Arduino ?

Oui. Si un appareil alimenté par une source externe reçoit des signaux de l'Arduino, les deux masses doivent être reliées. On ne relie que les masses ; les plus restent séparés. Sinon le signal n'a ni référence commune ni chemin de retour, et le servo tremble ou ne fonctionne pas.

Que se passe-t-il si le GND n'est pas relié ?

L'appareil récepteur ne peut pas interpréter correctement la tension : les servos bougent au hasard, la liaison série affiche des caractères incohérents et les capteurs donnent des mesures instables. Parfois le courant revient par des chemins imprévus et peut abîmer des broches.

Le moins (-) est-il la même chose que le GND ?

Dans la plupart des circuits à une seule alimentation, le moins sert de GND : c'est donc en pratique le même point. Mais avec une alimentation symétrique comme ±12 V, le GND est le point milieu et le moins est à -12 V. Le plus sûr est donc de repérer le symbole de masse sur le schéma.

Comment éviter une boucle de masse ?

Ne laisse qu'un seul chemin de masse entre deux appareils, éloigne les fils moteur à fort courant des masses des capteurs sensibles et réunis tout en un seul point étoile. Si nécessaire, isole électriquement les deux côtés avec des optocoupleurs ou des modules isolés.

Voir tous les projets
Utilisation du servomoteur
#35Débutant
Premium

Utilisation du servomoteur

Le bras d'un petit servomoteur tourne tour à tour vers trois positions : tout au début, pile au milieu et tout au bout, en attendant deux secondes à chaque arrêt. L'Arduino indique au moteur l'angle à

4.7(48)
67
Utilisation d'un servomoteur avec un potentiomètre
#36Débutant
Premium

Utilisation d'un servomoteur avec un potentiomètre

Quand tu tournes le bouton du potentiomètre, le bras du servomoteur tourne avec lui : un bout du bouton correspond à zéro degré, l'autre à un demi-tour. L'Arduino lit sans arrêt la position du bouton,

4.6(37)
53
Voiture contrôlée par Bluetooth avec L298N
#80Avancé
Premium

Voiture contrôlée par Bluetooth avec L298N

Transforme ton téléphone en télécommande et pilote ta propre voiture robot. L'Arduino reçoit, via un module Bluetooth, les ordres d'une appli de télécommande sur ton téléphone et fait tourner les roue

5.0(38)
65
Robot évitant les obstacles
#81Avancé
Premium

Robot évitant les obstacles

Que diriez-vous de construire un véhicule intelligent qui trouve son propre chemin ? Le Robot Évitant les Obstacles scrute en permanence son environnement grâce au capteur ultrasonique situé devant lu

5.0(38)
49
Ampoule 220V avec bouton poussoir (Push)
#19Avancé
Premium

Ampoule 220V avec bouton poussoir (Push)

Tant que tu appuies sur le bouton, une vraie ampoule de 220 volts reste allumée, et elle s'éteint dès que tu relâches. Le petit signal de l'Arduino ne peut pas allumer l'ampoule directement : un relai

4.4(30)
38
Station d'irrigation intelligente
#83Avancé
Premium

Station d'irrigation intelligente

Un jardinier qui arrose tes plantes tout seul pour qu'elles ne sèchent pas pendant tes vacances. Un capteur d'humidité mesure à quel point la terre est mouillée ; quand elle devient sèche, l'Arduino f

5.0(42)
57
Mesurer l'intensité lumineuse avec une LDR
#11Débutant

Mesurer l'intensité lumineuse avec une LDR

Envie de voir en chiffres à quel point ta chambre est lumineuse ? Le LDR, une petite pièce sensible à la lumière, mesure la lumière ambiante, et l'Arduino écrit la valeur sur l'écran de ton ordinateur

4.6(81)
140
Voltmètre numérique avec écran LCD
#56Intermédiaire
Premium

Voltmètre numérique avec écran LCD

Découvre quelle tension fournit une pile ou un adaptateur avec un appareil de mesure fait maison. Un diviseur de deux résistances abaisse la tension élevée à un niveau que la carte peut lire, et l'Ard

4.5(27)
36