Fundamentos · 11 min de leitura

O que é GND? Por que servos e sensores precisam de um GND comum

O que é GND e por que um GND comum é essencial? Tensão de referência, conexão de uma fonte externa ao GND do Arduino, loops de terra, aterramento em estrela e terra da rede elétrica.

A resposta curta para o que é GND: é o ponto de referência de 0 volt em relação ao qual todas as tensões do circuito são medidas. O nome vem de “ground” (terra), e você também o verá chamado de comum, chassi ou simplesmente lado negativo. O pino 5V do Arduino significa, na verdade, “5 volts em relação ao GND”; a saída de 2,5 V de um sensor também só faz sentido em relação a um GND. A maioria das falhas misteriosas que iniciantes encontram, como servos tremendo, sensores com leituras sem sentido e placas que reiniciam sozinhas, vem, na verdade, de um único fio ausente: o GND comum.

Neste artigo, vou explicar com uma analogia simples por que GND é uma “referência”, mostrar como unir os GNDs corretamente ao usar uma fonte de alimentação externa, explicar com números de onde vêm os loops de terra e o ruído e ensinar você a separar os GNDs de motores e sensores com aterramento em estrela. Também veremos a diferença entre o GND do circuito e o terra das tomadas e os casos em que os GNDs são deliberadamente mantidos separados. Você encontra os fundamentos da alimentação de placas em Alimentação do Arduino.

O que é GND? Por que a tensão é medida entre dois pontos?

A tensão não é uma propriedade de um único ponto; ela é a diferença de potencial entre dois pontos. Pense nela como a altura: quando você diz que uma mesa tem “80 cm de altura”, está usando o chão como referência sem perceber. Se a mesma mesa estiver no 10º andar de um prédio, sua altura em relação ao nível do mar será superior a 30 metros. Na eletrônica, GND é esse “chão”. Quando você encosta a ponta de prova preta do multímetro no GND e a vermelha em um ponto, lê a tensão desse ponto em relação ao GND. Coloque a ponta preta em outro lugar e o mesmo ponto mostrará um valor completamente diferente. Portanto, quando dizemos “5 V” em um circuito, sempre queremos dizer, implicitamente, “em relação ao GND deste circuito”.

TermoSignificadoOnde aparece
GND / 0VPonto de referência do circuitoArduino, ESP32, Pico e todos os módulos
Negativo (-)Terminal de retorno da fonte, normalmente ligado ao GNDBaterias, fontes externas, fontes de bancada
VCC / VIN / 5V / 3V3Alimentação positiva em relação ao GNDPinos de alimentação de módulos e placas
COMTerminal comum; geralmente GND, mas em relés é o contato comum da chaveRelés, botões, instrumentos de medição
AGND / DGNDGNDs analógico e digital separados, unidos em um único pontoADCs, circuitos de áudio e de medição de precisão
ChassiTerra conectado a uma carcaça metálicaEquipamentos com carcaça, veículos
Terra de proteção (PE)Fio verde-amarelo da tomada, usado para segurançaFiação da rede elétrica

Por que você precisa de um GND comum?

Quando o Arduino envia um sinal para um servo ou módulo, está dizendo, na verdade, “meu pino está a 5 V em relação ao meu GND”. O receptor lê esse sinal em relação ao próprio GND. Se os GNDs dos dois dispositivos não estiverem conectados, não haverá um chão compartilhado entre eles; para o servo, os 5 V do Arduino podem ser 5 V, 2 V ou -3 V. Há também um problema mais básico: a corrente sempre circula em um caminho fechado. A corrente do sinal sai do pino do Arduino, passa pela entrada do receptor e precisa retornar pelo GND. Sem um caminho de retorno, o sinal nunca se forma corretamente, ou os fios funcionam como antenas e captam interferência. Em resumo: se dois dispositivos trocam sinais, seus GNDs precisam estar conectados.

Fonte de alimentação externa e Arduino: unindo os GNDs

Servo motor MG996R
Servos potentes como o MG996R consomem mais de 1 A sob carga; devem ser alimentados por uma fonte externa de 5-6 V, e não pelo pino 5V do Arduino.

O cenário mais comum: um servo, motor ou fita de LEDs é alimentado por uma fonte separada porque consome mais corrente do que o Arduino pode fornecer. Na ligação correta, somente os GNDs são unidos, e os fios positivos permanecem separados. Assim, a corrente da carga vem da fonte externa e retorna a ela, enquanto o Arduino fornece apenas o sinal. A tabela abaixo mostra a ligação de um servo MG996R alimentado por uma fonte externa de 5 V; a mesma lógica vale para um MOSFET que aciona uma fita de LEDs de 12 V ou para uma placa de driver de motor.

FioOnde conectarPor quê?
Vermelho do servo (+)+5 V da fonte externaImpede que a corrente do motor passe pelo Arduino
Marrom do servo (-)GND da fonte externaCaminho de retorno da corrente do motor
Laranja do servo (sinal)D9 do ArduinoSinal PWM de posição
JumperEntre o GND da fonte e o GND do ArduinoReferência compartilhada para o sinal
+5 V da fonte ao 5V do ArduinoNão conectarAs duas fontes poderiam injetar corrente uma na outra
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}
Se você esquecer o jumper, o mais provável é que o servo não se mova ou dê trancos aleatórios, porque o sinal PWM não tem caminho de retorno. O contrário também é perigoso: unir os fios positivos de duas fontes faz uma injetar corrente na outra, mesmo que suas tensões difiram apenas algumas centenas de milivolts, e os reguladores esquentam. A regra é simples: GNDs unidos, positivos separados. Você encontra detalhes sobre os requisitos de corrente e a alimentação correta de servos no guia de servo motor.

Falhas na prática: “o servo não funciona”, “o sensor dá leituras sem sentido”

SintomaCausa relacionada ao GNDSolução
O servo não gira ou tremeGND da fonte externa não conectado ao ArduinoUna os dois GNDs com um fio curto
O Arduino reinicia quando o motor parteA corrente do motor retorna pelo GND do Arduino e a tensão caiLeve o GND do motor diretamente à fonte e use aterramento em estrela
A leitura do sensor analógico varia bruscamente quando o motor funcionaQueda de tensão causada pela corrente do motor em um fio GND compartilhadoMantenha o GND do sensor fora do caminho da corrente do motor
Caracteres estranhos na comunicação serialOs GNDs das duas placas não estão conectadosConecte GND junto com TX e RX
A fita de LEDs nunca acende com um MOSFETO negativo da fonte de 12 V não está ligado ao GND do ArduinoUna o source do MOSFET e os dois GNDs
A leitura muda quando você toca no circuitoEntrada flutuante ou conexão de GND frouxaAdicione um resistor de pull-up/pull-down e verifique o fio GND

O Arduino reiniciar quando um motor parte é a falha mais confusa desta tabela, porque a ligação parece “certa”. Para um diagnóstico detalhado, você também pode seguir os passos de Arduino reiniciando sozinho; no ESP32, o mesmo problema geralmente aparece como uma mensagem de brownout.

Loops de terra e ruído: o fio GND também é um resistor

Como os esquemas representam GND como uma única linha, supomos que ele esteja exatamente em 0 V em todos os pontos. Na realidade, as trilhas da protoboard, os jumpers e as juntas de solda têm alguma resistência. A lei de Ohm não perdoa aqui: V = I × R. Se a corrente de retorno de um motor de 2 A passar por um fio GND com resistência total de 0,1 Ω, haverá uma diferença de 0,2 V entre as duas extremidades desse fio. Se um sensor analógico compartilhar esse fio, o “0 V” do sensor ficará 0,2 V mais alto. No ADC de 10 bits do Arduino Uno, isso representa um erro de cerca de 41 contagens (0,2 / 5 × 1023). Se o motor for acionado por PWM, o offset oscilará centenas de vezes por segundo, e você verá as leituras variarem bruscamente.

Um loop de terra aparece quando há mais de um caminho de GND entre dois dispositivos. Por exemplo, se o Arduino estiver conectado a um computador por USB e também a uma fonte aterrada por um fio separado, a corrente de terra poderá circular por dois caminhos diferentes, e esse anel fechado funcionará como uma antena, captando campos magnéticos próximos. O resultado é o zumbido que você ouve em circuitos de áudio ou uma ondulação de 50 ou 60 Hz nas medições. A solução não é cortar o GND, mas manter um único caminho e impedir que correntes altas compartilhem um fio com sinais sensíveis.

Aterramento em estrela: separando os GNDs de motores e sensores

Módulo de alimentação para protoboard MB102
Módulos de alimentação para protoboard como o MB102 fornecem 5 V ou 3,3 V às duas trilhas laterais; ambas compartilham o GND no módulo, que é um bom ponto de estrela.

Aterramento em estrela significa que todos os fios GND se encontram em um único ponto central, em vez de serem ligados em cadeia. A corrente alta do motor retorna ao terminal negativo da fonte por um fio grosso próprio, enquanto os GNDs do Arduino, dos sensores e dos circuitos de sinal chegam ao mesmo ponto central por fios finos separados. Assim, a queda de tensão causada pela corrente do motor fica no fio do motor e não desloca a referência dos sensores. Na prática, siga estes passos:

  1. Escolha o terminal negativo da fonte ou um borne com parafuso como ponto de estrela.
  2. Leve o GND do driver de motor (L298N, MOSFET, bobina do relé) diretamente a esse ponto com um fio curto e grosso.
  3. Conecte o GND do Arduino ao mesmo ponto com um fio separado; não o conecte passando pelo GND do driver de motor.
  4. Conecte os GNDs dos sensores analógicos ao pino GND do Arduino para que o sensor e o ADC compartilhem a mesma referência.
  5. Adicione um capacitor cerâmico de 100 nF entre os terminais do motor e um eletrolítico de 100-470 µF na entrada de alimentação do driver.
  6. Mantenha os fios dos motores e dos sinais o mais separados possível e torça entre si os fios de cada motor.
As trilhas finas de uma protoboard não foram projetadas para mais de algumas centenas de miliampères e têm alta resistência de contato. Não faça a corrente dos motores passar pela protoboard; conecte os fios dos motores e da alimentação a bornes com parafuso ou diretamente à placa do driver e use a protoboard apenas para sinais. Entenda por que os capacitores ajudam aqui em O que é um capacitor?.

Medindo o ruído: um teste simples de GND com Arduino

Em vez de tentar adivinhar a qualidade do seu aterramento, você pode medi-la. Monte um divisor de tensão com dois resistores de 10 kΩ entre 5V e GND e conecte o ponto central a A0; esse ponto deve ficar estável em 2,5 V. O código abaixo faz 200 leituras seguidas de A0 e exibe a diferença entre a maior e a menor como ruído pico a pico, em milivolts. Meça primeiro com o motor desligado, depois com ele funcionando; em seguida, reorganize os fios GND em estrela e meça novamente.

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}

Em um circuito bem montado, o ruído pico a pico fica em torno de 1-2 contagens do ADC, ou 5-10 mV. Se ultrapassar 50 mV quando o motor funcionar, algum fio estará compartilhando o caminho de GND com o motor. Valores de 200 mV ou mais geralmente indicam uma conexão de GND frouxa, corrente do motor passando pela protoboard ou uma fonte externa cujo GND nunca foi conectado. Esse teste simples comprova em poucos minutos que, na maioria dos casos de “o sensor dá leituras sem sentido”, o problema está no aterramento, e não no sensor.

Quando os GNDs são mantidos separados de propósito?

A única exceção à regra “una todos os GNDs” é a isolação. Um optoacoplador ou relé transmite o sinal por luz ou campo magnético e não deixa conexão elétrica entre seus dois lados. Nesse caso, os GNDs dos dois lados são mantidos separados de propósito: um é o lado do Arduino, o outro é o lado da rede elétrica ou do motor ruidoso. Em módulos de relé com jumper JD-VCC, quando o jumper é removido e a bobina recebe alimentação de uma fonte separada, o GND dessa fonte não é conectado ao Arduino; esse é todo o propósito da isolação. Para mais detalhes, veja O que é um optoacoplador? e O que é um módulo relé?. Sem isolação, quaisquer dois circuitos que troquem sinais precisam de um GND comum.

O terra da rede elétrica é a mesma coisa que o GND do circuito?

Não. O fio verde-amarelo das tomadas é o terra de proteção e realmente se conecta a um eletrodo enterrado no solo. Sua função é a segurança: se o fio fase encostar na carcaça de um aparelho com carcaça metálica, a corrente flui por esse caminho, e o fusível ou dispositivo DR interrompe o circuito. Já o GND de um circuito com Arduino é apenas a referência do próprio circuito e, em um projeto alimentado por bateria ou fonte externa, não tem nenhuma conexão com a terra. Em algumas fontes e computadores, o GND do circuito pode estar ligado ao terra de proteção, o que é uma das causas dos loops de terra. Em projetos de hobby, nunca tente conectar por conta própria o GND do circuito ao neutro ou ao fio terra da rede elétrica.

A tensão da rede elétrica pode matar. Em projetos conectados à rede elétrica por um relé ou optoacoplador, o GND do lado de baixa tensão nunca é unido ao lado da rede elétrica, e deve haver pelo menos alguns milímetros de distância de isolação entre os dois. Se não tiver certeza, deixe a parte da rede elétrica para um eletricista.

GND comum com módulos de 5 V no ESP32 e no Pico

O ESP32 e o Raspberry Pi Pico funcionam com 3,3 V; ao conectar um módulo de 5 V, você coloca um conversor de nível lógico entre eles. O conversor tem pinos GND nos lados de baixa tensão (LV) e alta tensão (HV), e ambos precisam estar conectados; ele só consegue converter os sinais dos dois lados em relação a uma referência compartilhada. O mesmo vale quando o ESP32 é alimentado por USB e uma fita de LEDs de 12 V por uma fonte separada: o source do MOSFET, o negativo da fonte e o GND do ESP32 precisam se encontrar em um único ponto. Você encontra o funcionamento desses conversores em conversor de nível lógico.

Checklist de GND

  • Os GNDs dos dois dispositivos que trocam sinais estão conectados?
  • Com fontes externas, apenas os GNDs estão unidos e os positivos permanecem separados?
  • As correntes do motor, do relé e da fita de LEDs retornam à fonte sem passar pelo pino GND do Arduino?
  • Os sensores analógicos estão conectados a um caminho de GND que não conduz corrente do motor?
  • Os fios GND são mais grossos que os fios de sinal e tão curtos quanto possível?
  • Onde um optoacoplador ou um relé com JD-VCC é usado para isolação, os dois lados estão realmente separados?
  • Em caso de dúvida, você verificou a conexão entre os pontos GND com o multímetro no modo de continuidade (bipe)?

GND é o fio mais discreto, mas mais importante, de um circuito: quando está bem conectado, ninguém percebe; quando é esquecido, tudo falha. Se você não sabe testar continuidade com um multímetro, Como usar um multímetro vai ajudar. No app BlueGrays, você encontra projetos que precisam de uma fonte de alimentação externa, como servo motores, um carrinho robô com L298N, um robô que desvia de obstáculos, uma lâmpada de 230 V com relé e irrigação inteligente, todos com esquemas do circuito e código passo a passo, para que você possa acompanhar cada conexão de GND no esquema.

Perguntas frequentes

O que é GND e para que serve?

GND (ground) é o ponto de referência de 0 volt em relação ao qual todas as tensões de um circuito são medidas. Ele também forma o caminho pelo qual a corrente retorna à fonte. Quando se diz que um pino do Arduino está em 5V ou 3,3V, esse valor é sempre relativo ao GND.

GND é a mesma coisa que o terra de proteção?

Na eletrônica, GND é a referência do próprio circuito e não precisa estar conectado à terra física. Já o terra de proteção verde-amarelo da tomada se conecta a um eletrodo no solo por segurança. Em um projeto com Arduino alimentado por baterias ou fonte externa, o GND não tem conexão com o terra da rede elétrica.

O GND de uma fonte de alimentação externa deve ser conectado ao Arduino?

Sim. Se um dispositivo alimentado por uma fonte externa recebe sinais do Arduino, os dois GNDs precisam ser unidos. Somente os GNDs são conectados; os fios positivos permanecem separados. Caso contrário, o sinal não terá uma referência compartilhada nem um caminho de retorno, e o servo tremerá ou não funcionará.

O que acontece se o GND não for conectado?

O dispositivo receptor não consegue interpretar a tensão corretamente; servos se movem aleatoriamente, a comunicação serial exibe caracteres estranhos e sensores fornecem leituras instáveis. Em alguns casos, a corrente retorna por caminhos inesperados e pode danificar os pinos.

O negativo (-) é a mesma coisa que GND?

Na maioria dos circuitos com fonte simples, o terminal negativo da fonte é usado como GND, então, na prática, é o mesmo ponto. Porém, em fontes simétricas como ±12 V, o GND é o ponto central entre as duas fontes, e o terminal negativo está em -12 V. Por isso, o melhor é procurar o símbolo de GND no esquema.

Como evitar um loop de terra?

Deixe apenas um caminho de GND entre dois dispositivos, mantenha os fios dos motores que conduzem correntes altas separados dos GNDs dos sensores sensíveis e una tudo em um único ponto de estrela. Se necessário, separe eletricamente os dois lados com optoacopladores ou módulos isolados.

Ver todos os projetos
Uso de servo motor
#35Iniciante
Premium

Uso de servo motor

O braço de um pequeno servo motor gira para três posições em sequência: o início, o meio e o fim do percurso, esperando dois segundos em cada parada. O Arduino informa ao motor em qual ângulo ficar, e

4.7(48)
67
Uso de servo motor com potenciômetro
#36Iniciante
Premium

Uso de servo motor com potenciômetro

Conforme você gira o botão do potenciômetro, o braço do servo motor gira junto: uma extremidade do botão corresponde a zero grau, e a outra, a meia volta. O Arduino lê continuamente a posição do botão

4.6(37)
53
Carrinho controlado por Bluetooth com L298N
#80Avançado
Premium

Carrinho controlado por Bluetooth com L298N

Transforme seu celular em um controle remoto e dirija seu próprio carrinho robô. O Arduino recebe os comandos de um aplicativo de controle remoto no celular por meio de um módulo Bluetooth e aciona as

5.0(38)
65
Robô que desvia de obstáculos
#81Avançado
Premium

Robô que desvia de obstáculos

Que tal construir um veículo inteligente que encontra seu próprio caminho? O robô que desvia de obstáculos monitora o ambiente constantemente com o sensor ultrassônico na parte da frente. Ao encontrar

5.0(38)
49
Acender uma lâmpada de 220V com botão de pressão
#19Avançado
Premium

Acender uma lâmpada de 220V com botão de pressão

Enquanto você mantém o botão pressionado, uma lâmpada de 220 volts fica acesa e apaga assim que você solta. O sinal fraco do Arduino não consegue acender a lâmpada diretamente, então um relé, que é um

4.4(30)
38
Estação de irrigação inteligente
#83Avançado
Premium

Estação de irrigação inteligente

Um jardineiro que rega suas plantas sozinho para que elas não sequem enquanto você está de férias. Um sensor de umidade do solo mede o quanto a terra está úmida; quando ela seca, o Arduino aciona a bo

5.0(42)
57
Medição da intensidade da luz com LDR
#11Iniciante

Medição da intensidade da luz com LDR

Quer ver a luminosidade do seu quarto em números? O LDR, um pequeno componente sensível à luz, mede a luz ambiente, e o Arduino exibe o valor na tela do computador a cada meio segundo. Cubra o sensor

4.6(81)
141
Voltímetro digital com display LCD
#56Intermediário
Premium

Voltímetro digital com display LCD

Descubra a tensão de uma pilha ou de um adaptador de alimentação com um medidor feito por você. Um divisor formado por dois resistores reduz a tensão alta a um nível que a placa consegue ler, e o Ardu

4.5(27)
36