VOLTIMETRO E AMPERIMETRO DIGITAL PARA FONTE DE BANCADA

    Este projeto foi desenvolvido para medir a tensão e a corrente de saída para uma fonte de bancada ajustável de (0-25)V com 4.89mV de resolução, e (0-10)A com 66mV/A. Trata-se um projeto rudimentar, mas é um ótimo instrumento para qualquer fonte de bancada, veja o esquema do mesmo abaixo na figura.

Fonte:Autor

DIVISOR RESISTIVO

        A base do projeto foi feita em cima do microcontrolador PIC16F677, já que o mesmo e muito barato para ser adquirido e tem uma ótima capacidade de IO`s para ter implementado neste projeto. Os circuitos integrados na sua grande maioria trabalham com tensões inferiores a 12V, sendo assim, para trabalharmos com qualquer projeto e necessário condicionarmos essa tensão.



A equação demonstra qual foi o calculo para encontrarmos o valor do resistor para criarmos o divisor resistivo, onde a tensão de entrada e 25V e a tensão máxima de saída e 5V.


        Logo após o condicionamento do sinal do divisor resistivo, o mesmo foi implementado ao pino RA0, onde se encontra o canal zero do microcontrolador, portanto, foi implementado um algoritmo para converter o sinal analógico para uma variável digital e transformá-la em tensão para imprimi-la em um display de 7 segmentos. O programa desenvolvido foi em linguagem C, com o compilador oficial da Microchip XC8, abaixo encontra como essa variável de entrada foi tratada no mesmo.

Algoritmo: 

ADCON0bits.ADON = 1;   // Inicia a conversão 

 var = read_AD();

var = read_AD()*25.00;     // Pega sinal do AD e multiplica pela tensão que você ira medir

var = var/1024;                 // Divide  por 1024 para achar volts/bits

var = var * 100;            // Multiplica por 100 para aparecer no display de 7 segmentos, ja que a variavel esta framentada   

escrever_variavel(var);     // Escreve variavel no display 7 Segmentos

 var = 0x00;                       // Limpa variável


SENSOR DE CORRENTE ACS712

        Depois de implementar o sensor de tensão para o projeto, em seguida foi implementado um sensor de corrente. Poderia ter usado um TC ou um resistor shunt, entre tanto, foi escolhido o sensor ACS712 já  que o mesmo e bastante utilizado no mercado e já vem pronto em  um modulo e de fácil implementação, bastando apenas tratar o sinal que e lido no conversor A/D.

    Este sensor trabalha por efeito hall, devido a isto ele e de ótima precisão para captar correntes em mA, no caso deste projeto o sensor escolhido foi de 5A, ele pode medir de -5A a 5A, portanto, podemos trabalhar até com 10A de corrente, no datasheet do fabricante demostra uma tabela com varios modelos de sensores cada um com sua sensibilidade, no caso o para o nosso projeto foi utilizado o de 185mV. 



    A figura abaixo demonstra o módulo do ACS712 pronto, geralmente usado em Arduino, custa em torno de 15 reais no Mercado Livre. Veja a figura 4 o módulo, e na figura 5 seu esquema elétrico.


        A equação utilizada para tratar o sinal deste sensor, foi feito da seguinte maneira:



        Logo após o ter implementado o ACS712, o mesmo ligado ao pino RA1, onde se encontra o canal um do microcontrolador, portanto, foi desenvolvido um algoritmo para converter o sinal analógico deste sensor para uma variável digital e transforma-la em corrente para imprimi-la em um display de 7 segmentos.


Algoritmo:

ADCON0bits.ADON = 1;             // Inicia a conversão 
var = read_AD();                          // Faz Leitura do converso AD e iguala a variavel a ser trabalhada
var = var -512;                  // Faz subtração de 512 do sensor, devido ele trabalhar em -5 e +5 ou seja 512 = 2.5 V = 0A 
var = var*0.0048875855327468;  // Pega a variavel e multiplica pela divisão de 5/1024 para ad de 10 bits
var = var/0.185;                             // Pega a resolução do sensor divide pela variável
 var = var*1000;                            // Multiplica por 1000 para aparecer no display de 7 segmentos, já que a variável esta fragmentada   
escrever_variavel(var);           // Escreve variável no display 7 Segmentos

  

IMPRESSÃO DAS VARIÁVEIS

        Para demonstrar a tensão e a corrente foi utilizado display 7 segmentos de catodo comum, multiplexado por transistores bc547, porém pode ser usado o bc548 e bc546, entre tanto se ele fosse ligado direto ao microcontrolador, utilizaria muitas IO`s do microcontrolador, sendo assim eu utilizei um CI4511BE que é um decodificador específico para isso, em um próximo post eu tratarei melhor sobre a da multiplexação de display 7 segmentos nos microcontroladores e como utilizar minha biblioteca nos compiladores XC8 e mikroC.


CONCLUSÃO

Mesmo rudimentar o projeto nos proporciona bons resultado para sua proposta, e também nos condiciona a entender melhor sobre os microcontroladores PIC, eu recomendo a construção do mesmo para melhorar seus conhecimentos na área de microcontroladores e eletrônica. Se você deseja uma precisão boa para medição de sua fonte de bancada eu recomendo que busque outras alternativas disponível no mercado.