quinta-feira, 3 de outubro de 2019

Voltímetro CA usando Arduino

Arduino-Robotic-Arm-construction-1
Neste projeto, faremos um dispositivo de medição de tensão CA usando o Arduino, que medirá a tensão da fonte de corrente alternada em nossa casa. Vamos imprimir essa tensão no monitor serial do Arduino IDE, bem como mostrar no multímetro.
Fazer um voltímetro digital é muito mais fácil do que fazer um voltímetro analógico, porque no caso de voltímetro analógico, você deve ter um bom conhecimento de parâmetros físicos, como torque, perdas por atrito, etc. até seu laptop (como neste caso) para imprimir os valores de tensão para você.

Componentes necessários:

  • Um transformador 12-0-12
  • Diodo 1N4007
  • Capacitor 1uf
  • Resistores 10k, 4.7k.
  • Diodo Zener (5v)
  • Arduino UNO
  • Fios de conexão
  
 

Diagrama do circuito do voltímetro do Arduino:




Arduino-Robotic-Arm-construction-1

O diagrama de circuitos deste voltímetro Arduino é mostrado acima.

Conexões:
  • Conecte o lado de alta tensão (220V) do transformador à fonte de alimentação e a baixa tensão (12v) ao circuito do divisor de tensão.
  • Conecte o resistor de 10k em série com o resistor de 4.7k, mas certifique-se de receber a tensão como entrada no resistor de 4.7k.
  • Conecte o diodo como mostrado.
  • Connect capacitor and zener diode across 4.7k
  • Conecte um fio do terminal n do diodo ao pino analógico A0 do Arduino.
** Nota: Conecte o pino de aterramento do Arduino ao ponto, conforme mostrado na figura ou no circuito não funcionará.
Arduino-Robotic-Arm-construction-1 Arduino-Robotic-Arm-construction-1
Arduino-Robotic-Arm-construction-1 Arduino-Robotic-Arm-construction-1

Precisa de circuito divisor de tensão?
Como estamos usando o transformador 220/12 v, obtemos 12 v no lado l.v. Como essa tensão não é adequada como entrada para o Arduino, precisamos de um circuito divisor de tensão que possa fornecer um valor de tensão adequado como entrada para o Arduino

Por que diodo e capacitor estão conectados?
Como o Arduino não aceita valores de tensão negativos como entrada, primeiro precisamos remover o ciclo negativo da CA descendente, para que apenas o valor positivo da tensão seja obtido pelo Arduino. Portanto, o diodo é conectado para retificar a tensão de redução. Verifique nosso circuito retificador de meia onda e retificador de onda completa para saber mais sobre retificação.
Essa tensão retificada não é suave, pois contém grandes ondulações que não podem nos fornecer nenhum valor analógico exato. Portanto, o capacitor é conectado para suavizar o sinal a.c.

Objetivo do diodo zener?
O Arduino pode sofrer danos se a tensão for maior que 5V. Portanto, um diodo zener de 5v é conectado para garantir a segurança do Arduino, que quebra no caso de essa tensão exceder 5v.

Trabalho do voltímetro CA baseado em Arduino:

1. A tensão de redução é obtida no lado l.v do transformador, que é adequado para uso em resistores de potência normais.
2. Então obtemos um valor de tensão adequado através do resistor de 4.7k
A tensão máxima que pode ser medida é encontrada simulando este circuito no proteus (explicado na seção de simulação).
3. O Arduino recebe essa tensão como entrada do pino A0 na forma de valores analógicos entre 0 e 1023. 0 sendo 0 volt e 1023 sendo 5v.
4. O Arduino então converte esse valor analógico na rede elétrica correspondente a.c. tensão por uma fórmula. (Explicado na seção de código).

Simulação:

Arduino-Robotic-Arm-construction-1

O circuito exato é feito no proteus e depois simulado. Para encontrar a tensão máxima que este circuito pode medir, o método de batida e teste é usado.
Ao fazer a tensão de pico do alternador 440 (311 r.m.s), a tensão no pino A0 foi de 5 volts, ou seja, no máximo. Portanto, este circuito pode medir a tensão máxima de 311 r.m.s.
A simulação é realizada para várias tensões entre 220 r.m.s e 440v.
Arduino-Robotic-Arm-construction-1

Código Explicação:

O código completo do voltímetro do Arduino é fornecido no final deste projeto e é bem explicado através dos comentários. Aqui estamos explicando poucas partes dele.
m é o valor analógico de entrada recebido no pino A0, isto é.
  • m=pinMode (A0,INPUT); // definir o pino a0 como pino de entrada

Para atribuir a variável n a esta fórmula n=(m*.304177), primeiro algum tipo de cálculo é realizado usando os dados obtidos na seção de simulação:
Como visto na fotografia de simulação, o valor analógico de 5v ou 1023 é obtido no pino A0 quando a tensão de entrada a.c é de 311 volts. Conseqüentemente:
O valor analógico 1023 corresponde à alimentação de 311 volts
Portanto, qualquer valor analógico aleatório corresponde a (311/1023)*m onde m é obtido o valor analógico.
Portanto, chegamos a esta fórmula:
n=(311/1023)*m volts or n=(m*.304177)
Agora, esse valor de voltagem é impresso no monitor serial usando comandos seriais, conforme explicado abaixo.

Os valores impressos na tela são:
Valor da entrada analógica conforme especificado no código:
  • Serial.print(" entrada analógica "); // fornece o nome que é “entrada analógica” para o valor analógico impresso
  • Serial.print(m); // isso simplesmente imprime o valor analógico de entrada

Tensão CA necessária, conforme especificado no código:
  • Serial.print(" tensão ca "); // isso dá o nome “tensão CA” ao valor analógico impresso
  • Serial.print(n); // isso simplesmente imprime o valor da tensão CA

Código:

int m;// inicializa a variável m

float n;// inicializa a variável n

void setup()
{
   pinMode(A0,INPUT); // define o pino a0 como pino de entrada
   Serial.begin(9600);// inicia a comunicação serial entre o arduino e o pc
}

void loop()
{
   m=analogRead(A0);// lê valores analógicos do pino A0 no capacitor
   n=(m* .304177);// converte o valor analógico (x) no valor de fornecimento de CA de entrada usando esta fórmula (explicada na seção de navegação)

  Serial.print(" analaog input " ) ; // especifique o nome com o valor correspondente a ser impresso
  Serial.print(m); // imprime o valor analógico de entrada no monitor serial
  Serial.print(" ac voltage ") ; // especifique o nome com o valor correspondente a ser impresso
  Serial.print(n); // imprime o valor ac no monitor serial
  Serial.println();
}

Este projeto está disponível também no App, Guia do Arduino, em Google Play.



Caso queira mais projetos, documentos, não deixe de acompanhar nosso Blog e nosso App.

Nenhum comentário:

Postar um comentário

Peço que use somente caixa baixa, não todo escrito em letra grande.