Vistas de página en total

martes, 31 de mayo de 2011

Act. 3: Parte B

PARTE B
CIRCUITO MONOESTABLE

1) Dibujar en PROTEUS el circuito del monoestable con 555. (Vcc = 5V)
2) Verificar su correcto funcionamiento corriendo la simulación. Medir con el osciloscopio virtual y el contador de tiempo la duración del estado en alto al generar el disparo de entrada. La tensión de salida máxima y mínima. Capturar y mostrar las formas de onda de carga y descarga del capacitor responsable de la temporización, relacionándolas con el cambio de estado de la salida.
3) Calcular y modificar los valores necesarios de resistores y capacitores del circuito monoestable anterior para llevar el tiempo de activación a la salida a 5s, usando para ello las fórmulas y tablas disponibles. Antes de proceder al armado simular y verificar su correcto funcionamiento.
4) Agrupar ordenadamente las mediciones de tiempo en un cuadro para compararlas a posteriori con el circuito armado.
5) Armar el circuito diseñado en el punto 3 por el grupo en protoboard.
6) Medir y registrar los valores de resistores y capacitores usados para la temporización del circuito con el puente RLC digital de banco.
7) Realizar las mismas mediciones efectuadas en el punto 2 usando solamente el osciloscopio digital. Capturar la señal de salida agregar los cursores y mostrar en pantalla las mediciones.
8) Ordenar toda la información y explicar todos los pasos realizados para comprender el funcionamiento del circuito.
9) Diseñar (NO HACER) una placa impresa de no más de 30 mm x 30 mm (0,09 dm2) para el monoestable con 555. Usar molex para todos los conectores.
 

Como funciona un circuito Monoestable:


Se basa en la carga y descarga del capacitor C. Al aplicar un pulso negativo (menor a 1/3 Vcc) en el terminal 2 (trigger) el flip-flop interno del integrado coloca la salida en estado alto y levanta el cortocircuito a través del capacitor.
En ese momento el capacitor comienza a cargarse exponencialmente, durante un periodo igual a t=1,1RAC Al finalizar ese tiempo el capacitor estará cargado con un valor de 2/3 Vcc. Entonces el comparador resetea el flip-flop el cual lleva la salida a estado bajo y descarga el capacitor. 
Tanto la carga como el limite del comparador son ambos directamente proporcional al voltaje de alimentación, el intervalo de tiempo es independiente de dicho voltaje
 Durante el ciclo temporizado cuando la salida esta a nivel alto cualquier aplicación de un pulso negativo en el trigger no tendrá efecto sobre el temporizado siempre y cuando el nivel del trigger regrese al nivel alto 10uS antes del fin del tiempo temporizado.
Sin embargo el circuito puede ser reseteado durante el ciclo temporizado aplicando un pulso negativo en el terminal de reset. La salida volverá a estar a nivel bajo, hasta que se produzca otro pulso sea aplicado al trigger.
Cuando la función de reset no se use, es recomendable conectarla a Vcc para evitar activaciones en falso. En la operación monoestable el trigger deberó estar en el nivel alto antes del fin del ciclo temporizado. 





Resoluion de la actividad:

Si no modificamos el circuito dado (R1 = 10K), y lo dejamos tal cual , la tabla de valores será la siguiente:
Tiempo de estado en alto (osc. Digital)
                       1,1 segundos
Tiempo de estado en alto (Contador proteus)
                       1,098 segundos
Tensión máxima
                       4,92 V
Tensión mínima
                       0V
Tiempo de carga y descarga del capacitor
                         1,1 segundos.


Si en cambio , cambiamos la R1 de 10 K por una de 1 M y el C1 por uno de 4,7uF electrolitico , obtendremos los siguientes resultados. ( todos estos valores fueron obtenidos a través del programa PROTEUS):
Tiempo de estado en alto (osc. Digital)
                       5,2 segundos
Tiempo de estado en alto (Contador proteus)
                       5,21 segundos
Tensión máxima
                       4,92 V
Tensión mínima
                       0V
Tiempo de carga y descarga del capacitor
                       5,2 segundos.

Si comparamos las dos tabla , pudimos sacar como conclusión  que variando la resistencia R1 , no se modifica el valor de tensión máxima ni minima.


Mediciones hechas con el osciloscopio Rigol (R1:10K):
Tiempo de estado en alto
1,11seg.
Tensión máxima
4,40V
Tensión mínima
-240mV

Mediciones hechas con el osciloscopio (R1:1M):
Tiempo de estado en alto
5,9seg.
Tensión máxima
4,08V
Tensión mínima
-240mV



Tabla de valores de los componentes que utilizaremos en la realidad medidos con el RLC:

Nosotros utilizaremos un capacitor electrolítico en vez de cerámico , ya que no cambia el funcionamiento del circuito si es conectado con su polaridad correctamente.
Vale aclarar que el RLC testea a los elementos a una determinada frecuencia que nosotros fijamos ; los capacitores se testean a bajas frecuencias , mientras que las resistencias a alta frecuencia. En nuestros casos utilizaremos 12 Hz y 1Khz respectivamente.

R1 = 10K(circ. 1)
9,899K
R1 = 1M(circ. 2)
,995M
R2 = 10K
9,935K
R3 = 0,33K
0,322K
C1= 100uF
97,574uF

Modificando el ciercuito en protoboard, nos dimos cuenta que si suprimimos la R2 , el circuito funciona correctamente.


Imágenes capturadas con el osciloscopio:
Esta imagen corresponde al circuito donde la resistencia R! vale 10K y el capacitor de 100uF
En todas las imagenes , la señal celeste representa la tensión sobre el Led ,y la amarilla es la tensión que hay en el pin 2.





Esta señal corresponde al circuito con la resistencia R1 de 1M y el capacitor electroliticode 4,7uF.




Si sacamos el capactor , el tiempo que parmenera prendido el led , es el mismo tiempo que permanece pulsado el pulsador. Este tiempo vale 80ms. En este caso la imagen capturada por el osciloscopio es la siguiente:




Circuito esquematico armado en PROTEL :
Imagen tomada con el osciloscopio digital del proteus en base a la simulación del circuito anterior.


La señal amarilla representa la salida del circuito monoestable , y la celesta la de carga y descarga del capacitor. Como se puede apreciar , ambas tienen el mismo período 5,2 Segundos, en este caso.


Fotos del circuito armado en protoboard:





Asi nos quedo nuestro diseño de plaqueta en Protel:









lunes, 30 de mayo de 2011

Programación del microcontrolador

El dispositivo que utilizaremos para la programación del pic es similar a este:

Aclaracion: Esta herramienta SOLO servirá para programar microcontroladores de tipo PIC de Microchips

Programación:
Se conectara el cable tipo DB9 a la pc , al puerto correspondiente , y se alimentará este dispositivo con 9V.
Una vez hecho esto , se insertará el pic de acuerdo con la cantidad de patas correspondientes , en su lugar( la “ cuña” debe ir hacia arriba , y las patas del lado derecho deben ir de un lado de la separación del medio, y las del lado izquierdo de otro lado.
. En nuestro caso ,el microcontrolador que usamos tiene 8 patas , entonces lo conectaremos arriba de todo , donde están marcadas de donde hasta donde se insertarán las patas. Una vez hecho esto , se bajará la palanca , para asegurar el agarrado del pic.
Luego se programará al microcontrolador con el programa MPLAB.
Descargramos el archivo Fuente , una vez descargado , extraemos el único archivo ejecutable que hay (.exe) y lo importamos en el MPLAB. Terminado esto haremos click arriba, donde dice Programmer , y luego en Program. Terminado esto , debemos esperar a que actue el programa correctamente , y  luego retiramos el pic que ya se encontrará grabado correctamente.

miércoles, 18 de mayo de 2011

Microcontroladores

INTRODUCCIÓN:

Existen 3 líderes en marcar de microcontroladores:
-Microchip
-AVR - Atmel
- Freescave

Anteriormente en Atmel el que mas se vendia era el 8051 , pero en la actualidad es el ATMEGA8. En Freescave era el 684HC705 , ahora el mas vendido es el 684C908.
Dentro de Microchip , existen los PIC, que a su vez se dividen en tre clases , las cuales estan compuestas TODAS por 8 bits:

-BAJA "12F"
-MEDIA "16F"
-ALTA "18F"

Esta clasificación esta relacionada con la longitud de Bits y con la cantidad de intrucciones que procesa cara microcontrolador. El de ALTA puede procesar hasta 77 intrucciones , y el de MEDIA para 35 intrucciones. Al de clasificación MEDIA se dice que es del codigo RISC , esto significa que procesa poca cantidad de instrucciones. En cambio , Freescave esta clasificado bajo las siglas CISC , es decir que los microcontroladores estos estan preparados para procesar 150 intrucciones.

PICS mas conocidos , y que utilizaremos y manupularemos:
PIC12F683 (la sigla 12F , nos indica de que clase es , en este caso MEDIA)
PIC16F84 (MEDIA)
PIC16F88 (MEDIA)
PIC16F877 (MEDIA)
PIC18F887 (ALTA)
PIC18F4620 (ALTA)
PIC18F4550 (ALTA)
PIC18F2550 (ALTA)

Normalmente los fabricantes sacan al mercado un microcontrolador. Al comienzo no se vende mucho , pero cuando llega al tope de ventas , le suben el precio y sacan al mercado uno mejor. Esto lo hacen para que el consumidor compre los nuevos y no los viejos.
Existen tambien dos tipos de arquitecturas de los microcontroladores ( estan determinadas segun la estructura interna ). Estas arquitecturas son :

-Von Newman : (esta arquitectura la utiliza Freescave)
Es una arquitectura sencilla , donde el CPU , esta conectado a través de un Buss de datos y un Buss de programa juntos , ambos de 8 bits a una Memoria de programa y Datos. Los dos bases trabajan por orden , primero uno y luego el otro , no los dos al mismo tiempo.

Se denomina Reset en frío cuando se le aplica por primera vez la tensión de alimentación , es decir que estaba apagado; y Reset en caliente cuando el microcontrolador ya estaba funcionando
A su vez , el Clock se clasifica en 4 categorias , segun frecuencia a la que funcione:
RC : f < 10 Khz
LP : f < 100Khz
XT : 100Khz < f < 4Mhz
HS : 4Mhz < f < 20Mhz

El Clock que utilizaremos de cristal de cuarzo es de gran presición , pero puede variar entre 4Mhz y 20 Mhz , es decir que puede ser de clase XT o de clase HS( que son las clases mas usadas) . Esto varía segun las propiedades de oscilación del material , ya que al ser cortado de diferente forma esto puede variar bastante. Nuestro clock será conectado exactamente como muestra nuestra imagen.

El PIC16F84 posee a su vez dos puertos , que estan determinados de la siguiente forma:
RAX : puerto A
RBX : puerto B

Los pines del PIC pueden estar de dos modos :
Sink ( es cuando el micro. produce corriente , es decir que la corriente es entrante)
Source ( es cuando el micro consume corriente , es decir que la corriente es saliente)

A su vez , los pines del micro pueden soportar :
Modo source : menor igual a 20mA
Modo silk : menor igual a 25 mA

Sin embargo , la sumatoria de las corrientes maximas que circulan en el Puerto B son:
150 mA si está en modo Sink
100 mA si está en modo Source

En el puerto A :
80 mA si esta en modo Sink
50 mA si esta en modo Source




-Harvard : ( es la utilizada por Atmel y Microchips)
Es una arquitectura mas compleja , donde la CPU esta conectada a una memoria de datos a través de un Buss de 8 bits , y a una de programa vinculados por un Buss de 14 bits . Ambas memorias y busses se encuentran separadas , y pueden funcionar al mismo tiempo , por eso tienen mas rapidez a la hora de ejecutar un programa.
Nosotros analizaremos el PIC16F84 , que es el siguiente:
Las 3 cosas que deben tener SI o SI un microcontrolador , son las siguientes :
1) Vcc (fuente conectada a 5V)
2) el Restet ( MCRL)               
3) el Clock ( es lo que provoca la ejecucion del programa).
Estas patas estan marcadas en el esquema del pic , y corresponden a las patas 4 (MCLR) , donde conectaremos a su vez dos resistencias y un pulsador , para provocar un 0 logico cuando se pulsa ( ya que hacemos contacto con masa que equivale a 0).Con eso se acticva el master clear. En la pata 14 conectaremos Vcc , pero entre esta y el la pata irá un estabilizador denominado 7805. La pata 5 estará conectada a tierra. Entre las patas Osc1 y Osc2 conectaremos al Clock ( nosotros utilizaremos el de Cuarzo)

Memoria de un microcontrolador (RAM)

Vamos a especificarnos en el PIC16F84A

Como vemos en el esquema la memoria del PIC se divide en 2 GPR con 68 posiciones de memoria y SFR con 16 posiciones de memoria divididas en 2: Banco 0 y Banco 1.Para declarar en que posición de memoria va cada variable o función se utiliza el sistema hexadecimal, y se le pone de prefijo 0X seguido del numero ejemplo 0X0F  

GPR (registro de propósito general):
El GPR va desde la posición 0X0C hasta la 0X4F, es decir que tiene 68 posiciones de memoria para guardar variables con 8 bits cada una.

SFR(registro de funciones especiales ):
El SFR va desde la posición de memoria 0X00 hasta la 0X0B.Esta parte de la memoria contiene registros que permiten controlar el funcionamiento interno de los periféricos del microcontrolador.
Como dijimos esta parte se divide en Banco 0 y Banco 1 , el banco 0 es de trabajo y el 1 es de configuración.
Cada banco posee una cantidad de 8 bits por cada posición.
El PORT A se encuentra en la posición 0X05 y el TRIS A en la 0X85 ,es decir que los dos bancos son espejo teniendo en cuenta que se cambia el bit mas significativo por un 8 en el banco 1 y que es un 0 en el banco 0.
Las posiciones marcadas en el esquema controlan los pines de entrada y salido ¿Cómo?.
De la siguiente manera :
El PORT A es el numero hexadecimal 08 es decir que en binario es el 00001000 , en cada lugar en donde halla un 1 será una entrada y un 0 una salida. Esto quiere decir que RB0,RB1,RB2,RB4,RB5,RB6,RB7 serán todos pines de salida y RB3 será un pin de entrada 





jueves, 5 de mayo de 2011

Actividad 3: Introducción y Parte A

Introducción

Un astable es un circuito capaz de generar una señal cuadrada. Se lo utiliza en muchísimas aplicaciones digitales como relojes y generadores de pulsos.
Un monoestable, a diferencia del anterior, posee una entrada denominada de disparo o trigger. Al recibir una señal por esa entrada (señal excitadora) realiza una secuencia que consiste en cambiar de estado su salida por un tiempo determinado normalmente por un circuito RC. Al finalizar ese tiempo vuelve a su estado de reposo original.
El astable como el monoestable, dejan de ser sistemas combinacionales donde las salidas eran función exclusiva del valor de sus entradas en un momento dado, sin que intervengan en ningún caso, estados anteriores de las entradas o de las salidas. Ahora, tanto el astable como el monoestable, son clasificados como circuitos secuenciales donde los valores de las salidas, en un momento dado, dependen del estado anterior de las mismas o bien de su estado interno.
Antiguamente estos circuitos se los construia en base a transistores realimentados, más tarde con compuertas. Desde hace ya muchos años disponemos del 555, un circuito integrado (que no es el único, pero es quizás el más difundido) que según como se lo conecte se lo puede hacer funcionar de distintas maneras (de ahi su versatilidad) y entre todas ellas como astable y como monoestable.
La presición de la señal cuadrada que genera (estabilidad de frecuencia), en el caso del astable, así como la repetitibilidad de la duración en el tiempo del pulso de salida depende en gran medida de componentes pasivos resistores y capacitores (su carga y descarga). Estos componentes tienen siempre tolerancias en su fabricación por ello, en muchos casos, nos obliga a colocar un preset para ajuste de los tiempos. Hoy día se prefiere prescindir de este tipo de ajustes que complican la puesta en marcha de cualquier dispositivo. Si bien económicamente no conviene en esta actividad veremos también, cómo usando un pequeño microcontrolador podemos realizar las mismas funciones. Haremos funcionar al microcontrolador como astable y también como monoestable, sin necesidad de acudir a componentes pasivos RC que son pasibles de variar con el tiempo y con la temperatura. La diferencia fundamental ahora es que su funcionamiento dependerá exclusivamente del programa almacenado dentro de su memoria.

Conocimientos previos para realizar esta actividad
Para explicar en detalle el funcionamiento interno del 555 se necesita conocer: Circuitos en continua con resistor capacitor. Carga y descarga. Contante de tiempo. El amplificador operacional como comparador a lazo abierto. Biestable ó Flip flop S-R.
Para explicar el grabado de un microcontrolador: Principios de microcontroladores. Pines. Memorias internas. Programa ensamblador. Programa ejecutable. Entorno de desarrollo IDE del MPLAB para el uso de la interfase de grabación.

Desarrollo
Leer todo el desarrollo de la actividad y relevar todos los materiales electrónicos necesarios para realizar la experiencia. Obtener la hoja de datos del circuito integrado 555 y del PIC12F683. Guardar ordenadamente todo el material de esta actividad en carpetas tal como fue acordado en las clases.

PARTE A
CIRCUITO ASTABLE

1) Dibujar en PROTEUS el circuito del astable con 555. (Vcc = 5V)

Material de consulta:
Tutorial Proteus 555 Timer Astable Multivibrator Simulation & Schematic Design. http://www.youtube.com/watch?v=mmlCkHKZ2Fk
En castellano: Timer 555 como Oscilador Astable
Una simulacion en flash que sirve para ver que pasa dentro del 555 al cargarse y descargarse el capacitor:
http://www.williamson-labs.com/pu-aa-555-timer_fast.htm
 

Advertencia:
* Setear el Counter Timer (propiedades del instrumento) en modo frequency, para que muestre la frecuencia generada por el astable.
* Establecer la condición inicial del capacitor, editando la etiqueta del conductor (Wire Label) (IC=0), haciendo click derecho sobre el cable que llega al capacitor, tal como se muestra en la figura:

2) Verificar su correcto funcionamiento corriendo la simulación. Medir con el osciloscopio virtual el tiempo de estado en alto y el tiempo de estado en bajo, el período, su frecuencia y la tensión de salida máxima y mínima. Calcular el ciclo de trabajo expresándolo porcentualmente. Asimismo capturar y mostrar las formas de onda de carga y descarga del capacitor responsable de la temporización, relacionándolas con el cambio de estado de la salida.
Probar que sucede a la salida cuando se pone a masa el pin de RESET. Comentarlo.
3) Calcular los valores necesarios de resistores y capacitores, para cambiar al circuito astable anterior, su frecuencia de oscilación, llevándola a 40 KHz, usando para ello fórmulas y tablas. El ciclo de trabajo queda a elección del grupo. Antes de proceder al armado simular y verificar su correcto funcionamiento.
4) Agrupar ordenadamente todas esas mediciones en un cuadro para compararlas a posteriori con el circuito armado.
5) Armar el circuito diseñado en el punto 3 por el grupo en protoboard.
6) Medir y registrar los valores de resistores y capacitores usados para la temporización del circuito con el puente RLC digital de banco.
7) Realizar las mismas mediciones efectuadas en el punto 2 y agregar al cuadro solicitado anteriormente la medición del valor medio de la tensión de salida.
8) Ordenar toda la información y explicar todos los pasos realizados para comprender el funcionamiento del circuito.
9) Diseñar (NO HACER) una placa impresa de no más de 30 mm x 30 mm (0,09 dm2) para el astable con 555. Usar molex para todos los conectores.



Lo primero que realizamos en esta actividad fue ver los videos que nos ayudaban a manejar bien el programa PROTEUS. Una vez que ya sabíamos como hacer nuestro circuito, lo diseñamos. Terminado esto tecleamos en la tecla PLAY , donde nos aparecerá un osciloscopio virtual , el cual posee las mismas opciones que un osciloscopio de verdad estándar.

Circuito Diseñado en PROTEUS:

Una vez que seleccionamos la tecla PLay para que comience la simulacón , aparecerá la siguiente ventana correspondiente al osciloscopio virtual del programa.
Osciloscopio Virtual y especificación de los comandos:


1)Tabla correspondiente a los valores medidos en el osciloscopio virtual donde R1: 68 Kohm. y R2: 39 Kohm.

Tiempo de estado en Alto.
265,17uS.                  
Tiempo de estado en Baja.
272,33uS.
Período
537,5uS.
Frecuencia
1,86 KHz.
Tensión máxima
5 V
Tensión mínima
5,12 mV.
Ciclo de trabajo
49,33 %
2)Tabla de valores correspondiente a los valores medidos con el osciloscopio virtual donde R1 y R2 : 1,2Kohm.

Tiempo de estado en Alto
15,76 uS.
Tiempo de estado en Baja
9,32 uS.
Período
25 uS.
Frecuencia
40 KHz
Tensión máxima
4 V
Tensión mínima
-1 mV
Ciclo de trabajo
63,04 %
3)Tabla de valores correspondientes a los valores medidos en el osciloscopio RIGOL DS1102E , donde R1 y R2 : 1,2 Kohm.

De esta forma es como quedo armado nuetro circuito en el protoboard:
Tiempo de estado en Alto
17,6 uS.
Tiempo de estado en Baja
8 uS.
Período
17 uS
Frecuencia
37,31 KHz
Tensión máxima
4,64 V
Tensión mínima
0 V
Ciclo de trabajo
65%



Como se ve en las tablas , en la segunda y tercera tabla los valores de R1 y R2 fueron modificados para poder obtener a la salida una frecuencia de oascilación 40 KHz , que es la que nosotros presisamos para realizar la actividad correctamente. Al disminuir el valor de estas resistencias , la frecuencia de oscilacion es mayor, y vicebersa
Para calcular el valor de R1 y R2 para cierta frecuencia que necesitamos utilizaremos la siguiente fórmula:

Frecuencia =      1,44
                       ___________
                       (Ra + 2Rb) . C
donde : Ra es nuetra R1 , Rb es nuestra R2 y C es nuestro C1
Una vez que despejamos (Ra + 2Rb) debemos colocarle a Ra un valor que nosotros querramos , dentro del valor que nos de del otro lado del igual. Y para calcular Rb solo debemos dividir al número del otro lado del igual siguiente por 2
Ejemplo
Ra + 2Rb) = 3600ohm.
Ra = 1200ohm
Rb = (3600ohm - 1200ohm ) \ 2 = 1200ohm

El osciloscopio digital nos permite realizar mediciones , y gracias a esto llevarlas a la realidad. Con esto el trabajo es mucho mas sencillo ya que podemos modificar con solo unos clicks las resistencias en el PROTEUS , y ver rapidamente los valores obtenidos en el osciloscopio , para luego hacer la práctica y no equivocarnos en los valores reales de las resistencias, para que los resultados sean los correctos. Es obvio que en la realidad los resultados no son exactamente iguales que en la práctica virtual , pero son bastantes semejantes ; esto se debe a que en el PROTEUS los valores de las resistencias son ideales , y en el mundo real tenemos cierto margen de error en casi todos los componentes electrónicos.
Realizando la práctica experimentamos conectar a masa el reset del NE555 (MCLR)  , y logramos ver que al realizar esto no existe frecuencia de oscilación ni de carga y descarga del capacitor.

Circtuito esquematico realizado en el PROTEL


Circuito en PCB realizado en PROTEL


Esta es una imagen capturada con el osiloscopio digital del proteus:

 Y esta otra es una imagen capturada sobre el mismo circuito que se simulo en el proteus y tomada con un osciloscopio real sobre un circuito real 
De esta forma observamos que la simulación concuerda con lo que se obtiene con componentes real.