Bem vindo ao nosso blog

Conectando ideias

Medir capacitância usando Arduino

Medir capacitância usando Arduino

Medir capacitância usando Arduino

Quando nos deparamos com placas de circuito projetadas anteriormente ou retiramos uma da TV ou do computador antigo, na tentativa de repará-la. E, às vezes, precisamos saber a capacitância de um capacitor específico na placa para eliminar a falha. Então, enfrentamos um problema ao obter o valor exato do capacitor da placa, especialmente se for um dispositivo de montagem em superfície. Podemos comprar equipamentos para medir a capacitância, mas todos esses dispositivos são caros e não são para todos. Com isso em mente, projetaremos um medidor de capacitância Arduino simples para medir a capacitância de capacitores desconhecidos.

Este medidor pode ser facilmente fabricado e também econômico. Nós vamos fazer o medidor de capacitância usando o Arduino Uno, o gatilho Schmitt e o CI 555 temporizador.

 

Para testar o medidor de frequência, faremos um gerador de sinal fictício. Este gerador de sinal fictício será fabricado usando um chip de timer 555. O circuito do timer gera uma onda quadrada que será fornecida à UNO para teste.

Com tudo instalado, teremos um medidor de frequência e um gerador de ondas quadradas.

 

Conteudo

Componentes necessários:

  • CI 555 temporizador e 74LS14 Schmitt disparam a porta ou a porta NÃO.
  • 1K Ω resistor(2), 100Ω resistor
  • 100nF capacitor (2), 1000µF capacitor
  • LCD 16*2
  • 47KΩ potenciometro,
  • ProtoBoard e Fios

 

Explicação do circuito:

O diagrama do circuito do medidor de frequência usando o Arduino é mostrado na figura abaixo. O circuito é simples, um LCD é conectado ao Arduino para exibir a frequência medida do sinal. ‘Entrada de onda’ vai para o circuito gerador de sinais, a partir do qual estamos transmitindo sinal ao Arduino. Uma porta de disparo Schmitt (IC 74LS14) é usada para garantir que apenas a onda retangular seja alimentada no Arduino. Para filtrar o ruído, adicionamos dois capacitores na potência. Este medidor de frequência pode medir frequências de até 1 MHz.

Este circuito pode medir com precisão as capacitâncias na faixa de 10nF a 10uF.

Arduino

 

Gerador de onda quadrada com base no CI 555 temporizadores:

Antes de tudo, falaremos sobre o gerador de ondas quadradas com base no CI 555 Timer, ou devo dizer, o 555 Stable Multivibrator. Sabemos que a capacitância de um capacitor não pode ser medida diretamente em um circuito digital; em outras palavras, a UNO lida com sinais digitais e não pode medir diretamente a capacitância. Então, usamos o circuito gerador de onda quadrada de 555 para ligar o capacitor ao mundo digital.

Simplesmente falando, o timer fornece saída de onda quadrada cuja frequência implica diretamente na capacitância conectada a ele. Então, primeiro obtemos o sinal de onda quadrada cuja frequência é representativa da capacitância do capacitor desconhecido e alimentamos esse sinal para a UNO para obter o valor apropriado.

 

Configuração geral 555 no modo Astable, como mostrado na figura abaixo:

Arduino

A frequência do sinal de saída depende dos resistores RA, RB e capacitor C. A equação é dada como,

Frequência (F) = 1/(Período de tempo)=1,44/((RA+RB*2)*C).

 

Aqui RA e RB são valores de resistência e C é valor de capacitância. Colocando os valores de resistência e capacitância na equação acima, obtemos a frequência da onda quadrada de saída.

Vamos conectar 1KΩ como RA e 10KΩ como RB. Então a fórmula se torna,

Frequência (F) = 1/(período)=1,44/(21000*C).

Reorganizando os termos que temos,

Capacitância C = 1,44/(21000*F)

 

Em nosso Código de programa (veja abaixo), para obter o valor da capacitância com precisão, calculamos o resultado em nF multiplicando os resultados obtidos (em farads) por “1000000000”. Também usamos ‘20800’ em vez de 21000, porque as resistências precisas de RA e RB são 0,98K e 9,88K.

Portanto, se conhecermos a frequência da onda quadrada, podemos obter o valor da capacitância.

 

Portão do gatilho Schmitt:

Os sinais gerados pelo circuito do temporizador não são completamente seguros para serem enviados diretamente ao Arduino Uno. Com a sensibilidade do UNO em mente, usamos o gatilho Schmitt. A porta de disparo Schmitt é uma porta lógica digital.

Este portão fornece SAÍDA com base no nível de tensão de ENTRADA. Um gatilho Schmitt tem um nível de tensão THERSHOLD, quando o sinal INPUT aplicado à porta tem um nível de tensão maior que o THRESHOLD da porta lógica, OUTPUT vai ALTO. Se o nível do sinal de tensão de ENTRADA for menor que THRESHOLD, a SAÍDA da porta será BAIXA. Com isso, normalmente não obtemos o gatilho Schmitt separadamente, sempre temos um portão NÃO seguindo o gatilho Schmitt. O trabalho do Schmitt Trigger é explicado aqui: Schmitt Trigger Gate

 

Nós vamos usar o chip 74HC14, este chip possui 6 portas Schmitt Trigger. Esses seis portões são conectados internamente, como mostrado na figura abaixo.

Arduino

A Tabela da Verdade do portão Invertido do Schmitt Trigger é mostrada na figura abaixo, com isso temos que programar a ONU para inverter os períodos de tempo positivo e negativo em seus terminais.

Arduino

 

Conectamos o sinal gerado pelo circuito do temporizador ao portão ST, teremos uma onda retangular de períodos de tempo invertidos na saída que é seguro para ser dado à UNO.

 

O Arduino mede a capacitância:

O Uno possui uma função especial pulseIn, que permite determinar a duração do estado positivo ou negativo de uma onda retangular específica:

Htime = pulseIn(8, HIGH);
Ltime = pulseIn(8, LOW);

A função pulseIn mede o tempo durante o qual o nível Alto ou Baixo está presente no PIN8 de Uno. A função pulseIn mede esse tempo alto (Htime) e tempo baixo (Ltime) em microssegundos. Quando adicionamos Htime e Ltime, teremos a Duração do Ciclo e, invertendo-a, teremos a Frequência.

Uma vez que tenhamos a frequência, podemos obter a capacitância usando a fórmula que discutimos anteriormente.

 

Resumo e Teste:

Então, em resumo, conectamos o capacitor desconhecido ao circuito do temporizador 555, que gera uma saída de onda quadrada cuja frequência está diretamente relacionada à capacitância do capacitor. Este sinal é dado ao UNO através do portão ST. A ONU mede a frequência. Com a frequência conhecida, programamos a ONU para calcular a capacitância usando a fórmula discutida anteriormente.

Vamos ver alguns resultados que obtive,

Quando conectei o capacitor eletrolítico de 1uF, o resultado é 1091,84 nF ~ 1uF. E o resultado com capacitor de poliéster 0,1uF é 107,70 nF ~ 0,1uF

Arduino

Então liguei o capacitor de cerâmica de 0,1uF e o resultado é 100,25 nF ~ 0,1uF. Também o resultado com capacitor eletrolítico de 4.7uF é 4842.83 nF ~ 4.8uF

Arduino

Então é assim que podemos simplesmente medir a capacitância de qualquer capacitor.

 

Código:

// Biblioteca do módulo
#include <LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

int32_t Htime;                    
int32_t Ltime;
float Ttime;
float frequency;
float capacitance;

void setup()
{
    pinMode(8,INPUT);            //pino 8 como entrada de sinal
    lcd.begin(16, 2);
    lcd.setCursor(0,0);
    lcd.print("capacitância =");
}

void loop()
{
    for (int i=0;i<5;i++)        //medir a duração do tempo cinco vezes
    {
        Ltime=(pulseIn(8,HIGH)+Ltime)/2;        //obter média para cada ciclo
        Htime=(pulseIn(8,LOW)+Htime)/2;
    }

    Ttime = Htime+Ltime;
    frequency=1000000/Ttime;
    
    capacitance = (1.44*1000000000)/(20800*frequency);   //Cálculo da capacitância em nF
    lcd.setCursor(0,1);
    lcd.print(capacitance);
    lcd.print(" nF   ");
    delay(500);
}

 

Agora você está pronto para usar o Arduino!

Informações de contato

Contate-nos por e-mail ou redes sociais
contato@arduinoeautomacao.com.br

Inscreva-se em nossa newsletter