viernes, 23 de octubre de 2015

Avances para Filtro pasa bandas.


Tenemos como objetivo el desarrollar un filtro pasa bandas utilizando componentes externos y la ayudo del Psoc 5 como OPAMP.

Un filtro pasa bandas es un tipo de filtro electrónico con dos frecuencias de corte, que deja pasar un determinado rango de frecuencias de una señal que nosotros podemos establecer y atenúa el paso del resto de las señales fuera del rango.

Y se puede construir con la implementación de un filtro pasa bajas y un filtro pasa altas conectados en serie.sin importar cual de ellos se encuentre primero. 
Pero se deben respetar frecuencia de corte de filtro pasa bajas sea menor que la frecuencia de corte del filtro pasa altas que la ganancia de ambas etapas sea igual para que la banda de paso se mantenga plana.


En la siguiente imagen tenemos el esquemático guía, que creamos para analizar el comportamiento del circuito, con la ayuda del software Proteus.


  Y a continuación tenemos los cálculos realizados para seleccionar los componentes del circuito.


    Con los valores ya obtenidos procedimos a comprobar el correcto en el funcionamiento en la simulación.

En las siguientes imágenes observaremos nuestro filtro sometido a tres diferentes frecuencias.
[En amarillo tenemos la señal original]
[En rosa tenemos la señal pasando por el filtro de primer orden]
[En verde tenemos la señal pasando por el filtro de segundo orden]


Figura 1.- Tenemos una señal de 2.6 kHz , menor a la primera frecuencia de corte;
podemos observar que la señal bajo los filtros de primer y segundo están atenuadas. 


Figura 2.-  La señal original es de 390kHz, mayor a la segunda frecuencia de corte
y podemos observar que la señal bajo los filtros de primer y segundo están nuevamente atenuadas.


Figura 3.-  La señal original es de 68kHz, esta dentro del rango de nuestras frecuencias de corte
y podemos observar que la señal bajo los filtros de primer y segundo pueden pasar sin ningún problema.

Después de comprobar que el filtro funciona correctamente, pasamos al software PSoc Creator.


Figura 4.- Creando un nuevo proyecto.


Figura 5.- Seleccionando nuestra tarjeta "PSoc 5LP Desing" y nuestro controlador "CY8C5888LTI-LP097"

Figura 6.- Creando el siguiente esquemático con dos OPAM'S configurados en modo seguidor para no tener ganancias a las salidas de la señal. (Los elementos en azul fueron seleccionados de la pestaña "off-chip" solamente con propósito ilustrativo de como conectar el circuito, ya que no tienen ninguna acción  en el programa)


Figura 7.- Presionando doble click en cualquier OPAM podemos acceder a su configuración individual donde podemos cambiarle el nombre y el modo de seguidor.


Figura 8.- En lo que respecta al código, siguiendo la datasshet del OPAM, se inicializarón los OPAM'S.

  Lamentablemente tras intentarlo varias veces, no logramos completar el objetivo de la practica puesto que al probar nuestro circuito con las conexiones correspondientes (revisando correctamente los pines conectados con los pines asignados en el PSoc Creator), el filtrado no se obtenía y aun estamos en busca del error. 


viernes, 11 de septiembre de 2015

El programa final de la practica de LCD con ADC.
Usando la tarjeta PSoc 5LP

Con el vídeo demostrativo del programa cargado y funcionando.


El esquemático utilizado fue el siguiente.


La asignación de pines fue la siguiente:


Y el código implementado fue:

#include <project.h>
#include <stdio.h> //Libreria para usar funcion "sprintf"

int main()
{
    /* Place your initialization/startup code here (e.g. MyInst_Start()) */
    int32 output; //Por que es ADC de 20 bits
    char8 str[12];
    float ADC_Voltaje;
    CYGlobalIntEnable;
       
    LCD_Start(); // Iniciar LCD
    LCD_Position(0,2); //Posicionar LCD
    LCD_PrintString("==EQUIPO 9=="); // Imprimir
    LCD_Position(1,1); //Posicionar LCD
    LCD_PrintString("V ="); // Imprimir
   
    ADC_Start();        //Iniciar ADC
    ADC_StartConvert(); //Empezar a convertir
    ADC_IsEndConversion(ADC_WAIT_FOR_RESULT);  

 
    for(;;)
    {
        output=ADC_GetResult32();
        ADC_Voltaje=(5.000000/1048576)*output; //5v / Resolucion del ADC (2^20)
        LCD_Position(1,6);
        sprintf(str,"%.4f",ADC_Voltaje);   //Permite convertir una variable numerica a caracter
        LCD_PrintString(str);
       
    }
}

Y aquí les dejamos un link para descargar el programa hecho el software en PSoc Creator 3.1

Descargar Programa

martes, 8 de septiembre de 2015


Tras seguir investigando, ya logramos hacer nuestro propio programa para regular la intensidad del LED utilizando la salida PWM.

El esquemático utilizado fue el siguiente:

y el código es el siguiente:

int main()
{
  uint8 valorADC;
    
    ADC_Start();
    ADC_StartConvert();
    PWM_Start();
    
    CyGlobalIntEnable; /* Enable global interrupts. */

    /* Place your initialization/startup code here (e.g. MyInst_Start()) */

    for(;;)
    {
        valorADC=ADC_GetResult8();
        PWM_WriteCompare(valorADC);
    }
}



Este es nuestro primer avance con el uso del Psoc Creator, encontramos el siguiente programa en internet el cual cumple con el objetivo de regular la intensidad de un LED por medio de un potenciometro. A continuación se muestra un vídeo y está un enlace para descargar el programa.





Seguimos investigando para comprender mejor el uso del Psoc Creator y utilizar una pantalla LCD.