Circuito voltímetro CC baseado em Arduino - Detalhes de construção e testes

Experimente Nosso Instrumento Para Eliminar Problemas





Neste post, vamos construir um voltímetro CC usando Arduino onde as leituras são exibidas em LCD 16x2.



O projeto do voltímetro proposto pode ler até 30 V com tolerância de +/- 0,5 volt. Vamos ver como essa configuração funciona e explorar outras possibilidades que podemos realizar além de medir a tensão.



Este projeto é bastante simples, mesmo os iniciantes podem realizar com facilidade, mas deve-se tomar cuidado ao fazer o protótipo do circuito, pois vamos aplicar tensão externa, qualquer conexão incorreta ao Arduino pode levar a danos fatais à sua placa.

Deixe o aviso ser um lado, vamos explorar como ele funciona.



Aqui, estamos usando o processo de conversão analógico para digital. A tensão de qualquer fonte é uma função analógica, as leituras exibidas no LCD 16x2 são uma função digital.

O desafio é converter essas funções analógicas em funções digitais. Felizmente, o Arduino tem funcionalidade para ler funções analógicas e convertê-las em funções discretas.

Microcontrolador Arduino equipado com conversor analógico para digital (ADC) de 10 bits. Isso significa que o Arduino pode ler 2 ^ 10 = 1024 níveis de tensão discretos.

Em outras palavras, a tensão aplicada ao pino analógico do Arduino é amostrada em 1024 níveis de tensão discretos em relação a uma tensão de referência, o valor amostrado é exibido no LCD. Este é o princípio por trás deste voltímetro ou quase qualquer voltímetro digital.

No entanto, a tensão externa aplicada não é medida diretamente pelo Arduino. A tensão é reduzida com a ajuda de divisores de tensão e algumas contas são feitas no programa para obter a leitura real da tensão.

Como funciona

O circuito consiste em dois resistores, um display LCD e um Arduino que é o cérebro do voltímetro digital. Os dois resistores atuam como divisores de tensão, o nó do divisor é conectado ao pino analógico # A0 do Arduino, que lê a tensão de entrada. A conexão de aterramento é estabelecida entre o Arduino e a fonte de tensão externa.

A tensão mínima que pode ser medida por este voltímetro é 0,1 V, este limite é definido no programa, de forma que ele leia 0,00 volt após desconectar a fonte de tensão e não exiba leituras devido à carga estática ao redor da sonda de medição.

Protótipo do autor:

Resultados do teste de voltímetro CC baseado em Arduino

Não inverta a polaridade enquanto mede a tensão, não prejudica o circuito, mas não lê nenhuma tensão e exibe 0,00 V, até que você corrija a polaridade. Ajuste o contraste do display LCD para o nível ideal girando o potenciômetro.

Certifique-se de não aplicar nenhuma fonte de tensão que possa atingir picos superiores a 30 V, pois isso pode danificar sua placa Arduino. Tecnicamente, você pode aumentar a tensão máxima de medição deste circuito alterando os valores do resistor e modificando o programa, mas para a configuração ilustrada, 30 V é o limite.

Para uma leitura precisa, escolha resistores fixos com valor mínimo de tolerância, os resistores desempenham um papel importante na calibração da leitura de tensão.

Diagrama de circuito:

Circuito Voltímetro DC baseado em Arduino

A outra possibilidade desse voltímetro é que podemos modificar o programa para automatizar algumas tarefas.

Por exemplo, detecte a tensão total da bateria e desconecte a bateria de seu carregador ou desconecte a bateria se a tensão cair abaixo do nível de tensão predefinido e assim por diante, essas tarefas podem ser realizadas mesmo sem um display LCD. No entanto, isso é assunto de outro artigo.

Programa:

//--------Program developed by R.Girish---------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogInput = 0
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
pinMode(analogInput, INPUT)
lcd.begin(16, 2)
lcd.print('DC VOLTMETER')
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10) {
vin=0.0
}
lcd.setCursor(0, 1)
lcd.print('INPUT V= ')
lcd.print(vin)
delay(500)
}
//--------Program developed by R.Girish---------//

Verifique as leituras com um bom voltímetro / multímetro.




Anterior: Circuito de fechadura de ignição de carro Bluetooth - Proteção de carro sem chave Próximo: Circuito de alarme de segurança de porta magnética para alertar se a porta foi aberta