Cargando...

martes, 12 de julio de 2011

Trabajo Práctico Nº5: Contadores - Sistemas secuenciales

Complemento teórico:
Sistemas secuenciales:
En los sistemas secuenciales los valores de las salidas, en un momento dado, no dependen exclusivamente de los valores de las entradas en dicho momento, sino también dependen del estado anterior o estado interno. El sistema secuencial más simple es el biestable de los cuales, el de tipo D (o cerrojo) es el más utilizado actualmente.
La mayoría de los sistemas secuenciales están gobernados por señales de reloj. A éstos se los denomina "síncronos" o "sincrónicos", a diferencia de los "asíncronos" o "asincrónicos" que son aquellos que no son controlados por señales de reloj.
Contador:
Un contador (counter) es un circuito secuencial construido a partir de biestables y puertas logicas capaz de realizar el computo de los impulsos que recibe en la entrada destinada a tal efecto, almacenar datos o actuar como divisor de frecuencia.

Parte A: Contador discreto

Para realizar el contador utilizamos los siguientes materiales:


Lista de Materiales
Cantidad
Componentes Activos
1
Transistor BC337
1
Circuito Integrado 4510
1
Circuito Integrado 4511
1
Circuito Integrado 4013
2
Circuito Integrado 4002

Componentes Pasivos
7
Resistores de 330Ω
5
Resistores de 10KΩ
1
Capacitor de 1nF

Varios
1
Buzzer
1
Display de 7 segmentos cátodo-común
1
Switch
1
Zócalo de 14 pines
4
Zócalo de 16 pines


Circuito eléctrico:



Funcionamiento del circuito:

En el “estado primario” la señal está insertada en el circuito pero la alimentación no, el display muestra un 9 titilando. 

Al conectar la alimentación el circuito se establece en el que llamaremos el “estado de epera” que muestra un 9 en el dislay. Para lograr esto se preestablecen, en código binario, las entradas del CD4510 (4, 12, 13, 3) que, al consistir de cuatro flip-flop’s tipo D sincronizados interconectados como contadores, copia la entrada en los pines de salida, que son enviados a la entrada del 4511, que decodifica el número en código binario y lo prepara para ser enviado al display por medio de sus 7 salidas, que finalmente muestra el número deseado.

El R.C conectado a las entradas de la primera compuerta NOR del CD4002, con su salida conectada a la pata 1 (Preset Enable) del CD4510,  le da un pequeño tiempo de 10uS a este último para asegurar el sincronismo en el circuito integrado.

Al presionar el botón es cuando el conteo decresivo, al que llamamos “estado activo”, comienza. Gracias al seteo producido en el CD4013 al presionar el botón, el Clock Input del CD4510 es activado, iniciando la secuencia decresiva (configurada al conectar la pata Up/Down a masa) hasta llegar al cero; mostrándose todos estos números en el display mediante el mismo funcionamiento con que mostrase el 9, reemplazando a las entradas por la secuencia mencionada.
Al llegar la secuencia a 0 (cero) comienza el “estado de aviso”, en el que la segunda compuerta NOR del DC4002 es activada (dado que sus 4 entradas están conectadas a las propias del CD4511 y éstas muestran el número 0 en binario, es decir, 0000) y resetea el CD4013, haciendo necesaria la reconección de la alimentación para volver a repetir la secuencia. Además, activa el buzzer por medio del transistor en configuración “C”, lo que indica al usuario (mediante el ruido que el buffer produce) que la secuencia ha terminado.
 
En este video puede verse la simulación del contador hecha en Proteus:

Para comprobar su correcto funcionamiento, armamos el circuito en el protoboard :


En este video puede verse su funcionamiento:

Con el objetivo de mejorar nuestro manejo del Protel 99 es que diseñamos este circuito de la siguiente manera:
Circuito esquemático:


Diseño PCB:


Parte B : Contador con microcontrolador
En esta actividad pretendemos reemplazar los circuito integrados 4002, 4013 y 4510 por un microcontrolador programado para la tarea. Gracias e esto, el circuito es mucho mas pequeño, sencillo y configurable, pudiendo cambiar su funcionamiento con tan solo modificar el programa cargado.
El microcontrolador que usamos es el PIC12F683, y el programa compilador es el CCS 4.114.


Armamos el circuito en el protoboard :








 Circuito Esquemático:

Diseñamos en PCB:

jueves, 9 de junio de 2011

Actividad Nº4: Amplificadores Operacionales


Objetivo:

  • Conocer el uso del amplificador operacional realimentado.
  • Conocer las tres de sus configuraciones básicas.
  • Evaluar sus características.
  • Informar la actividad desarrollada en este trabajo práctico.

Introducción teórica

Los amplificadores operacionales (A.O) son circuitos electrónicos, generalmente circuitos integrados que tienen dos entradas y una salida. La salida es la diferencia de las dos entradas multiplicada por un factor (G) (ganancia):


Son dispositivos lineales con la capacidad de manejar señales desde los 0 Hz de su frecuencia. hasta la frecuencia definida por el fabricante. Además tiene límites de señal que van desde el orden de los nV, hasta unas docenas de voltio (esto también esta definido por el fabricante). Los amplificadores operacionales se caracterizan por su entrada diferencial y una ganancia muy alta, que generalmente supera los 100 dB.


El amplificador operacional es un amplificador de alta ganancia directamente acoplado, que en general se alimenta con fuentes positivas y negativas, lo cual permite que tenga excursiones tanto por arriba como por debajo de tierra (o el punto de referencia que se considere).

El nombre de A.O proviene de una de las utilidades básicas de este, como lo son realizar operaciones matemáticas en computadores analógicos (características operativas).

Tienen tres configuraciones básicas:

1.- Amplificador Inversor : La señal se inyecta en el modo inversor. Para poder analizar el comportamiento eléctrico de este circuito debemos tener en cuenta las características del amplificador.


2.- Amplificador No Inversor : Posee una entrada diferencial y amplifica la diferencia de tensión entre sus entradas.




3.- Amplificador Buffer : El buffer es un caso especial del amplificador no inversor. Si en el lazo de realimentación se anula el valor del resistor su ganancia queda limitada 0 dB.

En esta ocasión usamos los integrados LM 741 y el TL081 que acontinuación les daremos una breve explicación de éstos :


LM741

Generalmente se utilizan estos amplificadores operacionales, ya que presentan un mayor desempeño sobre los estándares de la industria, como el LM709.


Puede ser sustituido por los siguientes integrados (en la mayoría de las aplicaciones):

- 709C;
- LM201;
- MC1439;
- 748.


Ofrecen muchas características que hacen que su aplicación sea casi infaltable, protegen de sobrecarga en la entrada y salida, no se prende cuando el rango de modo común se supera, así como la ausencia de oscilaciones.


Su configuración es idéntica en los casos del LM741A, en el LM741C se garantiza su funcionamiento durante un 0º C a 70º C, en lugar de -55º C a +125º C.

Su datasheet es el siguiente :


TL081


Son amplificadores operacionales que permiten incorporar transistores bien adaptados, de alta tensión, J-FET y bipolares en un circuito integrado monolítico.
Se caracterizan por altas tasas de giro, de polarización de entrada baja y corrientes de desplazamiento, y la baja temperatura de la tensión de desvío coeficiente.




Algunos modelos de alta velocidad:

- TL081
- TL081A
- TL081B

Su datasheet es el siguiente :


Desarrollo Práctico:

Realizamos el siguiente circuito tanto en Protel como en un protoboard:


Comportamiento en continua:


Primero comparamos los valores medidos del divisor resistivo (para lo que quitamos el jumper J1) con los valores calculados:


Valores medidosValores ideales
Vmin-0,99-1,2
Vmax0,991,2


Con el Jumper J1 conectado y moviendo de un extremo hacia el otro el Preset, registramos una serie de mediciones en Vs al mismo tiempo que en Vo. Usamos una tabla para la comparación de los valores medidos, gracias a la cual podemos apreciar la curva de transferencia (rango dinámico) del circuito, reflejada en el gráfico debajo.
Observando tanto el cuadro como el gráfico podemos establecer el rango de correcto funcionamiento del circuito, que se ubica entre los valores medidos 0,654 y -0,611 para Vs, para los cuales la ganancia se mantiene entre los 23 y los 24dB (14 a 16 veces) aproximadamente. Exediendo ámbos valores de tensión de entrada la salida deja re responder, manteniendo fijo su valor, reduciendo así continuamente la ganancia del circuito. 
Además, observamos que el circuito se comporta como un inversor debido a la configuración del LM741, mostrando en la salida el valor amplificado de tensión pero de señal invertida.
También Medimos la tensión residual de salida (u offset), para la cual reconectamos el Jumper y conectamos Vs a GND. El valor medido es de 104mV.


El gráfico de función de transferencia también puede ser observado en un osciloscopio. Para ello es preciso inyectarle al circuito, en la entrada Vs y desconectando el divisor de tensión formado por el preset, R3 y R4, una señal triangular de 1KHz de frecuencia con una tensión pico a pico de 2V. Para esto último medimos la salida del generador de señales con el osciloscopio y la ajustamos hasta obtener el valor deseado.
Una vez inyectada la señal en el circuito, medimos con el canal 1 del osciloscopio (X) la tensión en Vs, y con el canal 2 (Y) la tensión en Vo. Configuramos el osciloscopio en modo X-Y, presionando MENU en el área de control horizontal y seleccionando en el submenú Time Base el modo X-Y.
Se observan en la medición con osciloscopio pequeñas variaciones con respecto a los valores medidos anteriormente.


Para probar la respuesta del circuito frente a distintos valores de alimentación, realizamos las medidas expresadas en los siguientes cuadros:


Con una alimentación de 14V:
Como vemos, el rago dinámico aumenta ligeramente con respecto a las mediciones hechas con 12V de alimentación.


Según la hoja de datos del LM741, la tensión mínima de alimentación para su correcto funcionamiento es de 10V, y para comprobar esto medimos la ganacia en uno de los extremos del grafico que hicimos anteriormente, el resultado es éste:
Cómo vemos, el circuito aún se mantiene dentro de los valores aceptables de ganancia.
Probamos disminuir la tensión de alimentación a 8V, comprobando en las mediciones de debajo que el rango dinámico del circuito ha disminuído:.


Por último, dejamos fijo el valor del Preset en un punto cercano al centro de la recta de transferencia original para ver como se comporta al disminuir continuamente la tensión de alimentación:
Como puede verse, el rango diámico del circuito disminuye continuamente junto a la alimentación, llegando al extremo en que ya termina convirtiendose en un atenuador; a menor valor de tensión, el circuito no obtiene tensión a la salida.
Gracias a estas mediciones podemos concluir que la tensión de alimentación no afecta a la ganacia del circuito, pero sí lo hace directamente con su rango dinámico.


Otras observaciones:
  • Al quitar la resistencia de carga la ganancia no cambia su valor
  • El valor de la ganacia aumenta al aumentar la resistencia de realimentación (R2), mientras que disminuye al aumentar la resistencia de entrada (R1), respetando la fórmula de configuración inversora: Vo = V1 x R2/R1.
  • Al desconectar el PIN 4 de VEE y conectarlo a GND el circuito deja de invertir la señal de salida y la mantiene en un un valor fijo de 10,85V, por lo que es independiente de la señal en Vs.

Comportamiento en alterna:
    Desconectamos el Jumper y  pusimos en Vs una señal senoidal con una frecuencia de 1KHz y tensión de 300mV como ésta:

    Al compararla con la señal de salida producida obtenemos los datos marcados a continuación:
    Vo: 4,44V
    Período: 1mS

    Aumentando la tensión de entrada, capturamos el valor máximo de tensión que puede adoptar Vo sin sufrir recortes en su señal:


    Con el objetivo de comparar la respuesta a distintos niveles de tensión de alimentación hicimos algunas mediciones como éstas:
    • Con 7V de alimentación la salida se recorta a partir de 712mV de entrada.
    • Con 10,9V de alimentación la salida se recorta a partir de 1,12V de entrada.
    De acuerdo a lo registrado podemos establecer que la tensión de alimentación modifica los valores máximos y mínimos que puede adoptar la señal a la salida sin recortarse, pero no modifica los valores de ésta dentro de esos límites.

    Modificando solo la frecuencia de la señal de entrada, comprobamos que por debajo de los 20KHz el valor de tensión en Vo (la salida) no sufre modificaciones; sin embargo, al enviar valores superiores a los 20KHz la tensión en la salida comienza a disminuir progresivamente, siendo ésta inversamente proporcional a la frecuencia.
    Cambiamos el LM741 por un TL081 para comparar la respuesta a frecuencia de ámbos, y de acuerdo a las mediciones efectuadas en el TL081 el nivel de tensión a la salida se ve afectado a partir de los 32KHz, pero actúa de igual manera que el LM741 (tensión en Vo inversamente proporcional a la frecuencia).
    Diseñamos el PCB del Amplificador Inversor:


    Amplificador no inversor y Buffer:

    Para comprobar el funcionamiento del circuito en configuración no inversor aplicamos en la entrada una señal senoidal con una frecuencia de 1KHz y los siguientes niveles de amplitud:
    200mV:

    Vo = 3,08V
    G = 15,4

    400mV:
    Vo = 6,36V 
    G = 15,9

    600mV:
     Vo = 9,92V
    G = 16,53

    1V:
    Vo = 16V
    G = 16

    1,2V:
    Vo = 20V
    G = 16,16
    Este es el límite de recorte del circuito. Hasta este punto observamos el correcto funcionamiento del circuito, en el que la ganancia se mantiene cercana a los 16V (tomando en cuenta los errores de medición), que es el valor ideal de ganancia siendo que:
    R1 = 6,8 K
    R2 = 100 K
    G = R2/R1 = 14,7 K

    1,4V:
    Vo = 21V
    G = 15
    En este punto la señal se muestra cortada y por lo tanto la ganancia comienza a disminuir. A partir de aquí la señal aumentará su recorte, disminuyendo la ganancia de forma progresiva.

    A travéz de la siguiente medición se puede comprobar que la teoría sobre la alta impedancia de entrada en el amplificador no inversor es cierta:
    1º) Colocamos una resistencia de valor conocido en la entrada(Vs)
    2º) Medimos la tensión de entrada al operacional Vin (pata 4 del LM741)
    3º) Calculamos la tensión en la resistencia VR:


    4º) Calculamos la corriente eléctrica que circula por la resistencia:

    5º) Por último, calculamos la impedancia de entrada Zin:
     


    Con el objetivo de examinar al circuito en configuración de buffer, removimos la resistencia R1 y cambiamos la resistencia R2 por un cable (cortocircuito), de esta manera se establece la configuración buffer, que entrega una ganancia de 1 (0 dB), lo cual comprobamos mediante estas mediciones:



    Esta configuración presenta una característica muy importante: posee una impedancia de entrada muy alta y una impedancia de salida casi nula. Esto permite conectar 2 circuitos sin que el segundo resulte carga para el primero, a esto se lo llama "adapatar impedancias".
    Este circuito es utilizado,por ejemplo, para medir tensiones de manera muy exacta en un sensor sin afectar a la medición.


    Diseñamos el PCB del Amplificador No Inversor:


    martes, 7 de junio de 2011

    Complemento teórico 2: Cómo grabar un programa en un microcontrolador

    En esta oportunidad se intentará explicar de forma intuitiva el proceso de grabación de un programa cualquiera realizado dentro del entorno del MPLAB, partiendo para ello de un archivo de extensión .hex  ya configurado.

    El programa a grabar que utilizaremos es uno que el profesor nos proporcionó (Descargarlo aquí) para la realización de esta actividad. Su función es la de controlar el dado electrónico realizado anteriormente
    (aquí el enlace).

    Antes que nada comprobamos que tenemos todo lo necesario para realizar el proceso:
    • Programador de Pic (nosotros hicimos uno propio, link aquí)
    • Cable USB a USB "tipo B" (esto depende de la entrada de su programador)
    • Cable plano de 10 pines (también depende del programador)
    • PIC12F683
    • Archivo .hex a cargar
    • PickIt 2 (o cualquier software programador que reconosca la plaqueta programadora y el PIC)
    • Plaqueta finalizada donde se colocará el PIC (esto sirve solo para comprobar su funcionamiento)

    Lo primero a hacer es conectar el Programador a la PC por medio del cble USB/USB "B", comprobar que éste funciona checkeando la luz correspondiente; luego conectamos la salida del Programador mediante el cable plano hacia el PIC teniendo en cuenta los pines asignados para cada función (Vpp, GND, DATA, etc.)
     En el caso del PIC12F683 la ubicación de los pines que necesitaremos (esto también se encuentra en la hoja de datos) es la siguiente:
    Pin 1 - Vdd
    Pin 4 - Vpp
    Pin 6 - CLK
    Pin 7- DATA
    Pin 8 - GND
    En nuestro Programador de pic la salida (el caple plano) tiene la siguiente configuración:
    Pin 1 - Vpp
    Pin 3 - Vdd
    Pin 5 - GND
    Pin 7 - DATA
    Pin 9 - CLK

    Una vez conectados el PIC12F683 al Programador y ésta a la PC, procederemos a la grabación del programa.
    Primero abrimos el PickIt 2 y comprobamos en la sección remarcada que reconoció tanto el Programador como el PIC. De no haberlo hecho, le ordenamos al programador (software) que lo revice, haciendo click en Programmer/Enable.
     
    Luego seleccionamos el archivo .hex a cargar en el microcontrolador, clickeando en File/Input.
    Por último, le ordenamos que programe el micro clickeando en el recuadro WRITE
    De haberse grabado correctamente el programa, debe salir un cartel en verde como éste:


    Para comprobar el correcto funcionamiento del programa grabado situamos a éste en el circuito para el cual fue hecho, y lo probamos.