martes, 8 de diciembre de 2015

Medidor de Voltaje y Corriente (0-20V) PSoC 5LP

El siguiente trabajo es una colaboración de dos equipos, el equipo 2 y equipo 3.

OBJETIVO

La creación de un medidor de voltaje y corriente el cual podra enviar, guardar e imprimir las mediciones.
El medidor deberá permitir el paso de la señal a una carga, es decir, será intermedio.


FASE DE MEDICIÓN

Al circuito entra un voltaje entre 0 y 20V, pasa por un divisor de voltaje, de modo que de un rango de 0-20V tengamos uno de 0-5V para poder usar el PSoC. posteriormente pasa por seguidores y un amplificador operacional en configuración de diferenciador para que el voltaje quede referenciado a tierra. posteriormente pasará por un seguidor, y un sumador en el cual añadiremos un voltaje pequeño compensando las perdidas de los diodos de la ultima fase. Entre los diodos hay un inversor que volverá positivo el voltaje después de la salida del sumador-inversor.




Para medir la corriente, se mide el voltaje de una resistencia Shunt de 0.1Ohms, bajo la misma metodología, añadiendo esta ocasión un operacional de aislamiento.





LECTURA DE DATOS

La parte de software y datos se hizo mediante PSoC 5LP.

Para leer la parte de voltaje (que ya esta referenciado a tierra) se usó un ADC de 8bits, que solo leerá la entrada analógica y la convertirá en a digital.

Figura . ADC Voltaje

Para leer la corriente se midió la caída de potencial en una resistencia fija (shunt) de 0.1 Ohms, la diferencia de potencial de la Resistencia shunt pasa por un Amplificador de aislamiento, que tiene un rango de entrada de ±250mV con una ganancia de 8 para que a la salida tenga un rango de salida de la siguiente forma.


Figura 2: amplificador de aislamiento

Para leer el voltaje que pasa por la Resistencia shunt (ya referenciado a tierra) se usó otro ADC de 8 bits, solo que esta vez, con una referencia a 2.5V. Lo anterior debido a que para voltajes negativos el operacional arroja un voltaje de 0 a 2.5V. de esta forma cuando le entren 2.5 V al adc, sera un nuevo 0.

Figura : ADC corriente
Las mediciones se observan en un LCD y son enviadas por Bluetooth a un lector de comunicación serial, en la PC o en este caso en un celular.

Figura : UART y LCD

CÓDIGO


int main()
{
    
CyGlobalIntEnable; 

    int16 valadc1,valadc2;
    float voltaje,corriente;
    char8 str1[50],str2[50],str11[50];
    
VDAC_Start();//inica el VDAC configurado a 2496mV
ADC_1_Start(); //inicia el ADC que mide voltaje
ADC_2_Start(); //Inicia el ADC que mide el voltaje en la Shunt (corriente)
LCD_Start(); //Inicia el ADC
UART_Start(); // Inicia el UART

    ADC_1_StartConvert(); //inicio de conversión
    ADC_1_IsEndConversion(ADC_1_WAIT_FOR_RESULT);
    ADC_2_StartConvert(); //inicio de conversión
    ADC_2_IsEndConversion(ADC_1_WAIT_FOR_RESULT);

    

    for(;;)
    {
        
    valadc1 = ADC_1_GetResult16(); //Se guardan los resultados en una variable de 16b
    voltaje=(ADC_1_CountsTo_Volts(valadc1))*(4); // conversión a voltaje y convirtiendo al rango de entrada 
    valadc2 = ADC_2_GetResult16(); 
    corriente=(ADC_2_CountsTo_Volts(valadc2))/(10*0.01); //conversión a corriente
    
        LCD_Position(0,1);
        sprintf(str1,"V=%.2fV  ",voltaje);
        LCD_PrintString(str1);
        LCD_Position(1,1);
        sprintf(str11,"C=%.2fA ",corriente);
        LCD_PrintString(str11);
        
        LCD_Position(0,10);
        LCD_PrintString("Proto");
        LCD_Position(1,10);
        LCD_PrintString("type");    //Impresión de los datos en LCD
        
        
        sprintf(str2,"V=%.2fV  C=%.2fA\n\r  ",voltaje,corriente); //envío de los datos por UART al lector de serial
        UART_PutString(str2);
        
    }

}


Implementación

PCB

Parte frontal
Parte Posterior

Las imágenes anteriores son Fotos de la placa final y de una simulación que se hizo del programa en una placa experimental, alimentando 2 potenciometros con 5 volts, variando el voltaje que entra al ADC. A continuación la comunicación, la cual se puede ver en vivo y guardar un log para posteriormente compartirlo.

 
A la derecha la aplicación BLUETERM leyendo el puerto serial, a la izquierda, el archivo txt que se puede compartir desde el celular a cualquier red social, correo electrónico o PC.

Descarga nuestro PCB! 

https://drive.google.com/file/d/0B9PN6ywyXIrDbXVVSUd1aXJkYVk/view?usp=sharing

recuerda revisar el esquemático para hacer los puentes que faltan


1 comentario:

  1. hola muy bueno el proyecto, que rango de corriente puedes medir ? es DC ? .
    necesitaria medir una tension entre bornes por ejemplo de un regulador LM317 y la corriente que pasa por el y calcular la potencia disipada y mostrar las 3 variables en LCD me puedes ayudar ? sit.tucuman@gmail.com

    ResponderBorrar