- Materiais requisitados:
- Funcionamento do Sensor de Corrente ACS712:
- Diagrama de circuito:
- Simulação:
- Programando o microcontrolador PIC:
- Trabalhando:
Medir a tensão e a corrente sempre será útil ao fazer ou depurar qualquer sistema elétrico. Neste projeto vamos fazer nosso próprio Amperímetro Digital usando o Microcontrolador PIC16F877A e o sensor de corrente ACS712-5A. Este projeto pode medir correntes CA e CC com uma faixa de 0-30A com uma precisão de 0,3A. Com algumas modificações no código, você também pode usar este circuito para medir até 30A. Então vamos começar !!!
Materiais requisitados:
- PIC16F877A
- 7805 Regulador de Tensão
- Sensor de corrente ACS712
- Visor LCD 16 * 2
- Uma caixa de junção e carga (apenas para teste)
- Fios de conexão
- Capacitores
- Breadboard.
- Fonte de alimentação - 12V
Funcionamento do Sensor de Corrente ACS712:
Antes de começarmos a construir o projeto, é muito importante entendermos o funcionamento do sensor de corrente ACS712, pois é o componente chave do projeto. Medir a corrente, especialmente a corrente AC, é sempre uma tarefa difícil devido ao ruído acoplado ao problema de isolamento impróprio etc. Mas, com a ajuda deste módulo ACS712 que foi projetado pela Allegro, as coisas se tornaram muito mais fáceis.
Este módulo trabalha com o princípio do efeito Hall, que foi descoberto pelo Dr. Edwin Hall. De acordo com seu princípio, quando um condutor de corrente é colocado em um campo magnético, uma voltagem é gerada em suas bordas perpendiculares às direções da corrente e do campo magnético. Não vamos nos aprofundar muito no conceito, mas simplesmente usar um sensor Hall para medir o campo magnético ao redor de um condutor de corrente. Essa medição será em termos de milivolts, que chamamos de tensão hall. Essa tensão hall medida é proporcional à corrente que estava fluindo através do condutor.
A principal vantagem de usar o Sensor de Corrente ACS712 é que ele pode medir as correntes CA e CC e também fornece isolamento entre a Carga (carga CA / CC) e a Unidade de Medição (parte do Microcontrolador). Conforme mostrado na imagem, temos três pinos no módulo que são Vcc, Vout e Ground respectivamente.
O bloco de terminais de 2 pinos é onde o fio condutor de corrente deve ser passado. O módulo trabalha em + 5V, portanto, o Vcc deve ser alimentado por 5V e o aterramento deve ser conectado ao aterramento do sistema. O pino Vout tem uma tensão de deslocamento de 2500mV, ou seja, quando não há corrente fluindo através do fio, a tensão de saída será 2500mV e quando a corrente fluindo for positiva, a tensão será maior que 2500mV e quando a corrente fluindo for negativa, o a tensão será inferior a 2500mV.
Estaremos usando o módulo ADC do microcontrolador PIC para ler a tensão de saída (Vout) do módulo, que será 512 (2500mV) quando não houver corrente fluindo pelo fio. Este valor reduzirá conforme a corrente flui na direção negativa e aumentará conforme a corrente flui na direção positiva. A tabela a seguir o ajudará a entender como a tensão de saída e o valor ADC variam com base na corrente que flui pelo fio.
Esses valores foram calculados com base nas informações fornecidas na Folha de Dados do ACS712. Você também pode calculá-los usando as fórmulas abaixo:
Tensão Vout (mV) = (Valor ADC / 1023) * 5000 Corrente através do fio (A) = (Vout (mv) -2500) / 185
Agora que sabemos como funciona o Sensor ACS712 e o que podemos esperar dele. Vamos prosseguir para o diagrama do circuito.
Diagrama de circuito:
O diagrama completo do circuito deste projeto do Amperímetro Digital é mostrado na imagem abaixo.
O circuito completo do medidor de corrente digital funciona com + 5 V, que é regulado por um regulador de tensão 7805. Usamos um LCD 16X2 para exibir o valor da corrente. O pino de saída do Sensor de corrente (Vout) é conectado ao 7º pino do PIC que é o AN4 para ler a tensão analógica.
Além disso, a conexão de pinos para o PIC é mostrada na tabela abaixo
S.No: |
Número do PIN |
Nome do Pin |
Conectado a |
1 |
21 |
RD2 |
RS de LCD |
2 |
22 |
RD3 |
E de LCD |
3 |
27 |
RD4 |
D4 de LCD |
4 |
28 |
RD5 |
D5 de LCD |
5 |
29 |
RD6 |
D6 de LCD |
6 |
30 |
RD7 |
D7 de LCD |
7 |
7 |
AN4 |
Vout of Current Sesnor |
Você pode construir este circuito amperímetro digital em uma placa de ensaio ou usar uma placa de desempenho. Se você tem seguido os tutoriais PIC, também pode reutilizar o hardware que usamos para aprender os microcontroladores PIC. Aqui, usamos a mesma placa de desempenho que construímos para LED piscando com microcontrolador PIC, conforme mostrado abaixo:
Nota: Não é obrigatório para você construir esta placa, você pode simplesmente seguir o diagrama de circuito e construir seu circuito em uma placa de pão e usar qualquer kit de dumper para descarregar seu programa no microcontrolador PIC.
Simulação:
Este circuito do medidor de corrente também pode ser simulado usando Proteus antes de você realmente continuar com seu Hardware. Atribua o arquivo hexadecimal do código fornecido no final deste tutorial e clique no botão play. Você deve ser capaz de notar a corrente no visor LCD. Usei uma lâmpada como uma carga CA, você pode variar a resistência interna da lâmpada clicando nela para variar a corrente que flui através dela.
Como você pode ver na imagem acima, o amperímetro mostra a corrente real fluindo através da lâmpada que está em torno de 3,52 A e o LCD mostra a corrente em torno de 3,6 A. No entanto, no caso prático, podemos obter um erro de até 0,2A. O valor ADC e a tensão em (mV) também são mostrados no LCD para sua compreensão.
Programando o microcontrolador PIC:
Conforme dito anteriormente, o código completo pode ser encontrado no final deste artigo. O código é autoexplicado com linhas de comentário e envolve apenas o conceito de interface de um LCD com o microcontrolador PIC e o uso do módulo ADC no microcontrolador PIC, que já abordamos em nossos tutoriais anteriores de aprendizado de microcontroladores PIC.
O valor lido do sensor não será preciso, pois a corrente está alternando e também sujeita a ruídos. Portanto, lemos o valor ADC para 20 vezes e fazemos a média para obter o valor atual apropriado, conforme mostrado no código abaixo.
Usamos as mesmas fórmulas explicadas acima para calcular a tensão e o valor da corrente.
for (int i = 0; i <20; i ++) // Ler valor para 20 vezes {adc = 0; adc = ADC_Read (4); // Lê ADC Voltage = adc * 4.8828; // Calcular a tensão if (Voltage> = 2500) // Se a corrente for Amps positivo + = ((Voltage-2500) /18,5); else if (Voltage <= 2500) // Se a corrente for negativa Amps + = ((2500-Voltage) /18,5); } Amps / = 20; // Média do valor que foi lido por 20 vezes
Uma vez que este projeto também pode ler corrente CA, o fluxo de corrente será negativo e positivo também. Ou seja, o valor da tensão de saída ficará acima e abaixo de 2500mV. Portanto, conforme mostrado abaixo, alteramos as fórmulas para corrente negativa e positiva para que não obtenhamos valor negativo.
if (Voltage> = 2500) // Se a corrente for positiva Amps + = ((Voltage-2500) /18,5); else if (Voltage <= 2500) // Se a corrente for negativa Amps + = ((2500-Voltage) /18,5);
Usando um sensor de corrente 30A:
Se você precisar medir corrente superior a 5A, você pode simplesmente comprar um módulo ACS712-30A e fazer a interface da mesma maneira e alterar a linha de código abaixo substituindo 18,5 por 0,66 conforme mostrado abaixo:
if (Voltage> = 2500) // Se a corrente for positiva Amps + = ((Voltage-2500) /0,66); else if (Voltage <= 2500) // Se a corrente for negativa Amps + = ((2500-Voltage) /0,66);
Verifique também o amperímetro 100mA usando o microcontrolador AVR se quiser medir a corrente baixa.
Trabalhando:
Depois de programar o microcontrolador PIC e preparar o hardware. Basta ligar a carga e seu microcontrolador PIC deve ser capaz de ver a corrente passando pelo fio exibido na tela LCD.
NOTA: SE você estiver usando um módulo ASC7125A, certifique-se de que sua carga não consuma mais do que 5A também use fios de bitola mais alta para condutores de transporte de corrente.
O funcionamento completo do projeto do amperímetro baseado no microcontrolador PIC é mostrado no vídeo abaixo. Espero que você tenha o projeto funcionando e tenha gostado de fazê-lo. Se você tiver alguma dúvida, pode escrevê-los na seção de comentários abaixo ou publicá-los em nossos fóruns.