Voltímetro digital Arduino 0V a 30V

Tempo de leitura: 4 minutes

Aqui está um circuito útil para os amantes e experimentadores do Arduino. É um voltímetro digital simples, que pode medir com segurança tensões CC de entrada na faixa de 0 a 30V. A placa Arduino pode ser alimentada por uma bateria de 9 V padrão, como de costume.

Como você deve saber, as entradas analógicas do Arduino podem ser usadas para medir a tensão DC entre 0 e 5 V (ao usar a tensão de referência analógica de 5 V padrão) e essa faixa pode ser aumentada usando dois resistores para criar um divisor de tensão. O divisor de tensão diminui a tensão que está sendo medida dentro da faixa das entradas analógicas do Arduino. O código no sketch do Arduino é então usado para calcular a tensão real que está sendo medida.

O sensor analógico na placa Arduino detecta a tensão no pino analógico e o converte em um formato digital que pode ser processado pelo microcontrolador. Aqui, estamos alimentando a tensão de entrada para o pino analógico (A0) usando um circuito divisor de tensão simples que compreende os resistores R1 (100K) e R2 (10K). Com os valores usados no divisor de tensão, é possível alimentar a tensão de 0 V a 55 V na placa Arduino. A junção na rede do divisor de tensão conectada ao pino analógico do Arduino é equivalente à tensão de entrada dividida por 11, então 55V ÷ 11 = 5V. Em outras palavras, ao medir 55 V, o pino analógico do Arduino estará em sua tensão máxima de 5 V. Portanto, na prática, é melhor rotular este voltímetro como “0-30V DVM” para adicionar uma margem de segurança!

Notas

  • Se a leitura da tela não corresponder ao comparar com seu DVM de laboratório, use um DMM de precisão para encontrar a resistência real de R1 e R2 e substitua R1 = 100000.0 e R2 = 10000.0 no código por esses valores. Em seguida, verifique a alimentação de 5 V com o DVM do laboratório no GND e os pinos de 5 V na placa Arduino. Ele pode fornecer menos (por exemplo 4,95 V), substitua o valor no código vout = (valor * 5,0) / 1024,0 (ou seja, substitua o valor 5,0 pela leitura V real, neste caso 4,95 V). Além disso, sempre tente usar resistores de tolerância de precisão de 1% para R1 e R2.
  • Os valores do resistor (R1 e R2) no diagrama de circuito fornecem alguma proteção contra sobretensão e medem baixas tensões. Lembre-se de que qualquer tensão de entrada superior a cerca de 55 V pode fritar o Arduino. Nenhuma outra proteção (para picos de tensão, tensões reversas ou tensões mais altas) é incorporada neste circuito!

Peças

Placa Arduino Uno
Resistor 100K
Resistor 10K
Resistor 100R
10K Preset Pot
LCD paralelo 16 × 2 (compatível com driver Hitachi HD44780)

Esquemático do Circuito Arduino DVM

Sketch do voltímetro digital Arduino

/*
Voltímetro DC
Um Arduino DVM baseado no conceito de divisor de tensão
*/

// Incluir a biblioteca: 
#include <LiquidCrystal_I2C.h> 
// Cria o objeto lcd da classe LiquidCrystal_I2C: 
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // resistência de R1 (100K) - veja o texto!
float R2 = 10000.0; // resistência de R2 (10K) - veja o texto!
int value = 0;
void setup(){
   pinMode(analogInput, INPUT);
   // Inicializa o display LCD 16x2
   lcd.begin(16, 2); 
   // Liga a luz de fundo do LCD
   lcd.setBacklight(HIGH); 
   // Escreve o texto
   lcd.print("VOLTÍMETRO DC");
}
void loop(){
   // leia o valor na entrada analógica
   value = analogRead(analogInput);
   vout = (value * 5.0) / 1024.0; // see text
   vin = vout / (R2/(R1+R2)); 
   if (vin<0.09) {
      vin=0.0;// declaração para anular a leitura indesejada!
   } 
   lcd.setCursor(0, 1);
   lcd.print("INPUT V= ");
   lcd.print(vin);
   delay(500);
}

 

 

Conclusão

Neste artigo, mostrei neste artigo um Voltímetro simples e fácil de testar, com um LCD I2C e um Arduino. Espero que você tenha achado útil e informativo. Se sim, compartilhe com um amigo que também gosta de eletrônica e de fazer coisas!

Eu adoraria saber quais projetos você planeja construir (ou já construiu) com esse Projeto. Se você tiver alguma dúvida, sugestão ou se achar que falta algo neste tutorial, por favor, deixe um comentário abaixo.