viernes, 23 de octubre de 2015

Examen Práctico Electrónica 2 


Objetivo: Desarrollar una práctica con la tarjeta CY8CKIT-059, implementando un filtro de rechazo de banda

Introducción:   En la siguiente práctica se implementará un filtro de rechazo de banda usando los Opamps de la tarjeta CY8CKIT-059. El circuito consiste en dos frecuencias de corte, dos bandas de paso y una de rechazo.
El filtro de rechazo de banda se implementa al unir en configuración de paralelo un filtro de pasa alta y un filtro de pasa baja, teniendo dos  frecuencias de corte, fc1 y fc2, como observación fc2 tiene que ser mayor a fc1. 
Para el circuito que se implementará, se tendrán las siguientes frecuencias de corte  fc1= 1.59kHz y fc2= 15.915kHz.

A continuación se enlistarán los componentes pasivos que se usarán en cada uno de los filtros.
 Para el filtro Pasa Bajos se usarán:
2 resistencias de 10k
2 resistencias de 100
2 capacitores de 1 uF

 Para el filtro Pasa Alta se usarán:
2 resistencias de 10k
2 resistencias de 100k
2 capacitores de 100 pF

Aquí se muestra el esquemático del filtro rechaza banda 


Los Opamps que tiene la tarjeta CY8CKIT-059 tienen las siguientes especificaciones:



Datos
Condiciones
Valores
Voltaje de entrada (Vi)

Mínimo: 1.7 V
Máximo: 5.5 V
Corriente de entrada (Idd)
Vminentr + 50 mV ≤ Vsal ≤ Vmaxentr –500 mV

Típico: 1 mA
Máximo: 2.5 mA
Corriente de salida (Iout)
Vminentr + 500 mV ≤ Vsal ≤ Vmaxentr –500 mV

10 mA
Voltaje de salida (Vo)
1 mA, fuente o sumidero
Mínimo: Vminentr + 0.05 V
Máximo: Vmaxentr - 0.05  V
Voltaje de Offset (Vos)
Temperatura > 70 °C
Temperatura –40 °C to 70 °C

3 mV

2 mV
Slew Rate (SR)
200 pF
Mínimo: 3V/us
Deriva de voltaje por Temperatura (TCVos)

Típico: +/- 12 uV/C°
Máximo: +/- 30 uV/C°

Se sugiere que la ganancia de las dos etapas sean iguales para que las bandas de paso conserven simetría en la respuesta en frecuencia.


jueves, 8 de octubre de 2015

Placa para PSoc


Lo primero que se realizó fue el esquemático de las conexiones de la placa para el PSoC.
Para este caso hay que agregar una pantalla LCD (Liquid Crystal Display)  en la placa con su respectivo potenciometro para ajustar el contraste, algunas entradas y salidas del PSoC, así que el esquemático quedó de la siguiente manera:

Esquemático de la placa.


Una vez hecho esto se pasó a realizar el diseño de la placa añadiendo lo que se considerara necesario para la placa, entonces el diseño de la placa quedó como sigue, cave mencionar que cada el diseño puede variar:

Diseño de la placa.
Vista de la placa en 3D.(1)
Vista de la placa en 3D.(2)



Terminado el diseño, se prosiguió a planchar el circuito en una placa fenolica y con ayuda del Cloruro férrico se quita el exceso de cobre de la placa, otra opción es el uso del CNC Router.
El producto final es el que se muestra a continuación:

Diseño listo para imprimir.
Diseño después de usar cloruro férrico.

Diseño plachado.



Para probar el funcionamiento de la LCD se cargó el siguiente código utilizando el software PSoC Creator 3.2.

Codigo de prueba.
Aquí hay un video de la placa




viernes, 11 de septiembre de 2015

PWM y LCD en PSoc5

El objetivo de este post es mostrar como se puede usar el PSoc 5 lp para leer datos en el ADC e imprimirlos en una pantalla LCD.
La tarjeta de desarrollo que se usará es la CY8C5888LTI-LP097
La primera parte es configurar la sección del TopDesign.cysch, aquí se muestra un esquemático en donde se configura el PWM, el ADC y la pantalla LCD.

Después en la sección de Design01.cydwr se muestra el circuito integrado con los puertos configurables, en este caso pondremos la LCD en el puerto P12[6:0], la entrada analógica en el Pin P0[7] y usaremos el LED de la placa en el Pin P2[1]

Por último se verificará la sección de main.c que es donde se escribirá el código del programa, el código es simple, se declara una variable unsigned char uint de 8 bits, se inicializa el PWM, el ADC y la pantalla LCD, a nuestra variable se le asignará el valor de la lectura del ADC, la cual se escribirá en el PWM, en la siguiente sección se muestra el código comentado.

#include <project.h>
#include <stdio.h>
uint8 i;



int main()
{
   

   ADC_DelSig_1_Start(); // inicializa ADC
   ADC_DelSig_1_StartConvert();  // comienza la converción del ADC

LCD_Char_1_Start(); // se inicializa la pantalla LCD
LCD_Char_1_Position(0,0); // se coloca el cursor en la posición (0,0)
LCD_Char_1_PrintString("ADC"); // se imprime "ADC"


PWM_1_Start(); // se inicializa el PWM
 



   

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

    for(;;)
    {
     
      i=ADC_DelSig_1_GetResult8(); // se asigna el valor del ADC a la variable
        PWM_1_WriteCompare(i); // se escribe en el PWM
        CyDelay(50);
        LCD_Char_1_Position(0,12);
   LCD_Char_1_PrintNumber(i); // se imrpimie el ADC en la pantalla
       LCD_Char_1_PrintString(" ");
       
        LCD_Char_1_Position(1,12);
         LCD_Char_1_PrintNumber(i/2.55); // se imrpime un porcentaje
         LCD_Char_1_PrintString("% ");
        CyDelay(100);
       
     
      /*  place your application code here. */
   
 
    }
}

/* [] END OF FILE */


aquí se muestra un video, mostrando el resultado de esta práctica.